)]}'
{
  "log": [
    {
      "commit": "750bdfd40abae2e545eb103eb811b31422051057",
      "tree": "33388f417f330d72ab7f781ac99e1ac253026d5f",
      "parents": [
        "737c54077a29d4e5dadbf986bc1ac45ed50abcb2",
        "86f69c1f41dcf4e0826b17ecf7fd71eb353b0782"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Apr 30 15:08:10 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 30 15:08:10 2010 -0700"
      },
      "message": "am 1bb8b670: Merge \"Add support for enqueuing buffers in arbitrary order\" into kraken\n"
    },
    {
      "commit": "737c54077a29d4e5dadbf986bc1ac45ed50abcb2",
      "tree": "deebdeded18d54493ea41b5be6e09a0d272f39f2",
      "parents": [
        "845764b3429f9a5e47fe64c81b34be6acda4b5cc",
        "41623bfd339754718bab32a6259ff15920f1c588"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Apr 29 14:34:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 29 14:34:26 2010 -0700"
      },
      "message": "am daedd81f: Merge \"cleanup. waitForCondition() now uses polymorphsim instead of templtes\" into kraken\n"
    },
    {
      "commit": "845764b3429f9a5e47fe64c81b34be6acda4b5cc",
      "tree": "41e0e1082e575b15d74339f3aacb20fa22807d29",
      "parents": [
        "7a061a43a1ec78be1d36d83aa6562023d984fb83",
        "43d8a28165c0cf5ecfd4ea988f5db0f120672e60"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Apr 29 14:34:21 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 29 14:34:21 2010 -0700"
      },
      "message": "am 1d0fa397: Merge \"fix a race condition in undoDequeue(), where \\\u0027tail\\\u0027 could be computed incorrectly.\" into kraken\n"
    },
    {
      "commit": "86f69c1f41dcf4e0826b17ecf7fd71eb353b0782",
      "tree": "33388f417f330d72ab7f781ac99e1ac253026d5f",
      "parents": [
        "41623bfd339754718bab32a6259ff15920f1c588"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 27 21:08:20 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Apr 28 16:12:54 2010 -0700"
      },
      "message": "Add support for enqueuing buffers in arbitrary order\n\nAlso added a very simple SharedBufferStack unit test.\n\nChange-Id: I253dbbe98a53c966b78d22d4d6dd59f8aefc8c40\n"
    },
    {
      "commit": "41623bfd339754718bab32a6259ff15920f1c588",
      "tree": "deebdeded18d54493ea41b5be6e09a0d272f39f2",
      "parents": [
        "43d8a28165c0cf5ecfd4ea988f5db0f120672e60"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 27 16:41:19 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Apr 28 16:12:54 2010 -0700"
      },
      "message": "cleanup. waitForCondition() now uses polymorphsim instead of templtes\n\nthe reason for the above change is that waitForCondition() had become\nlarge over time, mainly to handle error cases, using inlines to\nevaluate the condition doesn\u0027t buys us much anymore while it increases\ncode size.\n\nChange-Id: I2595d850832628954b900ab8bb1796c863447bc7\n"
    },
    {
      "commit": "43d8a28165c0cf5ecfd4ea988f5db0f120672e60",
      "tree": "41e0e1082e575b15d74339f3aacb20fa22807d29",
      "parents": [
        "c32cd79d9ad4aba7d959b5b3be7361b4715e6f18"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 27 16:11:38 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Apr 28 16:12:54 2010 -0700"
      },
      "message": "fix a race condition in undoDequeue(), where \u0027tail\u0027 could be computed incorrectly.\n\nin the undoDequeue() case, \u0027tail\u0027 was recalculated from \u0027available\u0027 and \u0027head\u0027\nhowever there was a race between this and retireAndLock(), which could cause\n\u0027tail\u0027 to be recalculated wrongly.\n\nthe interesting thing though is that retireAndLock() shouldn\u0027t have any impact\non the value of \u0027tail\u0027, which is client-side only attribute.\nwe fix the race by saving the value of \u0027tail\u0027 before dequeue() and restore it\nin the case of undoDequeue(), since we know it doesn\u0027t depend on retireAndLock().\n\nChange-Id: I4bcc4d16b6bc4dd93717ee739c603040b18295a0\n"
    },
    {
      "commit": "7a061a43a1ec78be1d36d83aa6562023d984fb83",
      "tree": "8a3b2842c196b748fd50d633b038ce33c9d6ee1a",
      "parents": [
        "23493afbbf680a1c328cec97d9d091978b2de690",
        "c32cd79d9ad4aba7d959b5b3be7361b4715e6f18"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Apr 28 12:10:43 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 28 12:10:43 2010 -0700"
      },
      "message": "am b30bf6ef: Merge \"Use timestamp from camera driver for CameraSource\" into kraken\n"
    },
    {
      "commit": "c32cd79d9ad4aba7d959b5b3be7361b4715e6f18",
      "tree": "8a3b2842c196b748fd50d633b038ce33c9d6ee1a",
      "parents": [
        "261741e728f2137f12b28df25c25e96acd942de9"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Apr 26 17:48:26 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Apr 28 11:55:47 2010 -0700"
      },
      "message": "Use timestamp from camera driver for CameraSource\n\nChange-Id: I09ddec69997c43b8f17fdd21304c76cb4c5ab8cf\n"
    },
    {
      "commit": "23493afbbf680a1c328cec97d9d091978b2de690",
      "tree": "41068d0acc37723315f09cf173b621c390d73259",
      "parents": [
        "68a3517fbecb82dac00bced37cb7226ff83cafb0",
        "261741e728f2137f12b28df25c25e96acd942de9"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Apr 26 11:20:22 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 26 11:20:22 2010 -0700"
      },
      "message": "am 40eb3f7b: am 31431b34: am 374aee68: Switch to use software MP3 decoder Hardware MP3 decoder could lead to hang in the Music application, although the chance is very low.\n"
    },
    {
      "commit": "261741e728f2137f12b28df25c25e96acd942de9",
      "tree": "41068d0acc37723315f09cf173b621c390d73259",
      "parents": [
        "add08eb454bbe8b3a0a40d23621c102b72cd005d",
        "0b5ba9eeed56a80fed3735f5cd4951477fda79f0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Apr 26 11:12:37 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 26 11:12:37 2010 -0700"
      },
      "message": "am 31431b34: am 374aee68: Switch to use software MP3 decoder Hardware MP3 decoder could lead to hang in the Music application, although the chance is very low.\n\nMerge commit \u002731431b34f895862ae13efba30bb5771085572687\u0027 into kraken\n\n* commit \u002731431b34f895862ae13efba30bb5771085572687\u0027:\n  Switch to use software MP3 decoder\n"
    },
    {
      "commit": "0b5ba9eeed56a80fed3735f5cd4951477fda79f0",
      "tree": "eba0e273399f28784bc8e3be6dcb4161bb1893c6",
      "parents": [
        "4bf29cabaa7c94d0c74d5f945df6b51da51ed180"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Apr 26 10:23:30 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Apr 26 10:23:30 2010 -0700"
      },
      "message": "Switch to use software MP3 decoder\nHardware MP3 decoder could lead to hang in the Music application, although the chance is very low.\n\nbug - 2608400\n\nChange-Id: Ia0b5b6521015fc8d3e086117fa914dcc20ace5bd\n"
    },
    {
      "commit": "68a3517fbecb82dac00bced37cb7226ff83cafb0",
      "tree": "33c91150474ff16a6feda9d04e2bb56d938dbaeb",
      "parents": [
        "cb060573bb19d024f1dcf569b87756d78143456d",
        "add08eb454bbe8b3a0a40d23621c102b72cd005d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 20 16:43:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 16:43:26 2010 -0700"
      },
      "message": "am f5e20801: am 89e28cbe: am 9e609b0d: Merge \"Apparently select() does not immediately return if one of the masked socket descriptors is closed... Stop relying on select for read-with-timeout functionality and use SO_RCVTIMEO socket option instead.\" into froyo\n"
    },
    {
      "commit": "add08eb454bbe8b3a0a40d23621c102b72cd005d",
      "tree": "33c91150474ff16a6feda9d04e2bb56d938dbaeb",
      "parents": [
        "87d83db7909b9a920b4e417bb240ec11e5441749",
        "4bf29cabaa7c94d0c74d5f945df6b51da51ed180"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 20 16:37:35 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 16:37:35 2010 -0700"
      },
      "message": "am 89e28cbe: am 9e609b0d: Merge \"Apparently select() does not immediately return if one of the masked socket descriptors is closed... Stop relying on select for read-with-timeout functionality and use SO_RCVTIMEO socket option instead.\" into froyo\n\nMerge commit \u002789e28cbefaff6ae9499032bb446ae7e72e019466\u0027 into kraken\n\n* commit \u002789e28cbefaff6ae9499032bb446ae7e72e019466\u0027:\n  Apparently select() does not immediately return if one of the masked socket descriptors is closed... Stop relying on select for read-with-timeout functionality and use SO_RCVTIMEO socket option instead.\n"
    },
    {
      "commit": "cb060573bb19d024f1dcf569b87756d78143456d",
      "tree": "6eb97835ac66e120cb104ce2beb3aac475872df6",
      "parents": [
        "f46f3dd3effec9523e61de1dce33bf6207e4801a",
        "87d83db7909b9a920b4e417bb240ec11e5441749"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 20 16:37:29 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 16:37:29 2010 -0700"
      },
      "message": "am b834b38a: Merge \"added setCrop() to android_native_window_t\" into kraken\n"
    },
    {
      "commit": "f46f3dd3effec9523e61de1dce33bf6207e4801a",
      "tree": "e15b6f8c25fd4d5fa549380fe7981c27f15094e6",
      "parents": [
        "3d02ab8c49b4d77d4b7458fe2cf6c92c9fb9f7f8",
        "34cbbc9fb95b6c66840edce3291ce8275a290efb"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "pixelflinger@google.com",
        "time": "Tue Apr 20 16:37:25 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 16:37:25 2010 -0700"
      },
      "message": "am 827cda45: Merge \"add support for up to 16 buffers per surface\" into kraken\n"
    },
    {
      "commit": "87d83db7909b9a920b4e417bb240ec11e5441749",
      "tree": "6eb97835ac66e120cb104ce2beb3aac475872df6",
      "parents": [
        "34cbbc9fb95b6c66840edce3291ce8275a290efb",
        "e9e4d5431d0df77a73f92b4a892417f47a57334c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 20 16:28:24 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 20 16:28:24 2010 -0700"
      },
      "message": "Merge \"added setCrop() to android_native_window_t\" into kraken"
    },
    {
      "commit": "34cbbc9fb95b6c66840edce3291ce8275a290efb",
      "tree": "e15b6f8c25fd4d5fa549380fe7981c27f15094e6",
      "parents": [
        "fdce1ccd7e468f3229de8f4f1616d017465470cb",
        "cdaaf320a1db27a7045fafa4d849c20daa97c146"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "pixelflinger@google.com",
        "time": "Tue Apr 20 16:28:14 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 20 16:28:14 2010 -0700"
      },
      "message": "Merge \"add support for up to 16 buffers per surface\" into kraken"
    },
    {
      "commit": "4bf29cabaa7c94d0c74d5f945df6b51da51ed180",
      "tree": "b364dfaabd616c0dc7730bf09c824d111aab071f",
      "parents": [
        "d2c6894b56a538aa807e20d3ef421807cd55c009"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 20 15:46:28 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 20 15:56:36 2010 -0700"
      },
      "message": "Apparently select() does not immediately return if one of the masked socket descriptors is closed... Stop relying on select for read-with-timeout functionality and use SO_RCVTIMEO socket option instead.\n\nChange-Id: Ic2d4a8f5b6bbf16772fba39377809ec68d249c1f\nrelated-to-bug: 2611257\n"
    },
    {
      "commit": "3d02ab8c49b4d77d4b7458fe2cf6c92c9fb9f7f8",
      "tree": "70db7cba31e30218aa77fa3458ef062dad0439c1",
      "parents": [
        "6b672070fbd9927073d497a62e1898f951a789f0",
        "fdce1ccd7e468f3229de8f4f1616d017465470cb"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 20 15:05:50 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 15:05:50 2010 -0700"
      },
      "message": "am c9553f2e: am 1e1edb2c: am 25dc5f30: Merge \"Don\\\u0027t coalesce more than 250ms worth of encoded data into a single codec input buffer. This currently only applies to the component OMX.TI.AAC.decode, it is the only one to support coalescing in the first place.\" into fro\n"
    },
    {
      "commit": "fdce1ccd7e468f3229de8f4f1616d017465470cb",
      "tree": "70db7cba31e30218aa77fa3458ef062dad0439c1",
      "parents": [
        "4acdadbd8195f4fb21ff4cb72f09f088097ddf3b",
        "d2c6894b56a538aa807e20d3ef421807cd55c009"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 20 14:57:25 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 14:57:25 2010 -0700"
      },
      "message": "am 1e1edb2c: am 25dc5f30: Merge \"Don\\\u0027t coalesce more than 250ms worth of encoded data into a single codec input buffer. This currently only applies to the component OMX.TI.AAC.decode, it is the only one to support coalescing in the first place.\" into froyo\n\nMerge commit \u00271e1edb2c7376dbd9ca24bbeefbddbe4221f397a0\u0027 into kraken\n\n* commit \u00271e1edb2c7376dbd9ca24bbeefbddbe4221f397a0\u0027:\n  Don\u0027t coalesce more than 250ms worth of encoded data into a single codec input buffer.\n"
    },
    {
      "commit": "d2c6894b56a538aa807e20d3ef421807cd55c009",
      "tree": "d1e5508667b298b8c7836d6c165cee3337d6e28d",
      "parents": [
        "27fde958c8e8e6a998ec7a28d32b0aad97662dee"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 20 14:26:00 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 20 14:26:00 2010 -0700"
      },
      "message": "Don\u0027t coalesce more than 250ms worth of encoded data into a single codec input buffer.\nThis currently only applies to the component OMX.TI.AAC.decode, it is the only one to support coalescing in the first place.\n\nIn certain edge cases (encoded audio track contains silence), each buffer would turn out to be an amazing 6(!!!) bytes, we\u0027d spend lots and lots of time streaming network data to fill the codec\u0027s buffers of size 6144 bytes with .. silence.\n\nChange-Id: I9f449f310fc64ca384bd02e4a783e33cf5b46fcc\nrelated-to-bug: 2609049\nQA-Impact: streamed (http) playback of aac audio content on Droid.\n"
    },
    {
      "commit": "e9e4d5431d0df77a73f92b4a892417f47a57334c",
      "tree": "cd052998c28feb556a6b75febc712b60629ec675",
      "parents": [
        "cdaaf320a1db27a7045fafa4d849c20daa97c146"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Apr 15 18:48:26 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 20 13:36:29 2010 -0700"
      },
      "message": "added setCrop() to android_native_window_t\n\nhooked up the new method up to Surface.cpp\nthe actual crop is not implemented in SF yet\n\nChange-Id: Ic6e313c98fd880f127a051a0ccc71808bd689751\n"
    },
    {
      "commit": "cdaaf320a1db27a7045fafa4d849c20daa97c146",
      "tree": "7ab550df2905d6784ade5029038f05603e0063e5",
      "parents": [
        "4acdadbd8195f4fb21ff4cb72f09f088097ddf3b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "pixelflinger@google.com",
        "time": "Mon Apr 05 16:21:53 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 20 13:36:29 2010 -0700"
      },
      "message": "add support for up to 16 buffers per surface\n\nalso increase the dirtyregion size from 1 to 6 rectangles.\nOverall we now need 27KiB process instead of 4KiB\n\nChange-Id: Iebda5565015158f49d9ca8dbcf55e6ad04855be3\n"
    },
    {
      "commit": "6b672070fbd9927073d497a62e1898f951a789f0",
      "tree": "21b0618032478f7f9e2faa9734a5ebc642a8c55c",
      "parents": [
        "1fb636e8d723e9a28b38a924c5f30b183dd0934c",
        "4acdadbd8195f4fb21ff4cb72f09f088097ddf3b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Apr 15 06:38:10 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 15 06:38:10 2010 -0700"
      },
      "message": "am fff02afa: am 6852b198: am d3d445b1: Merge \"Use PV_PLAYER to handle RTSP streaming\" into froyo\n"
    },
    {
      "commit": "1fb636e8d723e9a28b38a924c5f30b183dd0934c",
      "tree": "40445880058f40b9919f93b4edb4e26df2f02610",
      "parents": [
        "d34f609e4b18356f04a793ae5693d5a2fe8e0cab",
        "cbe4b2cb591b5e7a6a25ee4ef85aaa61c537fef0"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Apr 15 06:36:35 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 15 06:36:35 2010 -0700"
      },
      "message": "am 31a17033: fix unintentional drift\n"
    },
    {
      "commit": "4acdadbd8195f4fb21ff4cb72f09f088097ddf3b",
      "tree": "21b0618032478f7f9e2faa9734a5ebc642a8c55c",
      "parents": [
        "cbe4b2cb591b5e7a6a25ee4ef85aaa61c537fef0",
        "27fde958c8e8e6a998ec7a28d32b0aad97662dee"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Apr 14 12:11:12 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 14 12:11:12 2010 -0700"
      },
      "message": "am 6852b198: am d3d445b1: Merge \"Use PV_PLAYER to handle RTSP streaming\" into froyo\n\nMerge commit \u00276852b198fbedd9378ed79ca6528a4d6f33b0b677\u0027 into kraken\n\n* commit \u00276852b198fbedd9378ed79ca6528a4d6f33b0b677\u0027:\n  Use PV_PLAYER to handle RTSP streaming\n"
    },
    {
      "commit": "cbe4b2cb591b5e7a6a25ee4ef85aaa61c537fef0",
      "tree": "40445880058f40b9919f93b4edb4e26df2f02610",
      "parents": [
        "53fbf1d2eebd09e14a8995f51c47788670dbab1e"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Apr 14 10:40:28 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Apr 14 10:40:28 2010 -0700"
      },
      "message": "fix unintentional drift\n\nChange-Id: I0bbf3d3f95296a41d71558d8de1ed2ed021f21cf\n"
    },
    {
      "commit": "27fde958c8e8e6a998ec7a28d32b0aad97662dee",
      "tree": "8e54465cfbb6b009d840a3d82aeaf3e11e125561",
      "parents": [
        "b9dbba9285fb406bc6eb87779c8bfc405269b6f2"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Apr 13 21:33:26 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Apr 14 08:57:14 2010 -0700"
      },
      "message": "Use PV_PLAYER to handle RTSP streaming\n\nbug - 2594865\n\nChange-Id: Ice5b89b1d53bbc4da033892fe545bdf51ac7267f\n"
    },
    {
      "commit": "d34f609e4b18356f04a793ae5693d5a2fe8e0cab",
      "tree": "850d6c2fbfee87c4a3677563695a5d4336be48ea",
      "parents": [
        "d5680aee9ccfb88ad733e2392d962046dd9f3d59",
        "53fbf1d2eebd09e14a8995f51c47788670dbab1e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Apr 13 16:29:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 13 16:29:08 2010 -0700"
      },
      "message": "am 748a8df0: am c33f583b: am 4f3257cf: am dd684af8: Merge \"Snif more 3GPP file types according to http://www.ftyps.com/3gpp.html\" into froyo\n"
    },
    {
      "commit": "d5680aee9ccfb88ad733e2392d962046dd9f3d59",
      "tree": "5b0fe928f22b9f0e62202feb077bee368745e1f1",
      "parents": [
        "3502fe5209b78d463e8fd29633391c72f1c48b3c",
        "73c30c5236858b72b74727bc627628672553add9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 13 16:24:54 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 13 16:24:54 2010 -0700"
      },
      "message": "am 5ab60ba0: am d760afc3: am 30e9c2d4: am db281311: Merge \"Better diagnostics in the stagefright commandline tool, support for playing sine-tones using a filename of \"sine:[samplingrate]\", i.e. sine:44100. Support for playing audio through to the speakers by using \"-o\n"
    },
    {
      "commit": "3502fe5209b78d463e8fd29633391c72f1c48b3c",
      "tree": "0ef5ea62690b030cbd0c0deb6d9712bb11312984",
      "parents": [
        "e8dded753e59b8d7c09a30384c4faf3f366dd484",
        "2f6ec4c07a830d9c22d4883e77592cf61d37baca"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Apr 13 16:24:49 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 13 16:24:49 2010 -0700"
      },
      "message": "am eee53a7d: am ebaa935e: am 9bb8e65a: am c15f48d7: Merge \"Don\\\u0027t set encoder component role while we query decoders\" into froyo\n"
    },
    {
      "commit": "e8dded753e59b8d7c09a30384c4faf3f366dd484",
      "tree": "9a17e9eb128ecc971e6666ad88448f1303f0eeff",
      "parents": [
        "a3e238d7147ed8d2c0f216b246df8f3009117b30",
        "d84201fcae22b71cfa9f4bca5ef4a4344d04fad5"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Apr 13 16:24:23 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 13 16:24:23 2010 -0700"
      },
      "message": "am ce387505: am 465934d1: am d4c072d3: am b19da8e1: Fix for 2581725. Keep the last frame after resume(), and delete it in the next suspend() or reuse it if no new frame is available.\n"
    },
    {
      "commit": "53fbf1d2eebd09e14a8995f51c47788670dbab1e",
      "tree": "850d6c2fbfee87c4a3677563695a5d4336be48ea",
      "parents": [
        "73c30c5236858b72b74727bc627628672553add9",
        "b1c9bd26a3b916d2f6ca7cda1edab92f48da16c8"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Apr 13 16:23:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 13 16:23:05 2010 -0700"
      },
      "message": "am c33f583b: am 4f3257cf: am dd684af8: Merge \"Snif more 3GPP file types according to http://www.ftyps.com/3gpp.html\" into froyo\n"
    },
    {
      "commit": "73c30c5236858b72b74727bc627628672553add9",
      "tree": "5b0fe928f22b9f0e62202feb077bee368745e1f1",
      "parents": [
        "2f6ec4c07a830d9c22d4883e77592cf61d37baca",
        "07dd5a5a9cf8ea7c48473874b34d0dc6c5a6c231"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 13 16:05:49 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 13 16:05:49 2010 -0700"
      },
      "message": "am d760afc3: am 30e9c2d4: am db281311: Merge \"Better diagnostics in the stagefright commandline tool, support for playing sine-tones using a filename of \"sine:[samplingrate]\", i.e. sine:44100. Support for playing audio through to the speakers by using \"-o\" in addition\n"
    },
    {
      "commit": "2f6ec4c07a830d9c22d4883e77592cf61d37baca",
      "tree": "0ef5ea62690b030cbd0c0deb6d9712bb11312984",
      "parents": [
        "d84201fcae22b71cfa9f4bca5ef4a4344d04fad5",
        "ea623087e93c6e27ce6284946f94c1d4aff7f91b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Apr 13 16:05:42 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 13 16:05:42 2010 -0700"
      },
      "message": "am ebaa935e: am 9bb8e65a: am c15f48d7: Merge \"Don\\\u0027t set encoder component role while we query decoders\" into froyo\n"
    },
    {
      "commit": "d84201fcae22b71cfa9f4bca5ef4a4344d04fad5",
      "tree": "9a17e9eb128ecc971e6666ad88448f1303f0eeff",
      "parents": [
        "351ab17847a4697d99d7db2e55d01822d1c0bf25",
        "3fed817bd114f7824d458ca62621417aa71cec84"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Apr 13 16:05:13 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 13 16:05:13 2010 -0700"
      },
      "message": "am 465934d1: am d4c072d3: am b19da8e1: Fix for 2581725. Keep the last frame after resume(), and delete it in the next suspend() or reuse it if no new frame is available.\n"
    },
    {
      "commit": "b1c9bd26a3b916d2f6ca7cda1edab92f48da16c8",
      "tree": "40445880058f40b9919f93b4edb4e26df2f02610",
      "parents": [
        "07dd5a5a9cf8ea7c48473874b34d0dc6c5a6c231",
        "b9dbba9285fb406bc6eb87779c8bfc405269b6f2"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Apr 13 15:42:01 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 13 15:42:01 2010 -0700"
      },
      "message": "am 4f3257cf: am dd684af8: Merge \"Snif more 3GPP file types according to http://www.ftyps.com/3gpp.html\" into froyo\n\nMerge commit \u00274f3257cf4667aa28908c401634db849fd2e516af\u0027 into kraken\n\n* commit \u00274f3257cf4667aa28908c401634db849fd2e516af\u0027:\n  Snif more 3GPP file types according to http://www.ftyps.com/3gpp.html\n"
    },
    {
      "commit": "b9dbba9285fb406bc6eb87779c8bfc405269b6f2",
      "tree": "9809cdf15e3aba93dfd541115d03683bbed4b389",
      "parents": [
        "25801bfe64dff414991fca2f62f16a61ba554357"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Apr 13 15:06:41 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Apr 13 15:09:26 2010 -0700"
      },
      "message": "Snif more 3GPP file types according to http://www.ftyps.com/3gpp.html\n\nbug - 2575956\n\nChange-Id: Iaa79e74d3b0585397a7e833ec45472710fc52fa6\n"
    },
    {
      "commit": "07dd5a5a9cf8ea7c48473874b34d0dc6c5a6c231",
      "tree": "5297c0671092e9911ad730fa69837c7968d7ddbe",
      "parents": [
        "ea623087e93c6e27ce6284946f94c1d4aff7f91b",
        "25801bfe64dff414991fca2f62f16a61ba554357"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 13 12:23:28 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 13 12:23:28 2010 -0700"
      },
      "message": "am 30e9c2d4: am db281311: Merge \"Better diagnostics in the stagefright commandline tool, support for playing sine-tones using a filename of \"sine:[samplingrate]\", i.e. sine:44100. Support for playing audio through to the speakers by using \"-o\" in addition to \"-a\".\" in\n\nMerge commit \u002730e9c2d4db145e02b5312ce29606b03dd78349d3\u0027 into kraken\n\n* commit \u002730e9c2d4db145e02b5312ce29606b03dd78349d3\u0027:\n  Better diagnostics in the stagefright commandline tool, support for playing sine-tones using a filename of \"sine:[samplingrate]\", i.e. sine:44100. Support for playing audio through to the speakers by using \"-o\" in addition to \"-a\".\n"
    },
    {
      "commit": "ea623087e93c6e27ce6284946f94c1d4aff7f91b",
      "tree": "5e75e44dbab170b621f766d3688154586f1bf438",
      "parents": [
        "3fed817bd114f7824d458ca62621417aa71cec84",
        "a13da584aa7da751a7e6ebf00fc1c4e2382af611"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Apr 13 12:20:38 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 13 12:20:38 2010 -0700"
      },
      "message": "am 9bb8e65a: am c15f48d7: Merge \"Don\\\u0027t set encoder component role while we query decoders\" into froyo\n\nMerge commit \u00279bb8e65a7d7dc57fdd7383d64d53414b1aa5cbbc\u0027 into kraken\n\n* commit \u00279bb8e65a7d7dc57fdd7383d64d53414b1aa5cbbc\u0027:\n  Don\u0027t set encoder component role while we query decoders\n"
    },
    {
      "commit": "25801bfe64dff414991fca2f62f16a61ba554357",
      "tree": "88d5200d08e578fa6baf9949a6f6a15b71ec3016",
      "parents": [
        "a13da584aa7da751a7e6ebf00fc1c4e2382af611",
        "a98420e863c374d1f15309467f2a1fc58d979d3b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 13 12:16:08 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 13 12:16:08 2010 -0700"
      },
      "message": "Merge \"Better diagnostics in the stagefright commandline tool, support for playing sine-tones using a filename of \"sine:[samplingrate]\", i.e. sine:44100. Support for playing audio through to the speakers by using \"-o\" in addition to \"-a\".\" into froyo"
    },
    {
      "commit": "a13da584aa7da751a7e6ebf00fc1c4e2382af611",
      "tree": "3a1f963265cf06506f703222d38690f5bbcbe9f4",
      "parents": [
        "5c117390591da780e1f53c1c9c91c1efdacbc674",
        "5e3cf6cf36feb3b73b8f8c0a8134c46f5bc85094"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Apr 13 12:11:57 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 13 12:11:57 2010 -0700"
      },
      "message": "Merge \"Don\u0027t set encoder component role while we query decoders\" into froyo"
    },
    {
      "commit": "a98420e863c374d1f15309467f2a1fc58d979d3b",
      "tree": "0d441bd1258015fbef734718fe6c8271cd36f060",
      "parents": [
        "81f82c32459029bf0744e28c73f95a7f18cab5ac"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 13 09:58:39 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Apr 13 12:04:05 2010 -0700"
      },
      "message": "Better diagnostics in the stagefright commandline tool, support for playing sine-tones using a filename of \"sine:[samplingrate]\", i.e. sine:44100. Support for playing audio through to the speakers by using \"-o\" in addition to \"-a\".\n\nrelated-to-bug: 2553359\nChange-Id: Ic49eb89feb62474d9513bc21571e0e8fe3a15e0b\n"
    },
    {
      "commit": "3fed817bd114f7824d458ca62621417aa71cec84",
      "tree": "cc4e1b05a1e26c34af8070ed67780b8653e048f7",
      "parents": [
        "c16ea2dbe0cb5ed4189e5ba5451f92bed62a4f4b",
        "5c117390591da780e1f53c1c9c91c1efdacbc674"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Apr 13 11:53:52 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 13 11:53:52 2010 -0700"
      },
      "message": "am d4c072d3: am b19da8e1: Fix for 2581725. Keep the last frame after resume(), and delete it in the next suspend() or reuse it if no new frame is available.\n\nMerge commit \u0027d4c072d3f584db2cf9214c9d813c15d9e646c527\u0027 into kraken\n\n* commit \u0027d4c072d3f584db2cf9214c9d813c15d9e646c527\u0027:\n  Fix for 2581725. Keep the last frame after resume(), and delete it\n"
    },
    {
      "commit": "5e3cf6cf36feb3b73b8f8c0a8134c46f5bc85094",
      "tree": "fc2e608447661cf14a0c9b57dea8194327006165",
      "parents": [
        "b547d09ecc3da8ee300099da8ca7e2826bb6849a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Apr 13 10:56:59 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Apr 13 10:58:41 2010 -0700"
      },
      "message": "Don\u0027t set encoder component role while we query decoders\n\nbug - 2558515\n\nChange-Id: I29683507d234d963994c782c07508034ea807739\n"
    },
    {
      "commit": "a3e238d7147ed8d2c0f216b246df8f3009117b30",
      "tree": "60b583b9009ba93fcb65d1607f647d7d83bf773b",
      "parents": [
        "e8204e7fe37574afb2f8bbaca3dc40a6534065dd",
        "351ab17847a4697d99d7db2e55d01822d1c0bf25"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 13 10:37:55 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 13 10:37:55 2010 -0700"
      },
      "message": "am e73a100f: am 445a9785: Merge \"don\\\u0027t hardcode \"mSurface\" throughout our source code\" into kraken\n"
    },
    {
      "commit": "351ab17847a4697d99d7db2e55d01822d1c0bf25",
      "tree": "60b583b9009ba93fcb65d1607f647d7d83bf773b",
      "parents": [
        "b851fc7071d87d7ac24599826d672e22d88f8fa2",
        "c16ea2dbe0cb5ed4189e5ba5451f92bed62a4f4b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Apr 13 10:33:07 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 13 10:33:07 2010 -0700"
      },
      "message": "am 445a9785: Merge \"don\\\u0027t hardcode \"mSurface\" throughout our source code\" into kraken\n"
    },
    {
      "commit": "5c117390591da780e1f53c1c9c91c1efdacbc674",
      "tree": "a5941c728bcc8479b6c22b802786cf78367da7d4",
      "parents": [
        "81f82c32459029bf0744e28c73f95a7f18cab5ac"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Apr 12 17:13:06 2010 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Apr 13 09:46:40 2010 -0700"
      },
      "message": "Fix for 2581725. Keep the last frame after resume(), and delete it\nin the next suspend() or reuse it if no new frame is available.\n\nChange-Id: I84286030eaae9061077d6ccb485b7dd53ef05341\n"
    },
    {
      "commit": "c16ea2dbe0cb5ed4189e5ba5451f92bed62a4f4b",
      "tree": "1cd7c7b81cc2e893f22a5311614d0a231a0cb64f",
      "parents": [
        "88b1b1c7331023828108daa57fcea858c7706566",
        "2e5299988b5f5f9165a76938a66d37e46dd48d6b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 12 18:59:49 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 12 18:59:49 2010 -0700"
      },
      "message": "Merge \"don\u0027t hardcode \"mSurface\" throughout our source code\" into kraken"
    },
    {
      "commit": "e8204e7fe37574afb2f8bbaca3dc40a6534065dd",
      "tree": "230932ccd4aea4086c54e98a7b99884a84973046",
      "parents": [
        "a830cc4572be336deb01fe0ece36097b9440caae",
        "b851fc7071d87d7ac24599826d672e22d88f8fa2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 17:28:48 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 12 17:28:48 2010 -0700"
      },
      "message": "am 63642b12: am 7853c898: am 248ea4a9: am 5baa5e19: Merge \"Distinguish QCELP audio from mpeg4 audio, ignore QCELP audio tracks since we don\\\u0027t have a decoder for it, ignore potentially malformed metadata for AMR NB and WB tracks.\" into froyo\n"
    },
    {
      "commit": "b851fc7071d87d7ac24599826d672e22d88f8fa2",
      "tree": "230932ccd4aea4086c54e98a7b99884a84973046",
      "parents": [
        "8e5d52bb00dc34608f2cd123a8387e6b15eb8126",
        "88b1b1c7331023828108daa57fcea858c7706566"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 17:25:48 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 12 17:25:48 2010 -0700"
      },
      "message": "am 7853c898: am 248ea4a9: am 5baa5e19: Merge \"Distinguish QCELP audio from mpeg4 audio, ignore QCELP audio tracks since we don\\\u0027t have a decoder for it, ignore potentially malformed metadata for AMR NB and WB tracks.\" into froyo\n"
    },
    {
      "commit": "88b1b1c7331023828108daa57fcea858c7706566",
      "tree": "c57c2e166119865da722644b6ab26410889bc96a",
      "parents": [
        "47acf12ffef0a5db470406b7db788adcc6240786",
        "81f82c32459029bf0744e28c73f95a7f18cab5ac"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 17:21:33 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 12 17:21:33 2010 -0700"
      },
      "message": "am 248ea4a9: am 5baa5e19: Merge \"Distinguish QCELP audio from mpeg4 audio, ignore QCELP audio tracks since we don\\\u0027t have a decoder for it, ignore potentially malformed metadata for AMR NB and WB tracks.\" into froyo\n\nMerge commit \u0027248ea4a9f773210a7b7dbd7892e6b865a0f7add3\u0027 into kraken\n\n* commit \u0027248ea4a9f773210a7b7dbd7892e6b865a0f7add3\u0027:\n  Distinguish QCELP audio from mpeg4 audio, ignore QCELP audio tracks since we don\u0027t have a decoder for it, ignore potentially malformed metadata for AMR NB and WB tracks.\n"
    },
    {
      "commit": "2e5299988b5f5f9165a76938a66d37e46dd48d6b",
      "tree": "d7212db7df16d22aaf7d5f1ce43f5706ff58ec30",
      "parents": [
        "47acf12ffef0a5db470406b7db788adcc6240786"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 12 16:22:15 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 12 16:29:36 2010 -0700"
      },
      "message": "don\u0027t hardcode \"mSurface\" throughout our source code\n\nthis is used in a few places to get access to the android.view.Surface\nnative surface. use a macro instead. Also rename the field to mNativeSurface.\n\nChange-Id: I1c6dea14abd6b8b1392c7f97b304115999355094\n"
    },
    {
      "commit": "81f82c32459029bf0744e28c73f95a7f18cab5ac",
      "tree": "7bc1f309ecd5f3d7ce4f3377837ccd3cb7728bbf",
      "parents": [
        "874b55f51c4c062c65aee043ec0f26044b504556"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 16:05:57 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 16:05:57 2010 -0700"
      },
      "message": "Distinguish QCELP audio from mpeg4 audio, ignore QCELP audio tracks since we don\u0027t have a decoder for it, ignore potentially malformed metadata for AMR NB and WB tracks.\n\nChange-Id: Ic9a9198413431db4ea40bb63b9de91aa8a7183af\nrelated-to-bug: 2587341\n"
    },
    {
      "commit": "a830cc4572be336deb01fe0ece36097b9440caae",
      "tree": "824ced1f823d9a5f1c71b339c5df5c60b79c9bfc",
      "parents": [
        "119638541516b6fdccfd11bdc8610b03a1fa2c42",
        "8e5d52bb00dc34608f2cd123a8387e6b15eb8126"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Apr 12 15:38:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 12 15:38:08 2010 -0700"
      },
      "message": "am cd839752: manual merge\n"
    },
    {
      "commit": "8e5d52bb00dc34608f2cd123a8387e6b15eb8126",
      "tree": "824ced1f823d9a5f1c71b339c5df5c60b79c9bfc",
      "parents": [
        "13b9d1eff282c8f2c4cbd07b119d47da553b6be6",
        "47acf12ffef0a5db470406b7db788adcc6240786"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Apr 12 15:32:13 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Apr 12 15:32:13 2010 -0700"
      },
      "message": "manual merge\n\nChange-Id: I9cdacbf1e445e7f6cf06ad03df541a744c242774\n"
    },
    {
      "commit": "119638541516b6fdccfd11bdc8610b03a1fa2c42",
      "tree": "40598c743c92f51f67bef9381bd0ffaa23e47fbe",
      "parents": [
        "766c395fbc6b46404af0f89f47fd3b0aeb7765cb",
        "13b9d1eff282c8f2c4cbd07b119d47da553b6be6"
      ],
      "author": {
        "name": "android-build SharedAccount",
        "email": "android-build@google.com",
        "time": "Mon Apr 12 14:50:14 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 12 14:50:14 2010 -0700"
      },
      "message": "am 1a22ec9f: Merge commit \\\u002736c87ca65281bbbeeed1b25da52468fe52491a7d\\\u0027 into kraken-plus-aosp\n"
    },
    {
      "commit": "766c395fbc6b46404af0f89f47fd3b0aeb7765cb",
      "tree": "40598c743c92f51f67bef9381bd0ffaa23e47fbe",
      "parents": [
        "12d4cc30a535a4f4d37a957ba1f80d19dbecfa18",
        "58cd8ed8c0104bd6ccf7dd657a5e7fd0ff6c8fdd"
      ],
      "author": {
        "name": "android-build SharedAccount",
        "email": "android-build@google.com",
        "time": "Mon Apr 12 14:50:10 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 12 14:50:10 2010 -0700"
      },
      "message": "am 270027bf: Merge commit \\\u0027e8985420bb0fb95ad6dadd6de84f9940ecbd5ab7\\\u0027 into kraken-plus-aosp\n"
    },
    {
      "commit": "13b9d1eff282c8f2c4cbd07b119d47da553b6be6",
      "tree": "40598c743c92f51f67bef9381bd0ffaa23e47fbe",
      "parents": [
        "58cd8ed8c0104bd6ccf7dd657a5e7fd0ff6c8fdd",
        "a5e4677f76b2e6596c2fd6351788ecf82ae9c448"
      ],
      "author": {
        "name": "android-build SharedAccount",
        "email": "android-build@google.com",
        "time": "Mon Apr 12 14:47:38 2010 -0700"
      },
      "committer": {
        "name": "android-build SharedAccount",
        "email": "android-build@google.com",
        "time": "Mon Apr 12 14:47:38 2010 -0700"
      },
      "message": "Merge commit \u002736c87ca65281bbbeeed1b25da52468fe52491a7d\u0027 into kraken-plus-aosp\n"
    },
    {
      "commit": "58cd8ed8c0104bd6ccf7dd657a5e7fd0ff6c8fdd",
      "tree": "40598c743c92f51f67bef9381bd0ffaa23e47fbe",
      "parents": [
        "6328e73c94b8396a233212a18a773cd2f107ec97",
        "77d6e73eff657277359fd18104d677019d51164e"
      ],
      "author": {
        "name": "android-build SharedAccount",
        "email": "android-build@google.com",
        "time": "Mon Apr 12 14:46:11 2010 -0700"
      },
      "committer": {
        "name": "android-build SharedAccount",
        "email": "android-build@google.com",
        "time": "Mon Apr 12 14:46:11 2010 -0700"
      },
      "message": "Merge commit \u0027e8985420bb0fb95ad6dadd6de84f9940ecbd5ab7\u0027 into kraken-plus-aosp\n"
    },
    {
      "commit": "47acf12ffef0a5db470406b7db788adcc6240786",
      "tree": "f56c60601bb29b32126b26bf536725f7ced61590",
      "parents": [
        "a3387afbc6dc5db0fd534ab5e3200f46b5a36acd",
        "874b55f51c4c062c65aee043ec0f26044b504556"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 14:23:31 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 12 14:23:31 2010 -0700"
      },
      "message": "am 98c5bd55: am 6dbf80d0: Merge \"Fix a race condition in TimedEventQueue, an event may be cancelled while we\\\u0027re waiting for its scheduled time to come in which case we\\\u0027d be removing it from the queue twice.\" into froyo\n\nMerge commit \u002798c5bd5556f32a237d3483fb7298284869e32a40\u0027 into kraken\n\n* commit \u002798c5bd5556f32a237d3483fb7298284869e32a40\u0027:\n  Fix a race condition in TimedEventQueue, an event may be cancelled while we\u0027re waiting for its scheduled time to come in which case we\u0027d be removing it from the queue twice.\n"
    },
    {
      "commit": "874b55f51c4c062c65aee043ec0f26044b504556",
      "tree": "86d4c6cd8ec51091ae4998e326dd20392e983163",
      "parents": [
        "b547d09ecc3da8ee300099da8ca7e2826bb6849a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 13:10:20 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 13:15:48 2010 -0700"
      },
      "message": "Fix a race condition in TimedEventQueue, an event may be cancelled while we\u0027re waiting for its scheduled time to come in which case we\u0027d be removing it from the queue twice.\n\nChange-Id: I4e42e318fd5373d1f352f54027d4bf823126266d\nrelated-to-bug: 2585276\n"
    },
    {
      "commit": "a3387afbc6dc5db0fd534ab5e3200f46b5a36acd",
      "tree": "b1aec05ba013b64ef4617a35a941898b3398fde7",
      "parents": [
        "23748a675245149d652b5ede781b4df90fca5d21",
        "b547d09ecc3da8ee300099da8ca7e2826bb6849a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 11:07:54 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 12 11:07:54 2010 -0700"
      },
      "message": "am f0a49f68: am 1d7a8b44: Merge \"Fix a case where the aac hardware decoder is in a transition state and refused a fillbuffer request.\" into froyo\n\nMerge commit \u0027f0a49f68f0edc98fefbe14e3ddcf0d6853519293\u0027 into kraken\n\n* commit \u0027f0a49f68f0edc98fefbe14e3ddcf0d6853519293\u0027:\n  Fix a case where the aac hardware decoder is in a transition state and refused a fillbuffer request.\n"
    },
    {
      "commit": "23748a675245149d652b5ede781b4df90fca5d21",
      "tree": "4c6332d4f123745e5c4c3281067ea99c1b32921d",
      "parents": [
        "a418a932aa9c800c527451ea93ec9a3a06fb7515",
        "548e31844937b37518fbb62ff69e9ff1f794183b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 11:05:22 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 12 11:05:22 2010 -0700"
      },
      "message": "Merge \"I accidentally broken passion encoding while working around problems with the sholes encoder.\" into kraken"
    },
    {
      "commit": "a418a932aa9c800c527451ea93ec9a3a06fb7515",
      "tree": "df936b82732ab9743b535c48db1d713863dc78dc",
      "parents": [
        "88951e54c25b0cc58f78b48ffefa451cf87a8942",
        "ebe87f32e442c9a8fb2931632311d6c5a126eddb"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 11:05:09 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 12 11:05:09 2010 -0700"
      },
      "message": "Merge \"Remove unnecessary lock from AMRWriter.\" into kraken"
    },
    {
      "commit": "88951e54c25b0cc58f78b48ffefa451cf87a8942",
      "tree": "739a75873269c29ddd67e982119c9782ad697582",
      "parents": [
        "d5d0dbeadc2b5d172a9e6007c063b8d1366696e0",
        "03b268eac37ca2589bfff0bf58daf79d29cc14f4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 11:04:57 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 12 11:04:57 2010 -0700"
      },
      "message": "Merge \"Various fixes to enable recording on passion and nexus1.\" into kraken"
    },
    {
      "commit": "d5d0dbeadc2b5d172a9e6007c063b8d1366696e0",
      "tree": "aa70c16588e8adcd0c7d69c7cd9da201a775b409",
      "parents": [
        "a5e4677f76b2e6596c2fd6351788ecf82ae9c448",
        "fe774a9c3ffe12979e182563b0e922ffc0ad20ef"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 11:04:46 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 12 11:04:46 2010 -0700"
      },
      "message": "Merge \"Remove legacy NO_OPENCORE code bypass from MediaPlayerService.\" into kraken"
    },
    {
      "commit": "b547d09ecc3da8ee300099da8ca7e2826bb6849a",
      "tree": "3124d2e26bc31d41b140089239e71771acb3f123",
      "parents": [
        "f018aa38b808f2e5c6e6b2dc0b29406caa793c65",
        "7110385b31c7bc65c8a923a09689ebb0c4a1e07a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 11:02:27 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 12 11:02:27 2010 -0700"
      },
      "message": "Merge \"Fix a case where the aac hardware decoder is in a transition state and refused a fillbuffer request.\" into froyo"
    },
    {
      "commit": "7110385b31c7bc65c8a923a09689ebb0c4a1e07a",
      "tree": "a2c54b90b8a29c72c1e2128cb9390ee22510d944",
      "parents": [
        "465d5a7f3517f11aaa819c8ae982e113ad5ec479"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 10:20:12 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 10:20:12 2010 -0700"
      },
      "message": "Fix a case where the aac hardware decoder is in a transition state and refused a fillbuffer request.\n\nChange-Id: I4cabd18709c29db0a2763a01cc86525ba0b0aeb7\nrelated-to-bug: 2575976\n"
    },
    {
      "commit": "a5e4677f76b2e6596c2fd6351788ecf82ae9c448",
      "tree": "ca1bd0b1a35deb1fcd8525dd29179d2da67467cb",
      "parents": [
        "77d6e73eff657277359fd18104d677019d51164e",
        "f018aa38b808f2e5c6e6b2dc0b29406caa793c65"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 10:16:11 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 12 10:16:11 2010 -0700"
      },
      "message": "am 10d40772: am cdded187: Merge \"Ignore corrupt aac audio frames and substitute silence.\" into froyo\n\nMerge commit \u002710d4077240fe17b3a0c0e16a6e3f9d5e66419ba0\u0027 into kraken\n\n* commit \u002710d4077240fe17b3a0c0e16a6e3f9d5e66419ba0\u0027:\n  Ignore corrupt aac audio frames and substitute silence.\n"
    },
    {
      "commit": "77d6e73eff657277359fd18104d677019d51164e",
      "tree": "648f6b20fd697dcdc7ae70dc80dae952ae6f1c7b",
      "parents": [
        "e592430666bf1060c78e7b9308ca5be50b3e9457",
        "0a0583f9a6dd7fb0b72b7e072da4d55f8597c7ed"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 10:16:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 12 10:16:08 2010 -0700"
      },
      "message": "am b1e7bee2: am 040301ca: Start sending out buffering updates earlier (after preparation has completed) instead of only after playback has started.\n\nMerge commit \u0027b1e7bee2f3537bf5c49d1de796a97d2c2a48ebd4\u0027 into kraken\n\n* commit \u0027b1e7bee2f3537bf5c49d1de796a97d2c2a48ebd4\u0027:\n  Start sending out buffering updates earlier (after preparation has completed) instead of only after playback has started.\n"
    },
    {
      "commit": "f018aa38b808f2e5c6e6b2dc0b29406caa793c65",
      "tree": "ca1bd0b1a35deb1fcd8525dd29179d2da67467cb",
      "parents": [
        "0a0583f9a6dd7fb0b72b7e072da4d55f8597c7ed",
        "9dcda21086608a52a579ac8254991fdde686823a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 10:11:32 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 12 10:11:32 2010 -0700"
      },
      "message": "Merge \"Ignore corrupt aac audio frames and substitute silence.\" into froyo"
    },
    {
      "commit": "9dcda21086608a52a579ac8254991fdde686823a",
      "tree": "28fb9d2311ffbdd3d51a5ed4d0f1f47b97268196",
      "parents": [
        "465d5a7f3517f11aaa819c8ae982e113ad5ec479"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 09:57:05 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 09:57:05 2010 -0700"
      },
      "message": "Ignore corrupt aac audio frames and substitute silence.\n\nChange-Id: I544f98a5c00d912061db7921fc4518435209b168\nrelated-to-bug: 2575976\n"
    },
    {
      "commit": "0a0583f9a6dd7fb0b72b7e072da4d55f8597c7ed",
      "tree": "648f6b20fd697dcdc7ae70dc80dae952ae6f1c7b",
      "parents": [
        "465d5a7f3517f11aaa819c8ae982e113ad5ec479"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 09:41:12 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 12 09:41:12 2010 -0700"
      },
      "message": "Start sending out buffering updates earlier (after preparation has completed) instead of only after playback has started.\n\nChange-Id: Ieaa90cc9b54bd56963aa5f4daced2ba243801acf\nrelated-to-bug: 2585913\n"
    },
    {
      "commit": "12d4cc30a535a4f4d37a957ba1f80d19dbecfa18",
      "tree": "40598c743c92f51f67bef9381bd0ffaa23e47fbe",
      "parents": [
        "e4d404b8974459dbbff03df1df251351751978d5",
        "6328e73c94b8396a233212a18a773cd2f107ec97"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat Apr 10 11:59:48 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Apr 10 11:59:48 2010 -0700"
      },
      "message": "am 76fc56fb: am 926d9a89: am 08caa704: am c58b4232: Add SCENE_MODE_BARCODE and FOCUS_MODE_EDOF.\n"
    },
    {
      "commit": "6328e73c94b8396a233212a18a773cd2f107ec97",
      "tree": "40598c743c92f51f67bef9381bd0ffaa23e47fbe",
      "parents": [
        "7e1db0ced769084169250e5a608cef0c7ea86671",
        "e592430666bf1060c78e7b9308ca5be50b3e9457"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat Apr 10 11:55:00 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Apr 10 11:55:00 2010 -0700"
      },
      "message": "am 926d9a89: am 08caa704: am c58b4232: Add SCENE_MODE_BARCODE and FOCUS_MODE_EDOF.\n"
    },
    {
      "commit": "e592430666bf1060c78e7b9308ca5be50b3e9457",
      "tree": "40598c743c92f51f67bef9381bd0ffaa23e47fbe",
      "parents": [
        "6e4f79aa417cf7ef9dcf3f4a36ee671886f7f40e",
        "465d5a7f3517f11aaa819c8ae982e113ad5ec479"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat Apr 10 11:48:24 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Apr 10 11:48:24 2010 -0700"
      },
      "message": "am 08caa704: am c58b4232: Add SCENE_MODE_BARCODE and FOCUS_MODE_EDOF.\n\nMerge commit \u002708caa704ae6c1dd8434186fa2dc22b1d7f8a5f9c\u0027 into kraken\n\n* commit \u002708caa704ae6c1dd8434186fa2dc22b1d7f8a5f9c\u0027:\n  Add SCENE_MODE_BARCODE and FOCUS_MODE_EDOF.\n"
    },
    {
      "commit": "465d5a7f3517f11aaa819c8ae982e113ad5ec479",
      "tree": "40598c743c92f51f67bef9381bd0ffaa23e47fbe",
      "parents": [
        "32f8c1cf4ab2abdd902535fc44a6549ba6f0ff33"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Mar 29 17:21:28 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat Apr 10 09:33:15 2010 +0800"
      },
      "message": "Add SCENE_MODE_BARCODE and FOCUS_MODE_EDOF.\n\nbug:2544367\nChange-Id: If122a7745e080f9e4bffb15dc4930d71f0421867\n"
    },
    {
      "commit": "548e31844937b37518fbb62ff69e9ff1f794183b",
      "tree": "b798d4fe9e04678fb79db04ec4b22e731821f013",
      "parents": [
        "ebe87f32e442c9a8fb2931632311d6c5a126eddb"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 09 14:25:46 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 09 14:25:46 2010 -0700"
      },
      "message": "I accidentally broken passion encoding while working around problems with the sholes encoder.\n\nChange-Id: Id91b837ed17083cb21efb08e1c1ab9cc3ff3fa8f\n"
    },
    {
      "commit": "ebe87f32e442c9a8fb2931632311d6c5a126eddb",
      "tree": "ef19cacaa3d207b78061e41803593d56de3bdf94",
      "parents": [
        "03b268eac37ca2589bfff0bf58daf79d29cc14f4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Mar 23 14:33:02 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 09 13:49:39 2010 -0700"
      },
      "message": "Remove unnecessary lock from AMRWriter.\n\nChange-Id: Ia02966d936dd8cbb31e92051578a3fa816885710\n"
    },
    {
      "commit": "03b268eac37ca2589bfff0bf58daf79d29cc14f4",
      "tree": "dfb5d0de728a4faa531efc77e66093b48e4ac4f9",
      "parents": [
        "fe774a9c3ffe12979e182563b0e922ffc0ad20ef"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Mar 19 11:43:15 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 09 13:47:58 2010 -0700"
      },
      "message": "Various fixes to enable recording on passion and nexus1.\n\nChange-Id: I75a461c9882e2449082ad754ee7b231c1ceec039\n"
    },
    {
      "commit": "fe774a9c3ffe12979e182563b0e922ffc0ad20ef",
      "tree": "2d345e603f5e4803a9003496712098ef457b0cb0",
      "parents": [
        "6e4f79aa417cf7ef9dcf3f4a36ee671886f7f40e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Apr 05 13:25:12 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 09 13:44:28 2010 -0700"
      },
      "message": "Remove legacy NO_OPENCORE code bypass from MediaPlayerService.\n\nChange-Id: I72db73c91673e0d7f1090e3b033ae915337dc16e\n"
    },
    {
      "commit": "e4d404b8974459dbbff03df1df251351751978d5",
      "tree": "971adb7851bd659e0bc87a8b41e3c3b73adf231d",
      "parents": [
        "28e613b1445c4c66c2fd99e2243f1598c4637014",
        "7e1db0ced769084169250e5a608cef0c7ea86671"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 09 08:53:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 09 08:53:26 2010 -0700"
      },
      "message": "am 0e9a439b: am b39c3aa7: am 91ce0826: am 4be2461f: Merge \"Support for ID3 V2.4 tags.\" into froyo\n"
    },
    {
      "commit": "7e1db0ced769084169250e5a608cef0c7ea86671",
      "tree": "971adb7851bd659e0bc87a8b41e3c3b73adf231d",
      "parents": [
        "b9befd704de27e4e520b0bd845c9a298c33489bb",
        "6e4f79aa417cf7ef9dcf3f4a36ee671886f7f40e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 09 07:15:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 09 07:15:09 2010 -0700"
      },
      "message": "am b39c3aa7: am 91ce0826: am 4be2461f: Merge \"Support for ID3 V2.4 tags.\" into froyo\n"
    },
    {
      "commit": "6e4f79aa417cf7ef9dcf3f4a36ee671886f7f40e",
      "tree": "971adb7851bd659e0bc87a8b41e3c3b73adf231d",
      "parents": [
        "0bb74a4aec7ec0f6d7561e250112348520af7258",
        "32f8c1cf4ab2abdd902535fc44a6549ba6f0ff33"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 09 07:09:49 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 09 07:09:49 2010 -0700"
      },
      "message": "am 91ce0826: am 4be2461f: Merge \"Support for ID3 V2.4 tags.\" into froyo\n\nMerge commit \u002791ce08269600a5b46c84d9480212bf17e1107c2f\u0027 into kraken\n\n* commit \u002791ce08269600a5b46c84d9480212bf17e1107c2f\u0027:\n  Support for ID3 V2.4 tags.\n"
    },
    {
      "commit": "32f8c1cf4ab2abdd902535fc44a6549ba6f0ff33",
      "tree": "971adb7851bd659e0bc87a8b41e3c3b73adf231d",
      "parents": [
        "1ab1e4ec459ab549f79a98693a67f241861450be",
        "bebd11b5a406bc4243cb7bd55f6849841bf911a7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 09 07:01:58 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 09 07:01:58 2010 -0700"
      },
      "message": "Merge \"Support for ID3 V2.4 tags.\" into froyo"
    },
    {
      "commit": "bebd11b5a406bc4243cb7bd55f6849841bf911a7",
      "tree": "e7062dbb95ab0403d0fa96b31c13044976e1dea3",
      "parents": [
        "dac4ee72bac87388a1495e098f39d73168c8078f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 08 14:01:33 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 08 14:09:54 2010 -0700"
      },
      "message": "Support for ID3 V2.4 tags.\n\nChange-Id: I74ee02451bdfd7e50f0d5ff6fa5da5147b683e4c\nrelated-to-bug: 2581869\n"
    },
    {
      "commit": "28e613b1445c4c66c2fd99e2243f1598c4637014",
      "tree": "c3ceed64835a67ae60549ed3ad3608d85926d469",
      "parents": [
        "2c814e16baecd125d8413f930a77f006b5eff755",
        "b9befd704de27e4e520b0bd845c9a298c33489bb"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 08 13:56:19 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 08 13:56:19 2010 -0700"
      },
      "message": "am 3bf36221: am 3eade67b: am b52e9f74: am eb12e45f: Merge \"Refactor connection/redirection code, support redirects on reconnection.\" into froyo\n"
    },
    {
      "commit": "b9befd704de27e4e520b0bd845c9a298c33489bb",
      "tree": "c3ceed64835a67ae60549ed3ad3608d85926d469",
      "parents": [
        "6bf4f5b404782b94c171a366e5a727c6414dedf0",
        "0bb74a4aec7ec0f6d7561e250112348520af7258"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 08 12:53:23 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 08 12:53:23 2010 -0700"
      },
      "message": "am 3eade67b: am b52e9f74: am eb12e45f: Merge \"Refactor connection/redirection code, support redirects on reconnection.\" into froyo\n"
    },
    {
      "commit": "0bb74a4aec7ec0f6d7561e250112348520af7258",
      "tree": "c3ceed64835a67ae60549ed3ad3608d85926d469",
      "parents": [
        "cb58914852afcc3505746055cfa7594c7bde87dc",
        "1ab1e4ec459ab549f79a98693a67f241861450be"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 08 12:49:41 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 08 12:49:41 2010 -0700"
      },
      "message": "am b52e9f74: am eb12e45f: Merge \"Refactor connection/redirection code, support redirects on reconnection.\" into froyo\n\nMerge commit \u0027b52e9f748cefaad01fc66a73ddfa707f2446895c\u0027 into kraken\n\n* commit \u0027b52e9f748cefaad01fc66a73ddfa707f2446895c\u0027:\n  Refactor connection/redirection code, support redirects on reconnection.\n"
    },
    {
      "commit": "1ab1e4ec459ab549f79a98693a67f241861450be",
      "tree": "c3ceed64835a67ae60549ed3ad3608d85926d469",
      "parents": [
        "d8c76856c6d52dcd11a90124dafef0af99956e15"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 08 09:17:01 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 08 10:09:35 2010 -0700"
      },
      "message": "Refactor connection/redirection code, support redirects on reconnection.\n\nChange-Id: Id2517568000e028b01553c06a4893813a6883168\nrelated-to-bug: 2580785\n"
    },
    {
      "commit": "2c814e16baecd125d8413f930a77f006b5eff755",
      "tree": "f9ef2f8539358e4d08e4d3a0edc79be3612ed8cb",
      "parents": [
        "395cb05625dfc10e9428618c06ac1de5f882e4cb",
        "6bf4f5b404782b94c171a366e5a727c6414dedf0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 08 08:47:37 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 08 08:47:37 2010 -0700"
      },
      "message": "am 604c0371: am c63c6e97: am d06c435c: am c6c8a1e9: Merge \"Increase the size of the pages used in CachingDataSource (total amount of memory used remains the same) to compensate for reduced locality of audio/video data requests. Also fixes a mistaken trailing \"\\r\\n\" in\n"
    },
    {
      "commit": "6bf4f5b404782b94c171a366e5a727c6414dedf0",
      "tree": "f9ef2f8539358e4d08e4d3a0edc79be3612ed8cb",
      "parents": [
        "348b3e283d6bafba674b73c9b8ad09af9ad01a6b",
        "cb58914852afcc3505746055cfa7594c7bde87dc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 08 08:43:30 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 08 08:43:30 2010 -0700"
      },
      "message": "am c63c6e97: am d06c435c: am c6c8a1e9: Merge \"Increase the size of the pages used in CachingDataSource (total amount of memory used remains the same) to compensate for reduced locality of audio/video data requests. Also fixes a mistaken trailing \"\\r\\n\" in the range he\n"
    },
    {
      "commit": "cb58914852afcc3505746055cfa7594c7bde87dc",
      "tree": "f9ef2f8539358e4d08e4d3a0edc79be3612ed8cb",
      "parents": [
        "572cc37714f9833df77727f7a0401d294682a66d",
        "d8c76856c6d52dcd11a90124dafef0af99956e15"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 08 08:35:53 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 08 08:35:53 2010 -0700"
      },
      "message": "am d06c435c: am c6c8a1e9: Merge \"Increase the size of the pages used in CachingDataSource (total amount of memory used remains the same) to compensate for reduced locality of audio/video data requests. Also fixes a mistaken trailing \"\\r\\n\" in the range header and bett\n\nMerge commit \u0027d06c435c3f520ef2012fdd331dac76b1621a72e6\u0027 into kraken\n\n* commit \u0027d06c435c3f520ef2012fdd331dac76b1621a72e6\u0027:\n  Increase the size of the pages used in CachingDataSource (total amount of memory used remains the same) to compensate for reduced locality of audio/video data requests. Also fixes a mistaken trailing \"\\r\\n\" in the range header and better error handling on http connection.\n"
    },
    {
      "commit": "d8c76856c6d52dcd11a90124dafef0af99956e15",
      "tree": "f9ef2f8539358e4d08e4d3a0edc79be3612ed8cb",
      "parents": [
        "dac4ee72bac87388a1495e098f39d73168c8078f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 08 07:51:20 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 08 07:51:20 2010 -0700"
      },
      "message": "Increase the size of the pages used in CachingDataSource (total amount of memory used remains the same) to compensate for reduced locality of audio/video data requests. Also fixes a mistaken trailing \"\\r\\n\" in the range header and better error handling on http connection.\n\nChange-Id: Ic9a6ef204362bc9afdc61e081c76bc62e5ef92ad\nrelated-to-bug: 2580785\n"
    },
    {
      "commit": "395cb05625dfc10e9428618c06ac1de5f882e4cb",
      "tree": "59902b5757b00e061e66235144e7a5e4773ee427",
      "parents": [
        "b706dde26dcc862838d060ae40d0715c603ce810",
        "348b3e283d6bafba674b73c9b8ad09af9ad01a6b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 07 11:12:15 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 07 11:12:15 2010 -0700"
      },
      "message": "am 1bf6cb72: am 1e6edab6: am 01f78928: am 567b57b6: Merge \"Report the requested seek time while seek is in progress.\" into froyo\n"
    },
    {
      "commit": "348b3e283d6bafba674b73c9b8ad09af9ad01a6b",
      "tree": "59902b5757b00e061e66235144e7a5e4773ee427",
      "parents": [
        "89bc5f85c140a2868a0cb407ab95d18a6824a0c9",
        "572cc37714f9833df77727f7a0401d294682a66d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 07 11:10:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 07 11:10:09 2010 -0700"
      },
      "message": "am 1e6edab6: am 01f78928: am 567b57b6: Merge \"Report the requested seek time while seek is in progress.\" into froyo\n"
    },
    {
      "commit": "572cc37714f9833df77727f7a0401d294682a66d",
      "tree": "59902b5757b00e061e66235144e7a5e4773ee427",
      "parents": [
        "59eb79522c3da0de0304e17646737df8d883a3c7",
        "dac4ee72bac87388a1495e098f39d73168c8078f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 07 11:05:56 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 07 11:05:56 2010 -0700"
      },
      "message": "am 01f78928: am 567b57b6: Merge \"Report the requested seek time while seek is in progress.\" into froyo\n\nMerge commit \u002701f78928228cd097bc6816ae03909a2b01d5c1d5\u0027 into kraken\n\n* commit \u002701f78928228cd097bc6816ae03909a2b01d5c1d5\u0027:\n  Report the requested seek time while seek is in progress.\n"
    },
    {
      "commit": "dac4ee72bac87388a1495e098f39d73168c8078f",
      "tree": "59902b5757b00e061e66235144e7a5e4773ee427",
      "parents": [
        "80eb61776f136c316f45ce4187a8bafedf9b3e88"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 07 10:24:35 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Apr 07 10:35:18 2010 -0700"
      },
      "message": "Report the requested seek time while seek is in progress.\n\nChange-Id: I862bfb801701f9ce54dede51c492e4eb37591894\nrelated-to-bug: 2576102\n"
    },
    {
      "commit": "b706dde26dcc862838d060ae40d0715c603ce810",
      "tree": "93ebc50e44b40bbc6991793ee7641f519c1c4a87",
      "parents": [
        "f6c16cad86685564fe80495e9a7423d0810328a4",
        "89bc5f85c140a2868a0cb407ab95d18a6824a0c9"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Apr 06 16:38:00 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Apr 06 16:38:00 2010 -0700"
      },
      "message": "merge from kraken-plus-aosp\n\nChange-Id: Ice8381ca0386c01253be0fa6f9f91b993cac500d\n"
    }
  ],
  "next": "89bc5f85c140a2868a0cb407ab95d18a6824a0c9"
}
