)]}'
{
  "log": [
    {
      "commit": "496dd58cdce4cabfe11c8564bfb3314d0daba3d4",
      "tree": "6bc8b257fb7a00ca91567cc3ccff1b343ec38434",
      "parents": [
        "caba7feb26a5efb34b7a701151cb9f714b39bc55",
        "ec2745938d212671e1a24726a9998f2f1768c2fd"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 10 14:42:38 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 14:42:38 2009 -0800"
      },
      "message": "am b95ea9ec: am 6ae24d93: Merge change I3c01bb62 into eclair-mr2\n\nMerge commit \u0027b95ea9ecb2a7b0028c02e096589397e00fdef67a\u0027\n\n* commit \u0027b95ea9ecb2a7b0028c02e096589397e00fdef67a\u0027:\n  Adding copyright headers to recently introduced decoder source files.\n"
    },
    {
      "commit": "caba7feb26a5efb34b7a701151cb9f714b39bc55",
      "tree": "62ff4979f11ba253e7ba387dd8c9b9d1100a5aaf",
      "parents": [
        "5849b361ce5d0ce234133deeedd239bd95285d39",
        "81cb6167536c5b81692462ee0638e2c219c232ea"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 10 14:42:28 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 14:42:28 2009 -0800"
      },
      "message": "am 5c5c85a5: am 987e7fb2: Merge change I9a275773 into eclair-mr2\n\nMerge commit \u00275c5c85a5050d5512e437be65ec00d3f31b8bf004\u0027\n\n* commit \u00275c5c85a5050d5512e437be65ec00d3f31b8bf004\u0027:\n  Initial check in of AMR (NB and WB) decoders based on PV source code.\n"
    },
    {
      "commit": "ec2745938d212671e1a24726a9998f2f1768c2fd",
      "tree": "6bc8b257fb7a00ca91567cc3ccff1b343ec38434",
      "parents": [
        "81cb6167536c5b81692462ee0638e2c219c232ea",
        "20352a300f84516ef615a023b7134733682b3223"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 10 12:42:18 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 12:42:18 2009 -0800"
      },
      "message": "am 6ae24d93: Merge change I3c01bb62 into eclair-mr2\n\nMerge commit \u00276ae24d9365e21ac2770f2354cc1631751bffe3e6\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00276ae24d9365e21ac2770f2354cc1631751bffe3e6\u0027:\n  Adding copyright headers to recently introduced decoder source files.\n"
    },
    {
      "commit": "20352a300f84516ef615a023b7134733682b3223",
      "tree": "a58e58cd39789763408fc42e069cabf14a84a28a",
      "parents": [
        "4f1efc098cb5791c3e9f483f2af84aef70d2d0a0",
        "29340b0706b7b65e441c47d6f0c83c344d516435"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 10 12:37:59 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 10 12:37:59 2009 -0800"
      },
      "message": "Merge change I3c01bb62 into eclair-mr2\n\n* changes:\n  Adding copyright headers to recently introduced decoder source files.\n"
    },
    {
      "commit": "81cb6167536c5b81692462ee0638e2c219c232ea",
      "tree": "62ff4979f11ba253e7ba387dd8c9b9d1100a5aaf",
      "parents": [
        "017016d80628e5cb95c43adaf26acfc5158c0a72",
        "4f1efc098cb5791c3e9f483f2af84aef70d2d0a0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 10 12:32:31 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 12:32:31 2009 -0800"
      },
      "message": "am 987e7fb2: Merge change I9a275773 into eclair-mr2\n\nMerge commit \u0027987e7fb2d43130deb756353ca8f098b0a0a3beeb\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027987e7fb2d43130deb756353ca8f098b0a0a3beeb\u0027:\n  Initial check in of AMR (NB and WB) decoders based on PV source code.\n"
    },
    {
      "commit": "29340b0706b7b65e441c47d6f0c83c344d516435",
      "tree": "59ffd0b15b07a421479bd2ed8a712b9482cb4a6d",
      "parents": [
        "c54176addef15699a518b69cd6bbd40ffc95e72e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 10 12:28:22 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 10 12:28:22 2009 -0800"
      },
      "message": "Adding copyright headers to recently introduced decoder source files.\n"
    },
    {
      "commit": "4f1efc098cb5791c3e9f483f2af84aef70d2d0a0",
      "tree": "a2873e84aed3eecb1198f85954e24cddb1bdc380",
      "parents": [
        "c54176addef15699a518b69cd6bbd40ffc95e72e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 08 15:40:06 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 10 12:23:55 2009 -0800"
      },
      "message": "Initial check in of AMR (NB and WB) decoders based on PV source code.\n"
    },
    {
      "commit": "5849b361ce5d0ce234133deeedd239bd95285d39",
      "tree": "81f8f560f07fe42b10f70b2d919bfe7e199c5f3a",
      "parents": [
        "3c378c08d79c683f8ce96c95bd9c03fd697dc8f6",
        "017016d80628e5cb95c43adaf26acfc5158c0a72"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 10 07:04:09 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 07:04:09 2009 -0800"
      },
      "message": "am 30807a45: am 7c55c3f5: Make sure to use the hand-tweaked-assembly version of the relevant mp3 code if building for ARM.\n\nMerge commit \u002730807a4500fab8b46ee661db2ba99286049a8adc\u0027\n\n* commit \u002730807a4500fab8b46ee661db2ba99286049a8adc\u0027:\n  Make sure to use the hand-tweaked-assembly version of the relevant mp3 code if building for ARM.\n"
    },
    {
      "commit": "3c378c08d79c683f8ce96c95bd9c03fd697dc8f6",
      "tree": "353d2ac93a2eeb3fc7d2487b9782d7b5536f7c59",
      "parents": [
        "29bc460239a77c3d655b9e39ccc76775a9a62cd6",
        "366455da889b506d697ac843a27995671cdc5e32"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 10 07:03:47 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 07:03:47 2009 -0800"
      },
      "message": "am b16cf676: am 6d35d4c2: Merge change Ib16e5543 into eclair-mr2\n\nMerge commit \u0027b16cf676bd3304bc0c5da4210d689f4e680219b1\u0027\n\n* commit \u0027b16cf676bd3304bc0c5da4210d689f4e680219b1\u0027:\n  Fix the mp3 audio extractor that would occasionally return an invalid frame directly after a seek.\n"
    },
    {
      "commit": "29bc460239a77c3d655b9e39ccc76775a9a62cd6",
      "tree": "2e646b8535f30317e202627857b57c49ac42ab4d",
      "parents": [
        "9ae95bea0082dc2c34bfb242c7fc936c98460d2b",
        "1f384fe9ca5c0f10a21a5f4ef5d6ee7f505de3c2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 10 07:03:19 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 07:03:19 2009 -0800"
      },
      "message": "am a42b8f16: am 3f5b2867: Merge change I8f658214 into eclair-mr2\n\nMerge commit \u0027a42b8f160fb5906638e978a470972d1f50d749ac\u0027\n\n* commit \u0027a42b8f160fb5906638e978a470972d1f50d749ac\u0027:\n  Minor tweaks to the mp3 and aac software decoders, propagate duration to output format.\n"
    },
    {
      "commit": "9ae95bea0082dc2c34bfb242c7fc936c98460d2b",
      "tree": "ae5ffe5833ff77d7d407b2d99d612bd50f11f5ed",
      "parents": [
        "a05022d9297878db315e4c051df9963c7fec6ae1",
        "43fe9f904dcb449d139b4dd7ab91e86172161140"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 10 07:02:53 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 07:02:53 2009 -0800"
      },
      "message": "am 42be7440: am ee3a2443: Merge change Ic532c956 into eclair-mr2\n\nMerge commit \u002742be7440ee2a3a360c83802e4e7a2ecf40220eff\u0027\n\n* commit \u002742be7440ee2a3a360c83802e4e7a2ecf40220eff\u0027:\n  Note to self: Don\u0027t reverse the arguments to fseek(o)...\n"
    },
    {
      "commit": "017016d80628e5cb95c43adaf26acfc5158c0a72",
      "tree": "81f8f560f07fe42b10f70b2d919bfe7e199c5f3a",
      "parents": [
        "366455da889b506d697ac843a27995671cdc5e32",
        "c54176addef15699a518b69cd6bbd40ffc95e72e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 09 15:47:35 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 09 15:47:35 2009 -0800"
      },
      "message": "am 7c55c3f5: Make sure to use the hand-tweaked-assembly version of the relevant mp3 code if building for ARM.\n\nMerge commit \u00277c55c3f5f5997ca572d70ad513099a5af20a23c1\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00277c55c3f5f5997ca572d70ad513099a5af20a23c1\u0027:\n  Make sure to use the hand-tweaked-assembly version of the relevant mp3 code if building for ARM.\n"
    },
    {
      "commit": "366455da889b506d697ac843a27995671cdc5e32",
      "tree": "353d2ac93a2eeb3fc7d2487b9782d7b5536f7c59",
      "parents": [
        "1f384fe9ca5c0f10a21a5f4ef5d6ee7f505de3c2",
        "35dd25795bb83d41c1022b1aefe890ffc00e9a35"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 09 15:46:43 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 09 15:46:43 2009 -0800"
      },
      "message": "am 6d35d4c2: Merge change Ib16e5543 into eclair-mr2\n\nMerge commit \u00276d35d4c2cff4ad411fe7d6fde3fda0467d1016c5\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00276d35d4c2cff4ad411fe7d6fde3fda0467d1016c5\u0027:\n  Fix the mp3 audio extractor that would occasionally return an invalid frame directly after a seek.\n"
    },
    {
      "commit": "1f384fe9ca5c0f10a21a5f4ef5d6ee7f505de3c2",
      "tree": "2e646b8535f30317e202627857b57c49ac42ab4d",
      "parents": [
        "43fe9f904dcb449d139b4dd7ab91e86172161140",
        "edf4e6f02b54481ecd74bbdb51e3f5e3db0f53ff"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 09 15:46:23 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 09 15:46:23 2009 -0800"
      },
      "message": "am 3f5b2867: Merge change I8f658214 into eclair-mr2\n\nMerge commit \u00273f5b28679bb31b8ba8f75a2bf330ec0dc0ea14cc\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00273f5b28679bb31b8ba8f75a2bf330ec0dc0ea14cc\u0027:\n  Minor tweaks to the mp3 and aac software decoders, propagate duration to output format.\n"
    },
    {
      "commit": "43fe9f904dcb449d139b4dd7ab91e86172161140",
      "tree": "ae5ffe5833ff77d7d407b2d99d612bd50f11f5ed",
      "parents": [
        "84cfc9312f01b0324d3e85c6a0fab42de3d3333d",
        "d912f4646ece79832f9d852b39eb6b0d836ccfc4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 09 15:46:03 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 09 15:46:03 2009 -0800"
      },
      "message": "am ee3a2443: Merge change Ic532c956 into eclair-mr2\n\nMerge commit \u0027ee3a2443deb39ad9ce65293c045d34b9198cc57a\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027ee3a2443deb39ad9ce65293c045d34b9198cc57a\u0027:\n  Note to self: Don\u0027t reverse the arguments to fseek(o)...\n"
    },
    {
      "commit": "c54176addef15699a518b69cd6bbd40ffc95e72e",
      "tree": "1adf2d71394da2327a60029fdd17cd2704794ba0",
      "parents": [
        "35dd25795bb83d41c1022b1aefe890ffc00e9a35"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 08 10:07:22 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 08 10:07:22 2009 -0800"
      },
      "message": "Make sure to use the hand-tweaked-assembly version of the relevant mp3 code if building for ARM.\n"
    },
    {
      "commit": "35dd25795bb83d41c1022b1aefe890ffc00e9a35",
      "tree": "dbb32ea9ed09c0ff2565849feddf8255a0ab65d0",
      "parents": [
        "edf4e6f02b54481ecd74bbdb51e3f5e3db0f53ff",
        "541962997b4076da11546619f082467ffd9bcd1f"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 08 09:16:08 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 08 09:16:08 2009 -0800"
      },
      "message": "Merge change Ib16e5543 into eclair-mr2\n\n* changes:\n  Fix the mp3 audio extractor that would occasionally return an invalid frame directly after a seek.\n"
    },
    {
      "commit": "edf4e6f02b54481ecd74bbdb51e3f5e3db0f53ff",
      "tree": "3659c584cb564460c220555d7227bc44383007cc",
      "parents": [
        "d912f4646ece79832f9d852b39eb6b0d836ccfc4",
        "ebd0d94d2619280f9871ef2d0965d95fb880404c"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 08 09:16:00 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 08 09:16:00 2009 -0800"
      },
      "message": "Merge change I8f658214 into eclair-mr2\n\n* changes:\n  Minor tweaks to the mp3 and aac software decoders, propagate duration to output format.\n"
    },
    {
      "commit": "a05022d9297878db315e4c051df9963c7fec6ae1",
      "tree": "62ba67d43fb084c7c222bb41266108b90399012b",
      "parents": [
        "e4c2f16cdaa4487ea97722b911787348b925c426",
        "84cfc9312f01b0324d3e85c6a0fab42de3d3333d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 18:37:46 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 18:37:46 2009 -0800"
      },
      "message": "am 9659126d: am 247003be: Merge change I250f2433 into eclair-mr2\n\nMerge commit \u00279659126db10f65b6e502b2175d34c75b301fb7e9\u0027\n\n* commit \u00279659126db10f65b6e502b2175d34c75b301fb7e9\u0027:\n  Initial checkin of stagefright MP3 audio decoder based on PV source code.\n"
    },
    {
      "commit": "e4c2f16cdaa4487ea97722b911787348b925c426",
      "tree": "15f702eb32419aa835e58659e65d4a56c91838e8",
      "parents": [
        "7390e39f87ffce7d35cb0d950ef23be46c466bc5",
        "107aebf3bedb3725bb7d36b4772fca65e444ce1a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 18:34:41 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 18:34:41 2009 -0800"
      },
      "message": "am 2109e680: am 8c7ab034: Fixing the build, only instantiate the software aac decoder in full stagefright builds.\n\nMerge commit \u00272109e6801199b10460330027f3537d406b6a0149\u0027\n\n* commit \u00272109e6801199b10460330027f3537d406b6a0149\u0027:\n  Fixing the build, only instantiate the software aac decoder in full stagefright builds.\n"
    },
    {
      "commit": "7390e39f87ffce7d35cb0d950ef23be46c466bc5",
      "tree": "d20aa55b7d3760afe7bfc505651935ab952a20ea",
      "parents": [
        "bd874a801dbce8a2bb165703736b01043a8d9cc0",
        "a0708be5ff00b7a185b1ae1186e5c83cbf9bd545"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 18:34:13 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 18:34:13 2009 -0800"
      },
      "message": "am 81a005d0: am 73abc2ea: Merge change I9c6e1f90 into eclair-mr2\n\nMerge commit \u002781a005d070bec3a756f5caa48cdda25bcc732ce9\u0027\n\n* commit \u002781a005d070bec3a756f5caa48cdda25bcc732ce9\u0027:\n  Initial check in of stagefright software AAC decoder based on PV source code.\n"
    },
    {
      "commit": "bd874a801dbce8a2bb165703736b01043a8d9cc0",
      "tree": "5f938a2514536f0bac4ab4ae59f820c88b8bef7e",
      "parents": [
        "dbd23c10f1b3b0ea318d19b70c20c8ec1c9bf70d",
        "4659bf204c5b82af9c0d931b3173d1d7c9c7a822"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 07 18:33:53 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 18:33:53 2009 -0800"
      },
      "message": "am e30bae7f: am b8341cf7: am 6d42d806: Merge change I9cc489a2 into eclair\n\nMerge commit \u0027e30bae7f8ef0489788c155ae44d9a57beca1acf5\u0027\n\n* commit \u0027e30bae7f8ef0489788c155ae44d9a57beca1acf5\u0027:\n  Fix issue 2304669: VoiceIME: starting and canceling voice IME yields persistent \"error 8\" state on future attempts and breaks voice search.\n"
    },
    {
      "commit": "dbd23c10f1b3b0ea318d19b70c20c8ec1c9bf70d",
      "tree": "a78ad9b7942ac000f72b50b9212a6da5be374e36",
      "parents": [
        "2bf67b4ea453e7e5628641904600637c40e92f08",
        "9ce05907d3a419ab70537892374306aa66bd1907"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 18:32:57 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 18:32:57 2009 -0800"
      },
      "message": "am f553a584: am 5921fb51: Merge change I91eb0354 into eclair-mr2\n\nMerge commit \u0027f553a58425c66a990dbc5f4579c976a0636fc573\u0027\n\n* commit \u0027f553a58425c66a990dbc5f4579c976a0636fc573\u0027:\n  Change OMXCodec::Create to return an sp\u003cMediaSource\u003e instead of an sp\u003cOMXCodec\u003e, this is more general and does not sacrifice any functionality as the remaining OMXCodec APIs are not meant to be public anyway.\n"
    },
    {
      "commit": "d912f4646ece79832f9d852b39eb6b0d836ccfc4",
      "tree": "3997f451c32651068afbe82a1a6ea06884bf8cf1",
      "parents": [
        "d9618f23226f46c752e56f712bc4b505117d8b4b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 16:37:37 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 16:41:57 2009 -0800"
      },
      "message": "Note to self: Don\u0027t reverse the arguments to fseek(o)...\n"
    },
    {
      "commit": "ebd0d94d2619280f9871ef2d0965d95fb880404c",
      "tree": "8b71343070a2b78cb24de0751c093bbdbbd0392c",
      "parents": [
        "d9618f23226f46c752e56f712bc4b505117d8b4b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 16:32:37 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 16:41:16 2009 -0800"
      },
      "message": "Minor tweaks to the mp3 and aac software decoders, propagate duration to output format.\n"
    },
    {
      "commit": "541962997b4076da11546619f082467ffd9bcd1f",
      "tree": "947bb4e0c7b03a404123ec3ccda00ef67fa540c6",
      "parents": [
        "d9618f23226f46c752e56f712bc4b505117d8b4b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 16:31:31 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 16:40:29 2009 -0800"
      },
      "message": "Fix the mp3 audio extractor that would occasionally return an invalid frame directly after a seek.\n"
    },
    {
      "commit": "2bf67b4ea453e7e5628641904600637c40e92f08",
      "tree": "2e07d4ae0dfdbbdef539a467246ff525642eb65b",
      "parents": [
        "c36af2d0e4f97d54f71d41328f67ec0e3bbea7e1",
        "251949f53525e71659d4117446ba9fe72b3ea702"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 14:53:27 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 14:53:27 2009 -0800"
      },
      "message": "am 5d676ad5: am 52f410e2: Merge change Ifef6435a into eclair-mr2\n\nMerge commit \u00275d676ad5d94c3d4f831c2084012f955fe56a8af8\u0027\n\n* commit \u00275d676ad5d94c3d4f831c2084012f955fe56a8af8\u0027:\n  Enable proper cleanup of OMX nodes managed through stagefright.\n"
    },
    {
      "commit": "84cfc9312f01b0324d3e85c6a0fab42de3d3333d",
      "tree": "62ba67d43fb084c7c222bb41266108b90399012b",
      "parents": [
        "107aebf3bedb3725bb7d36b4772fca65e444ce1a",
        "d9618f23226f46c752e56f712bc4b505117d8b4b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 14:36:01 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 14:36:01 2009 -0800"
      },
      "message": "am 247003be: Merge change I250f2433 into eclair-mr2\n\nMerge commit \u0027247003be9ea69928e35ce2f1bd1fab652920a3f2\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027247003be9ea69928e35ce2f1bd1fab652920a3f2\u0027:\n  Initial checkin of stagefright MP3 audio decoder based on PV source code.\n"
    },
    {
      "commit": "d9618f23226f46c752e56f712bc4b505117d8b4b",
      "tree": "6bf48d5023b6b77d2a65d94a827715a89cafdf02",
      "parents": [
        "92616b5655b7aef260480f60f2aabf98e821c8f3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 14:22:35 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 14:22:35 2009 -0800"
      },
      "message": "Initial checkin of stagefright MP3 audio decoder based on PV source code.\n"
    },
    {
      "commit": "107aebf3bedb3725bb7d36b4772fca65e444ce1a",
      "tree": "15f702eb32419aa835e58659e65d4a56c91838e8",
      "parents": [
        "a0708be5ff00b7a185b1ae1186e5c83cbf9bd545",
        "92616b5655b7aef260480f60f2aabf98e821c8f3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 11:30:48 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 11:30:48 2009 -0800"
      },
      "message": "am 8c7ab034: Fixing the build, only instantiate the software aac decoder in full stagefright builds.\n\nMerge commit \u00278c7ab034692eea550b97bebd7746e1a82735bbbd\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00278c7ab034692eea550b97bebd7746e1a82735bbbd\u0027:\n  Fixing the build, only instantiate the software aac decoder in full stagefright builds.\n"
    },
    {
      "commit": "92616b5655b7aef260480f60f2aabf98e821c8f3",
      "tree": "659614a0a1836d3e785d28ede92a20968fb8727b",
      "parents": [
        "c4fbba6ab63b6fc1a60f6d91238291a73332091b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 11:23:44 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 11:23:44 2009 -0800"
      },
      "message": "Fixing the build, only instantiate the software aac decoder in full stagefright builds.\n"
    },
    {
      "commit": "a0708be5ff00b7a185b1ae1186e5c83cbf9bd545",
      "tree": "d20aa55b7d3760afe7bfc505651935ab952a20ea",
      "parents": [
        "4659bf204c5b82af9c0d931b3173d1d7c9c7a822",
        "c4fbba6ab63b6fc1a60f6d91238291a73332091b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 11:06:20 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 11:06:20 2009 -0800"
      },
      "message": "am 73abc2ea: Merge change I9c6e1f90 into eclair-mr2\n\nMerge commit \u002773abc2ea4c4e23a5561bbf769b4b74d1faa38e4a\u0027 into eclair-mr2-plus-aosp\n\n* commit \u002773abc2ea4c4e23a5561bbf769b4b74d1faa38e4a\u0027:\n  Initial check in of stagefright software AAC decoder based on PV source code.\n"
    },
    {
      "commit": "4659bf204c5b82af9c0d931b3173d1d7c9c7a822",
      "tree": "5f938a2514536f0bac4ab4ae59f820c88b8bef7e",
      "parents": [
        "9ce05907d3a419ab70537892374306aa66bd1907",
        "a410d5a7150d6b14f98197e570c78ea7b6a65091"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 07 11:06:15 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 11:06:15 2009 -0800"
      },
      "message": "am b8341cf7: am 6d42d806: Merge change I9cc489a2 into eclair\n\nMerge commit \u0027b8341cf7c8b0b4af14ea87a4c2335e28865adff1\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027b8341cf7c8b0b4af14ea87a4c2335e28865adff1\u0027:\n  Fix issue 2304669: VoiceIME: starting and canceling voice IME yields persistent \"error 8\" state on future attempts and breaks voice search.\n"
    },
    {
      "commit": "c4fbba6ab63b6fc1a60f6d91238291a73332091b",
      "tree": "caa41079b8b42b44fdccd0c7aee9a5e2398e9409",
      "parents": [
        "a410d5a7150d6b14f98197e570c78ea7b6a65091",
        "f44de515d3b6098a0b585865c1a0c7b20d3075a6"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 07 11:03:28 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 07 11:03:28 2009 -0800"
      },
      "message": "Merge change I9c6e1f90 into eclair-mr2\n\n* changes:\n  Initial check in of stagefright software AAC decoder based on PV source code.\n"
    },
    {
      "commit": "a410d5a7150d6b14f98197e570c78ea7b6a65091",
      "tree": "3fcb722bdfba1d0bd214d8dfa831e9f3d71cc6e5",
      "parents": [
        "bf697e37550d9e8376089b0b5e498613bede798c",
        "148b266afe2ac92b5616c24e8d5160e6f9242f69"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 07 11:03:17 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 11:03:17 2009 -0800"
      },
      "message": "am 6d42d806: Merge change I9cc489a2 into eclair\n\nMerge commit \u00276d42d80653f2c41f3e72a878a1d9a6f9693b89f7\u0027 into eclair-mr2\n\n* commit \u00276d42d80653f2c41f3e72a878a1d9a6f9693b89f7\u0027:\n  Fix issue 2304669: VoiceIME: starting and canceling voice IME yields persistent \"error 8\" state on future attempts and breaks voice search.\n"
    },
    {
      "commit": "f44de515d3b6098a0b585865c1a0c7b20d3075a6",
      "tree": "028b1d81643bbb332464b42b50a0f79ba5359142",
      "parents": [
        "bf697e37550d9e8376089b0b5e498613bede798c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 09:56:32 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 11:02:28 2009 -0800"
      },
      "message": "Initial check in of stagefright software AAC decoder based on PV source code.\n"
    },
    {
      "commit": "9ce05907d3a419ab70537892374306aa66bd1907",
      "tree": "a78ad9b7942ac000f72b50b9212a6da5be374e36",
      "parents": [
        "251949f53525e71659d4117446ba9fe72b3ea702",
        "bf697e37550d9e8376089b0b5e498613bede798c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 10:01:06 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 10:01:06 2009 -0800"
      },
      "message": "am 5921fb51: Merge change I91eb0354 into eclair-mr2\n\nMerge commit \u00275921fb51e0219ddd7cad439a73495f320c57d50e\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00275921fb51e0219ddd7cad439a73495f320c57d50e\u0027:\n  Change OMXCodec::Create to return an sp\u003cMediaSource\u003e instead of an sp\u003cOMXCodec\u003e, this is more general and does not sacrifice any functionality as the remaining OMXCodec APIs are not meant to be public anyway.\n"
    },
    {
      "commit": "bf697e37550d9e8376089b0b5e498613bede798c",
      "tree": "b9e89f19038a23f9b4ad0e667b8ac1a37f8738df",
      "parents": [
        "f0fb96c352f30b812a4903a1d783a715e1e817bd"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 09:43:00 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 07 09:43:00 2009 -0800"
      },
      "message": "Change OMXCodec::Create to return an sp\u003cMediaSource\u003e instead of an sp\u003cOMXCodec\u003e, this is more general and does not sacrifice any functionality as the remaining OMXCodec APIs are not meant to be public anyway.\n"
    },
    {
      "commit": "148b266afe2ac92b5616c24e8d5160e6f9242f69",
      "tree": "6a39d1291d8abe0fe7ca25b0ac6d58f92acf2163",
      "parents": [
        "f311c557729099d002f4aae37c402a8287912369"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Dec 05 05:20:01 2009 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 07 05:37:47 2009 -0800"
      },
      "message": "Fix issue 2304669: VoiceIME: starting and canceling voice IME yields persistent \"error 8\" state on future attempts and breaks voice search.\n\nFixed AudioFlinger::openInput() broken in change ddb78e7753be03937ad57ce7c3c842c52bdad65e\nso that an invalid IO handle (0) is returned in case of failure.\nApplied the same correction to openOutput().\nModified RecordThread start procedure so that a failure occuring during the first read from audio input stream is detected and causes\nthe record start to fail.\nModified RecordThread stop procedure to make sure that audio input stream fd is closed before we exit the stop function.\n\nFixed AudioRecord JAVA and JNI implementation to take status of native AudioRecord::start() into account\nand not change mRecordingState to RECORDSTATE_RECORDING if start fails.\n"
    },
    {
      "commit": "251949f53525e71659d4117446ba9fe72b3ea702",
      "tree": "2e07d4ae0dfdbbdef539a467246ff525642eb65b",
      "parents": [
        "d0fec9cd4a04a6553b749cfd6748544ad3806df9",
        "f0fb96c352f30b812a4903a1d783a715e1e817bd"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Dec 04 13:41:15 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 04 13:41:15 2009 -0800"
      },
      "message": "am 52f410e2: Merge change Ifef6435a into eclair-mr2\n\nMerge commit \u002752f410e2ebba103220cffce05b895f0c38a56665\u0027 into eclair-mr2-plus-aosp\n\n* commit \u002752f410e2ebba103220cffce05b895f0c38a56665\u0027:\n  Enable proper cleanup of OMX nodes managed through stagefright.\n"
    },
    {
      "commit": "f0fb96c352f30b812a4903a1d783a715e1e817bd",
      "tree": "bf0573cd7eb7789a512c51f21c854c4e8b7fa017",
      "parents": [
        "adf7d77752b3dbd47badc8819aa2674860d6ccba"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Dec 04 12:52:40 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Dec 04 12:52:40 2009 -0800"
      },
      "message": "Enable proper cleanup of OMX nodes managed through stagefright.\n"
    },
    {
      "commit": "c36af2d0e4f97d54f71d41328f67ec0e3bbea7e1",
      "tree": "65b82421b14193df1eabb4a2720570b268ebe07b",
      "parents": [
        "82f107c633cdb06d03b5dd706f0ddc6258931365",
        "d0fec9cd4a04a6553b749cfd6748544ad3806df9"
      ],
      "author": {
        "name": "Naveen Kalla",
        "email": "nkalla@quicinc.com",
        "time": "Fri Dec 04 04:32:33 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 04 04:32:33 2009 -0800"
      },
      "message": "am f345a094: am 104d3f75: Merge change I6c84d731 into eclair-mr2\n\nMerge commit \u0027f345a094e90be664f7390d12d505a052ac4b064f\u0027\n\n* commit \u0027f345a094e90be664f7390d12d505a052ac4b064f\u0027:\n  Media/ToneGenerator: Change tone format for TONE_CDMA_ANSWER\n"
    },
    {
      "commit": "82f107c633cdb06d03b5dd706f0ddc6258931365",
      "tree": "16901ca60006bb09090cbab78047f39056c5e5b2",
      "parents": [
        "e4402499164d1a38fe0e5646116b7c57afe93487",
        "05250b376f40325c56ae93e54a7f24617ec77b12"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Dec 04 04:30:40 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 04 04:30:40 2009 -0800"
      },
      "message": "am f4eb754b: am 2a428fd4: Merge change I85e5d39e into eclair-mr2\n\nMerge commit \u0027f4eb754b1810a60e640401396c1f9a10be65dffa\u0027\n\n* commit \u0027f4eb754b1810a60e640401396c1f9a10be65dffa\u0027:\n  Two more uses of strlcpy that break the sim build. Now fixed.\n"
    },
    {
      "commit": "e4402499164d1a38fe0e5646116b7c57afe93487",
      "tree": "8b97be317f75f3d0e708ba41a68d3a16123dac8a",
      "parents": [
        "ceb9ce6619e4d2c6ac15e211f6b88739bb9d927e",
        "f28bdcfab1f79bc40587837a40f42f3ac0f041d0"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Dec 04 04:30:21 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 04 04:30:21 2009 -0800"
      },
      "message": "am 06ef1d21: am 9f0fa1f4: Merge branch \\\u0027eclair-mr2\\\u0027 of ssh://android-git.corp.google.com:29418/platform/frameworks/base into eclair-mr2\n\nMerge commit \u002706ef1d2104b4c90d5b134ae17e2562fd6bedda17\u0027\n\n* commit \u002706ef1d2104b4c90d5b134ae17e2562fd6bedda17\u0027:\n  Apparently strlcpy is not part of a standard linux distribution... Unbreaking the sim build.\n"
    },
    {
      "commit": "ceb9ce6619e4d2c6ac15e211f6b88739bb9d927e",
      "tree": "6bbbf6275558f49268f6e04c1ee9dfa0ee166f0e",
      "parents": [
        "aaaa915f304b339533ea30a0b7265c8f754e9787",
        "9c0674d1097a2fd1d52b75db2ed275664a4ecb83"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Dec 04 04:28:22 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 04 04:28:22 2009 -0800"
      },
      "message": "am b8fb6c0b: am 8d670d34: Merge change I1f1c7bad into eclair-mr2\n\nMerge commit \u0027b8fb6c0bd8236fb964697639d7bbe8e7cf78e3b4\u0027\n\n* commit \u0027b8fb6c0bd8236fb964697639d7bbe8e7cf78e3b4\u0027:\n  I accidentally broke this code while refactoring MediaScanner. This is the fix.\n"
    },
    {
      "commit": "aaaa915f304b339533ea30a0b7265c8f754e9787",
      "tree": "d27f01bd5264e8eb598d28e0158ec524b71c0120",
      "parents": [
        "ebf1f106065b4bb4316b33de5be85bc99eed435e",
        "49096a039a16ea1cb2fc121c9de168be3f088e19"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Dec 04 04:27:37 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 04 04:27:37 2009 -0800"
      },
      "message": "am 9ee55cc1: am 2d6d609c: Merge change I74bf38a0 into eclair-mr2\n\nMerge commit \u00279ee55cc1bc6878b243134a558d583786d9215958\u0027\n\n* commit \u00279ee55cc1bc6878b243134a558d583786d9215958\u0027:\n  Squashed commit of the following:\n"
    },
    {
      "commit": "ebf1f106065b4bb4316b33de5be85bc99eed435e",
      "tree": "afd29af3a13050468c30189f672c87097354a124",
      "parents": [
        "ea918fe87cca343d143652d60d595443bbd8955d",
        "4e1e4bfb43d14d867345da7e0680c4636f40f63b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Dec 04 04:27:25 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 04 04:27:25 2009 -0800"
      },
      "message": "am 874c508c: am bfb9fb14: Refactor MediaScanner. Some steps on the way towards being able to build the tree without OpenCore.\n\nMerge commit \u0027874c508c5352936c0640317ef44b81c9b632dfd6\u0027\n\n* commit \u0027874c508c5352936c0640317ef44b81c9b632dfd6\u0027:\n  Refactor MediaScanner. Some steps on the way towards being able to build the tree without OpenCore.\n"
    },
    {
      "commit": "ea918fe87cca343d143652d60d595443bbd8955d",
      "tree": "c061a4f653756e284c150e4cf7ba20e1f0c968af",
      "parents": [
        "488745bb56bdbdad1bbc68585a73e7729f431d5a",
        "c9ffa992276a1aadb6a99a62417f5222daa03c2e"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Fri Dec 04 04:26:18 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 04 04:26:18 2009 -0800"
      },
      "message": "am b06ecc40: am 7c09a0ff: Merge change Ib904c2a4 into eclair-mr2\n\nMerge commit \u0027b06ecc401160c5906fd1f4c85f61163bc2875200\u0027\n\n* commit \u0027b06ecc401160c5906fd1f4c85f61163bc2875200\u0027:\n  Remove old hack A/V sync hack that is no longer needed.\n"
    },
    {
      "commit": "d0fec9cd4a04a6553b749cfd6748544ad3806df9",
      "tree": "65b82421b14193df1eabb4a2720570b268ebe07b",
      "parents": [
        "05250b376f40325c56ae93e54a7f24617ec77b12",
        "adf7d77752b3dbd47badc8819aa2674860d6ccba"
      ],
      "author": {
        "name": "Naveen Kalla",
        "email": "nkalla@quicinc.com",
        "time": "Thu Dec 03 20:11:07 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 20:11:07 2009 -0800"
      },
      "message": "am 104d3f75: Merge change I6c84d731 into eclair-mr2\n\nMerge commit \u0027104d3f755e5ebc15d66154526c2c149beb33a7ee\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027104d3f755e5ebc15d66154526c2c149beb33a7ee\u0027:\n  Media/ToneGenerator: Change tone format for TONE_CDMA_ANSWER\n"
    },
    {
      "commit": "adf7d77752b3dbd47badc8819aa2674860d6ccba",
      "tree": "5430de0a699b0d321fe546edb0ed865244317db7",
      "parents": [
        "15478f3287c62a780d19b9059023331721bd4f4f",
        "981594f5c3697c3330bdbd4bb5a743fb9f01e6ab"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 03 20:03:59 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 03 20:03:59 2009 -0800"
      },
      "message": "Merge change I6c84d731 into eclair-mr2\n\n* changes:\n  Media/ToneGenerator: Change tone format for TONE_CDMA_ANSWER\n"
    },
    {
      "commit": "05250b376f40325c56ae93e54a7f24617ec77b12",
      "tree": "16901ca60006bb09090cbab78047f39056c5e5b2",
      "parents": [
        "f28bdcfab1f79bc40587837a40f42f3ac0f041d0",
        "15478f3287c62a780d19b9059023331721bd4f4f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 03 16:53:27 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 16:53:27 2009 -0800"
      },
      "message": "am 2a428fd4: Merge change I85e5d39e into eclair-mr2\n\nMerge commit \u00272a428fd463431e2b3d3680faf2e9640989ca7791\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00272a428fd463431e2b3d3680faf2e9640989ca7791\u0027:\n  Two more uses of strlcpy that break the sim build. Now fixed.\n"
    },
    {
      "commit": "f28bdcfab1f79bc40587837a40f42f3ac0f041d0",
      "tree": "8b97be317f75f3d0e708ba41a68d3a16123dac8a",
      "parents": [
        "9c0674d1097a2fd1d52b75db2ed275664a4ecb83",
        "0ef47568ed93872feab423330b10a62a432decd5"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Dec 03 16:51:20 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 16:51:20 2009 -0800"
      },
      "message": "am 9f0fa1f4: Merge branch \\\u0027eclair-mr2\\\u0027 of ssh://android-git.corp.google.com:29418/platform/frameworks/base into eclair-mr2\n\nMerge commit \u00279f0fa1f4c1ed8499bf53479cf51c440a8f665d5e\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00279f0fa1f4c1ed8499bf53479cf51c440a8f665d5e\u0027:\n  Apparently strlcpy is not part of a standard linux distribution... Unbreaking the sim build.\n"
    },
    {
      "commit": "9c0674d1097a2fd1d52b75db2ed275664a4ecb83",
      "tree": "6bbbf6275558f49268f6e04c1ee9dfa0ee166f0e",
      "parents": [
        "49096a039a16ea1cb2fc121c9de168be3f088e19",
        "97494da9d418b599fa1b9930487b90c978357634"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 03 16:44:26 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 16:44:26 2009 -0800"
      },
      "message": "am 8d670d34: Merge change I1f1c7bad into eclair-mr2\n\nMerge commit \u00278d670d345893fb9b9566f6b8c20202b77d4d211a\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00278d670d345893fb9b9566f6b8c20202b77d4d211a\u0027:\n  I accidentally broke this code while refactoring MediaScanner. This is the fix.\n"
    },
    {
      "commit": "49096a039a16ea1cb2fc121c9de168be3f088e19",
      "tree": "d27f01bd5264e8eb598d28e0158ec524b71c0120",
      "parents": [
        "4e1e4bfb43d14d867345da7e0680c4636f40f63b",
        "572e6a5cea656c1df50f69df9730f2dc351308de"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 03 16:40:04 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 16:40:04 2009 -0800"
      },
      "message": "am 2d6d609c: Merge change I74bf38a0 into eclair-mr2\n\nMerge commit \u00272d6d609c9ede7ed8924001df00af9c13effab8ad\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00272d6d609c9ede7ed8924001df00af9c13effab8ad\u0027:\n  Squashed commit of the following:\n"
    },
    {
      "commit": "4e1e4bfb43d14d867345da7e0680c4636f40f63b",
      "tree": "afd29af3a13050468c30189f672c87097354a124",
      "parents": [
        "c9ffa992276a1aadb6a99a62417f5222daa03c2e",
        "413f523afe96aff02d2b0a7459127b8f67b2b43c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 03 16:39:27 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 16:39:27 2009 -0800"
      },
      "message": "am bfb9fb14: Refactor MediaScanner. Some steps on the way towards being able to build the tree without OpenCore.\n\nMerge commit \u0027bfb9fb143b67c2d0307af2bce9af3c08f362b29a\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027bfb9fb143b67c2d0307af2bce9af3c08f362b29a\u0027:\n  Refactor MediaScanner. Some steps on the way towards being able to build the tree without OpenCore.\n"
    },
    {
      "commit": "c9ffa992276a1aadb6a99a62417f5222daa03c2e",
      "tree": "c061a4f653756e284c150e4cf7ba20e1f0c968af",
      "parents": [
        "baeb6dddd1b848320457b9af8c5eb415b43f181a",
        "8908d616cc9d74f9fe2c17f1d8d9335ee28c290d"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Thu Dec 03 16:34:07 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 03 16:34:07 2009 -0800"
      },
      "message": "am 7c09a0ff: Merge change Ib904c2a4 into eclair-mr2\n\nMerge commit \u00277c09a0ff365d6df96e880422a7b389ddf63401da\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00277c09a0ff365d6df96e880422a7b389ddf63401da\u0027:\n  Remove old hack A/V sync hack that is no longer needed.\n"
    },
    {
      "commit": "15478f3287c62a780d19b9059023331721bd4f4f",
      "tree": "a617c79c852b63dba38b2f99200b8270f81d87a3",
      "parents": [
        "0ef47568ed93872feab423330b10a62a432decd5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 03 16:22:52 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 03 16:22:52 2009 -0800"
      },
      "message": "Two more uses of strlcpy that break the sim build. Now fixed.\n"
    },
    {
      "commit": "0ef47568ed93872feab423330b10a62a432decd5",
      "tree": "e8555fcda98a2fd3454c0f271a41d1dbc821971c",
      "parents": [
        "97494da9d418b599fa1b9930487b90c978357634"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 03 16:07:05 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 03 16:07:05 2009 -0800"
      },
      "message": "Apparently strlcpy is not part of a standard linux distribution... Unbreaking the sim build.\n"
    },
    {
      "commit": "97494da9d418b599fa1b9930487b90c978357634",
      "tree": "761c80dc646ec8a3ad2f46ecaf3f51b71203bfff",
      "parents": [
        "572e6a5cea656c1df50f69df9730f2dc351308de"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 03 15:45:53 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 03 15:45:53 2009 -0800"
      },
      "message": "I accidentally broke this code while refactoring MediaScanner. This is the fix.\n"
    },
    {
      "commit": "572e6a5cea656c1df50f69df9730f2dc351308de",
      "tree": "be9e13cfa4ca972e341b93551070b2f07118d1c6",
      "parents": [
        "413f523afe96aff02d2b0a7459127b8f67b2b43c",
        "e3ec3cec3a2e27033249ff82964d2cbd441d9873"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 03 13:27:08 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 03 13:27:08 2009 -0800"
      },
      "message": "Merge change I74bf38a0 into eclair-mr2\n\n* changes:\n  Squashed commit of the following:\n"
    },
    {
      "commit": "413f523afe96aff02d2b0a7459127b8f67b2b43c",
      "tree": "395251a728a780bf6d46e4ef4a721e0cf4a77f3a",
      "parents": [
        "8908d616cc9d74f9fe2c17f1d8d9335ee28c290d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 03 11:31:19 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 03 13:21:54 2009 -0800"
      },
      "message": "Refactor MediaScanner. Some steps on the way towards being able to build the tree without OpenCore.\n"
    },
    {
      "commit": "e3ec3cec3a2e27033249ff82964d2cbd441d9873",
      "tree": "46e3b22fc02c1f20b8a8403818395ba4ba51ddb2",
      "parents": [
        "c297fccffc4ab1cb3b9f5c6a5b0802be057f3e0f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 03 11:39:54 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 03 12:49:09 2009 -0800"
      },
      "message": "Squashed commit of the following:\n\ncommit 543e192bf2ae13f573dc4c4e53b239ed4ea00e81\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Dec 3 11:33:57 2009 -0800\n\n    stagefright now acts as the OMX Master, vendors supply their own plugins through libstagefrighthw. In OpenCore-enabled builds we now sit on top of PVMaster...\n\ncommit 3cbfdbd9cecadbb77b63125c62883bf1065884fe\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Dec 2 12:39:07 2009 -0800\n\n    More OMX infrastructure, stagefright is now taking over the OMX Master, multiplexing all contributing OMX implementations under a common interface.\n"
    },
    {
      "commit": "981594f5c3697c3330bdbd4bb5a743fb9f01e6ab",
      "tree": "50eb7e48850ee83d03fec54169765a0c07f35559",
      "parents": [
        "8908d616cc9d74f9fe2c17f1d8d9335ee28c290d"
      ],
      "author": {
        "name": "Naveen Kalla",
        "email": "nkalla@quicinc.com",
        "time": "Tue Oct 13 15:29:47 2009 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Dec 03 12:17:18 2009 -0800"
      },
      "message": "Media/ToneGenerator: Change tone format for TONE_CDMA_ANSWER\n\nTone format for TONE_CDMA_ANSWER should be 660Hz + 1000Hz, with a 500ms ON\nduration.\n"
    },
    {
      "commit": "8908d616cc9d74f9fe2c17f1d8d9335ee28c290d",
      "tree": "d7fddd5e7e3467626f0eddbbf1fdc0a9f283844f",
      "parents": [
        "c297fccffc4ab1cb3b9f5c6a5b0802be057f3e0f",
        "1d711f67ffb3ea73aca155537e0f21b444251158"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 03 11:25:54 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 03 11:25:54 2009 -0800"
      },
      "message": "Merge change Ib904c2a4 into eclair-mr2\n\n* changes:\n  Remove old hack A/V sync hack that is no longer needed.\n"
    },
    {
      "commit": "1d711f67ffb3ea73aca155537e0f21b444251158",
      "tree": "aee381e7f30e46d562f12a80b0689007e0242991",
      "parents": [
        "a7c816c4bdb72cf4f9fe853a96cd7efdb394006d"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Thu Dec 03 10:13:32 2009 -0800"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Thu Dec 03 10:13:32 2009 -0800"
      },
      "message": "Remove old hack A/V sync hack that is no longer needed.\n"
    },
    {
      "commit": "488745bb56bdbdad1bbc68585a73e7729f431d5a",
      "tree": "680365164233fcebf8ebca13347a2edf43fb0d9f",
      "parents": [
        "0f32c51a01f9b192bfb69408b06d90ee175df707",
        "baeb6dddd1b848320457b9af8c5eb415b43f181a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 01 17:26:32 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 01 17:26:32 2009 -0800"
      },
      "message": "am ae34cf92: am 781ac162: Merge change I8768f2cc into eclair-mr2\n\nMerge commit \u0027ae34cf92db9c54ba72fdcac33a8ba855a2215e4e\u0027\n\n* commit \u0027ae34cf92db9c54ba72fdcac33a8ba855a2215e4e\u0027:\n  A small sample tool to encode pcm audio data to amr, decode it again and play it. Some changes to OMXCodec to properly configure the AMR decoder(s).\n"
    },
    {
      "commit": "baeb6dddd1b848320457b9af8c5eb415b43f181a",
      "tree": "680365164233fcebf8ebca13347a2edf43fb0d9f",
      "parents": [
        "ab762493da1f36e41ba6239bd5b8fa1b8af293fa",
        "c297fccffc4ab1cb3b9f5c6a5b0802be057f3e0f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 01 17:10:19 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 01 17:10:19 2009 -0800"
      },
      "message": "am 781ac162: Merge change I8768f2cc into eclair-mr2\n\nMerge commit \u0027781ac16283574ec07cd7b13d67b54b7b4c2c15cb\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027781ac16283574ec07cd7b13d67b54b7b4c2c15cb\u0027:\n  A small sample tool to encode pcm audio data to amr, decode it again and play it. Some changes to OMXCodec to properly configure the AMR decoder(s).\n"
    },
    {
      "commit": "c297fccffc4ab1cb3b9f5c6a5b0802be057f3e0f",
      "tree": "7f7bd7bfa58df757385ab01ffcd3fd7e27351cfb",
      "parents": [
        "a7c816c4bdb72cf4f9fe853a96cd7efdb394006d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 01 15:26:54 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 01 15:26:54 2009 -0800"
      },
      "message": "A small sample tool to encode pcm audio data to amr, decode it again and play it. Some changes to OMXCodec to properly configure the AMR decoder(s).\n"
    },
    {
      "commit": "0f32c51a01f9b192bfb69408b06d90ee175df707",
      "tree": "c9019176c3c35cbcea18f27cc3fcb3286203a4a2",
      "parents": [
        "666579b7effdaad8cde01d6de987cc065563b776",
        "ab762493da1f36e41ba6239bd5b8fa1b8af293fa"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Nov 23 20:08:12 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 23 20:08:12 2009 -0800"
      },
      "message": "am 3d14b1a1: am 1e914ac7: am 16cc72bd: Fix simulator build.\n\nMerge commit \u00273d14b1a17066b57b579859c246da1397f4e0a123\u0027\n\n* commit \u00273d14b1a17066b57b579859c246da1397f4e0a123\u0027:\n  Fix simulator build.\n"
    },
    {
      "commit": "666579b7effdaad8cde01d6de987cc065563b776",
      "tree": "8b6f642a1427e5404aed69bccfd89a3511d6747b",
      "parents": [
        "37aab2a2256eb1b315184caed8c13cdcb59f4fa0",
        "b2c6deda3922f0452dec2dfe107bea6a8b7d8d56"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Nov 23 20:07:47 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 23 20:07:47 2009 -0800"
      },
      "message": "am 551e1a76: am ebcb7c31: am 8424ec32: Merge change I0f9a53d4 into eclair\n\nMerge commit \u0027551e1a7608887c5bb29b65f3b4aab058fdd06c80\u0027\n\n* commit \u0027551e1a7608887c5bb29b65f3b4aab058fdd06c80\u0027:\n  Set metadata retriever thread group to the caller\u0027s group.\n"
    },
    {
      "commit": "ab762493da1f36e41ba6239bd5b8fa1b8af293fa",
      "tree": "c9019176c3c35cbcea18f27cc3fcb3286203a4a2",
      "parents": [
        "b2c6deda3922f0452dec2dfe107bea6a8b7d8d56",
        "a7c816c4bdb72cf4f9fe853a96cd7efdb394006d"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Nov 23 20:03:28 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 23 20:03:28 2009 -0800"
      },
      "message": "am 1e914ac7: am 16cc72bd: Fix simulator build.\n\nMerge commit \u00271e914ac7fce9523b5a932389798589eba91ca4dd\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00271e914ac7fce9523b5a932389798589eba91ca4dd\u0027:\n  Fix simulator build.\n"
    },
    {
      "commit": "b2c6deda3922f0452dec2dfe107bea6a8b7d8d56",
      "tree": "8b6f642a1427e5404aed69bccfd89a3511d6747b",
      "parents": [
        "95601ba21e9083d19306a719c94970194be327c4",
        "827f3004421aacb6bceaf772ac825d4f2d3006e4"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Nov 23 20:03:03 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 23 20:03:03 2009 -0800"
      },
      "message": "am ebcb7c31: am 8424ec32: Merge change I0f9a53d4 into eclair\n\nMerge commit \u0027ebcb7c3167e76c19d4721dbc472772744918e868\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027ebcb7c3167e76c19d4721dbc472772744918e868\u0027:\n  Set metadata retriever thread group to the caller\u0027s group.\n"
    },
    {
      "commit": "a7c816c4bdb72cf4f9fe853a96cd7efdb394006d",
      "tree": "2862a6b0b87a19889e10cddf829e3bd922822583",
      "parents": [
        "827f3004421aacb6bceaf772ac825d4f2d3006e4",
        "f311c557729099d002f4aae37c402a8287912369"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Nov 23 19:58:33 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 23 19:58:33 2009 -0800"
      },
      "message": "am 16cc72bd: Fix simulator build.\n\nMerge commit \u002716cc72bdef471ffeee3f61eba8262783de248b04\u0027 into eclair-mr2\n\n* commit \u002716cc72bdef471ffeee3f61eba8262783de248b04\u0027:\n  Fix simulator build.\n"
    },
    {
      "commit": "827f3004421aacb6bceaf772ac825d4f2d3006e4",
      "tree": "224f040563bccf2ec3a4bba7d1fea81c092608c8",
      "parents": [
        "e5d6df402da9b6c5577470abb81a5e6801bd7752",
        "ec4dde75955f87e5afea3f59ef991130257f3f3a"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Nov 23 19:58:00 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 23 19:58:00 2009 -0800"
      },
      "message": "am 8424ec32: Merge change I0f9a53d4 into eclair\n\nMerge commit \u00278424ec323b2bc38887370c75e2c1fcd84bcdb013\u0027 into eclair-mr2\n\n* commit \u00278424ec323b2bc38887370c75e2c1fcd84bcdb013\u0027:\n  Set metadata retriever thread group to the caller\u0027s group.\n"
    },
    {
      "commit": "f311c557729099d002f4aae37c402a8287912369",
      "tree": "376c75d23be1b4031fef4cbd906b204543ce1e69",
      "parents": [
        "ec4dde75955f87e5afea3f59ef991130257f3f3a"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Nov 23 19:51:33 2009 -0800"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Nov 23 19:51:33 2009 -0800"
      },
      "message": "Fix simulator build.\n"
    },
    {
      "commit": "ec4dde75955f87e5afea3f59ef991130257f3f3a",
      "tree": "68bdeed14853f8f8a2678acb2b875487e7af706a",
      "parents": [
        "4ddf30b2b118068d82bb37858186d668eddbbe6d"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Nov 23 16:51:15 2009 -0800"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Nov 23 16:51:15 2009 -0800"
      },
      "message": "Set metadata retriever thread group to the caller\u0027s group.\n\nThis patch modifies the native binder interface to the metadata\nretriever to pass the caller\u0027s thread group across the binder\ninterface. On the server side, the thread scheduler group is\nset to the caller\u0027s scheduler group temporarily and restored\nafter the request has completed. This patch also reverts a\nprevious patch where the priority of the thread was forced to\na low priority foreground thread.\n\nThis should give apps more control over the priority of their\nmetadata retrieval, particularly allow background process to\nrun without hogging the CPU.\n"
    },
    {
      "commit": "37aab2a2256eb1b315184caed8c13cdcb59f4fa0",
      "tree": "833e687c57e3775308b6a3e4b96c5e228e5655b1",
      "parents": [
        "daf8ef73da2f7633b61b98e86a3d6a638e0e9d26",
        "95601ba21e9083d19306a719c94970194be327c4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 23 16:07:26 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 23 16:07:26 2009 -0800"
      },
      "message": "am 4bbdf934: am 44e15c44: Some playable/decodable streams have been found in the wild that violate this assertion, let\\\u0027s be lenient for now.\n\nMerge commit \u00274bbdf934458253dbdb331d2b614a085256ba8d6c\u0027\n\n* commit \u00274bbdf934458253dbdb331d2b614a085256ba8d6c\u0027:\n  Some playable/decodable streams have been found in the wild that violate this assertion, let\u0027s be lenient for now.\n"
    },
    {
      "commit": "daf8ef73da2f7633b61b98e86a3d6a638e0e9d26",
      "tree": "a8857e2c554e8e511e2763d2a8726d6c1e0f3382",
      "parents": [
        "8c3097f8fb9ab6413c55a67b60b9ccb0841a2080",
        "1213d6f3c466bb77da198418e5f4653c4eca8ce1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 23 16:06:56 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 23 16:06:56 2009 -0800"
      },
      "message": "am 5884468b: am 1f522294: Merge change I24b0a95d into eclair-mr2\n\nMerge commit \u00275884468b448a5e2810d2ae421b69cc9c18a1a2f5\u0027\n\n* commit \u00275884468b448a5e2810d2ae421b69cc9c18a1a2f5\u0027:\n  The original delay after which we dropped a frame was too aggressive. 40ms lateness seems more appropriate (about 25fps).\n"
    },
    {
      "commit": "8c3097f8fb9ab6413c55a67b60b9ccb0841a2080",
      "tree": "7da337a84ef71570fb6ab67edf82a9d60a2e67e1",
      "parents": [
        "ac568ceead51a51baf1a59f0205e16161606567a",
        "d78bc77da7dbb57c74b8840a75a1a57ad5af9b3a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 23 16:06:25 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 23 16:06:25 2009 -0800"
      },
      "message": "am d1f11997: am e71a6408: Merge change I1bceff91 into eclair-mr2\n\nMerge commit \u0027d1f11997e5845938b50a58dd3aecbc966ee00373\u0027\n\n* commit \u0027d1f11997e5845938b50a58dd3aecbc966ee00373\u0027:\n  Make sure the decoder\u0027s input buffers are large enough to hold the largest input data. Verify that the setting actually sticks.\n"
    },
    {
      "commit": "95601ba21e9083d19306a719c94970194be327c4",
      "tree": "833e687c57e3775308b6a3e4b96c5e228e5655b1",
      "parents": [
        "1213d6f3c466bb77da198418e5f4653c4eca8ce1",
        "e5d6df402da9b6c5577470abb81a5e6801bd7752"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 23 15:39:26 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 23 15:39:26 2009 -0800"
      },
      "message": "am 44e15c44: Some playable/decodable streams have been found in the wild that violate this assertion, let\\\u0027s be lenient for now.\n\nMerge commit \u002744e15c44ad10b36bd3649b21ea7432348e2f05f8\u0027 into eclair-mr2-plus-aosp\n\n* commit \u002744e15c44ad10b36bd3649b21ea7432348e2f05f8\u0027:\n  Some playable/decodable streams have been found in the wild that violate this assertion, let\u0027s be lenient for now.\n"
    },
    {
      "commit": "e5d6df402da9b6c5577470abb81a5e6801bd7752",
      "tree": "6788322bcb337c52ee83c01049594d78658a759b",
      "parents": [
        "f83d9a75c4616b2da4db7b1559e918fbf8709005"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 23 14:39:38 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 23 15:14:44 2009 -0800"
      },
      "message": "Some playable/decodable streams have been found in the wild that violate this assertion, let\u0027s be lenient for now.\n"
    },
    {
      "commit": "1213d6f3c466bb77da198418e5f4653c4eca8ce1",
      "tree": "a8857e2c554e8e511e2763d2a8726d6c1e0f3382",
      "parents": [
        "d78bc77da7dbb57c74b8840a75a1a57ad5af9b3a",
        "f83d9a75c4616b2da4db7b1559e918fbf8709005"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 23 14:42:30 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 23 14:42:30 2009 -0800"
      },
      "message": "am 1f522294: Merge change I24b0a95d into eclair-mr2\n\nMerge commit \u00271f52229453c3df8eaeda64133bd332b01589354f\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00271f52229453c3df8eaeda64133bd332b01589354f\u0027:\n  The original delay after which we dropped a frame was too aggressive. 40ms lateness seems more appropriate (about 25fps).\n"
    },
    {
      "commit": "f83d9a75c4616b2da4db7b1559e918fbf8709005",
      "tree": "efdb656d0716757d60b2f3f1d1b4b5591ea48a79",
      "parents": [
        "738c4315859395bfeeaae3d4c9d6fb9f414778f1",
        "650773d00356129ffd661cdaef3fb3095c343707"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 23 14:39:03 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 23 14:39:03 2009 -0800"
      },
      "message": "Merge change I24b0a95d into eclair-mr2\n\n* changes:\n  The original delay after which we dropped a frame was too aggressive. 40ms lateness seems more appropriate (about 25fps).\n"
    },
    {
      "commit": "d78bc77da7dbb57c74b8840a75a1a57ad5af9b3a",
      "tree": "7da337a84ef71570fb6ab67edf82a9d60a2e67e1",
      "parents": [
        "72b0e78480f38f24607e6ddb7a118cac6c4f1107",
        "738c4315859395bfeeaae3d4c9d6fb9f414778f1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 23 14:31:25 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 23 14:31:25 2009 -0800"
      },
      "message": "am e71a6408: Merge change I1bceff91 into eclair-mr2\n\nMerge commit \u0027e71a6408867a80f847cd3f7671f6ef009f67a78e\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027e71a6408867a80f847cd3f7671f6ef009f67a78e\u0027:\n  Make sure the decoder\u0027s input buffers are large enough to hold the largest input data. Verify that the setting actually sticks.\n"
    },
    {
      "commit": "738c4315859395bfeeaae3d4c9d6fb9f414778f1",
      "tree": "914b3e3eb6702df6b62191ca96819f31ee20e1a1",
      "parents": [
        "bfa6b2d7a1be1832ac40ed90aece1834f720b5c6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 23 14:03:32 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 23 14:06:42 2009 -0800"
      },
      "message": "Make sure the decoder\u0027s input buffers are large enough to hold the largest input data. Verify that the setting actually sticks.\n"
    },
    {
      "commit": "650773d00356129ffd661cdaef3fb3095c343707",
      "tree": "d7eaa1dc1cfc6b008bae7ee687c07ea99bf27a56",
      "parents": [
        "bfa6b2d7a1be1832ac40ed90aece1834f720b5c6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 23 14:02:00 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 23 14:04:48 2009 -0800"
      },
      "message": "The original delay after which we dropped a frame was too aggressive. 40ms lateness seems more appropriate (about 25fps).\n"
    },
    {
      "commit": "ac568ceead51a51baf1a59f0205e16161606567a",
      "tree": "bf85d13b0f536f16aac84e04cac39117bc953fd1",
      "parents": [
        "c2904bab5f4c900a67cdf1aeed196fdc171a3710",
        "72b0e78480f38f24607e6ddb7a118cac6c4f1107"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 23 10:55:40 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 23 10:55:40 2009 -0800"
      },
      "message": "am 5493df91: am bbd6cb46: Merge change Ib1b7bce4 into eclair-mr2\n\nMerge commit \u00275493df919b01952857eb3b78fad3fe2cff573935\u0027\n\n* commit \u00275493df919b01952857eb3b78fad3fe2cff573935\u0027:\n  Squashed commit of the following:\n"
    },
    {
      "commit": "72b0e78480f38f24607e6ddb7a118cac6c4f1107",
      "tree": "bf85d13b0f536f16aac84e04cac39117bc953fd1",
      "parents": [
        "aadb854e0bc63547c0d4b4129330a49917a30f75",
        "bfa6b2d7a1be1832ac40ed90aece1834f720b5c6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 23 10:51:41 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 23 10:51:41 2009 -0800"
      },
      "message": "am bbd6cb46: Merge change Ib1b7bce4 into eclair-mr2\n\nMerge commit \u0027bbd6cb463b405fc90912dee470fe6c7b8c6b1f54\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027bbd6cb463b405fc90912dee470fe6c7b8c6b1f54\u0027:\n  Squashed commit of the following:\n"
    },
    {
      "commit": "bfa6b2d7a1be1832ac40ed90aece1834f720b5c6",
      "tree": "5b4948c52fde583d593d088ffc4a7f772c904a86",
      "parents": [
        "bf89c099fc97717e3008a481aeddc76c1ac5e00d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 20 09:32:46 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 23 10:44:30 2009 -0800"
      },
      "message": "Squashed commit of the following:\n\ncommit 1efc38dc3c33fef57b759002db3965ed07a28cb0\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Nov 19 14:36:14 2009 -0800\n\n    Sending the SEEK-COMPLETE notification temporarily broke seeking backwards in time behaviour. This is now fixed.\n\n    Also, get rid of the semi-random delay after posting buffers to surface flinger in favour of delaying the buffer release until the next frame is displayed.\n\ncommit 51973062eb5ee63fd64b845d72bac517cc3369cf\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Nov 18 14:01:43 2009 -0800\n\n    Fix one more unit test, properly send seek-complete notification only after seek actually completed.\n\ncommit cb22250b34b1fcfe1bf459723a761fd003950229\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Nov 18 12:31:36 2009 -0800\n\n    Fix seek-while-paused in AwesomePlayer, revert to using FileSource if MmapSource fails.\n\ncommit 25eb9241138ddf7bb27ce90657116c5f8a94d880\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Nov 18 12:30:40 2009 -0800\n\n    Support seeking and duration in AMRExtractor, assuming all frames are the same size.\n\ncommit 44192f2ebb7ea3bbd3ba5910025692dbc6a08faa\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Nov 18 10:21:44 2009 -0800\n\n    MediaPlayerImpl is dead, long live AwesomePlayer.\n\ncommit c5b52d3c0674f5dc94db506afbce52401cceddac\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Nov 18 09:42:23 2009 -0800\n\n    New implementation of the stagefright mediaplayer.\n"
    },
    {
      "commit": "c2904bab5f4c900a67cdf1aeed196fdc171a3710",
      "tree": "2782ab633775e51dcf949421fe5d74dee7da9588",
      "parents": [
        "b5b133daa70779c09ef1ad6e88f5f85584537dc8",
        "aadb854e0bc63547c0d4b4129330a49917a30f75"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Nov 21 00:29:36 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Nov 21 00:29:36 2009 -0800"
      },
      "message": "am 86526461: am 949c572a: am e7800946: Merge change I49f02be9 into eclair\n\nMerge commit \u00278652646105a6ace559280b579ee8935541ada6c1\u0027\n\n* commit \u00278652646105a6ace559280b579ee8935541ada6c1\u0027:\n  Issue 2265163: Audio still reported routed through earpiece on sholes\n"
    },
    {
      "commit": "aadb854e0bc63547c0d4b4129330a49917a30f75",
      "tree": "2782ab633775e51dcf949421fe5d74dee7da9588",
      "parents": [
        "317599076b653bffb9142a98c6bb4f887804f231",
        "bf89c099fc97717e3008a481aeddc76c1ac5e00d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Nov 21 00:26:09 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Nov 21 00:26:09 2009 -0800"
      },
      "message": "am 949c572a: am e7800946: Merge change I49f02be9 into eclair\n\nMerge commit \u0027949c572a16881aa40079a42bf7682637b23eb16a\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027949c572a16881aa40079a42bf7682637b23eb16a\u0027:\n  Issue 2265163: Audio still reported routed through earpiece on sholes\n"
    },
    {
      "commit": "bf89c099fc97717e3008a481aeddc76c1ac5e00d",
      "tree": "0cdf045cfa9affd3aab1a87fdcf9c4d44f47a7d8",
      "parents": [
        "70453d7e16079720947adabad1e76d5d6b72ea14",
        "4ddf30b2b118068d82bb37858186d668eddbbe6d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Nov 21 00:21:15 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Nov 21 00:21:15 2009 -0800"
      },
      "message": "am e7800946: Merge change I49f02be9 into eclair\n\nMerge commit \u0027e7800946a42c0ebe8e0b3f6eba04a96a9641aaff\u0027 into eclair-mr2\n\n* commit \u0027e7800946a42c0ebe8e0b3f6eba04a96a9641aaff\u0027:\n  Issue 2265163: Audio still reported routed through earpiece on sholes\n"
    },
    {
      "commit": "4ddf30b2b118068d82bb37858186d668eddbbe6d",
      "tree": "e270f842df4d078948ecb80aefb31f7658d866bc",
      "parents": [
        "2f5925e123afdaba79c7ca8ef6647e4b86cd5488",
        "6100d2d60517ff33ed8eb35d0b7ea63cde0831c9"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 21 00:18:24 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 21 00:18:24 2009 -0800"
      },
      "message": "Merge change I49f02be9 into eclair\n\n* changes:\n  Issue 2265163: Audio still reported routed through earpiece on sholes\n"
    },
    {
      "commit": "6100d2d60517ff33ed8eb35d0b7ea63cde0831c9",
      "tree": "9cd057df8eb60ff3e68bb6f9c04f92053dfb443e",
      "parents": [
        "583892d0185d102f3c9ca69ea48fe38af31ecd31"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 19 09:00:56 2009 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 19 23:57:45 2009 -0800"
      },
      "message": "Issue 2265163: Audio still reported routed through earpiece on sholes\n\nThis is a second attempt to fix the audio routed to earpiece syndrom.\nThe root cause identified this time is the crash of an application having an active AudioTrack playing on the VOICE_CALL stream type.\nWhen this happens, the AudioTrack destructor is not called and the audio policy manager is not notified of the track stop.\nResults a situation where the VOICE_CALL stream is considered as always in use by audio policy manager which makes that audio is routed to earpiece.\n\nThe fix consists in moving the track start/stop/close notification to audio policiy manager from AudioTrack to AudioFlinger Track objet.\nThe net result is that in the case of a client application crash, the AudioFlinger TrackHandle object (which implements the remote side of the IAudioTrack binder interface) destructor is called which in turn destroys the Track object and we can notify the audio policy manager of the track stop and removal.\n\nThe same modification is made for AudioRecord although no bug related to record has been reported yet.\nAlso fixed a potential problem if record stop is called while the record thread is exiting.\n"
    },
    {
      "commit": "b5b133daa70779c09ef1ad6e88f5f85584537dc8",
      "tree": "053f4fad937495f6ce9be844c282befcd946556a",
      "parents": [
        "624b08924f4482d91f731de3efde37bcea4f90f8",
        "317599076b653bffb9142a98c6bb4f887804f231"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 19 17:43:45 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 19 17:43:45 2009 -0800"
      },
      "message": "am 7227e72b: (-s ours) am 57c70146: am f854e077: (-s ours) Merge change I8134d6ed into eclair\n\nMerge commit \u00277227e72bf4b9f6f4bcf5a3ec8006a3318efd3cca\u0027\n\n* commit \u00277227e72bf4b9f6f4bcf5a3ec8006a3318efd3cca\u0027:\n  DO NOT MERGE: Instead of inserting semi-random delays after submission to surface flinger, delay releasing buffers to the next display time to avoid flickering.\n"
    },
    {
      "commit": "317599076b653bffb9142a98c6bb4f887804f231",
      "tree": "053f4fad937495f6ce9be844c282befcd946556a",
      "parents": [
        "aae2af5870a165e121b3aeced2135061177c8550",
        "70453d7e16079720947adabad1e76d5d6b72ea14"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 19 15:05:02 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 19 15:05:02 2009 -0800"
      },
      "message": "am 57c70146: am f854e077: (-s ours) Merge change I8134d6ed into eclair\n\nMerge commit \u002757c701463f57ea50f6116690641f376e84c4c290\u0027 into eclair-mr2-plus-aosp\n\n* commit \u002757c701463f57ea50f6116690641f376e84c4c290\u0027:\n  DO NOT MERGE: Instead of inserting semi-random delays after submission to surface flinger, delay releasing buffers to the next display time to avoid flickering.\n"
    },
    {
      "commit": "70453d7e16079720947adabad1e76d5d6b72ea14",
      "tree": "e13d666ee10eea352fd7d3d253e1f4d96984578e",
      "parents": [
        "f78933fdfc5bc71881b3011f921b643d90387664",
        "2f5925e123afdaba79c7ca8ef6647e4b86cd5488"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 19 15:01:14 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 19 15:01:14 2009 -0800"
      },
      "message": "am f854e077: (-s ours) Merge change I8134d6ed into eclair\n\nMerge commit \u0027f854e0770207e93ef9d1bf6d50ed18537a107ca4\u0027 into eclair-mr2\n\n* commit \u0027f854e0770207e93ef9d1bf6d50ed18537a107ca4\u0027:\n  DO NOT MERGE: Instead of inserting semi-random delays after submission to surface flinger, delay releasing buffers to the next display time to avoid flickering.\n"
    },
    {
      "commit": "2f5925e123afdaba79c7ca8ef6647e4b86cd5488",
      "tree": "994ce4cc1ddd2b37ea86944fcb04b2d69ac0d138",
      "parents": [
        "583892d0185d102f3c9ca69ea48fe38af31ecd31"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 19 11:22:36 2009 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 19 11:24:18 2009 -0800"
      },
      "message": "DO NOT MERGE: Instead of inserting semi-random delays after submission to surface flinger, delay releasing buffers to the next display time to avoid flickering.\n"
    },
    {
      "commit": "624b08924f4482d91f731de3efde37bcea4f90f8",
      "tree": "053f4fad937495f6ce9be844c282befcd946556a",
      "parents": [
        "82865549a0da6bf8337b5da4dbfba30b088671d6",
        "aae2af5870a165e121b3aeced2135061177c8550"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 17 15:10:44 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 17 15:10:44 2009 -0800"
      },
      "message": "am 39dc5104: am 2c766498: Merge change Iea6a38c6 into eclair-mr2\n\nMerge commit \u002739dc51040f9b766adaa9ee487bb0568a2ed1c916\u0027\n\n* commit \u002739dc51040f9b766adaa9ee487bb0568a2ed1c916\u0027:\n  Squashed commit of the following:\n"
    },
    {
      "commit": "82865549a0da6bf8337b5da4dbfba30b088671d6",
      "tree": "1c6c1472ef183af12c87de8289a731b98eb496e2",
      "parents": [
        "31e119f5d0a38665072781de106af4e85199c081",
        "7ffaaee13c2e3253807fd21ce17ab2648b3cdd2b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 17 15:10:25 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 17 15:10:25 2009 -0800"
      },
      "message": "am ed9880f3: am a35f1c63: Merge change Ib64ea2dd into eclair-mr2\n\nMerge commit \u0027ed9880f399015782c9f635db744d25281d0deeb4\u0027\n\n* commit \u0027ed9880f399015782c9f635db744d25281d0deeb4\u0027:\n  Improvements to TimedEventQueue.\n"
    }
  ],
  "next": "31e119f5d0a38665072781de106af4e85199c081"
}
