)]}'
{
  "log": [
    {
      "commit": "23f1b33c5f88f07510ca5dc01b3afd7af6843d6c",
      "tree": "801bb79c1b94e88d649a4066b631290e3de19ae9",
      "parents": [
        "f0cf63fff696b30a0b5760bb637efb1aa9bf1f55"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Dec 30 15:38:45 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Jan 22 15:56:09 2011 -0800"
      },
      "message": "New APIs for MTP and PTP host support\n\nThis replaces the previous ContentProvider based interface\n\nChange-Id: I4cea2544854adb9fdcc04345e4d73d8ef05380f3\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "8aded52c4d6962da5357d4bfc0bca4be3aa331ef",
      "tree": "c262a3454ed8d461d2aee932b2e0be43fef73e5d",
      "parents": [
        "7fac331b39ca49ce49a67e425dcc031a3cb9e97f"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Fri Jan 21 14:50:32 2011 -0800"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Fri Jan 21 14:52:51 2011 -0800"
      },
      "message": "Revert \"Make AwesomePlayer\u0027s reset process more verbose to track down ANRs.\"\n\nThis reverts commit 90c656574175bd54ed8d258f406f158177e5e91c.\n\nBug: 3378444\nChange-Id: Id845bc0bc213f18c73fec12e6a2084cb2075c2d9\n"
    },
    {
      "commit": "7fac331b39ca49ce49a67e425dcc031a3cb9e97f",
      "tree": "f38b5f0a2b0180deed38d27b9b91c26908785d6d",
      "parents": [
        "bc7f5b2e56107cfeaeeab13cf8979379e3c2f139"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jan 21 14:32:31 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jan 21 14:32:31 2011 -0800"
      },
      "message": "Properly rotate video that\u0027s marked as such and decoded to a surface.\n\nChange-Id: I1e9144db3447e58c99aac3f47702ad471678789c\nrelated-to-bug: 3378148\n"
    },
    {
      "commit": "bc7f5b2e56107cfeaeeab13cf8979379e3c2f139",
      "tree": "dffbfa1a0c661a0bd986d3ef8d80287cb0bcc513",
      "parents": [
        "b408222bd9479c291874b607acae1425d6154fe7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jan 21 10:15:23 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jan 21 10:34:40 2011 -0800"
      },
      "message": "Some tweaks to HTTP live / nuplayer behaviour\n\n- play audio-only streams again\n- workaround for malformed streams that switch PIDs across bandwidths\n- attempt to pick a different bandwidth stream if the previously chosen one appears\n  to be malformed/unsupported.\n\nChange-Id: I426d0a40dc725aa242f619d4c9d048b69aca55c9\nrelated-to-bug: 2368598\n"
    },
    {
      "commit": "b408222bd9479c291874b607acae1425d6154fe7",
      "tree": "3d9ed699c5082bbf6449e623290ca59ce3b7a64d",
      "parents": [
        "adde7faabd165ebf69eaf64f62eb6792032a350a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 20 15:23:04 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 20 15:23:04 2011 -0800"
      },
      "message": "Implement missing pause/resume support for NuPlayer.\n\nChange-Id: Ia3f1ce521dd4b70e134ef03aa7c9db8e8d39a134\nrelated-to-bug: 2368598\n"
    },
    {
      "commit": "737be0d7937e5ab61f0ddb8db1f3835f171300f1",
      "tree": "f93f621fbd413757bf1a6489995a40ca0e0d866f",
      "parents": [
        "91a685f1eaa32cadb461755fb235239b308953c9",
        "7bd460110b27a979384dda351788eac95d8467f5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jan 20 09:27:01 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 20 09:27:01 2011 -0800"
      },
      "message": "Merge \"Eliminate recording sound by starting the video track before audio track.\" into honeycomb"
    },
    {
      "commit": "7bd460110b27a979384dda351788eac95d8467f5",
      "tree": "cd228aa4d17773047de7bcc1976892bcb979a229",
      "parents": [
        "886c09ee81eb7b8878e487c7f801ea8ddb27c17c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 19 20:42:19 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jan 20 06:58:16 2011 -0800"
      },
      "message": "Eliminate recording sound by starting the video track before audio track.\n\nDue to the variable delays in the system, the recording sound can still be heard\nif the audio track is started early. This happens even after we suppress a relative\nlong period of initial audio for a recording session. By starting the video track\nbefore the audio track, we effectively play the recording sound earlier.\n\nbug - 3371141\n\nChange-Id: I2cccf77eae953d96827fc080c618b1d962445c26\n"
    },
    {
      "commit": "1c705e94c291897d23d236a7d118a68eace74406",
      "tree": "3b7604c65dba8ecd02ea946b1665a51e8d4fa4c8",
      "parents": [
        "886c09ee81eb7b8878e487c7f801ea8ddb27c17c",
        "ac05c317cd818701535c5d72ce90da98c4bae75b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 19 15:12:41 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 19 15:12:41 2011 -0800"
      },
      "message": "Merge \"Prefill the cache before trying to instantiate the media extractor.\" into honeycomb"
    },
    {
      "commit": "ac05c317cd818701535c5d72ce90da98c4bae75b",
      "tree": "7bc60e7bca5d17cad542d96782ad828a0df0c258",
      "parents": [
        "88b7ad413c4b6d08697069b18488641d6ce31fd3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 19 15:07:19 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 19 15:07:19 2011 -0800"
      },
      "message": "Prefill the cache before trying to instantiate the media extractor.\n\nThe latter is an operation that otherwise could block on the datasource\nfor a significant amount of time. During that time we\u0027d be unable to\nabort the preparation phase without this prefill.\n\nChange-Id: Ia42496d88a11314386ea8797d665bf4e94871e30\nrelated-to-bug: 3362836\n"
    },
    {
      "commit": "886c09ee81eb7b8878e487c7f801ea8ddb27c17c",
      "tree": "395f9c04fc4728c74c700d4ac87113a434156521",
      "parents": [
        "88b7ad413c4b6d08697069b18488641d6ce31fd3",
        "65b3d76025c71d755b0fb3b6ead90255f25417ed"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 19 13:57:06 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 19 13:57:06 2011 -0800"
      },
      "message": "Merge \"Logging the duration range from different media tracks for recording\" into honeycomb"
    },
    {
      "commit": "65b3d76025c71d755b0fb3b6ead90255f25417ed",
      "tree": "718d9853ea27847b77c0cf5c739ed6aba1b9d13b",
      "parents": [
        "88b348910a607ae399bcd693dd42a231d98da2c9"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 19 11:50:19 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 19 11:54:59 2011 -0800"
      },
      "message": "Logging the duration range from different media tracks for recording\n\nChange-Id: I8c3edcf97ce35301f8645e4a1e232d9bfc2c0349\n"
    },
    {
      "commit": "88b7ad413c4b6d08697069b18488641d6ce31fd3",
      "tree": "36d49e5cf69bbf5b513bcffd2f94ff4c40f35578",
      "parents": [
        "88b348910a607ae399bcd693dd42a231d98da2c9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 19 11:30:43 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 19 11:30:43 2011 -0800"
      },
      "message": "Always revert to the previous bandwidth if the required sequence number cannot be found\n\nChange-Id: I098dba37f4a70fc703c9ce65346907c3e10f27f6\n"
    },
    {
      "commit": "88b348910a607ae399bcd693dd42a231d98da2c9",
      "tree": "25c690dee1142a36924392b7899e447f663129f7",
      "parents": [
        "662cb2487ed513ff3ac26b104b5715c01d78419c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 19 11:24:39 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 19 11:24:39 2011 -0800"
      },
      "message": "Return a runtime error if decryption fails instead of asserting.\n\nChange-Id: Ibab7f2cae3ff7a2e19bc3f31005d5059775a664a\n"
    },
    {
      "commit": "662cb2487ed513ff3ac26b104b5715c01d78419c",
      "tree": "d4036f117ab08f04bccc46313fde7e5bbf98454a",
      "parents": [
        "113a95462d2018c62b9e6bc86e7f643ff46f29cf",
        "b391290130f263441334ee4525a5832f0bea2ef0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 19 10:38:16 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 19 10:38:16 2011 -0800"
      },
      "message": "Merge \"Make parameter blocks read/writable even for SET_PARAMETER/SET_CONFIG requests.\" into honeycomb"
    },
    {
      "commit": "b391290130f263441334ee4525a5832f0bea2ef0",
      "tree": "09faabdbb6c75ef535bc134eb6dad53267f66380",
      "parents": [
        "7509d7725207bfc28f7757c18518e21110c0736d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 19 10:34:52 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 19 10:34:52 2011 -0800"
      },
      "message": "Make parameter blocks read/writable even for SET_PARAMETER/SET_CONFIG requests.\n\nRefactor the logic a little.\n\nChange-Id: Idd7a26678d846c96b0b11f096305e7467381bda3\n"
    },
    {
      "commit": "113a95462d2018c62b9e6bc86e7f643ff46f29cf",
      "tree": "136c2efa65fdbbb1d4057e9aaf9ec6dbc66e4ae9",
      "parents": [
        "e75ceba6e3f009118c5debbbe2de268beb350c9a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 19 00:13:55 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 19 10:20:59 2011 -0800"
      },
      "message": "Expose average video frame rate via MPEG4Extractor\n\nbug - 3362483\n\nChange-Id: Ifcbb75c1e8b80cb06c4b8fe7f5ff99bc6f18af69\n"
    },
    {
      "commit": "e75ceba6e3f009118c5debbbe2de268beb350c9a",
      "tree": "060dc1df2f38a7d1c031af49db48ea58ea4b258f",
      "parents": [
        "7509d7725207bfc28f7757c18518e21110c0736d",
        "b45c01c2b8588ff431b511151666a55a39f0a6ae"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 19 10:05:05 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 19 10:05:05 2011 -0800"
      },
      "message": "Merge \"Fix the presentation video resolution when it is different from the actual image resolution of the video.\" into honeycomb"
    },
    {
      "commit": "018761c5cc4aefd0495eaa4666f2372a59a7980a",
      "tree": "e0e4a58c37774fe7034bc4f73122156989c713cd",
      "parents": [
        "2b4883641e324c50a2ee24c5bd15170c7d31e57d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 19 09:20:58 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 19 09:20:58 2011 -0800"
      },
      "message": "Turn another assertion into a runtime error. Damn you surfaces.\n\nChange-Id: Ib62957180949293a6fb84bb5a40af058798337ab\nrelated-to-bug: 3335220\n"
    },
    {
      "commit": "b45c01c2b8588ff431b511151666a55a39f0a6ae",
      "tree": "94a766af98d29e9b6d745e42a5f625106267a2e1",
      "parents": [
        "2b4883641e324c50a2ee24c5bd15170c7d31e57d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Jan 16 11:30:13 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 19 08:33:07 2011 -0800"
      },
      "message": "Fix the presentation video resolution when it is different from the actual image resolution of the video.\n\nbug - 3352413\n\nChange-Id: I8f08f3896e9fb90f09119dccdb88b82af60f79f2\n"
    },
    {
      "commit": "2b4883641e324c50a2ee24c5bd15170c7d31e57d",
      "tree": "affc60536acc73b632055dbb1a76c55ac6b17557",
      "parents": [
        "de16890e98cdd241398ed155cd47daf061584a77"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 18 21:12:31 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 18 21:33:58 2011 -0800"
      },
      "message": "Use metadata in video buffers for timelapse video recording by default to eliminate memcpy\n\nbug - 3361771\n\nChange-Id: Ib37ffe4be8edc8708baa76b3507b6f11372536d9\n"
    },
    {
      "commit": "de16890e98cdd241398ed155cd47daf061584a77",
      "tree": "8273f7629019c9a38090c485b550d20b1b8969e2",
      "parents": [
        "31389148f4ab7587e150f4043b7379eaefe2af2b",
        "368ef16787c3fe2334dadc767e7418b610c83cbd"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 18 15:35:35 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 18 15:35:35 2011 -0800"
      },
      "message": "Merge \"Apparently our native TCP sockets do not return an error from blocking \"connect\"\" into honeycomb"
    },
    {
      "commit": "368ef16787c3fe2334dadc767e7418b610c83cbd",
      "tree": "2eae79e5a3366c0f9cbaca2ff2771f4f3ed47f23",
      "parents": [
        "bf6489f8b4c03dda70bf7a549702b98da497e348"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 18 15:26:40 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 18 15:26:40 2011 -0800"
      },
      "message": "Apparently our native TCP sockets do not return an error from blocking \"connect\"\n\nif the network interface is shutdown while connecting.\n\nChange-Id: I1bd7e43475edf20f35e15dd4eae547126289f5f0\nrelated-to-bug: 3362836\n"
    },
    {
      "commit": "31389148f4ab7587e150f4043b7379eaefe2af2b",
      "tree": "28d20f9c37755cbf14af6cc2d20e7a17fc213efc",
      "parents": [
        "bf6489f8b4c03dda70bf7a549702b98da497e348"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 18 14:26:55 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 18 14:28:37 2011 -0800"
      },
      "message": "Fix the sluggish preview during timelapse video recording because software encoder is used.\n\nbug - 3361771\n\nChange-Id: Ic5344e9eabe7f1b82910b65b4260e4ad8dc51c32\n"
    },
    {
      "commit": "bf6489f8b4c03dda70bf7a549702b98da497e348",
      "tree": "605ed35b22591607ec15680a63d6cce4002cfa6d",
      "parents": [
        "126983a5afae1a554a8bb26711bb01edb1ddf5b1",
        "21a6f9ffee8b3c014abfe165b8f7fd2224f49e1f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 18 11:52:02 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 18 11:52:02 2011 -0800"
      },
      "message": "Merge \"Implement parsing of vbv buffering info in RTSP.\" into honeycomb"
    },
    {
      "commit": "126983a5afae1a554a8bb26711bb01edb1ddf5b1",
      "tree": "186a713ca97792b9e0763362c93ca52f30d95ac9",
      "parents": [
        "aa95240d9096f97aa2e2022fae8764a4386c8951",
        "1bd233ce7e1aa7730bc18d46ffd57791391738cd"
      ],
      "author": {
        "name": "Bryan Mawhinney",
        "email": "bryanmawhinney@google.com",
        "time": "Tue Jan 18 11:30:30 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 18 11:30:30 2011 -0800"
      },
      "message": "Merge \"Don\u0027t report 100% buffered when the stream ends prematurely.\" into honeycomb"
    },
    {
      "commit": "21a6f9ffee8b3c014abfe165b8f7fd2224f49e1f",
      "tree": "140750d63bf8e4e50e67bdcdd737e0af18ee79e0",
      "parents": [
        "ccb3506ed1845121b94f4e27244e61a46eb19815"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 18 11:19:13 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 18 11:19:13 2011 -0800"
      },
      "message": "Implement parsing of vbv buffering info in RTSP.\n\nChange-Id: I7d871cafda2c4c65670a40ad9ab4f24317f8568a\nrelated-to-bug: 3351915\n"
    },
    {
      "commit": "1bd233ce7e1aa7730bc18d46ffd57791391738cd",
      "tree": "f260f0d8821d1f36fbfcf9f678fb80f62ec099b9",
      "parents": [
        "ccb3506ed1845121b94f4e27244e61a46eb19815"
      ],
      "author": {
        "name": "Bryan Mawhinney",
        "email": "bryanmawhinney@google.com",
        "time": "Tue Jan 18 19:12:21 2011 +0000"
      },
      "committer": {
        "name": "Bryan Mawhinney",
        "email": "bryanmawhinney@google.com",
        "time": "Tue Jan 18 19:12:21 2011 +0000"
      },
      "message": "Don\u0027t report 100% buffered when the stream ends prematurely.\n\nChange-Id: Ia4e80d02f28104427a3309e3d5b155faa5702757\n"
    },
    {
      "commit": "aa95240d9096f97aa2e2022fae8764a4386c8951",
      "tree": "ee23a4189c0152e2d5528887d5861566ef5ada6f",
      "parents": [
        "ccb3506ed1845121b94f4e27244e61a46eb19815"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jan 18 11:06:19 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jan 18 11:07:11 2011 -0800"
      },
      "message": "MTP: Fix problems with modification dates for folders and non-media files\n\nAlso removed an unnecessary parameter to MtpDatabase.endSendobject()\n\nBUG: 3352142\n\nChange-Id: I6fd812dcba4814956bc8bc1cbd6bd5c868197790\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "ccb3506ed1845121b94f4e27244e61a46eb19815",
      "tree": "28dbe58d3112cb15c9b87d94897d2aa73b1042e3",
      "parents": [
        "6ee94582e3ce7bdd9625345e7564e3176a51a2f3"
      ],
      "author": {
        "name": "Dharmaray Kundargi",
        "email": "dharmaray@google.com",
        "time": "Sun Jan 16 16:43:20 2011 -0800"
      },
      "committer": {
        "name": "Dharmaray Kundargi",
        "email": "dharmaray@google.com",
        "time": "Sun Jan 16 16:43:20 2011 -0800"
      },
      "message": "integrate videoeditor preview player.\n\nChange-Id: I83084f494605c8e6f4d198afa8c36f9e29579667\n"
    },
    {
      "commit": "6ee94582e3ce7bdd9625345e7564e3176a51a2f3",
      "tree": "bf2c802a855fcddb53ff057e0889e11a363ee846",
      "parents": [
        "42dd1d5f186252a7f09f8fb1a46ea82e3877b2d3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jan 14 15:15:12 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jan 14 15:15:12 2011 -0800"
      },
      "message": "Fixed thrashing in the cached buffer during 720p YT video streaming\n\nbug - 3340194\n\nChange-Id: Ic59bb18ab1731d7dd7cae7cc8aeb393900bce7f6\n"
    },
    {
      "commit": "42dd1d5f186252a7f09f8fb1a46ea82e3877b2d3",
      "tree": "8169be6605d7f2cd2bc5d3e5a21b1c0ef146e176",
      "parents": [
        "3e9eeb3b411f56d9935f9240056107816da24653"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 12 20:45:16 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 12 20:45:16 2011 -0800"
      },
      "message": "Add audio encoding parameters check\n\nbug - 3345296\n\nChange-Id: If3f33955f5473b0c5ad9c9b85f8b5cb21ddd7e65\n"
    },
    {
      "commit": "3e9eeb3b411f56d9935f9240056107816da24653",
      "tree": "cfaad6e7a887102b85359705a8f0d3267bb6fb71",
      "parents": [
        "7f7d52ac18dfc3c6d8f6267dad29306613e9bd0e",
        "934ca8cb1bcffcf1781a576ca625d2f901e5f0a9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 12 14:33:51 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 12 14:33:51 2011 -0800"
      },
      "message": "Merge \"Fail to parse duration instead of asserting, if the server response cannot be parsed.\" into honeycomb"
    },
    {
      "commit": "7f7d52ac18dfc3c6d8f6267dad29306613e9bd0e",
      "tree": "5e17f415d44cdba3c8b37a42c487e28e26593a64",
      "parents": [
        "67988a9ba5a081d14dbd8a663516e1d484d829df"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jan 06 12:20:35 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 12 14:14:11 2011 -0800"
      },
      "message": "Publish MediaMetadataRetriever.java as public API\n\no Removed setMode() methods and related mode constants\no Removed some of the unused the metadata keys\no Updated the javadoc\n\no part of a multi-project change.\n\nbug - 2433195\n\nChange-Id: I5ed167f1fd6a53cb143b7dc385b149431d434438\n"
    },
    {
      "commit": "67988a9ba5a081d14dbd8a663516e1d484d829df",
      "tree": "87174f60c8ae8886df65970ab81aa92445ef3f34",
      "parents": [
        "4dafe5b814c923538a0f275b62220ec9cc94a9b5",
        "7cc497733b7602b99b783decfa8c002bc27e25aa"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 12 11:54:32 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 12 11:54:32 2011 -0800"
      },
      "message": "Merge \"Speed up MP3Extractor using cached reads\" into honeycomb"
    },
    {
      "commit": "934ca8cb1bcffcf1781a576ca625d2f901e5f0a9",
      "tree": "946f9b81777549201bfff4446fcfcdb005cf3d44",
      "parents": [
        "c4c3a2d4123f7dfe8c6ed0c26fb14aeb7b8d8f61"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 12 09:57:23 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 12 10:31:04 2011 -0800"
      },
      "message": "Fail to parse duration instead of asserting, if the server response cannot be parsed.\n\nChange-Id: I42324468edca5ccce29486059091da8e64f36326\nrelated-to-bug: 3338518\n"
    },
    {
      "commit": "7cc497733b7602b99b783decfa8c002bc27e25aa",
      "tree": "3004d896aebf64aaeb2c48348021366e020e9cba",
      "parents": [
        "c4c3a2d4123f7dfe8c6ed0c26fb14aeb7b8d8f61"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 11 18:59:32 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 12 09:49:15 2011 -0800"
      },
      "message": "Speed up MP3Extractor using cached reads\n\nChange-Id: I53a5ed76bc2f76f0c184f3800b5448f677117ae3\n"
    },
    {
      "commit": "4dafe5b814c923538a0f275b62220ec9cc94a9b5",
      "tree": "4a6fa7ec2a746f4fd94b85833beeaa5e4e9c0c05",
      "parents": [
        "c4c3a2d4123f7dfe8c6ed0c26fb14aeb7b8d8f61"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 12 09:22:07 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 12 09:22:07 2011 -0800"
      },
      "message": "Fix race in buffer ref counting.\n\nChange-Id: Id47c30469c3e3ec293ed2ef574a191275b5044d6\n"
    },
    {
      "commit": "c4c3a2d4123f7dfe8c6ed0c26fb14aeb7b8d8f61",
      "tree": "6d4de35e173f9e2497dbc1b8b449ebc0e1b9e54d",
      "parents": [
        "fd52174eaacf661e9e7b1ff0001a9587f1b90b87",
        "145e68fc778275963189b02a1adcbe27cce4d769"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 11 15:20:39 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 11 15:20:39 2011 -0800"
      },
      "message": "Merge \"Increase cache size and low-watermark threshold, also\" into honeycomb"
    },
    {
      "commit": "fd52174eaacf661e9e7b1ff0001a9587f1b90b87",
      "tree": "2b9d911b20fd123fd563971fe4a44d63f270fb07",
      "parents": [
        "8eb04084b96d59802615f0e0570359c35ca3df61",
        "50c8bea8fba2fcafb14696399028bdbc094dc995"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 11 15:16:04 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 11 15:16:04 2011 -0800"
      },
      "message": "Merge \"Properly parse Matroska lacing flags and extract all frames contained in a block.\" into honeycomb"
    },
    {
      "commit": "145e68fc778275963189b02a1adcbe27cce4d769",
      "tree": "91addc4557024a25d8ba64efc79b821be5ca1877",
      "parents": [
        "0ecfbd1cf37dbfb44d19c27351f5769309ac028d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 11 15:05:28 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 11 15:05:28 2011 -0800"
      },
      "message": "Increase cache size and low-watermark threshold, also\n\nMediaPlayer now sends out MEDIA_INFO,MEDIA_INFO_VIDEO_TRACK_LAGGING messages\nto the JAVA client informing it how much (if at all) the video lags behind\naudio (arg2 is the media delay in ms).\n\nChange-Id: I6933f573d8597a35112e4b5ee0fcb826a7f6ddd1\nrelated-to-bug: 3335220\n"
    },
    {
      "commit": "50c8bea8fba2fcafb14696399028bdbc094dc995",
      "tree": "2c80abf4d69357ba8f4ae3652b90f717f2a626fd",
      "parents": [
        "0ecfbd1cf37dbfb44d19c27351f5769309ac028d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 11 11:56:06 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 11 13:05:36 2011 -0800"
      },
      "message": "Properly parse Matroska lacing flags and extract all frames contained in a block.\n\nChange-Id: I1aca46b2e28b9cad88bf4a296f675e81e66ee095\nrelated-to-bug: 3331623\n"
    },
    {
      "commit": "8eb04084b96d59802615f0e0570359c35ca3df61",
      "tree": "1a9363b2e35928f3d126e20c54d8ba76a2cad37a",
      "parents": [
        "b0fb6bf746f1d611033c55a4a1ab5a4b0e212a95",
        "c29dd6f4ccd7ea7e41921d48d03d26e159aeaae4"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 11 11:23:47 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 11 11:23:47 2011 -0800"
      },
      "message": "Merge \"Fix uninitialized rect structure for retrieving rect cropping information from decoder\" into honeycomb"
    },
    {
      "commit": "b0fb6bf746f1d611033c55a4a1ab5a4b0e212a95",
      "tree": "8e66813414547645fdffd9eaae53f81f5fd2e400",
      "parents": [
        "0ecfbd1cf37dbfb44d19c27351f5769309ac028d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jan 10 20:42:21 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jan 10 20:43:33 2011 -0800"
      },
      "message": "Don\u0027t release the video recording frame after recording is stopped in CameraSourceTimeLapse.cpp\n\nbug - 3334999\n\nChange-Id: I1c83080713696221048da9b1a9f8c2ee48849ade\n"
    },
    {
      "commit": "0ecfbd1cf37dbfb44d19c27351f5769309ac028d",
      "tree": "11b98dba45992626a17714e04272cdb3fd0fe930",
      "parents": [
        "32ad210e4e4bcbdf912a01c9d2ff105cb3c5056f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 10 11:57:30 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 10 11:57:30 2011 -0800"
      },
      "message": "Return a runtime error instead of asserting if the M4vH263Decoder fails in start()\n\nChange-Id: Ie704a72685f749613fa0ed5fa6f461abc0406371\nrelated-to-bug: 3328200\n"
    },
    {
      "commit": "32ad210e4e4bcbdf912a01c9d2ff105cb3c5056f",
      "tree": "57bc9bcd78d3844035a923a70b516e4dc2872a24",
      "parents": [
        "14c858e80dfe2030c9f343dc0c6e2048e030731b",
        "31e2508c75018145a8238925ff1a08cbde4e799a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 10 11:26:38 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 10 11:26:38 2011 -0800"
      },
      "message": "Merge \"NuPlayer now properly sends MEDIA_SET_VIDEOSIZE notifications.\" into honeycomb"
    },
    {
      "commit": "31e2508c75018145a8238925ff1a08cbde4e799a",
      "tree": "072e86ff81cc378452262d8ff899301ae8abf696",
      "parents": [
        "eb0d0c48ebfcee5e8141ae25fe42a9eac6aae230"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 10 10:38:31 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jan 10 10:38:31 2011 -0800"
      },
      "message": "NuPlayer now properly sends MEDIA_SET_VIDEOSIZE notifications.\n\nChange-Id: I99b4223ad6ecfd8839a3c0e737fef3165565d76d\nrelated-to-bug: 3336496\n"
    },
    {
      "commit": "14c858e80dfe2030c9f343dc0c6e2048e030731b",
      "tree": "f78e159783fddbf670cf2a2d1d582653adb7709c",
      "parents": [
        "eb0d0c48ebfcee5e8141ae25fe42a9eac6aae230"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jan 10 08:55:02 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jan 10 08:57:50 2011 -0800"
      },
      "message": "Avoid deadlock in OMX::freeNode by making sure OMXCodecObserver does not hold the last reference of OMXCodec object\n\nbug - 3336424\n\nChange-Id: I4c79b66a900c527e3ae6a833f76d5da1b75c5a89\n"
    },
    {
      "commit": "aee6c07b3572bf2510cd9e7d29c454fcfedde31d",
      "tree": "7a337a7a6f343226d2f0b337ee7340cf1a50bb4b",
      "parents": [
        "11f8109ad8646d3acd9a0987613229cde59d52c1"
      ],
      "author": {
        "name": "pmehendale",
        "email": "pmehendale@nvidia.com",
        "time": "Thu Jan 06 14:43:49 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jan 07 16:14:40 2011 -0800"
      },
      "message": "Awesomeplayer : Frame dropping logic change\n\nChanged late frame drop policy, now we are dropping only 1 in 8,\nlate (\u003e 40ms) frames. Dropping every late frame result in lot of noticible\npauses, usually with peaky bitrate activity these pauses become more prominant.\nDropping few frames is still required to allow overall playback chain,\nto regain the performance.\nExperimentally decided to drop Max one late frame in 8.\n\nChange-Id: If20848d619a76aaf8179b1e5c3155610e3bc85fd\n"
    },
    {
      "commit": "c29dd6f4ccd7ea7e41921d48d03d26e159aeaae4",
      "tree": "fabd347a70dc4c11a24ad3c5216920ab4f667c2d",
      "parents": [
        "11f8109ad8646d3acd9a0987613229cde59d52c1"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jan 07 14:56:34 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jan 07 14:57:34 2011 -0800"
      },
      "message": "Fix uninitialized rect structure for retrieving rect cropping information from decoder\n\no This patch is from NV.\n\nbug - 3333254\n\nChange-Id: I02bc26af464ea0bc9ad9f2e111474e8398c67220\n"
    },
    {
      "commit": "11f8109ad8646d3acd9a0987613229cde59d52c1",
      "tree": "71db4bd4e70e89995712b0fa45ac4f5e7a2ad0da",
      "parents": [
        "20ad3a341a96e7746015ccb7369fa567897e11f6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 06 11:12:17 2011 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 07 12:42:07 2011 -0800"
      },
      "message": "Add support for the \"compilation\" tag in mp3, mp4 and ogg, and also add\nsupport for two common ways of specifying album artist in ogg files.\nb/3311831\n\n(cherry-picked from GB because of weird automerger failure)\n\nChange-Id: Ibf12a3d6bc8bbc2ac5ea815de6b33414b8f53f0f\n"
    },
    {
      "commit": "20ad3a341a96e7746015ccb7369fa567897e11f6",
      "tree": "9e97280c3437b3c9f5a63247e625f1a965db4516",
      "parents": [
        "aea5aff45a1af14e249ac311f0a128a621a7d13e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 06 17:32:00 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 06 17:32:00 2011 -0800"
      },
      "message": "Fix typo.\n\nChange-Id: I2d7796425ea746432964ce48959b6c227d31df11\n"
    },
    {
      "commit": "aea5aff45a1af14e249ac311f0a128a621a7d13e",
      "tree": "2db633500809c43dd58e07a0245660e4fd1354a9",
      "parents": [
        "9a3c0d65bfa55df779ebe285d5d26e257ca37c22"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 06 16:32:05 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 06 16:32:05 2011 -0800"
      },
      "message": "If the stream for the new bandwidth doesn\u0027t have the segment we\u0027re looking for...\n\ngo back to the previous bandwidth\u0027 stream.\n\nChange-Id: I3477cb6932102883509a7cbe9fb2b3bb02dac8c6\n"
    },
    {
      "commit": "4b197e1ffe46eb73ebdb80efc984bfde336b8e92",
      "tree": "94ac02ccd99d70c7baf085dcad5ced7cd00ad3a8",
      "parents": [
        "b1787e3b95e96cc002377d41518cc183f64b58c4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 06 14:14:56 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 06 14:14:56 2011 -0800"
      },
      "message": "Use NuPlayer for HTTP live streaming playback by default.\n\nReversed the property logic, set media.httplive.disable-nuplayer to true to revert\n\nChange-Id: I1057940667aaab56bb75c9ea15c2cdcab736f3c6\n"
    },
    {
      "commit": "b1787e3b95e96cc002377d41518cc183f64b58c4",
      "tree": "f6c8ed1d45603def7a587c5935c92a8629800585",
      "parents": [
        "4d785ae6b940c62610612baf9d24f1ee607a2714"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 06 11:26:54 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 06 12:42:33 2011 -0800"
      },
      "message": "Colorconverter may not support some src/dst bitmap configurations.\n\nLet it return an appropriate error code instead of asserting.\n\nChange-Id: I7fe0dfa169e1cbdecb04c5fcbe8501e73362d05e\nrelated-to-bug: 3328212\n"
    },
    {
      "commit": "4d785ae6b940c62610612baf9d24f1ee607a2714",
      "tree": "fd67e8f64cec9ac87696e9430fd280cd7d0acbda",
      "parents": [
        "5de2001a5c3f854b63dbcea284e02f930881ca75"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 06 10:26:36 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jan 06 12:42:13 2011 -0800"
      },
      "message": "If we failed to initialize the codec after transitioning to IDLE state, don\u0027t assert\n\nduring shutdown.\n\nChange-Id: I40ac44260fb136c15d6dcb9f5ad62211640c66ec\nrelated-to-bug: 3328222\n"
    },
    {
      "commit": "5de2001a5c3f854b63dbcea284e02f930881ca75",
      "tree": "3c9f5153ca12cd18771495544910d66e1719a838",
      "parents": [
        "42d0b79a787814d42e4c6f9dfe14f13cc0f6a758"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jan 06 09:39:28 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jan 06 11:47:56 2011 -0500"
      },
      "message": "Remove support for obsolete PTP content provider\n\nThis will be replaced by a new PTP host API in an upcoming commit.\n\nChange-Id: Ib914194e332b5c090cb8e34ed35bd691bc9f85d1\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "42d0b79a787814d42e4c6f9dfe14f13cc0f6a758",
      "tree": "9cb2c20fb8bf7d6b53c093c8e3dceb5dc0374523",
      "parents": [
        "d1108d74e13a74dc72e49513e0393e924f3d112c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jan 04 14:48:57 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jan 06 11:46:55 2011 -0500"
      },
      "message": "MTP: changes to use new usb_request support in libusbhost\n\nChange-Id: Ic091eab166a66efcde0395dcebbbc513f2322fca\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "bade4951bd8b2c9148df9018c44903b9d48d1f7b",
      "tree": "de8c3e7698685e1b2d3f119feb9fef14e4a33513",
      "parents": [
        "149d3b0565c9b7e56af344d0e5c2f121236fa119",
        "22fc52f6f72f39e33c3970d0291de3569118aa5c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 05 16:34:06 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 05 16:34:06 2011 -0800"
      },
      "message": "Merge \"Some more fixes regarding HTTP live in NuPlayer.\""
    },
    {
      "commit": "22fc52f6f72f39e33c3970d0291de3569118aa5c",
      "tree": "3f446d7a2aa1e0e701b0ce33a10175547eb29bdf",
      "parents": [
        "43c3e6ce02215ca99d506458f596cb1211639f29"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 05 16:24:27 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 05 16:24:27 2011 -0800"
      },
      "message": "Some more fixes regarding HTTP live in NuPlayer.\n\nChange-Id: I9e29615fa8ee6c7bd4189373a75c20caef3fd2b1\n"
    },
    {
      "commit": "149d3b0565c9b7e56af344d0e5c2f121236fa119",
      "tree": "f306a5678c773f6441951ef871dc1f0c8534594f",
      "parents": [
        "eb8cab7bb77aac80a5a2e6fe0171e20116e80ef0",
        "43c3e6ce02215ca99d506458f596cb1211639f29"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 05 14:50:00 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 05 14:50:00 2011 -0800"
      },
      "message": "Merge \"Seek/Duration support for completed http live streams in NuPlayer.\""
    },
    {
      "commit": "43c3e6ce02215ca99d506458f596cb1211639f29",
      "tree": "52a143f0a92abc9f5050f5c9f44e2e4c087848f3",
      "parents": [
        "627baacc748c5e2ed68bdb256aea4d70fcfe9ce4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 05 12:17:08 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 05 14:48:31 2011 -0800"
      },
      "message": "Seek/Duration support for completed http live streams in NuPlayer.\n\nChange-Id: I55bbe75d87140c07b1927d14ad24130fce803463\nrelated-to-bug: 3321475\n"
    },
    {
      "commit": "019e96a6c6228c2565d8bc172f6278b31384aca5",
      "tree": "d849a9df7eefab1a0e960e8e0fab86b943361e94",
      "parents": [
        "627baacc748c5e2ed68bdb256aea4d70fcfe9ce4",
        "28934a90e168291f6c77c56e8a05f272e5151bbd"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jan 05 10:27:55 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 05 10:27:55 2011 -0800"
      },
      "message": "Merge \"Use video output if necessary for timelapse video recording\""
    },
    {
      "commit": "28934a90e168291f6c77c56e8a05f272e5151bbd",
      "tree": "da8b10f020741f7dc28161496cbe7e0d59e19622",
      "parents": [
        "c2f95fba3ab2a4e512fd1152a12e64691f2ea73d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 04 16:09:07 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 04 16:09:07 2011 -0800"
      },
      "message": "Use video output if necessary for timelapse video recording\n\nChange-Id: I88d0cc824f0fbf8b2f392fbc23c69b5bfefda1b8\n"
    },
    {
      "commit": "c213b812514d16dd401cd308b9203b70bfbb3d5f",
      "tree": "ede1233a9f703e7a207b70ab694ebf0ae69a51e6",
      "parents": [
        "c2f95fba3ab2a4e512fd1152a12e64691f2ea73d",
        "1aef211b4e5dc952081727bfd2318b2cb5ca4506"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 04 14:47:18 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 04 14:47:18 2011 -0800"
      },
      "message": "Merge \"Properly shutdown the decoders on a reset() in NuPlayer\u0027s implementation.\""
    },
    {
      "commit": "1aef211b4e5dc952081727bfd2318b2cb5ca4506",
      "tree": "1644390b5e1f5cb8ddd228a28e69b5a18c747e0b",
      "parents": [
        "65a170e3ac593a29abd0c76e9aa531fabad7f56d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 04 14:01:29 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 04 14:07:58 2011 -0800"
      },
      "message": "Properly shutdown the decoders on a reset() in NuPlayer\u0027s implementation.\n\nrelated-to-bug: 3321470\nChange-Id: Ida6d2171c5a3a407188d4633602b764f8fe7086a\n"
    },
    {
      "commit": "c2f95fba3ab2a4e512fd1152a12e64691f2ea73d",
      "tree": "e6e67c73b3c937e592efae4aab771af392fa8c78",
      "parents": [
        "65a170e3ac593a29abd0c76e9aa531fabad7f56d",
        "6e5cf568f4a5dee4be6ec991e1a96497303fb019"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 04 13:12:47 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 04 13:12:47 2011 -0800"
      },
      "message": "Merge \"Remove captureFrame from MediaMetadataRetriever.java class It has been replaced by getFrameAtTime() method\""
    },
    {
      "commit": "6e5cf568f4a5dee4be6ec991e1a96497303fb019",
      "tree": "d1f290b7ee2458f2dd2f29b7ffed8a8f4b08d298",
      "parents": [
        "8afe66571ba14c7f923966d7270287e6f950ef38"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 04 12:13:44 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 04 12:13:44 2011 -0800"
      },
      "message": "Remove captureFrame from MediaMetadataRetriever.java class\nIt has been replaced by getFrameAtTime() method\n\nChange-Id: I9ed762e10e61dbc188e2a740e489a3e2ef9a6bb2\n"
    },
    {
      "commit": "65a170e3ac593a29abd0c76e9aa531fabad7f56d",
      "tree": "423b71cff653f7ae48e98147238b90d8704b6baf",
      "parents": [
        "8afe66571ba14c7f923966d7270287e6f950ef38"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 04 10:19:13 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jan 04 10:19:13 2011 -0800"
      },
      "message": "Make AwesomePlayer\u0027s reset process more verbose to track down ANRs.\n\nChange-Id: I8c9fa872263796ba61b3e8de6bc05d50f57833f5\nrelated-to-bug: 3302399\n"
    },
    {
      "commit": "8afe66571ba14c7f923966d7270287e6f950ef38",
      "tree": "65af7d6c3bbb31141742b84d646081d4901ad3bf",
      "parents": [
        "d1b056a099b29e81d65582a8612210967fb71f93"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed Dec 29 13:34:20 2010 -0800"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed Dec 29 13:34:20 2010 -0800"
      },
      "message": "Fix build.\n\nDue to a bug (fixed by \t59163bf2f15e28712be6598144ae0fdb94dac52b),\nlibstagefright_yuv.so was actually not prelinked.\n\nChange-Id: Idbc9b968708d0fc31a087d2e4f24398072d915e2\n"
    },
    {
      "commit": "d1b056a099b29e81d65582a8612210967fb71f93",
      "tree": "b7eef96f1321d55342e5b234040eb857ec4720ce",
      "parents": [
        "5bc087c573c70c84c6a39946457590b42d392a33"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Dec 29 08:32:32 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Dec 29 09:12:15 2010 -0500"
      },
      "message": "Change libusbhost and libmtp from static to shared libraries\n\nChange-Id: Iccc67db32400cdeb88aa33261c9e0cf73db992ca\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "5bc087c573c70c84c6a39946457590b42d392a33",
      "tree": "a9326bfa5027a152a5a21dd9de86d228c7d92330",
      "parents": [
        "53df1a460bcfdd129ca2bc416dee2009e35c042e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 23 10:27:40 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 23 10:27:40 2010 -0800"
      },
      "message": "Squashed commit of the following:\n\ncommit eaeaa2672d4e0a82891493b2bde8bdd0c0e79a1b\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Dec 23 10:26:48 2010 -0800\n\n    Remove lowest bandwidth stream if using the legacy player.\n\n    Change-Id: I2f885e26344996de9152f8fda9fd6bdef89bf953\n\ncommit 7d652972615b2750fd8f1c21b9fab0e136df2b82\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Dec 23 10:14:36 2010 -0800\n\n    Don\u0027t clear the packet source\u0027s format for legacy discontinuities.\n\n    Change-Id: I9bd5a21b9bd28043ad38bd0658ccc8eda3c1079a\n\ncommit 2b18a45aac17cbfe1aa089d0f6510957d438dd64\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Thu Dec 23 10:13:55 2010 -0800\n\n    Use NuPlayer for HTTP live streaming based on runtime property.\n\n    adb shell setprop media.httplive.enable-nuplayer true\n\n    Change-Id: I22738df3403985dc8e6992b1ab5da5747309f773\n\ncommit 50d899fb7b9ea52c3994b0a58e993998d926aeed\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Dec 22 16:25:22 2010 -0800\n\n    Make ACodec a lot less verbose.\n\n    Change-Id: I94c7e499b61032321ffaf999f5ad2c913cde6a48\n\ncommit b19e1740cb4d02990a56844654b5d019987c6405\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Dec 22 16:22:22 2010 -0800\n\n    Wait until we have fresh codec-specific-data before instantiating the decoders\n\n    after a discontinuity involving a format change.\n\n    Change-Id: I7bcf9b5ae3319f08bf8978a117e8ee5220902e37\n\ncommit 06428c006906c9099e430aface3b439ff1d36ecc\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Dec 22 15:20:38 2010 -0800\n\n    Disable random seeks in the streaming tool for now.\n\n    Change-Id: Ie86fde422dcfc4b2c7a01be51a193fda9c88cd71\n\ncommit e19db68f3bea8a61c191f60f6940f30e3a0d5f1b\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Dec 22 15:20:27 2010 -0800\n\n    Tweak HTTP live parameters.\n\n    Change-Id: If4b71e12485facc523a8a43d8213d0feb190daab\n\ncommit 1e9942791538c2256b579d96c6c04264b0d8b087\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Dec 22 14:48:23 2010 -0800\n\n    Enable http live streaming through NuPlayer for http URLs containing the string m3u8\n\n    Change-Id: I1691fe12ae8f1507fe3673313959cd50bc324624\n\ncommit 4c33f96a6e499ee0efe0e70b687094430cb7c1c0\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Dec 22 14:40:27 2010 -0800\n\n    Support for HTTP live streaming in NuPlayer.\n\n    Change-Id: Iacba1c3ebaeb8d3b972185deaf4cff18c8009c54\n\ncommit ddf705ce553708bc5b13d89a878484cf839bd674\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Dec 22 13:42:47 2010 -0800\n\n    StreamingSource now a subclass of abstract NuPlayer::Source\n\n    Change-Id: Ia6c7c639628910b9d1f37decc55da48b07a70de3\n\ncommit 9e04a8406b1882a8e3fdeb7b4d52db5ae70b970a\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Wed Dec 22 13:33:52 2010 -0800\n\n    Refactor media data sourcing to NuPlayer::Source.\n\n    Change-Id: I1db9fb08c4e527bf7b19c29978cf342c2b0a0bc9\n\nChange-Id: I9610a097481dda58f22142eacda3ac2dba0b63f9\n"
    },
    {
      "commit": "53df1a460bcfdd129ca2bc416dee2009e35c042e",
      "tree": "ab7d4a70f4a09211ba62f4725c7eb735ccf10587",
      "parents": [
        "df42f949c8bd05b81d94633767514fff88f52062"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 22 10:03:04 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 22 10:03:04 2010 -0800"
      },
      "message": "Distinguish discontinuities w/ a format change from those without.\n\nShutdown decoders as needed in anticipation of a format change, otherwise just flush.\n\nChange-Id: Ieb04f8aa8658569b091409c4903075fd496e5abb\n"
    },
    {
      "commit": "df42f949c8bd05b81d94633767514fff88f52062",
      "tree": "51d4f1b0574c3df747d756db787cb64685392250",
      "parents": [
        "27a932a79b99fd2d869125e4c08b230fb6108860"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 21 14:36:19 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 21 14:36:19 2010 -0800"
      },
      "message": "Better handling of forming absolute https URLs, runtime error on https:// access.\n\nChange-Id: I7f6275520b0bd070e645024dd151a8541b8787b2\n"
    },
    {
      "commit": "27a932a79b99fd2d869125e4c08b230fb6108860",
      "tree": "50437e52078fefd90a9a8adea6ac5c0930ff9e9e",
      "parents": [
        "41152efd144ccf70c380d5c9a32105c02a039f43",
        "3831a066bcf1019864a94d2bc7b4c9241efc5c22"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 21 10:47:34 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 21 10:47:34 2010 -0800"
      },
      "message": "Merge \"Squashed commit of the following:\""
    },
    {
      "commit": "3831a066bcf1019864a94d2bc7b4c9241efc5c22",
      "tree": "13addfa6d2406f60574c3393a153f133d13690b9",
      "parents": [
        "54c02a58e5ad4b7b2668f63caa9d189e958f5544"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 21 10:22:33 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 21 10:22:33 2010 -0800"
      },
      "message": "Squashed commit of the following:\n\ncommit 63be8ceb8b2354fb997a277c0092abae015ecf10\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Dec 17 13:45:34 2010 -0800\n\n    Enable handling of discontinuities that involve potential format changes.\n\n    Change-Id: I21848a113db8764abb54bdcf302b0923253eaf4d\n\ncommit d18a7f80ec09af382026809263dcbbfa9e7a9ec8\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Dec 17 13:45:01 2010 -0800\n\n    Signal whether or not a format change occured as part of the discontinuity.\n\n    Change-Id: I06e64f542f4369549c9cebbb892dc612346ae43d\n\ncommit c400adbd5fdbd65cfef7aed9ec65bcaace4bb69b\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Dec 17 13:44:46 2010 -0800\n\n    A little more instrumentation of ACodec\n\n    Change-Id: I07f4aeccbbd15cdd9f80f48c3f92ee984ef6d92b\n\ncommit 1d802ee01f47b3cdc5b89502cec7fbb595e197a3\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Dec 17 13:43:58 2010 -0800\n\n    Only sync audio/video queues if both types of media are actually present.\n\n    Change-Id: Ic88edf9bb1ebd4034c08747cce9877a4e28e0d35\n\ncommit e402da39d9a4d8b75653a78f728e20a3ef0fb497\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Fri Dec 17 13:42:24 2010 -0800\n\n    Disable the random seek for now.\n\n    Change-Id: Iddd597b546e2f229e88214f9bdd6452bb188105e\n\nChange-Id: I27c4d9ba916080be94ce6117dbb095e9022ed62b\n"
    },
    {
      "commit": "41152efd144ccf70c380d5c9a32105c02a039f43",
      "tree": "dbf46042bb86d5974e9987afc6fff9eb52948651",
      "parents": [
        "54c02a58e5ad4b7b2668f63caa9d189e958f5544"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Dec 20 21:29:12 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Dec 21 10:17:53 2010 -0800"
      },
      "message": "Add more debugging code to track down hang during video recording\n\nbug - 3276561\n\nChange-Id: I1e02590b23031f29bcbfc4a1064f039ed80cb862\n"
    },
    {
      "commit": "54c02a58e5ad4b7b2668f63caa9d189e958f5544",
      "tree": "0933f0a5ef6f40b62b182839efe373815aa69d37",
      "parents": [
        "a4d153424bf33646a86a7e968064dabb8e073c52",
        "2d1e5d35be5e6d4b55ac8b39fbfcbeb60fcdd084"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Dec 20 12:00:52 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 20 12:00:52 2010 -0800"
      },
      "message": "Merge \"Backward-compatibility max file size support, ignoring 0 or negative file size limit\""
    },
    {
      "commit": "2d1e5d35be5e6d4b55ac8b39fbfcbeb60fcdd084",
      "tree": "dae53dfc5388babdcc78fbe02936094803b8dbd8",
      "parents": [
        "95289e216a300ddfadf2beec9c8f2c0af3d7e784"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Dec 20 11:39:38 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Dec 20 11:59:17 2010 -0800"
      },
      "message": "Backward-compatibility max file size support, ignoring 0 or negative file size limit\n\nbug - 3281011\n\nChange-Id: I2d3ae4565602e2374ca794c5e8d0837ad33cf0e8\n"
    },
    {
      "commit": "a4d153424bf33646a86a7e968064dabb8e073c52",
      "tree": "0109a3b890ff3fedf136894b88c1b17852472bb2",
      "parents": [
        "95289e216a300ddfadf2beec9c8f2c0af3d7e784",
        "60693ddde0e435def1617848f545c78cec452766"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Dec 20 10:22:48 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 20 10:22:48 2010 -0800"
      },
      "message": "Merge \"Change a Stagefright assert to an error check.\""
    },
    {
      "commit": "60693ddde0e435def1617848f545c78cec452766",
      "tree": "f85f5a3cf18c2bdb1fd69c21d9014dcbb3ef178e",
      "parents": [
        "e071b055cee301d71335519601474c62b10af411"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Dec 17 15:07:02 2010 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Dec 17 18:26:28 2010 -0800"
      },
      "message": "Change a Stagefright assert to an error check.\n\nDuring OMX codec initialization it is possible that buffer allocation\nfails.  This changes Stagefright to set an error state and abort\ninitialization rather than crashing with an assert failure when that\nhappens.\n\nChange-Id: I2fc2fadfe75657cdbf649cc8cafd2e4c251a5f8b\nBug: 3282700\n"
    },
    {
      "commit": "357b7a806e530902ab60ceab877ea608a7e3e053",
      "tree": "4dc989e7741a1edea30bff9345de10507973b5c7",
      "parents": [
        "b5e8536e41bbbbfe336e1d9614c73278e51590eb",
        "3e9f9f1596d4225ddd9288b4f7b24a15221374dc"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Dec 17 11:22:12 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 17 11:22:12 2010 -0800"
      },
      "message": "Merge \"MediaScanner: Add support for scanning empty directories\""
    },
    {
      "commit": "3e9f9f1596d4225ddd9288b4f7b24a15221374dc",
      "tree": "1c88af9da88152b3d499d6a0a92f1a0349bddff9",
      "parents": [
        "5a7f242cfc0bd3b5208c21c27c0f5f348e98a0dc"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Dec 16 12:54:24 2010 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Dec 16 15:35:36 2010 -0800"
      },
      "message": "MediaScanner: Add support for scanning empty directories\n\nCurrently the media scanner does not create database entries for directories\nunless they contain a file that is scanned.\nFixing this so we provide a consistent view of the world to MTP.\n\nChange-Id: Ia776acfeae23192183e7192d63cdc34d830ea889\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "6e6b1cae2bac1b78205cefab8e4e9e9538982965",
      "tree": "5e24d334e4990f31c43ef505faa982d1dcae04f3",
      "parents": [
        "5a7f242cfc0bd3b5208c21c27c0f5f348e98a0dc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 16 11:31:13 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 16 11:31:13 2010 -0800"
      },
      "message": "Instead of asserting, gracefully abort and signal and error.\n\nChange-Id: I170a602ed80e6c85a94e46deadfc02aaf92bfebb\n"
    },
    {
      "commit": "5a7f242cfc0bd3b5208c21c27c0f5f348e98a0dc",
      "tree": "833c872f88ef10f4ff8df23eff3de39a7e5bba54",
      "parents": [
        "49bcbaed50918071ec9508acdb6c1ea398e64751",
        "ac13b81c590386b3a42e381b31d7614ca53b79c5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 16 10:51:15 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 16 10:51:15 2010 -0800"
      },
      "message": "Merge \"The HTTP/1.1 Host request header must include port if it\u0027s not the default (80).\""
    },
    {
      "commit": "ac13b81c590386b3a42e381b31d7614ca53b79c5",
      "tree": "4af5936b15961a4d658ff9c106b8a4fb5f614838",
      "parents": [
        "e071b055cee301d71335519601474c62b10af411"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 16 10:45:24 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 16 10:45:24 2010 -0800"
      },
      "message": "The HTTP/1.1 Host request header must include port if it\u0027s not the default (80).\n\nChange-Id: Idcc1429fbeecef99dad435208c9a1bd481132e2b\n"
    },
    {
      "commit": "f4a0e014f53c131dbb9ae86921b8064993c09e61",
      "tree": "e8bf2161ecb5caa262f6d04216b4ebeca2db10f0",
      "parents": [
        "d0c5158d5244418880bb85122e9fd0e378892c2a",
        "85704836f33a199d7e442a23db82abbd5620d35d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 16 10:26:48 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 16 10:26:48 2010 -0800"
      },
      "message": "Merge \"Remove now obsolete implementation of streaming from AwesomePlayer.\""
    },
    {
      "commit": "d0c5158d5244418880bb85122e9fd0e378892c2a",
      "tree": "9c60c309328dc54f68ac4e39db999924bffbffa3",
      "parents": [
        "a6256238d9015c42129fe43791968768fe501efa",
        "2c2814b900a61fa07ddfff860b143fbbe9c740e9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 16 10:26:37 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 16 10:26:37 2010 -0800"
      },
      "message": "Merge \"Properly announce decoder output format changes, make sure AMessage::dup does.\""
    },
    {
      "commit": "85704836f33a199d7e442a23db82abbd5620d35d",
      "tree": "ecbf0956142d760517d1ec901cbafb00af61c3ff",
      "parents": [
        "e071b055cee301d71335519601474c62b10af411"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 16 10:16:36 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 16 10:16:36 2010 -0800"
      },
      "message": "Remove now obsolete implementation of streaming from AwesomePlayer.\n\nChange-Id: If62bedbf74c8e987d6651604d7bebc9da381e86a\n"
    },
    {
      "commit": "2c2814b900a61fa07ddfff860b143fbbe9c740e9",
      "tree": "6e87ef2fc13807b7553fb922c149c9e9810c92fd",
      "parents": [
        "e071b055cee301d71335519601474c62b10af411"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 15 17:18:20 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 16 10:08:26 2010 -0800"
      },
      "message": "Properly announce decoder output format changes, make sure AMessage::dup does.\n\nChange-Id: Ia77f6b6d5e5c5055583740dfe876b8a3c22be9b6\n"
    },
    {
      "commit": "a6256238d9015c42129fe43791968768fe501efa",
      "tree": "13b3966652c09d1434ba044231ac38a3aa23b1f4",
      "parents": [
        "e071b055cee301d71335519601474c62b10af411"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Dec 15 17:32:45 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Dec 15 17:40:08 2010 -0800"
      },
      "message": "Give the standard not compliant video sample a chance if its size in the mp4 header is invalid\n\nChange-Id: Ib573ededb9c73285822fa238120faa484402bcf7\n"
    },
    {
      "commit": "e071b055cee301d71335519601474c62b10af411",
      "tree": "53842b260dfa027fbcbb14b1fb0b7f21e1d682d9",
      "parents": [
        "c08bb264768f773cd6d10b8736ccfc4745645135"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Dec 15 15:49:46 2010 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Dec 15 15:49:46 2010 -0800"
      },
      "message": "Opted to recognize \"h263\" or \"H263\" boxes in an mp4 file\n\nbug - 3278240\n\nChange-Id: Ifd1b1f3e5dd55dbf2c33bbad9dd51998c25bfc15\n"
    },
    {
      "commit": "c08bb264768f773cd6d10b8736ccfc4745645135",
      "tree": "93d40e2f45019257113b36f228eff0b1bb6541ef",
      "parents": [
        "f933441648ef6a71dee783d733aac17b9508b452",
        "3a1775247e26f274ef249442ef038ddf7217b68c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 15 15:37:30 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 15 15:37:30 2010 -0800"
      },
      "message": "Merge \"Properly order the data written out to the transport stream by timestamp.\""
    },
    {
      "commit": "f933441648ef6a71dee783d733aac17b9508b452",
      "tree": "240f8068edb362cbea579659a963bbb029a2bac0",
      "parents": [
        "60c5b57edd3c8f4bdf6b38cf5b8a193ba770bb72"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 15 15:17:42 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 15 15:18:26 2010 -0800"
      },
      "message": "Initial support for a true streaming player for mpeg2 transport streams.\n\nChange-Id: I153eec439d260a5524b21270e16d36940ec3161a\n"
    },
    {
      "commit": "3a1775247e26f274ef249442ef038ddf7217b68c",
      "tree": "4a45fc560f2cec8334baa863deb0abc63a2f6561",
      "parents": [
        "00502849dcc54086ad9fabbd90ef3d0e41ae78f5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Dec 10 15:08:23 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 15 14:56:43 2010 -0800"
      },
      "message": "Properly order the data written out to the transport stream by timestamp.\n\nThis ensures data locality across tracks.\n\nChange-Id: I823b9407e3603473422177ec02dff4860ffc5b4f\n"
    },
    {
      "commit": "a093f92042cf65060d1474c0fe116c12f8981717",
      "tree": "7ac40ccae38fc76002355c8a7a70c96d049e6259",
      "parents": [
        "00502849dcc54086ad9fabbd90ef3d0e41ae78f5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 15 14:07:50 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 15 14:07:50 2010 -0800"
      },
      "message": "Proper recovery of timestamp information in the transport stream parser.\n\nChange-Id: I647c73688c95529f54f0bb6af17d109dfe2bb11d\n"
    },
    {
      "commit": "00502849dcc54086ad9fabbd90ef3d0e41ae78f5",
      "tree": "f41167f435fd3f660a8b25c1d16228329b8bd939",
      "parents": [
        "d27f1e6959cdcdadfa471b9824686d784ca55def",
        "41dabbcd9ab62d7ecea1570cc76c39ac485de2ce"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 15 09:17:21 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 15 09:17:21 2010 -0800"
      },
      "message": "Merge \"Emit better (correct) timestamps that respect AAC upsampling.\""
    },
    {
      "commit": "41dabbcd9ab62d7ecea1570cc76c39ac485de2ce",
      "tree": "9cdb7779de37846c8be6943e5a1a2577be035e8e",
      "parents": [
        "123e95a584556a64a2e0f9e242f48b9a080750a5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 14 16:05:16 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 14 16:05:16 2010 -0800"
      },
      "message": "Emit better (correct) timestamps that respect AAC upsampling.\n\nChange-Id: I6587416c9caa0e263aa8ec6c6d89a42e28f6ff19\n"
    },
    {
      "commit": "d27f1e6959cdcdadfa471b9824686d784ca55def",
      "tree": "0e9301196a76a95efce618b147eac6c1bc47079e",
      "parents": [
        "123e95a584556a64a2e0f9e242f48b9a080750a5",
        "36fb2077764093a0a19ed65770078b9987bd82b1"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Dec 14 12:28:31 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 14 12:28:31 2010 -0800"
      },
      "message": "Merge \"Fix an issue where a fixed number of bits per sample is used for seek position calculation.\""
    },
    {
      "commit": "123e95a584556a64a2e0f9e242f48b9a080750a5",
      "tree": "684ea21a6d4cf973801660be37fbab3bfe99f0cd",
      "parents": [
        "93b47835ef496da664f98949ba3bb6c4583559a6",
        "763b772bb6bca6a4aaef85cec840fd7061630d61"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 14 10:11:28 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 14 10:11:28 2010 -0800"
      },
      "message": "Merge \"Properly signal the condition if we run out of input data.\""
    },
    {
      "commit": "93b47835ef496da664f98949ba3bb6c4583559a6",
      "tree": "074df0c4b6a5db44700dbe5d6ddc02a90b1e54ff",
      "parents": [
        "feafefb1ed8d86100161f521fc7a44b819bd9529",
        "428d96d5f882d01acb0abb7e1ceb51d4ccc48efa"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 14 10:11:11 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 14 10:11:11 2010 -0800"
      },
      "message": "Merge \"Support malformed ID3 V2.4 tags written by early versions of iTunes.\""
    }
  ],
  "next": "763b772bb6bca6a4aaef85cec840fd7061630d61"
}
