)]}'
{
  "log": [
    {
      "commit": "1457bf40071bbae83086bc67138caa59c1057248",
      "tree": "bd456e5a5c6e216125de4fdf1925ee245a922d22",
      "parents": [
        "e1cf3c41bd27b5ab7d8e70ef8dd6fcd0f5453568"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Dec 11 15:34:18 2012 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 12 09:18:13 2012 -0800"
      },
      "message": "Fix timestamps after seek\n\nEnsure buffers are correctly timestamped after a seek.\n\nChange-Id: I7d76689138e4f95c0ceb9fb7a4c4d42c48568212\n"
    },
    {
      "commit": "c984e76f3091c8210cd6bb0cae0f23549a7af0ee",
      "tree": "7a729203b2fe316b1e29d75a76677701172fa158",
      "parents": [
        "e54cf26ae91d2e318a419d7e30445015d94fd487",
        "917279c99c7677a02a120909dc4f9092339f2827"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 06 10:42:29 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 06 10:42:29 2012 -0800"
      },
      "message": "am 49c5737f: am 03425d9c: Merge \"Fix bad checks that causes crash when streaming H.263 content.\"\n\n* commit \u002749c5737fe4d9d82ea1cc71d7ca73edfc7477a401\u0027:\n  Fix bad checks that causes crash when streaming H.263 content.\n"
    },
    {
      "commit": "917279c99c7677a02a120909dc4f9092339f2827",
      "tree": "95584fc04375f5e6dd253945fca80e804ccee858",
      "parents": [
        "43309327a15490726618e24da5778457f6f19464",
        "f4283b689abeac92399a26813ca12234050dcb2f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 06 10:39:00 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 06 10:39:00 2012 -0800"
      },
      "message": "am 03425d9c: Merge \"Fix bad checks that causes crash when streaming H.263 content.\"\n\n* commit \u002703425d9cf7f22cf400c13cda60d3e91f0fd48d6e\u0027:\n  Fix bad checks that causes crash when streaming H.263 content.\n"
    },
    {
      "commit": "3057c6925f20d944489a0ccea088d889e8388ebf",
      "tree": "630e286e1177558ffa73472f6b6d67540170da2c",
      "parents": [
        "e9810fae2ca6620337b75a787786cc0ea52adecd",
        "1a447be0cf1abc7564ae2afe7b4d2240c875de54"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 05 10:38:26 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 05 10:38:27 2012 -0800"
      },
      "message": "Merge \"setVideoSurfaceTexture is now synchronous and applied dynamically\""
    },
    {
      "commit": "e9810fae2ca6620337b75a787786cc0ea52adecd",
      "tree": "f848298646fb0163e6911ad8622adcc12a8eba3f",
      "parents": [
        "07dfb08e935fdfe9f73f452cf27e3e2b052eda4f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 03 15:20:40 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 05 10:34:34 2012 -0800"
      },
      "message": "Respect sample aspect ratio in NuPlayer.\n\nrelated-to-bug: 7569402\nChange-Id: I302de95d83b180bd2dc72ddd0c69a665dbce2527\n"
    },
    {
      "commit": "f4283b689abeac92399a26813ca12234050dcb2f",
      "tree": "c81ca7d7fd85d6dec18f212c2d41d92eb4b374b6",
      "parents": [
        "6020ef18b39c65516a381263837899232b87d774",
        "b90b748d7484f1d464cd9e15289d77b83beed10e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 05 08:58:56 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 05 08:58:56 2012 -0800"
      },
      "message": "Merge \"Fix bad checks that causes crash when streaming H.263 content.\""
    },
    {
      "commit": "e6106dff611a0056495719c62e0c92abd9afe4c1",
      "tree": "0c140188ad78408b2e3be99ef79c7a0bc99cc0b8",
      "parents": [
        "8f7453f6770070f4789cb769bd2b6a3eabad7d68"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 03 17:06:56 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 03 17:11:19 2012 -0800"
      },
      "message": "Split off the current control block to separate file\n\nPrepare for a new implementation of step() etc.\n\nChange-Id: I268421976ba577aa1fb5d7015de5441c05861190\n"
    },
    {
      "commit": "1a447be0cf1abc7564ae2afe7b4d2240c875de54",
      "tree": "a803fa1872f7dee894c405c8a3219c69f96e5aa5",
      "parents": [
        "3e5abe9b119513bdb5b8b8d7c9aa72de7339f78f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 03 11:18:00 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 03 11:40:44 2012 -0800"
      },
      "message": "setVideoSurfaceTexture is now synchronous and applied dynamically\n\nwhile playing.\n\nChange-Id: If9f08659a01bdc7dac0999730368e9dfa5e58d36\nrelated-to-bug: 5666482\n"
    },
    {
      "commit": "8f7453f6770070f4789cb769bd2b6a3eabad7d68",
      "tree": "787fcacb821498bd7493739157bcdb83873ae386",
      "parents": [
        "ec7dcac79c121ef015ee237891a5c90e67a977ab"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 30 15:00:36 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 03 11:38:57 2012 -0800"
      },
      "message": "Emphasize distinction between streaming and static\n\nUpdate comments and improve error checks to match\n\nChange-Id: I7370d6e59a7ef26dfb284a8b058d5ab2e0a42ccf\n"
    },
    {
      "commit": "ec7dcac79c121ef015ee237891a5c90e67a977ab",
      "tree": "5d7a9bbbc5a00e82f3f8383f5411e227f9a58b96",
      "parents": [
        "4b3a49e3a9ced6e63adab08acc5b720f8feddefa"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 30 13:41:12 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 03 10:42:52 2012 -0800"
      },
      "message": "flush() comments and checks\n\nflush() is only useful for streaming mode.\nIt is a no-op if track is active or uses a static buffer.\n\nChange-Id: I918ac181ffae3d16a0d67d8a7208f4aec61b5bd6\n"
    },
    {
      "commit": "4b3a49e3a9ced6e63adab08acc5b720f8feddefa",
      "tree": "4189f95a16953fa8218544fa5ceedfc7bee94e1d",
      "parents": [
        "9862e8f3ba69c46efbafdc8438bd88848a9d55da"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 29 13:38:14 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 03 09:57:37 2012 -0800"
      },
      "message": "AudioTrack::mute() is unused so remove it\n\nIf ever needed again, it could be implemented on client side by forcing\na track volume of 0.\n\nChange-Id: I88a9b4f675b6dca2948549414f9ec2c192d29269\n"
    },
    {
      "commit": "9862e8f3ba69c46efbafdc8438bd88848a9d55da",
      "tree": "135447319afbd9c293877df816bd806c7dc46980",
      "parents": [
        "a7c6ac4fae30d6248b2cfd6f5421cde4233613f1",
        "ab5bfb15f63887f999f11239e12d78a7babcd112"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 03 09:27:27 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 03 09:27:28 2012 -0800"
      },
      "message": "Merge \"AudioTrack inline short const methods\""
    },
    {
      "commit": "a7c6ac4fae30d6248b2cfd6f5421cde4233613f1",
      "tree": "c0f431f9c5606a184ae765aef75528e313afc850",
      "parents": [
        "36be3f2e3183ffa94f78c282ab7d3419b8c2e936",
        "43309327a15490726618e24da5778457f6f19464"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 03 09:19:20 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 03 09:19:20 2012 -0800"
      },
      "message": "am cd8d39e0: am f00d40c7: Merge \"Memory leak solved in MPEG4Extractor::parseChunk for cover art\"\n\n* commit \u0027cd8d39e00fb7896e56318cc192978446e21d46b8\u0027:\n  Memory leak solved in MPEG4Extractor::parseChunk for cover art\n"
    },
    {
      "commit": "43309327a15490726618e24da5778457f6f19464",
      "tree": "2f2b01259162237c2df754e4cd2e71fb55a8cd84",
      "parents": [
        "ae62b042f1da297377f40a6ad1bf22d69d348698",
        "6020ef18b39c65516a381263837899232b87d774"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 03 09:17:51 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 03 09:17:51 2012 -0800"
      },
      "message": "am f00d40c7: Merge \"Memory leak solved in MPEG4Extractor::parseChunk for cover art\"\n\n* commit \u0027f00d40c716fd4741fa56dd2b59813227658e50f2\u0027:\n  Memory leak solved in MPEG4Extractor::parseChunk for cover art\n"
    },
    {
      "commit": "36be3f2e3183ffa94f78c282ab7d3419b8c2e936",
      "tree": "ecbf3a16d17965406d78655763f762c69eff7193",
      "parents": [
        "3e5abe9b119513bdb5b8b8d7c9aa72de7339f78f",
        "217916f47c77870200856941480b5861ac7e2424"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 03 09:15:12 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 03 09:15:12 2012 -0800"
      },
      "message": "Merge \"Remove last bits of IAudioFlinger::channel_count\""
    },
    {
      "commit": "6020ef18b39c65516a381263837899232b87d774",
      "tree": "04a3c05102496001511738ec0106142a12a17623",
      "parents": [
        "1348d011577a0b083526055686619e901d43e550",
        "2cac3fcde42af0f198144dc5f413dc9e6faae4cc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 03 09:00:29 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 03 09:00:30 2012 -0800"
      },
      "message": "Merge \"Memory leak solved in MPEG4Extractor::parseChunk for cover art\""
    },
    {
      "commit": "b90b748d7484f1d464cd9e15289d77b83beed10e",
      "tree": "4a820515a821c1d7faddd67c1b64bb3035a90ee8",
      "parents": [
        "5676e25a9d99703a247cc03f3918f8ac2ddbb338"
      ],
      "author": {
        "name": "Roger1 Jonsson",
        "email": "roger1.jonsson@sonyericsson.com",
        "time": "Tue Dec 21 09:57:41 2010 +0100"
      },
      "committer": {
        "name": "Henrik Baard",
        "email": "henrik.baard@sonymobile.com",
        "time": "Mon Dec 03 08:13:09 2012 +0100"
      },
      "message": "Fix bad checks that causes crash when streaming H.263 content.\n\nRemove checks that causes crash for rtsp streamed h.263 content\nwith certain values in the RTP payload header:\nRemove zero check for the five reserved bits in the payload header.\nAccording to RFC 4629 these bits MUST be ignored by receivers.\nRemove zero-check for the VRC (Video Redundancy Coding) bit,\nskip packet instead.\nRemove zero-check for the PLEN bits (extra picture header),\nskip packet instead.\nRemove zero-check for the PEBIT bits (extra picture header),\nskip packet instead.\nRemove corresponding zero check for the four resreved bits in the\nAMR payload header. According to RFC 4867 these bits MUST be\nignored by receivers.\n\nChange-Id: I7fc21d69a19d23da24f9267623c338d415ef1387\n"
    },
    {
      "commit": "ab5bfb15f63887f999f11239e12d78a7babcd112",
      "tree": "353145e9f4318ed0ff4c7709f5d705bf1a63a55f",
      "parents": [
        "ce768c847c0df30ee9725b888e95167444477e55"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 29 07:32:49 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 30 15:23:44 2012 -0800"
      },
      "message": "AudioTrack inline short const methods\n\nChange-Id: I142917edb454d510bbe545e94e6eaea30b650fae\n"
    },
    {
      "commit": "457ec421a62995845698ada8d84d6c9de8d222dc",
      "tree": "83370bd1839d400639890da27862ff66435774a4",
      "parents": [
        "e8cb004257565111cb261f3e9c786adba881859a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 30 10:53:22 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 30 11:28:02 2012 -0800"
      },
      "message": "Fix nuplayer seek jankiness by properly flushing decoders before\n\ninitiating the seek. Also refactor the nuplayer state machine to make this\na little more maintainable and extensible in the future.\n\nChange-Id: I36a673bdecff732bca7094c8f72bac24f37c01e9\nrelated-to-bug: 7120373\n"
    },
    {
      "commit": "217916f47c77870200856941480b5861ac7e2424",
      "tree": "1e67351fbd13ada91516fd73d27b7a9eb49d8aab",
      "parents": [
        "ce768c847c0df30ee9725b888e95167444477e55"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 30 10:52:16 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 30 10:53:09 2012 -0800"
      },
      "message": "Remove last bits of IAudioFlinger::channel_count\n\nChange-Id: I9e13678e0aa32a86eb27367a4aff4b32b8aec8cc\n"
    },
    {
      "commit": "f59ab0eb162cc32df4fc0af8d1a4500c5bce3ecc",
      "tree": "6851003e7af892906473b96685a03767068b6168",
      "parents": [
        "4aefd5fc4dde13a8f3c9c27ec4055b771c0ee341",
        "53faa7ee457eb9b27be1fd814e42ffe43c8520a0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 29 14:32:21 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 14:32:21 2012 -0800"
      },
      "message": "am 2f6107ec: am b64def9a: Merge \"[wfd] Support a low(er) power state by triggering PAUSE/RESUME.\" into jb-mr1.1-dev\n\n* commit \u00272f6107ec8e67eea1f73b9558a5ad34caec52867f\u0027:\n  [wfd] Support a low(er) power state by triggering PAUSE/RESUME.\n"
    },
    {
      "commit": "4aefd5fc4dde13a8f3c9c27ec4055b771c0ee341",
      "tree": "d9c82dc7ead4b80fac077a0c0ea7c4fb1e20ee28",
      "parents": [
        "e1b3d69e2a5b391aa45047c6f90ee3d1ecfb74d3",
        "6b4f9facb1d0caf06d511bd1d5a020c6af793c2b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 29 14:32:20 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 14:32:20 2012 -0800"
      },
      "message": "am 5ea87edb: am e5aed03d: Enable retransmission of UDP packets in case we want to use it\n\n* commit \u00275ea87edbc97cd693fb7a9a8e00e712978315693c\u0027:\n  Enable retransmission of UDP packets in case we want to use it\n"
    },
    {
      "commit": "e1b3d69e2a5b391aa45047c6f90ee3d1ecfb74d3",
      "tree": "2f11e4bfe1705931720ac6903d90f8f453935c46",
      "parents": [
        "2e57f4c428be32a574e31b0f4aeeae8de24e5895",
        "06d739cfc61e45d9aaa296284d2628773bcfa9ca"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 29 14:32:19 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 14:32:19 2012 -0800"
      },
      "message": "am bd4f7b89: am 79c56d3f: Merge \"Reduce the frequency of IDR frames and add intra-fresh mode support for WiFi display\" into jb-mr1.1-dev\n\n* commit \u0027bd4f7b8931a316ca43fae033d86167c83a8bac07\u0027:\n  Reduce the frequency of IDR frames and add intra-fresh mode support for WiFi display\n"
    },
    {
      "commit": "2e57f4c428be32a574e31b0f4aeeae8de24e5895",
      "tree": "543aedc7a1c8299b135cfd1ef792c7689adb8e52",
      "parents": [
        "d5ab37a1a0e74a75537b9514289434651635a820",
        "cb9d270eecb7108e19323f522c5e82dcc80a5f32"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 29 14:32:18 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 14:32:18 2012 -0800"
      },
      "message": "am 296cb9dd: am 0dbe5a93: Added optional intra macroblock refresh support for encoding\n\n* commit \u0027296cb9ddd916c43983bfb4ddab9c69ed555d4cc4\u0027:\n  Added optional intra macroblock refresh support for encoding\n"
    },
    {
      "commit": "53faa7ee457eb9b27be1fd814e42ffe43c8520a0",
      "tree": "121339964fd8d4cb89e4d0ba0fafc801972f1290",
      "parents": [
        "6b4f9facb1d0caf06d511bd1d5a020c6af793c2b",
        "471dd1323f832a2b7daf42f7e75d2b4471dfe112"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 29 14:27:59 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 14:27:59 2012 -0800"
      },
      "message": "am b64def9a: Merge \"[wfd] Support a low(er) power state by triggering PAUSE/RESUME.\" into jb-mr1.1-dev\n\n* commit \u0027b64def9a555bfbf533a2da41ba0189b9842a76fb\u0027:\n  [wfd] Support a low(er) power state by triggering PAUSE/RESUME.\n"
    },
    {
      "commit": "6b4f9facb1d0caf06d511bd1d5a020c6af793c2b",
      "tree": "7c4c60432cc8a30be889be1661f75ef6594e6c8d",
      "parents": [
        "06d739cfc61e45d9aaa296284d2628773bcfa9ca",
        "2e6255f1c1fa4f8bc68da9f050755b86e6fa8d7e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 29 14:27:53 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 14:27:53 2012 -0800"
      },
      "message": "am e5aed03d: Enable retransmission of UDP packets in case we want to use it\n\n* commit \u0027e5aed03d30ea0ce49728873c5b74f89ba05a9541\u0027:\n  Enable retransmission of UDP packets in case we want to use it\n"
    },
    {
      "commit": "06d739cfc61e45d9aaa296284d2628773bcfa9ca",
      "tree": "bdf013ab282fe6b16771446b428c3c307c00ba8e",
      "parents": [
        "cb9d270eecb7108e19323f522c5e82dcc80a5f32",
        "7a7ea64c1daf025eafaba49617ee47add296254a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 29 14:25:49 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 14:25:49 2012 -0800"
      },
      "message": "am 79c56d3f: Merge \"Reduce the frequency of IDR frames and add intra-fresh mode support for WiFi display\" into jb-mr1.1-dev\n\n* commit \u002779c56d3f17d3193a0a86eb3c9bfdea90b89ae3f9\u0027:\n  Reduce the frequency of IDR frames and add intra-fresh mode support for WiFi display\n"
    },
    {
      "commit": "cb9d270eecb7108e19323f522c5e82dcc80a5f32",
      "tree": "cc71ef8cc847f6093e270226ed87e3cced4caa6e",
      "parents": [
        "45be8448daafeab8f37cb82cd2219f95bc218a6a",
        "e97adde42fabc3928a2ac0b8cdc88e35b24b85dc"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 29 14:25:47 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 14:25:47 2012 -0800"
      },
      "message": "am 0dbe5a93: Added optional intra macroblock refresh support for encoding\n\n* commit \u00270dbe5a9321b24b6883fbb2fe97cd9d525128b0b5\u0027:\n  Added optional intra macroblock refresh support for encoding\n"
    },
    {
      "commit": "d5ab37a1a0e74a75537b9514289434651635a820",
      "tree": "265b064a12a4697ecd3c967386f2cf8340afc663",
      "parents": [
        "6eb50f7ad52687331e55400a161164a62b8ebd52",
        "16572becd56c43a43ceffd8edd33263895d0c045"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 29 14:08:24 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 29 14:08:25 2012 -0800"
      },
      "message": "Merge \"Clear the sticky EOS flags when transitioning to LOADED state\""
    },
    {
      "commit": "16572becd56c43a43ceffd8edd33263895d0c045",
      "tree": "b002799fb68ebcca28316877f6c99879dabc5680",
      "parents": [
        "991012a8b887455cb44df782c49c610bb7cf9ec7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 29 13:49:07 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 29 13:49:07 2012 -0800"
      },
      "message": "Clear the sticky EOS flags when transitioning to LOADED state\n\ninstead of transitioning _from_ UNINITIALIZED state. This makes codec instances\nreusable.\n\nChange-Id: I8f0c11923978ffee58b553a5ac59c740b0223c54\n"
    },
    {
      "commit": "6eb50f7ad52687331e55400a161164a62b8ebd52",
      "tree": "18a2f828bb2b20997af83c541402a553ae2c763c",
      "parents": [
        "a6c87d18d0edf49ee5fa7c979f9d41b2febe4062",
        "45be8448daafeab8f37cb82cd2219f95bc218a6a"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Nov 29 11:35:12 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 11:35:12 2012 -0800"
      },
      "message": "am ce8dcdf5: am 031c93df: Merge \"Bug fix for the MediaPlayer::prepare() api.\"\n\n* commit \u0027ce8dcdf5361dd5de8c86cf5b0308c71d519f98ca\u0027:\n  Bug fix for the MediaPlayer::prepare() api.\n"
    },
    {
      "commit": "45be8448daafeab8f37cb82cd2219f95bc218a6a",
      "tree": "c40cacea51c8dbcf112649a9392887c0c04293c7",
      "parents": [
        "391daa215831b21f5e5c96598cb08b114263b4d5",
        "5676e25a9d99703a247cc03f3918f8ac2ddbb338"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Nov 29 11:33:11 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 11:33:11 2012 -0800"
      },
      "message": "am 031c93df: Merge \"Bug fix for the MediaPlayer::prepare() api.\"\n\n* commit \u0027031c93df74621dc2149876dc377aedee8930547f\u0027:\n  Bug fix for the MediaPlayer::prepare() api.\n"
    },
    {
      "commit": "5676e25a9d99703a247cc03f3918f8ac2ddbb338",
      "tree": "5cd96c679b6826e548e5fdb610d1d76f44775776",
      "parents": [
        "66665cbcf8668d6c6a77f64c49b6a1d5b439fa2e",
        "6e8f0bc59ad2409b294ad4eb803131500306bc8b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Nov 29 11:08:16 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 29 11:08:16 2012 -0800"
      },
      "message": "Merge \"Bug fix for the MediaPlayer::prepare() api.\""
    },
    {
      "commit": "471dd1323f832a2b7daf42f7e75d2b4471dfe112",
      "tree": "c934c5fef0bc36e992d7aa577e7bfcfb552c9e54",
      "parents": [
        "2e6255f1c1fa4f8bc68da9f050755b86e6fa8d7e",
        "bf4950aa265ec7b54777d122b27037461638af0f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 29 10:57:06 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 29 10:57:06 2012 -0800"
      },
      "message": "Merge \"[wfd] Support a low(er) power state by triggering PAUSE/RESUME.\" into jb-mr1.1-dev"
    },
    {
      "commit": "2e6255f1c1fa4f8bc68da9f050755b86e6fa8d7e",
      "tree": "82cdf076ca53994ff2b26174ba886cecbc6f20f9",
      "parents": [
        "7a7ea64c1daf025eafaba49617ee47add296254a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 29 09:54:42 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 29 10:35:24 2012 -0800"
      },
      "message": "Enable retransmission of UDP packets in case we want to use it\n\nin our upcoming wfd _sink_ implementation.\n\nChange-Id: I4509c30d5a7b992bc841b73d63db902bbcf8f76a\nrelated-to-bug: 7638155\n"
    },
    {
      "commit": "bf4950aa265ec7b54777d122b27037461638af0f",
      "tree": "5ef033aaa0bbf12936d00ddf64a7c6d242b4206f",
      "parents": [
        "7a7ea64c1daf025eafaba49617ee47add296254a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 16 10:38:11 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 29 10:33:51 2012 -0800"
      },
      "message": "[wfd] Support a low(er) power state by triggering PAUSE/RESUME.\n\nChange-Id: Ibe42bfa73816bbfeb7e652d435254d0171b89727\nrelated-to-bug: 7638150\n"
    },
    {
      "commit": "a6c87d18d0edf49ee5fa7c979f9d41b2febe4062",
      "tree": "817beba9d57bb8d823544f1c39526222abbd549e",
      "parents": [
        "1bfcf04b27bdd5320ab70b74285b855380e83f26",
        "391daa215831b21f5e5c96598cb08b114263b4d5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 29 09:49:35 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 09:49:35 2012 -0800"
      },
      "message": "am 37ddc8fc: am 251c04b1: Merge \"Unsolicited server responses cause RTSP streaming to crash\"\n\n* commit \u002737ddc8fc0f78234b5b3b58886113560cdf98aadf\u0027:\n  Unsolicited server responses cause RTSP streaming to crash\n"
    },
    {
      "commit": "391daa215831b21f5e5c96598cb08b114263b4d5",
      "tree": "f67d16df22a78caeacc7318b9aad0f623ef390e7",
      "parents": [
        "61c195615176903bb077a10d6b88ba112fefa250",
        "66665cbcf8668d6c6a77f64c49b6a1d5b439fa2e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 29 09:14:30 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 29 09:14:30 2012 -0800"
      },
      "message": "am 251c04b1: Merge \"Unsolicited server responses cause RTSP streaming to crash\"\n\n* commit \u0027251c04b1f3d048f541832c93347c6604b314e0ea\u0027:\n  Unsolicited server responses cause RTSP streaming to crash\n"
    },
    {
      "commit": "78cc49b4c4b25ea51dc5f6a6878ea158056bcf32",
      "tree": "eb165d3711f0e5c0deece7cc6cad55c554b1d764",
      "parents": [
        "0d55a6f35a2d37187139e50972f7b6c413b2371f"
      ],
      "author": {
        "name": "Lena Magnusson",
        "email": "lena.magnusson@sonyericsson.com",
        "time": "Fri Jan 20 09:39:38 2012 +0100"
      },
      "committer": {
        "name": "Henrik Baard",
        "email": "henrik.baard@sonymobile.com",
        "time": "Thu Nov 29 15:25:48 2012 +0100"
      },
      "message": "Unsolicited server responses cause RTSP streaming to crash\n\nIf the set up of the RTSP stream contains an incorrect or otherwise\nproblematic URL, some servers will send an unsolicited server response\nthat contains a negative number in the sequence number (CSeq) field.\n\nThis negative value is not returned from the function findPendingRequest(),\nso the check in notifyResponseListener() will not work.  Instead there will\nbe a crash when 0 is used as the index to find a matching request/response\npair that doesn’t exist.\n\nThe fix is to return the received sequence number also when it is an\nunsolicited server-client message.\n\nChange-Id: Iedaba8a63dece7b43bce007069baefbfd10970b8\n"
    },
    {
      "commit": "7a7ea64c1daf025eafaba49617ee47add296254a",
      "tree": "c782a57189eeb84045c3c9f05fd3c706a4d71b97",
      "parents": [
        "e97adde42fabc3928a2ac0b8cdc88e35b24b85dc",
        "7497e313a163d157647e2eb4a70b3e094cf637f7"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Nov 28 15:40:54 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 15:40:59 2012 -0800"
      },
      "message": "Merge \"Reduce the frequency of IDR frames and add intra-fresh mode support for WiFi display\" into jb-mr1.1-dev"
    },
    {
      "commit": "7497e313a163d157647e2eb4a70b3e094cf637f7",
      "tree": "4fe5ebf3b51e3ac832a6ef609f5da2cdf42aaadc",
      "parents": [
        "a4c5bc0f18fe272146426ab2eccad6215279c9f3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 15 18:31:50 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Nov 28 15:03:57 2012 -0800"
      },
      "message": "Reduce the frequency of IDR frames and add intra-fresh mode support for WiFi display\n\nThe time interval between periodic neighboring IDR frames is increased from 1 second to 15 seconds.\n\no related-to-bug: 7524791\n\nChange-Id: Ic32f37448f952f329549eda5e73637ee3b02f046\n"
    },
    {
      "commit": "e97adde42fabc3928a2ac0b8cdc88e35b24b85dc",
      "tree": "32cb87f38949e632da3cd71ea661069b7b07a531",
      "parents": [
        "a4c5bc0f18fe272146426ab2eccad6215279c9f3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 15 14:00:26 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Nov 28 13:21:07 2012 -0800"
      },
      "message": "Added optional intra macroblock refresh support for encoding\n\no related-to-bug: 7524791\n\nChange-Id: I95ac4ee925e2dbeb00b3cfb2e29c611698c5cc9f\n"
    },
    {
      "commit": "1bfcf04b27bdd5320ab70b74285b855380e83f26",
      "tree": "062f450ff86fc4732dc78437ef0adbdbab6dc877",
      "parents": [
        "72421521fd06787a407d06966e11f17b86900d2a",
        "61c195615176903bb077a10d6b88ba112fefa250"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Nov 28 09:44:19 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 28 09:44:19 2012 -0800"
      },
      "message": "am 7b7f17dc: am b7c8e918: Add support for HLS playlists of type \\\u0027event\\\u0027.\n\n* commit \u00277b7f17dc9b30ff4ecdf0aea9bcfa1c518d4ac1e7\u0027:\n  Add support for HLS playlists of type \u0027event\u0027.\n"
    },
    {
      "commit": "61c195615176903bb077a10d6b88ba112fefa250",
      "tree": "10204c708282416431c07c097d3e450427fa9d6b",
      "parents": [
        "5dd0a57f26c6c8dadc35454e69813145141386c4",
        "a4c5bc0f18fe272146426ab2eccad6215279c9f3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Nov 28 09:42:18 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 28 09:42:18 2012 -0800"
      },
      "message": "am b7c8e918: Add support for HLS playlists of type \\\u0027event\\\u0027.\n\n* commit \u0027b7c8e91880463ff4981e3e53e98e45d68e2fe374\u0027:\n  Add support for HLS playlists of type \u0027event\u0027.\n"
    },
    {
      "commit": "6e8f0bc59ad2409b294ad4eb803131500306bc8b",
      "tree": "a932f576e30894c11049260db982452961b4682e",
      "parents": [
        "0d55a6f35a2d37187139e50972f7b6c413b2371f"
      ],
      "author": {
        "name": "Dylan Powers",
        "email": "dylan.kyle.powers@gmail.com",
        "time": "Tue Nov 27 16:06:38 2012 -0800"
      },
      "committer": {
        "name": "Dylan Powers",
        "email": "dylan.kyle.powers@gmail.com",
        "time": "Tue Nov 27 18:18:44 2012 -0800"
      },
      "message": "Bug fix for the MediaPlayer::prepare() api.\n\nFor an MP3 source, within the prepare command, ID3 tags are checked in search of\ngapless playback info. This causes problems for streamed sources. If ID3v2 tags\naren\u0027t present, then a check is done for ID3v1 tags. This results in a read\ncommand that asks the cache to jump to the end of the file, and subsequently\nmake an extra http call to request those bytes. For a streamed source, this\ncauses the file to not be downloaded automatically when MediaPlayer::prepare()\nis called, and causes stuttering and extra buffering time to be needed when\nstart() is finally called.\nThe solution is to ignore the ID3v1 tags as the gapless info would never exist\nthere, and only check for ID3v2 tags.\n\nChange-Id: I7d1b94cffbfe7c38ca094834dedbc92a58855e20\n"
    },
    {
      "commit": "a4c5bc0f18fe272146426ab2eccad6215279c9f3",
      "tree": "9a067b002555730b806f7a86b87a92784ff64fbe",
      "parents": [
        "5ad21fb5686d4d32f61a47eab5a3fd2c4670e32d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 27 15:02:53 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 27 15:50:08 2012 -0800"
      },
      "message": "Add support for HLS playlists of type \u0027event\u0027.\n\nrelated-to-bug: 6870049\n\nSquashed commit of the following:\n\ncommit eee2f3ba6bb7335f4e285632726db85645669929\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Tue Nov 27 15:02:01 2012 -0800\n\n    Make everything a lot less verbose by default.\n\n    Change-Id: I884d7a7901aa1e7d4ff590f065ca57a79d2af8b3\n\ncommit 6bbdb837ed5bd88008e45efb8faf595e4051ba26\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Tue Nov 27 14:34:46 2012 -0800\n\n    HLS now properly signals media time changes at discontinuities including\n\n    the start of playback (which may not necessarily be at time 0 if the playlist\n    is of type \u0027event\u0027 and hasn\u0027t completed yet).\n\n    Change-Id: I5ab747d024f9b8d0df72a4e06a12ebb29f62802e\n\ncommit 1555589832b1878a144a976a643e1af4d61f877c\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Tue Nov 27 14:32:28 2012 -0800\n\n    As part of a time discontinuity, clients of IStreamListener can now\n\n    signal the corresponding media time after the discontinuity, i.e. the first PTS\n    timestamp following the discontinuity will be considered equivalent to the\n    specified media time and media buffers timestamped accordingly.\n\n    Change-Id: Id7db7679b7faa6efd6270620ff52e34e884f3e92\n\ncommit 5c24c605c073a11c426d025b1e7478fc1ad8365a\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Tue Nov 27 13:00:56 2012 -0800\n\n    NuPlayer sources now expose flags() and can announce\n\n    that duration may change (increase) dynamically, in which case duration\n    will be polled at 1 second intervals and communicated to the upper layers.\n\n    Change-Id: I45102909b7a19eed0dda576747e3814d742a0eea\n\ncommit ecb71de8e281e61971a2cd73e7161a97540bc357\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Tue Nov 27 12:57:47 2012 -0800\n\n    Stop caching duration in MediaPlayer, duration could increase dynamically.\n\n    Change-Id: I7bb2f16c0abe49debdf45c776d2266aa069d7791\n\ncommit 544aec5823e6d7a3e97e15b6b23546616bcd343e\nAuthor: Andreas Huber \u003candih@google.com\u003e\nDate:   Tue Nov 27 08:46:28 2012 -0800\n\n    An attempt to add support for \"event\" style HLS playlists.\n\n    Change-Id: I3dfb2e801ecaff8f5d8bdb3a4fca1b18aeeb2c60\n\nChange-Id: I48cf7f65a654d33f2f49ded74f8be22aed9e3b98\n"
    },
    {
      "commit": "85cecc25d877cb44b0b0f670c4e52dc4839a4064",
      "tree": "07b64cd3ed239d26b7aa810321dbf8c8476a9a7e",
      "parents": [
        "1dc9b1b88cfedc61a0795ea646b728ee129fc2e6",
        "47ea283ceaeab616c092f504efcf16eab88267e5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 27 09:41:12 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 27 09:41:12 2012 -0800"
      },
      "message": "am 8b5985d9: am 5768fa03: Merge \"Crash in android::MyHandler::parsePlayResponse\"\n\n* commit \u00278b5985d99becc2d5126b8a26afb6f5798b560007\u0027:\n  Crash in android::MyHandler::parsePlayResponse\n"
    },
    {
      "commit": "47ea283ceaeab616c092f504efcf16eab88267e5",
      "tree": "47d6ffc6e0fd3400194bfeb3dd12e52d20bae4c0",
      "parents": [
        "8680acaf8ccbb245b296e49ef0fa5ca311ac0fd3",
        "0d55a6f35a2d37187139e50972f7b6c413b2371f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 27 09:39:12 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 27 09:39:12 2012 -0800"
      },
      "message": "am 5768fa03: Merge \"Crash in android::MyHandler::parsePlayResponse\"\n\n* commit \u00275768fa034ede834656697d3612c525595ff85ef9\u0027:\n  Crash in android::MyHandler::parsePlayResponse\n"
    },
    {
      "commit": "0d55a6f35a2d37187139e50972f7b6c413b2371f",
      "tree": "859fcb3f0bc9369930af336da2c3bd132ee6008e",
      "parents": [
        "761ad2c39ab2b6d40379c5926caaf9d8bd5dce15",
        "e1a31d16dda3460a34e5dfd65c4e96e422dbdbfc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 27 08:50:52 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 27 08:51:08 2012 -0800"
      },
      "message": "Merge \"Crash in android::MyHandler::parsePlayResponse\""
    },
    {
      "commit": "e1a31d16dda3460a34e5dfd65c4e96e422dbdbfc",
      "tree": "ea89bf1f146c86157dc5a98b52217b45d497c009",
      "parents": [
        "f0e3acd06af00c07bfb541090b5349618fa67507"
      ],
      "author": {
        "name": "Patric Frederiksen",
        "email": "patric.frederiksen@sonyericsson.com",
        "time": "Mon Sep 26 10:51:35 2011 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Tue Nov 27 11:38:36 2012 +0100"
      },
      "message": "Crash in android::MyHandler::parsePlayResponse\n\nThis fix handles problems with several asynchronous calls\nwithin streaming. This case is when the phone has sent a\nrequest to the server and while the response is being sent\nback by the server the request is aborted by the user.\nThe fix is an if case that checks if we have aborted while\nwaiting for a response from the server. If we have aborted\nwe should ignore the late response instead of continuing.\n\nChange-Id: I1264bb992f6abcaee1f10a89479e08b54a95e3c2\n"
    },
    {
      "commit": "a98a8877396fdcdf04e64cf8674ede9d4212c97b",
      "tree": "be45aa8c1d52dfcc257238b50efaad8b67e112d5",
      "parents": [
        "517817df397fd331add3f53fa5b8cbbfe6cdc7d3",
        "115d8138fa0a288163bbeefaf763135f1fc5b677"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 26 14:39:20 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 26 14:39:20 2012 -0800"
      },
      "message": "am 5bc5bf39: am 79fd6853: Merge \"MediaCodec: Add a method for getting the component name\"\n\n* commit \u00275bc5bf39120ae27ef46a8b13f85bf44ea19c7d5e\u0027:\n  MediaCodec: Add a method for getting the component name\n"
    },
    {
      "commit": "115d8138fa0a288163bbeefaf763135f1fc5b677",
      "tree": "16ae7829e47b13d948dd402b6458e0833d5f7c36",
      "parents": [
        "8bcbabbfb8603875fb7e9eb0c6ea3cc3a5a06f00",
        "98c47abf4d04ca5df2c8fc403332d08d65e8ce1e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 26 14:37:22 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 26 14:37:22 2012 -0800"
      },
      "message": "am 79fd6853: Merge \"MediaCodec: Add a method for getting the component name\"\n\n* commit \u002779fd685323e34e0fde22d17fd6848d33f171f4ae\u0027:\n  MediaCodec: Add a method for getting the component name\n"
    },
    {
      "commit": "98c47abf4d04ca5df2c8fc403332d08d65e8ce1e",
      "tree": "c2803496a2d421ef879a19c4bd77049ed592e419",
      "parents": [
        "d338dcea8a9b87fbf63a87b0ccadb74c88d619d2",
        "8601efe463bf3331fa2a389ee13db25f21d28eb9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 26 13:48:41 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 26 13:48:41 2012 -0800"
      },
      "message": "Merge \"MediaCodec: Add a method for getting the component name\""
    },
    {
      "commit": "8bcbabbfb8603875fb7e9eb0c6ea3cc3a5a06f00",
      "tree": "8ccab4ae195ca5c6c0b2a4dad0cf87e0cf0cf005",
      "parents": [
        "2cfd3b7d85917666f80826bdb5b85f209b22c528",
        "d338dcea8a9b87fbf63a87b0ccadb74c88d619d2"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 26 10:00:09 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 26 10:00:09 2012 -0800"
      },
      "message": "am 5865ddf7: Merge \"AudioTrack::dump null mCblk check test\"\n\n* commit \u00275865ddf769d368d714af630aba18392ea1387bc7\u0027:\n  AudioTrack::dump null mCblk check test\n"
    },
    {
      "commit": "d338dcea8a9b87fbf63a87b0ccadb74c88d619d2",
      "tree": "31b8646fea82be32ea9b5e42cfcd726819f02649",
      "parents": [
        "9faed65805f976a1539f893bd884b7f25a42656e",
        "3ac30b696d8f3ae2c6ee87d58acfd71db7c2e808"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 26 08:59:50 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 26 08:59:51 2012 -0800"
      },
      "message": "Merge \"AudioTrack::dump null mCblk check test\""
    },
    {
      "commit": "3ac30b696d8f3ae2c6ee87d58acfd71db7c2e808",
      "tree": "3d95854536391df2820382ef4f6b5b6859a340eb",
      "parents": [
        "f0e3acd06af00c07bfb541090b5349618fa67507"
      ],
      "author": {
        "name": "Zbigniew Mazur",
        "email": "zbigniew.mazur@sonyericsson.com",
        "time": "Thu Oct 11 13:56:41 2012 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Fri Nov 23 09:49:30 2012 +0100"
      },
      "message": "AudioTrack::dump null mCblk check test\n\nThis fix is protecting AudioTrack::dump from SIGSEGEV\nwhen calling dumpsys shell command.\n\nChange-Id: I30d136e195a12d6fdad41e14f557b0ad9e59b8a2\n"
    },
    {
      "commit": "b614933a9cf99a6ebd55ae7abced9663d5d624a8",
      "tree": "a82da95a9dc73ec8fd387955cd0222c35617fe95",
      "parents": [
        "da398117aff410e1856299450ef6ca4faddad75c",
        "2cfd3b7d85917666f80826bdb5b85f209b22c528"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 20 12:49:52 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 20 12:49:52 2012 -0800"
      },
      "message": "am b96c4b4c: am 2da6e4ae: Merge \"Avoid memory leaks when handling metadata strings\"\n\n* commit \u0027b96c4b4ce8eb90a6bdb162681affe1e50fe6aafc\u0027:\n  Avoid memory leaks when handling metadata strings\n"
    },
    {
      "commit": "2cfd3b7d85917666f80826bdb5b85f209b22c528",
      "tree": "ea34531495d206671a9120099eb0d1dcd79f761e",
      "parents": [
        "12407d6a5161226bf9c29057d187892498fc566c",
        "9faed65805f976a1539f893bd884b7f25a42656e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 20 12:47:56 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 20 12:47:56 2012 -0800"
      },
      "message": "am 2da6e4ae: Merge \"Avoid memory leaks when handling metadata strings\"\n\n* commit \u00272da6e4ae488896df10b22166b0aa0b2cc15492f1\u0027:\n  Avoid memory leaks when handling metadata strings\n"
    },
    {
      "commit": "8a1016a6f4d274444379c2ed88cc32bfbdfeb346",
      "tree": "0929c350bf645a9e26568c64fa44396a3ce8f89d",
      "parents": [
        "35c96b589ed8095a0d3a7dfd166b40180c0cf84c"
      ],
      "author": {
        "name": "David Williams",
        "email": "david.williams@sonymobile.com",
        "time": "Mon Nov 19 09:52:16 2012 +0100"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 20 12:27:56 2012 -0800"
      },
      "message": "Avoid memory leaks when handling metadata strings\n\nDon\u0027t duplicate strings when retrieveing metadata from media\nfiles. As any requests for metadata strings would pass through\nthe binder, this would cause the reference to the duplicate string\nto be lost, causing a memory leak as the duplicate would not be\nfreed.\n\nChange-Id: I2593733472b1bb589bc502b2c11080f581015bb5\n"
    },
    {
      "commit": "c1d6b630da52f37db415e92741f7c011ce2959d5",
      "tree": "e3bd4d647435b6a488ed54fc817da4494ca2ed91",
      "parents": [
        "34a895226e062c15197e2be1dd710098224702c3",
        "12407d6a5161226bf9c29057d187892498fc566c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 20 09:27:22 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 20 09:27:22 2012 -0800"
      },
      "message": "am 14dda623: am 7013209c: Merge \"Handle large AVCC chunks\"\n\n* commit \u002714dda623c8db5f991b8a22dce4f19f8d8b47fea2\u0027:\n  Handle large AVCC chunks\n"
    },
    {
      "commit": "34a895226e062c15197e2be1dd710098224702c3",
      "tree": "f1d7c52b77772845505c7acc5806b58e3c77d9b7",
      "parents": [
        "bc9ea63daaad764d242ce0eadfeb697abb9ce34e",
        "fcc6d852b6efb93c1f189399446e4219578cc311"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 20 09:27:21 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 20 09:27:21 2012 -0800"
      },
      "message": "am 343f9c81: am dca2b5d7: Merge \"Changed parsing of trkn and disk from 8 bits to 16 bits\"\n\n* commit \u0027343f9c81f293f56e09b1cc1921844ecd3372e435\u0027:\n  Changed parsing of trkn and disk from 8 bits to 16 bits\n"
    },
    {
      "commit": "12407d6a5161226bf9c29057d187892498fc566c",
      "tree": "bc1c3b480bfb9a1a29a3c9f0c4741648d340ea8f",
      "parents": [
        "fcc6d852b6efb93c1f189399446e4219578cc311",
        "35c96b589ed8095a0d3a7dfd166b40180c0cf84c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 20 09:24:25 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 20 09:24:25 2012 -0800"
      },
      "message": "am 7013209c: Merge \"Handle large AVCC chunks\"\n\n* commit \u00277013209cdf393b3d958ddd46ed50394349378826\u0027:\n  Handle large AVCC chunks\n"
    },
    {
      "commit": "fcc6d852b6efb93c1f189399446e4219578cc311",
      "tree": "33612a6c88b9b10467f851e11f2561a08885d678",
      "parents": [
        "9b5aa9e2f204a381e1e295ba3de6bc752b1be065",
        "515bb03933b7ec4e7133c0cc6de72d9abd57687f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 20 09:24:24 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 20 09:24:24 2012 -0800"
      },
      "message": "am dca2b5d7: Merge \"Changed parsing of trkn and disk from 8 bits to 16 bits\"\n\n* commit \u0027dca2b5d7c29ee06f3c82527dd7264fcc21cac9a6\u0027:\n  Changed parsing of trkn and disk from 8 bits to 16 bits\n"
    },
    {
      "commit": "35c96b589ed8095a0d3a7dfd166b40180c0cf84c",
      "tree": "af0b9c2ad79e4322ef50cd1440318bad5c982e91",
      "parents": [
        "515bb03933b7ec4e7133c0cc6de72d9abd57687f",
        "0fd2883dbe2841b7b35f1e7581e5d9d59e58ad97"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 20 08:52:44 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 20 08:52:44 2012 -0800"
      },
      "message": "Merge \"Handle large AVCC chunks\""
    },
    {
      "commit": "515bb03933b7ec4e7133c0cc6de72d9abd57687f",
      "tree": "1884f6f2a913740c46b9d3f0024e1efe0ac92358",
      "parents": [
        "f42cde8ede088529c231de6a7aee7f043a7fcd09",
        "791841a80dc6bc46cb8d7f613b94338ec5b69b5c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 20 08:18:38 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 20 08:18:38 2012 -0800"
      },
      "message": "Merge \"Changed parsing of trkn and disk from 8 bits to 16 bits\""
    },
    {
      "commit": "a81a88597138de226da88fe10456d46289107e8a",
      "tree": "466a2ea7257cdd7aa1933a0cfb0f639774536979",
      "parents": [
        "40b13798d735429d1f00d8a89113e9ab2ef88fca",
        "c45128af9231a6e26c4deef798b79e74e4fad904"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Nov 19 11:53:52 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 19 11:53:53 2012 -0800"
      },
      "message": "Merge \"Clean up channel count and channel mask\""
    },
    {
      "commit": "c45128af9231a6e26c4deef798b79e74e4fad904",
      "tree": "cef13b83707e9d7ed208f6486768c6f666cafdd9",
      "parents": [
        "7aeff3f2197de81271c3e5547486f3407be56182"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 14 12:47:55 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Nov 19 11:25:58 2012 -0800"
      },
      "message": "Clean up channel count and channel mask\n\nChannel count is uint32_t.\nRemove redundant mask parameter to AudioTrack::createTrack_l()\n    and AudioRecord::openRecord_l().\n\nChange-Id: I5dc2b18eb609b2c0dc3091994cbaa4628062c17f\n"
    },
    {
      "commit": "40b13798d735429d1f00d8a89113e9ab2ef88fca",
      "tree": "1666129e3cab673cb43802332e94154fac730861",
      "parents": [
        "7aeff3f2197de81271c3e5547486f3407be56182"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 19 09:49:18 2012 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 19 09:49:18 2012 -0800"
      },
      "message": "delete -\u003e free\n\nStrings duplicated with strdup() should be free()d, not deleted.\n\nChange-Id: I42bb3df9625bb8d35f80b02d15364b94c36496f8\n"
    },
    {
      "commit": "8601efe463bf3331fa2a389ee13db25f21d28eb9",
      "tree": "03f0ae8a7bed86d1b704dbf90ce884794f754d5a",
      "parents": [
        "f0e3acd06af00c07bfb541090b5349618fa67507"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Tue Sep 25 11:43:02 2012 +0300"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Mon Nov 19 19:07:37 2012 +0200"
      },
      "message": "MediaCodec: Add a method for getting the component name\n\nIf the codec was chosen based on mime type, the caller does\nnot know what component actually was chosen. This allows\ngetting essential information (such as supported color formats,\nfor a video encoder) for this component.\n\nChange-Id: Ie471f40f8104b37d27ced3dba5a54facc6504b1b\n"
    },
    {
      "commit": "791841a80dc6bc46cb8d7f613b94338ec5b69b5c",
      "tree": "f47ef2fa1949a6985e9a8f3b040390370d58f0ad",
      "parents": [
        "f0e3acd06af00c07bfb541090b5349618fa67507"
      ],
      "author": {
        "name": "Andreas Lillvik",
        "email": "andreas.lillvik@sonyericsson.com",
        "time": "Wed Oct 13 15:37:01 2010 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Mon Nov 19 12:52:46 2012 +0100"
      },
      "message": "Changed parsing of trkn and disk from 8 bits to 16 bits\n\nThe MPEG4Extractor was parsing 8 bits instead of 16 bits when parsing\n\u0027trkn\u0027 and \u0027disk\u0027. Also added support for 16 bytes size \u0027disk\u0027.\n\nChange-Id: I22b4de2ac800881884d5759776cb380917522a87\n"
    },
    {
      "commit": "0fd2883dbe2841b7b35f1e7581e5d9d59e58ad97",
      "tree": "069eb4a3fe1a0d0ddcd9f551533126012d8b80d2",
      "parents": [
        "f0e3acd06af00c07bfb541090b5349618fa67507"
      ],
      "author": {
        "name": "Jan Olof Svensson",
        "email": "janolof.svensson@sonyericsson.com",
        "time": "Wed Sep 26 09:08:11 2012 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Mon Nov 19 10:44:31 2012 +0100"
      },
      "message": "Handle large AVCC chunks\n\nIf enabling seq_scaling_matrix_present_flag \u003d 1 the AVCC chunk can\nbe larger than the original buffer size. Changed to using ABuffer\ninstead.\n\nChange-Id: Idacc14b45ea2634c5e608919f3ce567f23363135\n"
    },
    {
      "commit": "2cac3fcde42af0f198144dc5f413dc9e6faae4cc",
      "tree": "c233e514a169cf786936a145fa105c9b5561b889",
      "parents": [
        "f0e3acd06af00c07bfb541090b5349618fa67507"
      ],
      "author": {
        "name": "Jens Gulin",
        "email": "jens.gulin@sonymobile.com",
        "time": "Mon Sep 10 15:54:40 2012 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Mon Nov 19 10:38:57 2012 +0100"
      },
      "message": "Memory leak solved in MPEG4Extractor::parseChunk for cover art\n\nRepeated leaks detected in mediaserver context. Most chunks small but\nsome bigger. Adding up it was not uncommon to see 200Mb footprint.\nlibc memdebug allocation call stack showed the root cause in \"covr\"\nparsing - that explains why content often was empty but sometimes big.\n\nChange-Id: I0de6c1eeef174d2529973ff9c6a020ec3dd44c75\n"
    },
    {
      "commit": "7aeff3f2197de81271c3e5547486f3407be56182",
      "tree": "ca07944b333958597df5c497404c71fff44ecff7",
      "parents": [
        "645f38376b042759ee3cfe78b7e97a6867b65814",
        "a204922b4c04633a4e9896db3c40763bcf921ade"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 16 15:47:51 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 16 15:47:52 2012 -0800"
      },
      "message": "Merge \"\"if\" statements use curly braces per media style\""
    },
    {
      "commit": "645f38376b042759ee3cfe78b7e97a6867b65814",
      "tree": "88190ed6c2d46ade289508d8af6be29104bb229c",
      "parents": [
        "0dec3d6af5ad8783149134e594aadbe5dc339b4d",
        "b59a5026ecdb3dc283c448e5bbd51b1c6d42b946"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 16 15:38:29 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 16 15:38:30 2012 -0800"
      },
      "message": "Merge \"Fix time vs. bytes units bug in getRenderPosition\""
    },
    {
      "commit": "0dec3d6af5ad8783149134e594aadbe5dc339b4d",
      "tree": "a27c2f5104000d2c4759edb35a02eea3a0e835f2",
      "parents": [
        "7f1a70a4b15b35830d3c2fc38b129957be58754b",
        "d7101432aa28f18b1510d9c186a27eecbeba46b2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 16 15:23:42 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 16 15:23:42 2012 -0800"
      },
      "message": "Merge \"Don\u0027t use control block frame count after create\""
    },
    {
      "commit": "7f1a70a4b15b35830d3c2fc38b129957be58754b",
      "tree": "0321f7a867f81c1854e3b62d9e2f28eebbb8fc24",
      "parents": [
        "3ac7625f2abcc84ed709da8346ddb93b6ecc060f",
        "411e447c4b90298f5ff635429c53f94fbce4fff9"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 16 15:03:51 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 16 15:03:52 2012 -0800"
      },
      "message": "Merge \"Don\u0027t explicitly log tid\""
    },
    {
      "commit": "d7101432aa28f18b1510d9c186a27eecbeba46b2",
      "tree": "a799279d37072b0e69dc7438f0541b3810a766da",
      "parents": [
        "991012a8b887455cb44df782c49c610bb7cf9ec7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 14 13:42:25 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 16 15:01:47 2012 -0800"
      },
      "message": "Don\u0027t use control block frame count after create\n\nThis is part of a series to clean up the control block.\n\nChange-Id: I7f4cb05aef63053f8e2ab05b286d302260ef4758\n"
    },
    {
      "commit": "5834181d3f168acb8ff4bf3eff1fd1186afb0bd4",
      "tree": "751942479f88b6a87783b8c54c37721c0c4cdfbc",
      "parents": [
        "991012a8b887455cb44df782c49c610bb7cf9ec7"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Nov 16 14:31:15 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Nov 16 14:33:57 2012 -0800"
      },
      "message": "Fix a crash when the stop might be called due to some error before start in RTSPSource\n\no related-to-bug: 7507224\n\nChange-Id: Ic8bfec13097b824ba337a01c9b00c98af2a33f43\n"
    },
    {
      "commit": "a204922b4c04633a4e9896db3c40763bcf921ade",
      "tree": "051a027c4fdc83ba3556546e9ced29709debb375",
      "parents": [
        "991012a8b887455cb44df782c49c610bb7cf9ec7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jun 22 17:21:07 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 16 14:32:45 2012 -0800"
      },
      "message": "\"if\" statements use curly braces per media style\n\nChange-Id: I130e7849fd1da7a0b7fe56c3c53919d26e3843b8\n"
    },
    {
      "commit": "411e447c4b90298f5ff635429c53f94fbce4fff9",
      "tree": "619602572b958b64fbd8a7b2a25fd96381b0885b",
      "parents": [
        "991012a8b887455cb44df782c49c610bb7cf9ec7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 02 10:00:06 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 16 14:26:21 2012 -0800"
      },
      "message": "Don\u0027t explicitly log tid\n\nIf needed, it can be obtained with adb logcat -v threadtime\n\nChange-Id: I91b3911d20f7bcfc3361db4052db21ff9181f1cf\n"
    },
    {
      "commit": "b59a5026ecdb3dc283c448e5bbd51b1c6d42b946",
      "tree": "454298a29609412d67b0de92d25a7c757675bf27",
      "parents": [
        "3c81bfb86cfa2b0bae4fea41cc26e3ce50af8517"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 16 12:01:44 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 16 14:16:15 2012 -0800"
      },
      "message": "Fix time vs. bytes units bug in getRenderPosition\n\nRename correctLatency since it requires thread to be locked.\nUse size_t for byte and frame counts.\n\nChange-Id: I178fdd18bdb823813b9563927bdff8c0d28ca5a5\n"
    },
    {
      "commit": "db182fc307c3fd50ea287f0cdc1b2032d6c056c1",
      "tree": "c17b70d54117ae5b1474c24dc0c05c4910d4982f",
      "parents": [
        "3c81bfb86cfa2b0bae4fea41cc26e3ce50af8517",
        "50fee506df0f18a2f0c2686b47dbce2170d4ee01"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 16 11:30:43 2012 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 16 11:30:43 2012 -0800"
      },
      "message": "resolved conflicts for merge of 205d7249 to master\n\nChange-Id: I3df408b6e30e0c0b2a19a3336134ce49fb73a8bb\n"
    },
    {
      "commit": "50fee506df0f18a2f0c2686b47dbce2170d4ee01",
      "tree": "f0025e4f46de7fac1b71a10cc7e582c1df552d16",
      "parents": [
        "830fbc06b6b5f2d3d14888fc39f7ac2d71ec5408",
        "f42cde8ede088529c231de6a7aee7f043a7fcd09"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 16 09:34:19 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 16 09:34:19 2012 -0800"
      },
      "message": "am da33d66e: Merge \"Add .mpga to acceptable file name extensions list.\"\n\n* commit \u0027da33d66e68791d0bfeccebc8253a59467b5ef670\u0027:\n  Add .mpga to acceptable file name extensions list.\n"
    },
    {
      "commit": "3c81bfb86cfa2b0bae4fea41cc26e3ce50af8517",
      "tree": "dfd51439479c50b920dfc1c1e47e905adcea3177",
      "parents": [
        "56938ef8dc82b49ddbc201a8855c91ba46d73bfb",
        "2ed5cf016c1b45426ae25ab105e02ff4bb992f28"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 16 08:19:30 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 16 08:19:31 2012 -0800"
      },
      "message": "Merge \"Add GSM 6.10 decoder\""
    },
    {
      "commit": "19af4c7966bda963f5d9143bd60f58a9e171cf0a",
      "tree": "ba3ae758aaddaf8de92168c23e98d13d75a5344e",
      "parents": [
        "f0e3acd06af00c07bfb541090b5349618fa67507"
      ],
      "author": {
        "name": "Jan Bjernler",
        "email": "jan2.bjernler@sonymobile.com",
        "time": "Fri Nov 16 16:40:42 2012 +0100"
      },
      "committer": {
        "name": "Zoran Jovanovic",
        "email": "zoran.jovanovic@sonymobile.com",
        "time": "Fri Nov 16 16:41:16 2012 +0100"
      },
      "message": "Add .mpga to acceptable file name extensions list.\n\nThe *.mpga files are playable, but are not correctly scanned.\nThis is because they are prevented from being scanned in\nStagefrightMediaScanner.cpp.\nWhat this fix does is to add the extension to the list of valid\nfile extensions so that the scanner handles the filetype properly.\nWe have previously added the .mpga extension to the framework to\nmake it playable, but not added it so that the scanner scans it.\n\nChange-Id: I02a44d770adb80d38e8bed77d0d76efa1b28a861\n"
    },
    {
      "commit": "2ed5cf016c1b45426ae25ab105e02ff4bb992f28",
      "tree": "ee20237cc679f6770dca37ddeb65128195029992",
      "parents": [
        "f550f56d4bc0fa165c675bbf2e41217c41089fcd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Nov 15 14:31:56 2012 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 16 07:35:42 2012 -0800"
      },
      "message": "Add GSM 6.10 decoder\n\nSupports Microsoft frame packing only, since that\u0027s what the sample\nfile used.\nb/6620569\n\nChange-Id: Ia89d95bcbf0f8dcbaad42148a7401728f60e079d\n"
    },
    {
      "commit": "7da35f231725aa6e0b2ac8714a7d66471368df77",
      "tree": "43c0c280293fce41ffe26176177f1cdec4e1831d",
      "parents": [
        "de5191e8b02f727756eb9d6e812af415d6cd0768"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 14 12:54:39 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 15 16:43:40 2012 -0800"
      },
      "message": "Use size_t for frame counts\n\nAlso fix typo: bufferCount should be frameCount.\n\nChange-Id: Ibed539504db75ef99dc21c8ff1bf2987122063a5\n"
    },
    {
      "commit": "de5191e8b02f727756eb9d6e812af415d6cd0768",
      "tree": "b15ceb80ff2dcd9cfd4f5cb8bcb060b0b7d153a6",
      "parents": [
        "5f3ddc56d0dfde768839923d8c36759445818fc0",
        "11860f04a8bb09c8569819d1d67e67d7e049a635"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 15 12:48:41 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 12:48:42 2012 -0800"
      },
      "message": "Merge \"wfd sink update.\""
    },
    {
      "commit": "11860f04a8bb09c8569819d1d67e67d7e049a635",
      "tree": "c5d76c6c95fe8afb131a5476706de5171a823fdf",
      "parents": [
        "8248ddb8244ee602e6304857c0f10c306f9bca1b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 15 11:16:30 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 15 11:16:30 2012 -0800"
      },
      "message": "wfd sink update.\n\nChange-Id: Ib4e41ec1524d045699543536acdddc9a243db741\n"
    },
    {
      "commit": "5f3ddc56d0dfde768839923d8c36759445818fc0",
      "tree": "f2e7aedc8d3f2ab3313c69fab3749b5430877245",
      "parents": [
        "8248ddb8244ee602e6304857c0f10c306f9bca1b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Nov 14 15:24:53 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 15 09:47:02 2012 -0800"
      },
      "message": "The length information of the chunks making up vorbis codec specific info\n\nare \"Xiph-style-lacing encoded\" instead of individual bytes.\n\nChange-Id: Ic1274a5bd8f082197bae6831da04002762a920c5\nrelated-to-bug: 7401329\n"
    },
    {
      "commit": "520a9af9438c29b24e328dd2b7a287c7a96a4e6b",
      "tree": "48d6cbcf8f8bd84e05c00855e0ede8d03e14e04c",
      "parents": [
        "1127d65d536ebbe447ee17ce0926a7ce4a2a3c08"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 21 12:56:37 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 14 16:45:53 2012 -0800"
      },
      "message": "Clean up frame size in AudioTrack and AudioFlinger\n\nTrackBase::mFrameSize, mChannelMask, and mChannelCount are now const.\nUse TrackBase::mFrameSize instead of re-calculating frame size.\nAudioFlinger only sees 16-bit PCM format, conversion from 8-bit is\n  now entirely on the client side.  Previously a small part of the\n  responsibility was on server side also.\nsize_t is unsigned, so use %u in logs.\nFix theoretical bug where TrackBase constructor was over-allocating space\n  for non-linear AudioTrack or 8-bit PCM AudioRecord (probably benign).\n\nChange-Id: I7cbbba0bf4dba29ea751d8af341ab8e5cbbdc206\n"
    },
    {
      "commit": "1127d65d536ebbe447ee17ce0926a7ce4a2a3c08",
      "tree": "5babfd3aecd195c92b12847592f415c6bad513e4",
      "parents": [
        "1513ad2d2de0962cc3b3121e6fae73d8ee1a4639"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 14 08:44:39 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 14 16:19:23 2012 -0800"
      },
      "message": "Use uint32_t for sample rate\n\nChange-Id: Ie240b48fb54b08359f69ecd4e5f8bda3d15cbe80\n"
    },
    {
      "commit": "1513ad2d2de0962cc3b3121e6fae73d8ee1a4639",
      "tree": "4baf59541c549bfc5b0367f1477dec1021954a35",
      "parents": [
        "8f1c74943c454fec3f1adf87312c4a4c89829d90",
        "020f79fd967736d36c7ec860814e2e93866a020f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 14 16:14:31 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 14 16:14:32 2012 -0800"
      },
      "message": "Merge \"Update audio comments\""
    },
    {
      "commit": "8f1c74943c454fec3f1adf87312c4a4c89829d90",
      "tree": "4e62b8802ffe56074f7e8b676143b9c838262472",
      "parents": [
        "a9749e3468fda2288dda65d1ef52e0997f6d8897",
        "f6fd99cc07deb0fa4f3e8fc278836bd90649964f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 14 15:43:41 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 14 15:43:41 2012 -0800"
      },
      "message": "Merge \"Remove deprecated AudioSystem methods\""
    },
    {
      "commit": "a9749e3468fda2288dda65d1ef52e0997f6d8897",
      "tree": "fd8b050956aca1d253a7770fface302ce8e08f61",
      "parents": [
        "656130a7bcff790dc9311754189d46bd4b911fbf",
        "98d9922247ef21b0faf8c7d817650b8327052a4a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 14 15:43:18 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 14 15:43:19 2012 -0800"
      },
      "message": "Merge \"Fix build warnings\""
    },
    {
      "commit": "020f79fd967736d36c7ec860814e2e93866a020f",
      "tree": "b0912d848ca1b2324b3be5580498ad69f65d0f8e",
      "parents": [
        "17158f4a36ed16c779477a56ec831da55e8128fe"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 07 14:03:00 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 14 11:58:17 2012 -0800"
      },
      "message": "Update audio comments\n\nChange-Id: I85d7d2f6381b251db5695202fec75128883a8662\n"
    },
    {
      "commit": "f550f56d4bc0fa165c675bbf2e41217c41089fcd",
      "tree": "3b6984d1d3971a5416f4418f3d2f27b26b40db4c",
      "parents": [
        "05eae7dcb16399c2ab1811ad951d53e6728823f6",
        "830fbc06b6b5f2d3d14888fc39f7ac2d71ec5408"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Nov 14 11:51:31 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 14 11:51:31 2012 -0800"
      },
      "message": "am dbb74f4e: am f0937247: Merge \"Properly signal an error if codec configuration goes wrong.\" into jb-mr1.1-dev\n\n* commit \u0027dbb74f4ee1a971da71f26739d870fc9334100499\u0027:\n  Properly signal an error if codec configuration goes wrong.\n"
    },
    {
      "commit": "05eae7dcb16399c2ab1811ad951d53e6728823f6",
      "tree": "f67ac4874559c2ff7e1803e7905e43590b316e95",
      "parents": [
        "17158f4a36ed16c779477a56ec831da55e8128fe",
        "990b9755bcafe5aa1e5db24b97b4c66073e75e02"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Nov 14 11:51:30 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 14 11:51:30 2012 -0800"
      },
      "message": "am 911d5f93: am 0224bf17: Various improvements of wifi display code\n\n* commit \u0027911d5f937adbd177c69bd6959603b8a3b776097e\u0027:\n  Various improvements of wifi display code\n"
    },
    {
      "commit": "830fbc06b6b5f2d3d14888fc39f7ac2d71ec5408",
      "tree": "4bd9346e70367c329812d388285bebe9ce0a89c5",
      "parents": [
        "990b9755bcafe5aa1e5db24b97b4c66073e75e02",
        "3326dffb07bc7cb724cae31923a122321ff5bb1a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Nov 14 11:49:55 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 14 11:49:55 2012 -0800"
      },
      "message": "am f0937247: Merge \"Properly signal an error if codec configuration goes wrong.\" into jb-mr1.1-dev\n\n* commit \u0027f0937247b6d92b7d9457c64e36fe4c10927685ac\u0027:\n  Properly signal an error if codec configuration goes wrong.\n"
    },
    {
      "commit": "990b9755bcafe5aa1e5db24b97b4c66073e75e02",
      "tree": "1a2a8065ff435b72ae7f04307740a8a46621e90c",
      "parents": [
        "f0e3acd06af00c07bfb541090b5349618fa67507",
        "83c9bd167600b3ff77008a6c06c05bb1f189d4ca"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Nov 14 11:49:54 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 14 11:49:54 2012 -0800"
      },
      "message": "am 0224bf17: Various improvements of wifi display code\n\n* commit \u00270224bf170a3904576bba81593eaab113c5d3a4e7\u0027:\n  Various improvements of wifi display code\n"
    }
  ],
  "next": "3326dffb07bc7cb724cae31923a122321ff5bb1a"
}
