)]}'
{
  "log": [
    {
      "commit": "b32761634799f00488f890cd3e38f47ce7cc3452",
      "tree": "c10f9e1aeff4053dc87524404c53b3b8a9e850c2",
      "parents": [
        "034566c1bb1a71d38399c930cd1b206880605458",
        "3a948fceb6b59121cc2e5eeb458064150870ffde"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jan 18 02:08:52 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 18 02:08:52 2013 +0000"
      },
      "message": "Merge \"AudioFlinger: fix build with debug log enabled\""
    },
    {
      "commit": "3a948fceb6b59121cc2e5eeb458064150870ffde",
      "tree": "6ecb6c8e785b2f4dc1a4aae297e680e09a7e7385",
      "parents": [
        "45490af027a15af9fe0fdfca21f423c74cd8e4e9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 17 17:36:00 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 17 17:40:38 2013 -0800"
      },
      "message": "AudioFlinger: fix build with debug log enabled\n\nChange-Id: Id397155ec884c41cb84b35462ea09a97a04d3ed2\n"
    },
    {
      "commit": "034566c1bb1a71d38399c930cd1b206880605458",
      "tree": "2750fb9765d50c01e89238b440af4af8ee1335f6",
      "parents": [
        "45490af027a15af9fe0fdfca21f423c74cd8e4e9"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Tue Sep 25 20:22:25 2012 +0900"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jan 17 14:33:21 2013 -0800"
      },
      "message": "Bug fix: set \u0027und\u0027 as default metadata language info for srt.\n\no Previously, it leaves language code empty and it is inconsistent with\n  other code which gives \u0027und\u0027. As a result, selected SRT track returned\n  empty language info. With this fix, it returns \u0027und\u0027.\n\nBug: 7227230\n\nTESTED\u003druntest -d cts-media -c android.media.cts.MediaPlayerTest -m\ntestGetTrackInfo\n\nChange-Id: I225848f029637dd782c376e0d770dddd5c849550\n"
    },
    {
      "commit": "45490af027a15af9fe0fdfca21f423c74cd8e4e9",
      "tree": "aef82885d2e5fbdaeea8ed57e5a83afb93d2db8c",
      "parents": [
        "95819503abcfafdb37fbba1401b6cd9dd91ff2f1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 10 14:26:24 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 10 14:52:24 2013 -0800"
      },
      "message": "Fix AudioRecord\n\nBug: 7965744\nChange-Id: Ic024e7fb32f7459b8093c2cf6cd5752aade21ddb\n"
    },
    {
      "commit": "95819503abcfafdb37fbba1401b6cd9dd91ff2f1",
      "tree": "e5cc31fdbcec75f498fd9e25d08e509dc5e26374",
      "parents": [
        "3f965475076db28848bee63d7515e80f04e3d3c1",
        "befdd0275dbb78e1a9fa2a33a3a1de731b1fe389"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 09 07:31:45 2013 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 09 07:31:46 2013 -0800"
      },
      "message": "Merge \"Fix build warnings\""
    },
    {
      "commit": "3f965475076db28848bee63d7515e80f04e3d3c1",
      "tree": "1078e1db8de7c82d095737df3455c48752c43aed",
      "parents": [
        "b438f008d958fbe3c1ef668822c128dfe5ce97ac",
        "eae312137f71af037d5f5b4071eef8e2ecd6055e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jan 08 17:14:41 2013 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 08 17:14:41 2013 -0800"
      },
      "message": "Merge \"Camera2: Fix JPEG quality metadata type, new warnings.\""
    },
    {
      "commit": "befdd0275dbb78e1a9fa2a33a3a1de731b1fe389",
      "tree": "87cc78382de43671c5cb94988831373a2b787d52",
      "parents": [
        "b438f008d958fbe3c1ef668822c128dfe5ce97ac"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 08 16:45:38 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 08 16:45:38 2013 -0800"
      },
      "message": "Fix build warnings\n\nChange-Id: I79f4d7052a4c0a9fde144063f44a9c8c9dd575d5\n"
    },
    {
      "commit": "eae312137f71af037d5f5b4071eef8e2ecd6055e",
      "tree": "c514ca8ed0e578fda7f23c530867182804818e55",
      "parents": [
        "4f6c4590f2064c289b33b2b3978a17f57f75590d"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jan 04 12:05:56 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Jan 07 10:22:24 2013 -0800"
      },
      "message": "Camera2: Fix JPEG quality metadata type, new warnings.\n\n- JPEG quality tag is now a uint8_t, not an int. Update parameter code\naccordingly.\n\n- Fix new warnings about narrowing conversions.\n\nBug: 7944244\n\nChange-Id: Ie081c57c9e9323148614b170b132ffb98c0a0b9f\n"
    },
    {
      "commit": "b438f008d958fbe3c1ef668822c128dfe5ce97ac",
      "tree": "e2b2ab8cf20640644830c92fb4918c8555b6315f",
      "parents": [
        "4f6c4590f2064c289b33b2b3978a17f57f75590d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 04 16:57:33 2013 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 04 16:59:27 2013 -0800"
      },
      "message": "Fix bug in AudioRecord() constructor\n\nIt was calling set() with wrong parameter list.\nThis goes back to commit be916aa1267e2e6b1c148f51d11bcbbc79cb864c from 2010.\n\nChange-Id: I2f6917765baf58260bf35e89a2cc59c199734ff6\n"
    },
    {
      "commit": "4f6c4590f2064c289b33b2b3978a17f57f75590d",
      "tree": "1932a3d2ebb0425576a857bd6379f94c6d0af02f",
      "parents": [
        "41aa725aa6c03b4ed814d0e2fcd30c7b6d2ad429",
        "7f73aa0a0a043764b3ed387765ae794aecae9ab8"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Dec 28 09:47:37 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 28 09:47:37 2012 -0800"
      },
      "message": "am 3e55b3e4: am 12834fe2: Merge \"libvideoeditor: fix code bugs when enabling all-level debugging macros\"\n\n* commit \u00273e55b3e4cdebd47a2e5b5df99107954fb4b1ab64\u0027:\n  libvideoeditor: fix code bugs when enabling all-level debugging macros\n"
    },
    {
      "commit": "41aa725aa6c03b4ed814d0e2fcd30c7b6d2ad429",
      "tree": "38b4cd3972ae0424c389395524737c41cbdc7bec",
      "parents": [
        "856ff4e4c3c43550f013e80277358fdf514342bf",
        "035f6c9c06791b75e6162433c6b2106d8f1851fb"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Dec 28 09:46:54 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 28 09:46:54 2012 -0800"
      },
      "message": "am cd2d2631: am b54cedab: Merge \"Use default values when MPEG4 audio config parsing fails.\"\n\n* commit \u0027cd2d263116576dc9770d31bb792e7cf2d6840b53\u0027:\n  Use default values when MPEG4 audio config parsing fails.\n"
    },
    {
      "commit": "856ff4e4c3c43550f013e80277358fdf514342bf",
      "tree": "8c4d4a5e03726de6b40ab9ed3519e738cae2fefc",
      "parents": [
        "5570227ac334479982a9dd8c1647c00f58f47c18",
        "552f274d82fb4988fb972df69134e031d375abfe"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Dec 21 15:04:30 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 21 15:04:30 2012 -0800"
      },
      "message": "Merge \"Start isolating control block accesses in a proxy\""
    },
    {
      "commit": "7f73aa0a0a043764b3ed387765ae794aecae9ab8",
      "tree": "f36d0b7aaf4f921c8453c95eba72ffc088394ded",
      "parents": [
        "035f6c9c06791b75e6162433c6b2106d8f1851fb",
        "2cd9cc25f07a9270a932fdf9c7b52c398e07bce5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Dec 21 14:42:34 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 21 14:42:34 2012 -0800"
      },
      "message": "am 12834fe2: Merge \"libvideoeditor: fix code bugs when enabling all-level debugging macros\"\n\n* commit \u002712834fe289e8173e94f31603fa6d313abe56ad70\u0027:\n  libvideoeditor: fix code bugs when enabling all-level debugging macros\n"
    },
    {
      "commit": "2cd9cc25f07a9270a932fdf9c7b52c398e07bce5",
      "tree": "80a9f81946ac2f413920e8400cb29c48c0a19f40",
      "parents": [
        "cc4e6091bd24f84e69d4baf4fce6ceae67676ee5",
        "437ced8a14944bf5450df50c5e7e7a6dfe20ea40"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Dec 21 14:09:14 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 21 14:09:14 2012 -0800"
      },
      "message": "Merge \"libvideoeditor: fix code bugs when enabling all-level debugging macros\""
    },
    {
      "commit": "035f6c9c06791b75e6162433c6b2106d8f1851fb",
      "tree": "2cc56f06a5c0011e0299aefd6a7f4d84bfba88b8",
      "parents": [
        "0b39e8c4dd563b59af4c78c86f735c8d9ef5e481",
        "cc4e6091bd24f84e69d4baf4fce6ceae67676ee5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Dec 21 10:05:52 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 21 10:05:52 2012 -0800"
      },
      "message": "am b54cedab: Merge \"Use default values when MPEG4 audio config parsing fails.\"\n\n* commit \u0027b54cedabdf0261211241e2f3af09c75cffd911ed\u0027:\n  Use default values when MPEG4 audio config parsing fails.\n"
    },
    {
      "commit": "5570227ac334479982a9dd8c1647c00f58f47c18",
      "tree": "885046de88c68c9fc468fd02617af4cafc6a758b",
      "parents": [
        "00169223fb04a14ddb542146223540e3695c8d27",
        "f37971f624164c3ed185d3f976404a6f60f49b9a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Dec 21 08:09:10 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 21 08:09:11 2012 -0800"
      },
      "message": "Merge \"Remove unnecessary parameter\""
    },
    {
      "commit": "cc4e6091bd24f84e69d4baf4fce6ceae67676ee5",
      "tree": "6277d0e5e817354203dd1514ab7903a791f782df",
      "parents": [
        "93c4d74d3d6bd953ff711f865bfc5fc92b2888cb",
        "a45a600d69a5d8ab99eeb7e0dfa58c3cb99a2e61"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Dec 20 18:25:12 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 20 18:25:12 2012 -0800"
      },
      "message": "Merge \"Use default values when MPEG4 audio config parsing fails.\""
    },
    {
      "commit": "00169223fb04a14ddb542146223540e3695c8d27",
      "tree": "fc573ac753d1a046c0a1300464a0fe2c0a631072",
      "parents": [
        "5533367bee43819e72f66506df752d465154cb57",
        "0b39e8c4dd563b59af4c78c86f735c8d9ef5e481"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Dec 20 14:10:26 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 20 14:10:26 2012 -0800"
      },
      "message": "am 9c891ca3: am 2a55b596: Merge \"libvideoeditor: fix cannot show some thumbnails in storyboard or no frame display in PreviewRenderer surface after importing video\"\n\n* commit \u00279c891ca36a7f2acecd70d41ff39a2025048bb0b1\u0027:\n  libvideoeditor: fix cannot show some thumbnails in storyboard or no frame display in PreviewRenderer surface after importing video\n"
    },
    {
      "commit": "0b39e8c4dd563b59af4c78c86f735c8d9ef5e481",
      "tree": "1e8928dac45ec681a4b440d45a84598064d08647",
      "parents": [
        "bc9f3fc7999a3222c559bc077fde1d5f5fdbc535",
        "93c4d74d3d6bd953ff711f865bfc5fc92b2888cb"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Dec 20 14:08:05 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 20 14:08:05 2012 -0800"
      },
      "message": "am 2a55b596: Merge \"libvideoeditor: fix cannot show some thumbnails in storyboard or no frame display in PreviewRenderer surface after importing video\"\n\n* commit \u00272a55b5964c6ae167cc1bc57eca5ca7a1c4aa452c\u0027:\n  libvideoeditor: fix cannot show some thumbnails in storyboard or no frame display in PreviewRenderer surface after importing video\n"
    },
    {
      "commit": "5533367bee43819e72f66506df752d465154cb57",
      "tree": "24e29ffb5178b8e9476ef7371017d1c5ea796e7d",
      "parents": [
        "4792d25c324e782ebe95adf43c49c5008f1c34e1",
        "d1ac40885d1f2969347a71749eba6d275821365a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 20 13:58:31 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 20 13:58:32 2012 -0800"
      },
      "message": "Merge \"Properly release any MediaBuffer references associated with the\""
    },
    {
      "commit": "d1ac40885d1f2969347a71749eba6d275821365a",
      "tree": "bee699e104bbd9ba80220360f7a6c2ec5ae0c0d8",
      "parents": [
        "e30c14b48fb9c5f47802fce32a3a1115b374b357"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 20 13:49:34 2012 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 20 13:49:34 2012 -0800"
      },
      "message": "Properly release any MediaBuffer references associated with the\n\nencoder input buffers on shutdown. This worked fine before for an orderly\nshutdown but didn\u0027t release all references in case of error.\n\nChange-Id: I0ea3eb26da76fbeb33cadf58d237b0c68a86ac4a\nrelated-to-bug: 7893090\n"
    },
    {
      "commit": "93c4d74d3d6bd953ff711f865bfc5fc92b2888cb",
      "tree": "ce5e7262427a900b756fea08cb2b4c65db069681",
      "parents": [
        "9e69d42d88c908b63b45f3a18da337f89f0dd734",
        "5350066763a35bbaf5b5f15f3f1680ec73852961"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Dec 20 13:15:28 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 20 13:15:28 2012 -0800"
      },
      "message": "Merge \"libvideoeditor: fix cannot show some thumbnails in storyboard or no frame display in PreviewRenderer surface after importing video\""
    },
    {
      "commit": "4792d25c324e782ebe95adf43c49c5008f1c34e1",
      "tree": "801533fd18ce271ef22d59095d4f84a7fd1efb4a",
      "parents": [
        "223fa9af371710d288dce79ef29af81a017c9e50",
        "79399a427dad4a65e20dafc6c8f7cb07c8d719c7"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 20 13:07:07 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 20 13:07:08 2012 -0800"
      },
      "message": "Merge \"Ensure proper EOS behavior\""
    },
    {
      "commit": "79399a427dad4a65e20dafc6c8f7cb07c8d719c7",
      "tree": "f8a94fb8b41baa33623c723483f3ed3c2cdb464f",
      "parents": [
        "14c4a2668ef130e25f5566082e03a694237bf5c0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 20 11:19:49 2012 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 20 11:19:49 2012 -0800"
      },
      "message": "Ensure proper EOS behavior\n\nIf a buffer is tagged with EOS but has data in it, decode that data\ninstead of ignoring it.\n\nChange-Id: Ie41c8485c3ad7fe7d9c64f0752c2e7601d91d602\n"
    },
    {
      "commit": "223fa9af371710d288dce79ef29af81a017c9e50",
      "tree": "4ce03a76b145748ec071a4e005ff4ac2b4c28b70",
      "parents": [
        "e30c14b48fb9c5f47802fce32a3a1115b374b357",
        "bc9f3fc7999a3222c559bc077fde1d5f5fdbc535"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Thu Dec 20 11:07:09 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 20 11:07:09 2012 -0800"
      },
      "message": "am 68c3de89: am df9cce64: Merge \"Allow multichannel FLAC files\"\n\n* commit \u002768c3de899f822acf3c735c681d206e852ad3821f\u0027:\n  Allow multichannel FLAC files\n"
    },
    {
      "commit": "bc9f3fc7999a3222c559bc077fde1d5f5fdbc535",
      "tree": "21e3a91244a094646e6dd8537abd0fa96845accc",
      "parents": [
        "e9a7857dc045a4465c9e59ea8df67cdd707345b7",
        "9e69d42d88c908b63b45f3a18da337f89f0dd734"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Thu Dec 20 11:03:48 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 20 11:03:48 2012 -0800"
      },
      "message": "am df9cce64: Merge \"Allow multichannel FLAC files\"\n\n* commit \u0027df9cce649d9ac1f4446f613c54191e7c4d646f07\u0027:\n  Allow multichannel FLAC files\n"
    },
    {
      "commit": "e30c14b48fb9c5f47802fce32a3a1115b374b357",
      "tree": "15dea79f55777d0d58ad55be456f9ecc91162dbb",
      "parents": [
        "10f57df484daecc356ca1720c4ba799a8bf6761a",
        "74b8adfbec4b34da7904de544f1e549e21a90426"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Dec 20 08:58:04 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 20 08:58:05 2012 -0800"
      },
      "message": "Merge \"Fix bug with discarded AudioRecord::read count\""
    },
    {
      "commit": "10f57df484daecc356ca1720c4ba799a8bf6761a",
      "tree": "009ba67be543152cd53916c86c82b6fe23a705df",
      "parents": [
        "f93aa1fdae47ca2eddc7ca35fbde4266b114e8c5",
        "92b1343f5fbc2fc43198a0a1252fe023cc9a5061"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Dec 20 08:32:43 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 20 08:32:43 2012 -0800"
      },
      "message": "Merge \"Fix build warnings\""
    },
    {
      "commit": "f93aa1fdae47ca2eddc7ca35fbde4266b114e8c5",
      "tree": "b6b21be3565c767dcf9aecd7656bff1c4196f3b1",
      "parents": [
        "f5961efd27adde3726b78386328b0e649b248171",
        "05f9e4fe9a97e077b5ed37214464c0a67af80871"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Dec 20 07:39:48 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 20 07:39:49 2012 -0800"
      },
      "message": "Merge \"Add warning about following the design rules\""
    },
    {
      "commit": "9e69d42d88c908b63b45f3a18da337f89f0dd734",
      "tree": "5415cdb4dcb8058d4e9fb9f9fd6e6a5fad650669",
      "parents": [
        "43c32aaaf222c13357cf8fccfa6ffc34c5872947",
        "91de11b05f1bbde310dcc2ab22770970721e79a5"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Thu Dec 20 07:30:41 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 20 07:30:42 2012 -0800"
      },
      "message": "Merge \"Allow multichannel FLAC files\""
    },
    {
      "commit": "f37971f624164c3ed185d3f976404a6f60f49b9a",
      "tree": "e3455056e9e0512786cfdd832e1fd8bba765bc7c",
      "parents": [
        "34d7db5dd43000cac7e8e156d79e9f97ccbb8990"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 03 11:06:53 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Dec 18 16:16:30 2012 -0800"
      },
      "message": "Remove unnecessary parameter\n\nJust get the parameter on server side\n\nChange-Id: I433a63104dbb257e0d862be2ab61847cb36d1c15\n"
    },
    {
      "commit": "f5961efd27adde3726b78386328b0e649b248171",
      "tree": "2af4a94490812eaf31456a6f4b0bcf935890d66e",
      "parents": [
        "e4bbe007c721d29671c95cefd6162c018726bffe",
        "b69d77ca8ef84bcdf75734326bb0ab64f7bb10d1"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Dec 18 15:21:28 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 18 15:21:28 2012 -0800"
      },
      "message": "Merge \"Fix memory leakage from MPEG4Writer.\""
    },
    {
      "commit": "e4bbe007c721d29671c95cefd6162c018726bffe",
      "tree": "edf505a101583770be2e7642b89397f940189243",
      "parents": [
        "14c4a2668ef130e25f5566082e03a694237bf5c0",
        "484566c410afdfbc4b6bc5aa1732aef37428a5b8"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Dec 18 15:21:20 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 18 15:21:21 2012 -0800"
      },
      "message": "Merge \"Rename ISurfaceTexture and SurfaceTexture\""
    },
    {
      "commit": "14c4a2668ef130e25f5566082e03a694237bf5c0",
      "tree": "8f150a617b984e33840a68d18ad096fce2204e62",
      "parents": [
        "1c80821b0720175478981ac43e7ca9567b58b7c5",
        "616d9ea56744a9aeb3ae93e850450732acfe96a8"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Dec 18 15:17:33 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 18 15:17:33 2012 -0800"
      },
      "message": "Merge \"Report buffer size even when using hardware buffers\""
    },
    {
      "commit": "1c80821b0720175478981ac43e7ca9567b58b7c5",
      "tree": "7c1b98f98f50826073f49a952162ce07e0ed322f",
      "parents": [
        "34d7db5dd43000cac7e8e156d79e9f97ccbb8990"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Dec 17 16:35:08 2012 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Dec 18 15:16:00 2012 -0800"
      },
      "message": "Make codecs reconfigurable\n\nChange-Id: I3dd46cb4401493becbf6152f4dcd5a8f1e9a0b44\n"
    },
    {
      "commit": "616d9ea56744a9aeb3ae93e850450732acfe96a8",
      "tree": "cb2da176ff5f4924f34415122bdcdd02fc775967",
      "parents": [
        "34d7db5dd43000cac7e8e156d79e9f97ccbb8990"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Dec 18 12:28:27 2012 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Dec 18 14:46:11 2012 -0800"
      },
      "message": "Report buffer size even when using hardware buffers\n\nThis makes it so that the buffers dequeued from a MediaCodec show\na non-zero size when there\u0027s actually data in them, which allows\nthe caller to distinguish between a valid frame and an empty buffer.\n\nChange-Id: I891b2301501e26f0b4e8cf2e24c169e501a6d026\n"
    },
    {
      "commit": "484566c410afdfbc4b6bc5aa1732aef37428a5b8",
      "tree": "5ce1fc6a755c32f0b6ff362fe1fc5bf0d9ee2b14",
      "parents": [
        "34d7db5dd43000cac7e8e156d79e9f97ccbb8990"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Dec 18 09:46:54 2012 -0800"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Dec 18 13:31:57 2012 -0800"
      },
      "message": "Rename ISurfaceTexture and SurfaceTexture\n\nThe C++ class names don\u0027t match what the classes do, so rename\nISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to\nGLConsumer.\n\nBug 7736700\n\nChange-Id: I64520a55f8c09fe6215382ea361c539a9940cba5\n"
    },
    {
      "commit": "b69d77ca8ef84bcdf75734326bb0ab64f7bb10d1",
      "tree": "d4de0e4c16693d6656efc9005c1ee323dfff464a",
      "parents": [
        "ba8da49e244be1e18b19bb16b16ff5c75e165712"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Dec 13 18:58:38 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Dec 18 11:14:02 2012 -0800"
      },
      "message": "Fix memory leakage from MPEG4Writer.\n\no The in-memory cache, mMoovBoxBuffer, holding the content for Moov box may not be freed.\no Added comment describing how the in-memory cache works\no Moved the memory release to a single place to make the code more robust\no Avoided allocating the in-memory cache if the file is not intended to be streamable\n\no related-to-bug: 7664029\n\nChange-Id: If04fc6b12daeaaa86710dfb4b4b9c175da6421df\n"
    },
    {
      "commit": "74b8adfbec4b34da7904de544f1e549e21a90426",
      "tree": "100e0a0a62d362be52e05e8d3988f20f4e5ae7bc",
      "parents": [
        "d272d6bf640dcaebeee7405469f9cacfa4bc1b72"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 17 11:44:20 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 17 17:26:44 2012 -0800"
      },
      "message": "Fix bug with discarded AudioRecord::read count\n\nFormerly, if an AudioRecord::read() got a timeout on obtainBuffer()\nafter already successfully transferring some data, then it returned zero.\nThis had the effect of discarding a partial transfer, which resulted in\na gap in the audio data delivered to the app.  Now if a timeout occurs\nafter a partial transfer, it returns that partial transfer count so that\nno data is lost.\n\nChange-Id: I0d9c2f4e495a400b56ef916a06613ba26537ca97\n"
    },
    {
      "commit": "34d7db5dd43000cac7e8e156d79e9f97ccbb8990",
      "tree": "b477a8d13f7e4f3b6085a55af3b9088ca6e2d2fd",
      "parents": [
        "d272d6bf640dcaebeee7405469f9cacfa4bc1b72",
        "e9a7857dc045a4465c9e59ea8df67cdd707345b7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Mon Dec 17 13:20:30 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 17 13:20:30 2012 -0800"
      },
      "message": "am 9435b498: am f38259cf: Merge \"Fix bug in WAVExtractor for 24-bit per sample wav\"\n\n* commit \u00279435b498123f3e22532391c30eb42c336bf743ec\u0027:\n  Fix bug in WAVExtractor for 24-bit per sample wav\n"
    },
    {
      "commit": "e9a7857dc045a4465c9e59ea8df67cdd707345b7",
      "tree": "31a5f3cc1e5af890d48ec0abc3fcbd18564c4c8f",
      "parents": [
        "db09629a6dcedf6c9e301a93a8da9524b40c77a0",
        "43c32aaaf222c13357cf8fccfa6ffc34c5872947"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Mon Dec 17 13:18:08 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 17 13:18:08 2012 -0800"
      },
      "message": "am f38259cf: Merge \"Fix bug in WAVExtractor for 24-bit per sample wav\"\n\n* commit \u0027f38259cfe5566914a49f5b0f8b11aa6a951d667a\u0027:\n  Fix bug in WAVExtractor for 24-bit per sample wav\n"
    },
    {
      "commit": "92b1343f5fbc2fc43198a0a1252fe023cc9a5061",
      "tree": "1b18972d51d768689868d373b1b0e4187eb1af99",
      "parents": [
        "d272d6bf640dcaebeee7405469f9cacfa4bc1b72"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Dec 14 07:13:28 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 17 12:34:42 2012 -0800"
      },
      "message": "Fix build warnings\n\nChange-Id: I9e3cfa0c6b3467fe763ce55f759d179f02c5deea\n"
    },
    {
      "commit": "43c32aaaf222c13357cf8fccfa6ffc34c5872947",
      "tree": "4d423eff2848657acc15d72b4e36aaa01378c5d9",
      "parents": [
        "65e8ca7abe6b5a69a61112fc694c6babdc52220f",
        "51634104ae2e91353905e53cdcb483a86d408ca7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Mon Dec 17 12:29:06 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 17 12:29:06 2012 -0800"
      },
      "message": "Merge \"Fix bug in WAVExtractor for 24-bit per sample wav\""
    },
    {
      "commit": "d272d6bf640dcaebeee7405469f9cacfa4bc1b72",
      "tree": "7dbe5de932beb4935c0caa3cab47d9df50d42b52",
      "parents": [
        "432e1d8013157a66383d9256541f2f8712e4cf5a",
        "db09629a6dcedf6c9e301a93a8da9524b40c77a0"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Dec 14 16:49:02 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 14 16:49:02 2012 -0800"
      },
      "message": "am 442e29ef: am 0cd75629: Merge \"Match new paths and organization in external/libvpx\"\n\n* commit \u0027442e29ef408f2cd32610988b52be6e06e11e4de2\u0027:\n  Match new paths and organization in external/libvpx\n"
    },
    {
      "commit": "432e1d8013157a66383d9256541f2f8712e4cf5a",
      "tree": "7dbe5de932beb4935c0caa3cab47d9df50d42b52",
      "parents": [
        "10174bfdac537730be6729b9d47ad7d5bafed072",
        "da99f77816e04f7ea3dafcb371e84d070f5b312a"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 14 16:49:01 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 14 16:49:01 2012 -0800"
      },
      "message": "am 34d2f109: am 409542cd: Merge \"FileSource: FILE is not closed\"\n\n* commit \u002734d2f10908526cf3011d6c167a5817522b5a24d7\u0027:\n  FileSource: FILE is not closed\n"
    },
    {
      "commit": "db09629a6dcedf6c9e301a93a8da9524b40c77a0",
      "tree": "5f7ca6abbb03070f51ae5bfc8967d1f393936553",
      "parents": [
        "da99f77816e04f7ea3dafcb371e84d070f5b312a",
        "65e8ca7abe6b5a69a61112fc694c6babdc52220f"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Dec 14 15:25:22 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 14 15:25:22 2012 -0800"
      },
      "message": "am 0cd75629: Merge \"Match new paths and organization in external/libvpx\"\n\n* commit \u00270cd75629a8f7a6bd47b2abc6dd8d9f66e70d76a4\u0027:\n  Match new paths and organization in external/libvpx\n"
    },
    {
      "commit": "da99f77816e04f7ea3dafcb371e84d070f5b312a",
      "tree": "730ff1f334d635641c9d1e59f3e116c46261c202",
      "parents": [
        "a4f324673f615d604362d86e1878e85c126847af",
        "16ffd2e30bedbec15b9015f1935b9761279a98be"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 14 15:25:21 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 14 15:25:21 2012 -0800"
      },
      "message": "am 409542cd: Merge \"FileSource: FILE is not closed\"\n\n* commit \u0027409542cdaf72d8983043f2746d9d916ee1566a80\u0027:\n  FileSource: FILE is not closed\n"
    },
    {
      "commit": "10174bfdac537730be6729b9d47ad7d5bafed072",
      "tree": "748e86142cf85a9c49a1c7a4db67a24da5d90d79",
      "parents": [
        "da690cef33c2a1db108ebddeb1e31b43afa2347d"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Dec 14 13:49:48 2012 -0800"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Dec 14 13:50:40 2012 -0800"
      },
      "message": "SurfaceMediaSource: wait on fence from acquired buffers\n\nChange-Id: I4ab93a4adeec536648258c70a7d943503d9b10f4\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "65e8ca7abe6b5a69a61112fc694c6babdc52220f",
      "tree": "b0d52a753de6c7f7dd985f6aab493fa1af3c1ab3",
      "parents": [
        "16ffd2e30bedbec15b9015f1935b9761279a98be",
        "e81a9610343425e5bb76cdb297065426c6e75ef0"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Dec 14 12:48:41 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 14 12:48:42 2012 -0800"
      },
      "message": "Merge \"Match new paths and organization in external/libvpx\""
    },
    {
      "commit": "16ffd2e30bedbec15b9015f1935b9761279a98be",
      "tree": "6c1cd1bdef55df574d94b05dc68baf4fa28839bb",
      "parents": [
        "f4283b689abeac92399a26813ca12234050dcb2f",
        "e0d44a50c3ddc5b1bc1b8efb551176c084929342"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 14 12:05:02 2012 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 14 12:05:02 2012 -0800"
      },
      "message": "Merge \"FileSource: FILE is not closed\""
    },
    {
      "commit": "e0d44a50c3ddc5b1bc1b8efb551176c084929342",
      "tree": "6c1cd1bdef55df574d94b05dc68baf4fa28839bb",
      "parents": [
        "f4283b689abeac92399a26813ca12234050dcb2f"
      ],
      "author": {
        "name": "You Kim",
        "email": "you.kim72@gmail.com",
        "time": "Fri Dec 14 22:22:36 2012 +0900"
      },
      "committer": {
        "name": "You Kim",
        "email": "you.kim72@gmail.com",
        "time": "Fri Dec 14 22:22:36 2012 +0900"
      },
      "message": "FileSource: FILE is not closed\n\nAdd destructor to call fclose.\n\nChange-Id: I765c56236f8df58af998439492b0b955ab57606f\n"
    },
    {
      "commit": "da690cef33c2a1db108ebddeb1e31b43afa2347d",
      "tree": "52b8fc536d7fe4ae5b8c2a0391bc8f529b59dcdb",
      "parents": [
        "c8849107ad2fd0ab6b6464af2551fe3706ce643d",
        "75ce7656a2c0d2391b224e9c473e57b17ca23efb"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 13 11:23:09 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 13 11:23:10 2012 -0800"
      },
      "message": "Merge \"Signal that IDR frames are sync frames\""
    },
    {
      "commit": "75ce7656a2c0d2391b224e9c473e57b17ca23efb",
      "tree": "92dc20545a8a44141ccb3f7e96a5a49f35a0f9ce",
      "parents": [
        "0e73fead7e765c63cd95858ec40f093b41ac881b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 13 11:10:05 2012 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 13 11:10:05 2012 -0800"
      },
      "message": "Signal that IDR frames are sync frames\n\nChange-Id: Iaf77edc0572cae38935fd9d94367adbfcb370985\n"
    },
    {
      "commit": "e81a9610343425e5bb76cdb297065426c6e75ef0",
      "tree": "cb79f369b569f24f14fd822c393f5650de146278",
      "parents": [
        "f4283b689abeac92399a26813ca12234050dcb2f"
      ],
      "author": {
        "name": "Johann",
        "email": "johannkoenig@google.com",
        "time": "Mon Oct 29 16:48:23 2012 -0700"
      },
      "committer": {
        "name": "Johann",
        "email": "johannkoenig@google.com",
        "time": "Wed Dec 12 16:07:07 2012 -0800"
      },
      "message": "Match new paths and organization in external/libvpx\n\nSee I2c0a87b0fc049e855e21f455b806287b578091de\n\nChange-Id: Iec8566bce0a4763a9a17b4a46f15aa39b5bcd141\n"
    },
    {
      "commit": "c8849107ad2fd0ab6b6464af2551fe3706ce643d",
      "tree": "c91de468cfeb0e8a2f90891534fb4ed864ce0959",
      "parents": [
        "13b028bf3bf783e413c9792b605fd98247c52348",
        "0b95d8a547316997b5e280f7acb1df362f3e820b"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed Dec 12 14:57:16 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 14:57:16 2012 -0800"
      },
      "message": "Merge \"Match new paths and organization in external/libvpx\""
    },
    {
      "commit": "13b028bf3bf783e413c9792b605fd98247c52348",
      "tree": "ee3def9f9ff504d401e0b7935de9f78f6ad5a4f6",
      "parents": [
        "cc492bd388898f90cec4faae3c7fde561dd52239",
        "0e73fead7e765c63cd95858ec40f093b41ac881b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 12 14:04:22 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 14:04:22 2012 -0800"
      },
      "message": "Merge \"Increase buffer size for video\""
    },
    {
      "commit": "0e73fead7e765c63cd95858ec40f093b41ac881b",
      "tree": "ceb3705eff4388684f301f2cee15a67827859f90",
      "parents": [
        "1457bf40071bbae83086bc67138caa59c1057248"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 12 11:49:23 2012 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 12 13:59:54 2012 -0800"
      },
      "message": "Increase buffer size for video\n\nChange-Id: I055e1336954387f7b48aa58d893a3a5fae036ece\n"
    },
    {
      "commit": "552f274d82fb4988fb972df69134e031d375abfe",
      "tree": "6c356ad9ec05a6b6e392aae86cdc296c98d13a65",
      "parents": [
        "cc492bd388898f90cec4faae3c7fde561dd52239"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Dec 04 12:22:46 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Dec 12 12:21:59 2012 -0800"
      },
      "message": "Start isolating control block accesses in a proxy\n\nThe proxy object will eventually be the only code that understands the\ndetails of the control block.  This should make it easier to change the\ncontrol block in the future.\n\nInitial set of control block fields that are isolated:\n - sample rate\n - send level\n - volume\n\nPrepare for streaming/static separation by adding a union to the control\nblock for the new fields.\n\nFix bug in handling of max sample rate on a track.  It was only checking\nat re-configuration, not at each mix.\n\nSimplify OutputTrack::obtainBuffer.\n\nChange-Id: I2249f9d04f73a911a922ad1d7f6197292c74cd92\n"
    },
    {
      "commit": "cc492bd388898f90cec4faae3c7fde561dd52239",
      "tree": "9cae82cd79e671b5f9515778be5cebc3ddb87706",
      "parents": [
        "17cf30ef5b2464db562786e88b5c8daf33283091"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Dec 12 12:15:23 2012 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Dec 12 12:15:23 2012 -0800"
      },
      "message": "stop using a deprecated SurfaceTextureClient ctor\"\n"
    },
    {
      "commit": "17cf30ef5b2464db562786e88b5c8daf33283091",
      "tree": "2f39f701bab0461867f8ebb372b94d872b21fa3c",
      "parents": [
        "aa2136b16936a7faaa1dd4b1dd94e6bec1ebe773",
        "1bca151a35ecbf9d6b32b296a7f8642d8feb13fd"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Dec 12 12:09:09 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 12:09:09 2012 -0800"
      },
      "message": "Merge \"Revert \"stop using a deprecated SurfaceTextureClient ctor\"\""
    },
    {
      "commit": "1bca151a35ecbf9d6b32b296a7f8642d8feb13fd",
      "tree": "8851291ff68fc422d0e76bfeec00c37d2293a8c3",
      "parents": [
        "ffa92311fa6a80890aa0326012f4c48abc6ef119"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Dec 12 12:08:51 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 12:08:51 2012 -0800"
      },
      "message": "Revert \"stop using a deprecated SurfaceTextureClient ctor\"\n\nThis reverts commit aef79b0676d8f0ee8ef637ec8be5ba73225b038d\n\nChange-Id: I5f6cf4d6d5dc895a9426f212dfc8a25b4bf2d23a\n"
    },
    {
      "commit": "aa2136b16936a7faaa1dd4b1dd94e6bec1ebe773",
      "tree": "9cae82cd79e671b5f9515778be5cebc3ddb87706",
      "parents": [
        "049e083ba88f1a4a130b7ca6a3f180709f02ae33",
        "30c01816ddee2268fcd3d965240cba9c00301e7d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Dec 12 11:48:29 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 11:48:30 2012 -0800"
      },
      "message": "Merge \"Prepare for track invalidation to be done by proxy\""
    },
    {
      "commit": "049e083ba88f1a4a130b7ca6a3f180709f02ae33",
      "tree": "d201da6abaa3115c600156053bc9f27ebf248c93",
      "parents": [
        "1aa9e9aada386412f6e492cba9f01697a85232a2",
        "ffa92311fa6a80890aa0326012f4c48abc6ef119"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Dec 12 10:58:38 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 10:58:39 2012 -0800"
      },
      "message": "Merge \"stop using a deprecated SurfaceTextureClient ctor\""
    },
    {
      "commit": "1aa9e9aada386412f6e492cba9f01697a85232a2",
      "tree": "edf1e9dbb9bdc3d4cd456d7aa40410d8b2336797",
      "parents": [
        "ba8da49e244be1e18b19bb16b16ff5c75e165712",
        "1457bf40071bbae83086bc67138caa59c1057248"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 12 10:00:30 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 10:00:30 2012 -0800"
      },
      "message": "Merge \"Fix timestamps after seek\""
    },
    {
      "commit": "30c01816ddee2268fcd3d965240cba9c00301e7d",
      "tree": "3e3216ddec7d4e50d08a0496f9e3c26180e45dc5",
      "parents": [
        "ba8da49e244be1e18b19bb16b16ff5c75e165712"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Dec 04 12:12:34 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Dec 12 09:38:48 2012 -0800"
      },
      "message": "Prepare for track invalidation to be done by proxy\n\nDon\u0027t rely on control block to determine whether track has been marked\ninvalid.  Instead, use a local flag that can\u0027t be corrupted by client.\n\nChange-Id: I783dafe828f93c1c3d2d0e5a08105ea536436efb\n"
    },
    {
      "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": "ffa92311fa6a80890aa0326012f4c48abc6ef119",
      "tree": "46427696185180a82c725fae898d8171f76beb29",
      "parents": [
        "e1cf3c41bd27b5ab7d8e70ef8dd6fcd0f5453568"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Dec 11 17:03:12 2012 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Dec 11 17:03:12 2012 -0800"
      },
      "message": "stop using a deprecated SurfaceTextureClient ctor\n\nChange-Id: I792277b0d711da22f6b2abb7f1d837450d6af8e2\n"
    },
    {
      "commit": "ba8da49e244be1e18b19bb16b16ff5c75e165712",
      "tree": "e84bd892557f7d0ef49b8de9f22a7fe9d01d005b",
      "parents": [
        "e1cf3c41bd27b5ab7d8e70ef8dd6fcd0f5453568"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Dec 11 14:42:55 2012 -0800"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Dec 11 14:43:31 2012 -0800"
      },
      "message": "stagefright: recordvideo: add -o flag to specify output filename\n\nChange-Id: I6b464a7b3f7dd918565c6abbd432d779eb286fd5\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "e1cf3c41bd27b5ab7d8e70ef8dd6fcd0f5453568",
      "tree": "8851291ff68fc422d0e76bfeec00c37d2293a8c3",
      "parents": [
        "c984e76f3091c8210cd6bb0cae0f23549a7af0ee",
        "a4f324673f615d604362d86e1878e85c126847af"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 10 16:08:07 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 10 16:08:07 2012 -0800"
      },
      "message": "am 76143093: am f0ff908d: Logging to investigate a crash\n\n* commit \u0027761430930a7335d714af0f7c1d497feb8f9f0a5a\u0027:\n  Logging to investigate a crash\n"
    },
    {
      "commit": "a4f324673f615d604362d86e1878e85c126847af",
      "tree": "41d0b30039b3048ff965e49e61b0b95c3ae6ab74",
      "parents": [
        "917279c99c7677a02a120909dc4f9092339f2827",
        "ef5abc369823f634c460c8f24d3cbf310542fe3b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 10 15:34:56 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 10 15:34:56 2012 -0800"
      },
      "message": "am f0ff908d: Logging to investigate a crash\n\n* commit \u0027f0ff908da019a44115109f1b4d1b6864b35a8a29\u0027:\n  Logging to investigate a crash\n"
    },
    {
      "commit": "ef5abc369823f634c460c8f24d3cbf310542fe3b",
      "tree": "429519b3bd4fbc7f47ee2be82f2778ef1545fbdd",
      "parents": [
        "7ecb63d26cc5a45e66248a7abb69f99a76114e07"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Dec 07 14:13:35 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Dec 07 16:19:09 2012 -0800"
      },
      "message": "Logging to investigate a crash\n\nBug: 6490974\nChange-Id: Ib926a9258bde4ee05ed42eea662dff68e426a997\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": "e54cf26ae91d2e318a419d7e30445015d94fd487",
      "tree": "8612289be8976f817182086db17cde9b2e0b2bdb",
      "parents": [
        "3057c6925f20d944489a0ccea088d889e8388ebf",
        "198a437015f942a7c99da2cb3961e7f6614f542d"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Thu Dec 06 09:22:54 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 06 09:22:54 2012 -0800"
      },
      "message": "Merge \"Add explicit cutils to stagefright\""
    },
    {
      "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": "198a437015f942a7c99da2cb3961e7f6614f542d",
      "tree": "a5efb27e33878b449e8766ca7b162795cd51f01f",
      "parents": [
        "8f7453f6770070f4789cb769bd2b6a3eabad7d68"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Dec 04 17:16:22 2012 -0800"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Dec 04 17:16:22 2012 -0800"
      },
      "message": "Add explicit cutils to stagefright\n\nWithout this, some changes I\u0027m making over in frameworks/native\nresult in a link-time failure to find android_atomic_dec.\n\nChange-Id: Ieb45a86ef6508816ac51589e249ff89caf7ba309\n"
    },
    {
      "commit": "07dfb08e935fdfe9f73f452cf27e3e2b052eda4f",
      "tree": "f5a698ed9390097429df61d4f19e16fcc94a797c",
      "parents": [
        "e0da485dd76267e86cff7cbd334c74435d745225",
        "2d2b40b67515208273197ac2f03c5fabd430efae"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Dec 04 16:54:51 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 04 16:54:51 2012 -0800"
      },
      "message": "Merge \"Camera2: fix metadata symbols\""
    },
    {
      "commit": "e0da485dd76267e86cff7cbd334c74435d745225",
      "tree": "275e1d886df70787b07f65c0d83cd85ade4afbad",
      "parents": [
        "e6106dff611a0056495719c62e0c92abd9afe4c1",
        "71b6e60c52ce367bc0d64ffca60848d600511b65"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Tue Dec 04 11:30:11 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 04 11:30:11 2012 -0800"
      },
      "message": "Merge \"audioflinger: define ANDROID_SMP, remove conditional tracing\""
    },
    {
      "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": "2d2b40b67515208273197ac2f03c5fabd430efae",
      "tree": "996412d93282b01f4973c3e4218b2762ec21b03e",
      "parents": [
        "8f7453f6770070f4789cb769bd2b6a3eabad7d68"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Nov 27 16:25:46 2012 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Dec 03 14:40:48 2012 -0800"
      },
      "message": "Camera2: fix metadata symbols\n\nChange-Id: I59e457824782de26b7b489cd92eb33d48e6ee2d9\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": "71b6e60c52ce367bc0d64ffca60848d600511b65",
      "tree": "36ff8e80ee77a4f60a0439e234f72ccd9a03ee72",
      "parents": [
        "3e5abe9b119513bdb5b8b8d7c9aa72de7339f78f"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Fri Nov 30 19:42:28 2012 -0800"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Fri Nov 30 19:44:24 2012 -0800"
      },
      "message": "audioflinger: define ANDROID_SMP, remove conditional tracing\n\nWith ANDROID_SMP set, tracing functionality is completely inline, and\nwithout the performance hits of external library calls, tracing does\nnot need to be conditionally compiled.\n\nChange-Id: I4b29a9a52c403f0d2ea137c5b7bc05a518a7ca4b\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": "3e5abe9b119513bdb5b8b8d7c9aa72de7339f78f",
      "tree": "d4a97a3620f2279ccf3f8ad0c7035cfa551f8e7d",
      "parents": [
        "599f16a2722badb810fd54d5f8d4a7e959f4c4b2",
        "457ec421a62995845698ada8d84d6c9de8d222dc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 30 13:38:07 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 30 13:38:08 2012 -0800"
      },
      "message": "Merge \"Fix nuplayer seek jankiness by properly flushing decoders before\""
    },
    {
      "commit": "51634104ae2e91353905e53cdcb483a86d408ca7",
      "tree": "f34e2aa5bc55baefcc89e41baba3dd36212883db",
      "parents": [
        "5676e25a9d99703a247cc03f3918f8ac2ddbb338"
      ],
      "author": {
        "name": "cong.zhou",
        "email": "cong.zhou@lge.com",
        "time": "Wed Nov 28 15:52:28 2012 -0800"
      },
      "committer": {
        "name": "cong.zhou",
        "email": "cong.zhou@lge.com",
        "time": "Fri Nov 30 12:39:00 2012 -0800"
      },
      "message": "Fix bug in WAVExtractor for 24-bit per sample wav\n\nsupport stereo/multichannel 24-bit format\nkMaxFrameSize is fixed to 32768. When converting 24-bit to 16-bit,\nnumber of samlpes is maxBytesToRead /3.\nIn this case, if the maxBytesToRead is not multiple of 3,\npcm data is messed when converting.\n\nBug:7630939\nChange-Id: I0ea1b53eb1272a8d83b63815fc0a05b73cef75f1\n"
    },
    {
      "commit": "599f16a2722badb810fd54d5f8d4a7e959f4c4b2",
      "tree": "6c9a899dfc4fd15cde2520f5f46cbcd70fa971cc",
      "parents": [
        "ce768c847c0df30ee9725b888e95167444477e55",
        "af348741539ae4a84aa929a54ecf359dae96f3ee"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Fri Nov 30 11:39:43 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 30 11:39:43 2012 -0800"
      },
      "message": "Merge \"Remove conditional compilation of ATRACE functions\""
    },
    {
      "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": "af348741539ae4a84aa929a54ecf359dae96f3ee",
      "tree": "b799625eeebbcc4a1ee12b9767eb11262ff88170",
      "parents": [
        "e8cb004257565111cb261f3e9c786adba881859a"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Fri Nov 30 11:11:54 2012 -0800"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Fri Nov 30 11:11:54 2012 -0800"
      },
      "message": "Remove conditional compilation of ATRACE functions\n\nTracing functions are meant to be dynamically controlled via sysprops.\nConditional compilation removes this functionality.\n\nChange-Id: I26bc473d104d0b3c50a228dddfda3fa2428d157a\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"
    }
  ],
  "next": "ce768c847c0df30ee9725b888e95167444477e55"
}
