)]}'
{
  "log": [
    {
      "commit": "934d865a807e149b97d11b54c674d421b51bbe8a",
      "tree": "8c17a110e17439ec92765fc6083655414bbceae4",
      "parents": [
        "539a735a82fefb1944aa6135df73dfe9f541566c",
        "9197441e59be323e2f6f0c6506f7248eb6a944b2"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 25 08:12:11 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 25 08:12:11 2011 -0700"
      },
      "message": "Merge \"When Camera is launched by media recording framework, stagefright controls the stop and release.\""
    },
    {
      "commit": "9197441e59be323e2f6f0c6506f7248eb6a944b2",
      "tree": "254c9d5d6510e2c25c6879af324555b26a7769d1",
      "parents": [
        "3281e721c785304613c44853fc506b43cfea343c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 24 19:50:36 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 24 19:50:36 2011 -0700"
      },
      "message": "When Camera is launched by media recording framework, stagefright controls the stop and release.\n\nChange-Id: Ic79a60dad0f617a845211d3fbe146c1648a71da3\nrelated-to-bug: 5205804\n"
    },
    {
      "commit": "539a735a82fefb1944aa6135df73dfe9f541566c",
      "tree": "8bf1247fa8ebac7e76a38ccbb141914be63aad00",
      "parents": [
        "1797e5d00e0ba4048c2258f091e6fd80748aa0ad",
        "84f74fbfeec81eb59e874660fd52ad42820ea8a2"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Wed Aug 24 18:57:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 24 18:57:35 2011 -0700"
      },
      "message": "Merge \"Port setting change should happen before receiving any filled frame.\""
    },
    {
      "commit": "1797e5d00e0ba4048c2258f091e6fd80748aa0ad",
      "tree": "1b062f277b2cd983b01e64276e1207dcbfae3a92",
      "parents": [
        "3281e721c785304613c44853fc506b43cfea343c",
        "0c5c7d2b119d2350c186ae9902919bcf28c3e277"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Wed Aug 24 15:18:07 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 24 15:18:07 2011 -0700"
      },
      "message": "Merge \"Testing the GL/ CPU encoding w/ Gralloc buffers\""
    },
    {
      "commit": "0c5c7d2b119d2350c186ae9902919bcf28c3e277",
      "tree": "c9d61e6ca1f259cb873289ed92d838b9d335d6b5",
      "parents": [
        "ed422aa0dfab77312d25d52e7f204744ba16dc27"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Thu Aug 18 21:53:02 2011 -0700"
      },
      "committer": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Wed Aug 24 13:57:46 2011 -0700"
      },
      "message": "Testing the GL/ CPU encoding w/ Gralloc buffers\n\nThis is the test for Gralloc buffers based encoding.\ncontains a combination of two main changes:\n\n1. GL based encoding tests added to SurfaceMediaSource_test\n\n2. SurfaceMediaSource ::read() colorformat\n\nThe SurfaceMediaSource::getformat() sets it to OMX_COLOR_FormatAndroidOpaque.\nThe omx encoder needs to interpret that colorformat and reads the format\nfrom the Gralloc buffers directly\n\nChange-Id: Iee2fe8901384109a4952e1d6c528c59eb01eb5b1\n"
    },
    {
      "commit": "3281e721c785304613c44853fc506b43cfea343c",
      "tree": "27e3191b3c45326991d2fe24ea441fabfe6e9b37",
      "parents": [
        "ed422aa0dfab77312d25d52e7f204744ba16dc27",
        "97f2fb5bc753f021bfa51f58129bc1a36c047c47"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 23 18:06:16 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 23 18:06:16 2011 -0700"
      },
      "message": "Merge \"To make SniffMP3() more concrete so that we can remove false-positve responses from MPEG-PS streams.\""
    },
    {
      "commit": "eca1762d92c43f2b7836941d14e453d4c0f9ed99",
      "tree": "883a5c050322b2c1954917ec4d50729321c8780a",
      "parents": [
        "8c32b164d00d3e4d73764d06956331f09693ef43"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 23 10:21:34 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 23 10:22:49 2011 -0700"
      },
      "message": "We were accidentally sending out an output buffer before the final port settings change\n\nChange-Id: I4de0d3c377bb12e59524ed370ab3ed0b9a9b70a6\nrelated-to-bug: 5122512\n"
    },
    {
      "commit": "84f74fbfeec81eb59e874660fd52ad42820ea8a2",
      "tree": "815cd9a26c8be7bc1ca359bee0b844dc5894ebb8",
      "parents": [
        "8c32b164d00d3e4d73764d06956331f09693ef43"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Aug 22 20:11:31 2011 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Aug 23 11:18:05 2011 +0800"
      },
      "message": "Port setting change should happen before receiving any filled frame.\n\nChange-Id: I12a54b80e7ef958b6d451b7add110d38f05ec439\n"
    },
    {
      "commit": "8c32b164d00d3e4d73764d06956331f09693ef43",
      "tree": "9d51b06b8174e7ec7a9f2bf2025b002e1bd07937",
      "parents": [
        "2edd41583bb8c2b90c332980e0d1c34ae9ede34e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 22 13:21:26 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 22 13:21:26 2011 -0700"
      },
      "message": "The MatroskaExtractor will now publish a different mime-type \"video/webm\" if\n\nthe doctype of the matroska file indicates that it is a webm file.\n\nChange-Id: I467f597690a841043ecd11d2a2cae93351820f1b\nrelated-to-bug: 5042137\n"
    },
    {
      "commit": "2edd41583bb8c2b90c332980e0d1c34ae9ede34e",
      "tree": "1544d712897a8b92a00cefa92249251816deda4b",
      "parents": [
        "759f2893897c7b7a4822923d8d8ac13eec712b26",
        "2e17686223bad35101c23083dc79f1d12f3ff429"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Sun Aug 21 19:19:01 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Aug 21 19:19:01 2011 -0700"
      },
      "message": "Merge \"Remove useAndroidNativeBuffer(2) warning message.\""
    },
    {
      "commit": "759f2893897c7b7a4822923d8d8ac13eec712b26",
      "tree": "13db15d53678fa6fe71d3dd8bd9458a28c56ca89",
      "parents": [
        "f764f8c0625762d98eacadb582c7308dba1c7b79",
        "8f74b712fbf5c24de8bc799b7129dc802747a6f4"
      ],
      "author": {
        "name": "Rajneesh Chowdury",
        "email": "rajneeshc@google.com",
        "time": "Fri Aug 19 15:01:11 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 19 15:01:11 2011 -0700"
      },
      "message": "Merge \"Fix for 4142219 Don\u0027t hard code platform-specific limitations (Jni/ Java)\""
    },
    {
      "commit": "f764f8c0625762d98eacadb582c7308dba1c7b79",
      "tree": "c58850f82e46e3a78648fae89e6b58b049ea7b24",
      "parents": [
        "67f43688334bcd72ae7c3b5b386c1b6a34711f4f",
        "a0dac9e24ae7520cb7d7f0505bf0936bffbcd047"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Aug 19 14:36:10 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 19 14:36:10 2011 -0700"
      },
      "message": "Merge \"Stagefright: fix a compiler warning\""
    },
    {
      "commit": "8f74b712fbf5c24de8bc799b7129dc802747a6f4",
      "tree": "2f668bac8f044d68362ab040a099407b12cb2f73",
      "parents": [
        "67f43688334bcd72ae7c3b5b386c1b6a34711f4f"
      ],
      "author": {
        "name": "Rajneesh Chowdury",
        "email": "rajneeshc@google.com",
        "time": "Fri Aug 12 16:43:37 2011 -0700"
      },
      "committer": {
        "name": "Rajneesh Chowdury",
        "email": "rajneeshc@google.com",
        "time": "Fri Aug 19 14:34:47 2011 -0700"
      },
      "message": "Fix for 4142219 Don\u0027t hard code platform-specific limitations (Jni/ Java)\n\nAlso fixes 5118207 add other video codec support for video editor export.\n\nChange-Id: If72427173bd8ff684af07ba00f4425c1deef29c6\n"
    },
    {
      "commit": "67f43688334bcd72ae7c3b5b386c1b6a34711f4f",
      "tree": "51a8a18c629c43475c5ef1b40b6968e0f41e1722",
      "parents": [
        "50bb96ca6d19846b20b8016cf020e6a3a80e495e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 19 10:30:58 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 19 10:30:58 2011 -0700"
      },
      "message": "Raise the maximum input buffer size for the vpx video decoder to 256KB\n\nChange-Id: I0411763829bf186d1b3b679fa72c9051524506b4\nrelated-to-bug: 5169641\n"
    },
    {
      "commit": "50bb96ca6d19846b20b8016cf020e6a3a80e495e",
      "tree": "43eccb95599d163689591350b11ea24dca80c0aa",
      "parents": [
        "7341123ed8fed903c593a38d57ffabad3ad62860",
        "af64a8a6ad89f52685e822dca30742a4132c9ae6"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Aug 18 15:14:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 18 15:14:36 2011 -0700"
      },
      "message": "Merge \"When switching surface, do not set mSeekNotificationSent as true, because there could be a previous uncompleted seeking which needs to send back MEDIA_SEEK_COMPLETE message. If we set mSeekNotificationSent as true here, then mediaplayer.cpp will be waiting for message MEDIA_SEEK_COMPLETE. The getCurrentPosition() will always return the seek time before MEDIA_SEEK_COMPLETE being received by mediaplayer.cpp. Fix for bug 5181272.\""
    },
    {
      "commit": "af64a8a6ad89f52685e822dca30742a4132c9ae6",
      "tree": "667302be03f9fb7a9fa08d9352847fc2ecdf1e23",
      "parents": [
        "ee0846f97cf07f5f18d19161526743330aabb44e"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Aug 18 14:52:36 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Aug 18 14:52:36 2011 -0700"
      },
      "message": "When switching surface, do not set mSeekNotificationSent as true,\nbecause there could be a previous uncompleted seeking which needs\nto send back MEDIA_SEEK_COMPLETE message. If we set mSeekNotificationSent\nas true here, then mediaplayer.cpp will be waiting for message\nMEDIA_SEEK_COMPLETE. The getCurrentPosition() will always return\nthe seek time before MEDIA_SEEK_COMPLETE being received by mediaplayer.cpp.\nFix for bug 5181272.\n\nChange-Id: I290aff29b6d9ec8db67c66abbe1f352a43f57073\n"
    },
    {
      "commit": "7341123ed8fed903c593a38d57ffabad3ad62860",
      "tree": "3d14c65ad7b82c0c685ebd2f58d616d38f8d1eff",
      "parents": [
        "cdef698dae0c6dd89755f6494cc3d4b163f410ef",
        "14f95746466fb6abdbbf33ee26d92ebf3fbef98f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 18 11:46:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 18 11:46:18 2011 -0700"
      },
      "message": "Merge \"Some decoders require more gentle treatment\""
    },
    {
      "commit": "14f95746466fb6abdbbf33ee26d92ebf3fbef98f",
      "tree": "ae0f29e7c94988e0297b6058cfe16f17cf6c9527",
      "parents": [
        "a17b835f5b0bf42f4855fe57aef42799f28f3915"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 11 17:38:35 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 18 11:43:34 2011 -0700"
      },
      "message": "Some decoders require more gentle treatment\n\nWe sacrifice A/V sync to some extent to enable the decoder to recover from\ntemporary bottlenecks.\n\nChange-Id: I16195091ad752bfad4c70869cdd7e9f28ca3a118\nrelated-to-bug: 5180142\n"
    },
    {
      "commit": "cdef698dae0c6dd89755f6494cc3d4b163f410ef",
      "tree": "915d81d54f93ee501db95be3e07d9c2a537d2fb5",
      "parents": [
        "a17b835f5b0bf42f4855fe57aef42799f28f3915"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 18 10:53:23 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 18 10:53:23 2011 -0700"
      },
      "message": "Disable vorbis-auto-looping if the audio sink used is not realtime, i.e. recording.\n\nChange-Id: I982e740e8488ff8717ca5f081db9def55aabc9ec\nrelated-to-bug: 5179033\n"
    },
    {
      "commit": "2e17686223bad35101c23083dc79f1d12f3ff429",
      "tree": "f9a1a452a328263c81eb0f25739378d1aee9bb24",
      "parents": [
        "a17b835f5b0bf42f4855fe57aef42799f28f3915"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Aug 18 16:56:36 2011 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Aug 18 16:56:36 2011 +0800"
      },
      "message": "Remove useAndroidNativeBuffer(2) warning message.\n\nChange-Id: I3e9765e7271d80fda302e521501720bf8c13e5c7\n"
    },
    {
      "commit": "97f2fb5bc753f021bfa51f58129bc1a36c047c47",
      "tree": "217c71649c578f0cf3fb37585a902a8be9ccd212",
      "parents": [
        "ee0846f97cf07f5f18d19161526743330aabb44e"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Aug 18 15:24:27 2011 +0900"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Aug 18 15:24:27 2011 +0900"
      },
      "message": "To make SniffMP3() more concrete so that we can remove false-positve responses from MPEG-PS streams.\n\nNote: current resync logic keeps searching mp3 frames until it meets a\nvalid one. This resync logic works well with seek() operation, but in\nSniffMP3(), this may cause false-positive classification for the\nfollowing MPEG-PS file format.\n  A possible MPEG-PS video file:\n      [PS header]...[mp3 frame][mp3 frame] ...\n  MP3 files:\n      [ID3 tag][mp3 frame][mp3 frame] ...\n\nBUG: 5104562\nChange-Id: Idd5020723f7bdb2fefc2a63fc8651580fd644399\n"
    },
    {
      "commit": "ee0846f97cf07f5f18d19161526743330aabb44e",
      "tree": "060d8b6539f946d215149036427f0d0cbe2b11ce",
      "parents": [
        "1e7d2ba8b79e548286a649ca91402a2d41f59fa0",
        "169c286ed166499c5099d2b336967e0bf3d25551"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 17 13:21:40 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 17 13:21:40 2011 -0700"
      },
      "message": "Merge \"Make sure we have all the sample table metadata before declaring a track valid.\""
    },
    {
      "commit": "169c286ed166499c5099d2b336967e0bf3d25551",
      "tree": "762830447cdb8540b297da53fd76d709d899b4b8",
      "parents": [
        "8a976a863cf921f97feff8be63f11775a1d8b76f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 17 13:03:51 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 17 13:03:51 2011 -0700"
      },
      "message": "Make sure we have all the sample table metadata before declaring a track valid.\n\nChange-Id: I2dfbc3e6017b5cd264e4cccfa47d19047b2e7f31\nrelated-to-bug: 5178976\n"
    },
    {
      "commit": "1e7d2ba8b79e548286a649ca91402a2d41f59fa0",
      "tree": "6ca2fd4af4bb0f273dae9475a53c1431fcfdc490",
      "parents": [
        "8a976a863cf921f97feff8be63f11775a1d8b76f",
        "64b944106c697933a453a1ffd8bcddb137fdbc4c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 17 11:14:49 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 17 11:14:49 2011 -0700"
      },
      "message": "Merge \"Don\u0027t time out prematurely for video encoding waiting for output buffers\""
    },
    {
      "commit": "8a976a863cf921f97feff8be63f11775a1d8b76f",
      "tree": "b3f53684b537c6e7adbd93a0766f04da2bb36f13",
      "parents": [
        "61659f61b8dec729ffc03ef88e2d87f8941dcfc0",
        "421b31b7a859b6aa6185a36143158ef59f751adf"
      ],
      "author": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Wed Aug 17 02:41:00 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 17 02:41:00 2011 -0700"
      },
      "message": "Merge \"Testing for bug 5122864 libwebcore related libraries increased by 3MB in ICS vs HCMR2\""
    },
    {
      "commit": "61659f61b8dec729ffc03ef88e2d87f8941dcfc0",
      "tree": "66b02dcff43efdaf21490ffff54c1b46c0929eb3",
      "parents": [
        "99590d29c9d3081cadfccd036842f5ce9a7debef",
        "c92fd24c10a6bf80b346d7e261325434d9c6964b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 16 14:37:51 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 16 14:37:51 2011 -0700"
      },
      "message": "Merge \"Error handling in ACodec and Nuplayer.\""
    },
    {
      "commit": "c92fd24c10a6bf80b346d7e261325434d9c6964b",
      "tree": "073315512c82b4a50de81e1fdfcb5b35db0ad1a1",
      "parents": [
        "a5cc7cce9b8aee73b08f6532710e186c02fdd1c0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 16 13:48:44 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 16 13:48:44 2011 -0700"
      },
      "message": "Error handling in ACodec and Nuplayer.\n\nCodec errors (and codec not found errors) now trigger a controlled shutdown\nof playback and signal errors to the MediaPlayer client.\n\nChange-Id: I2ee23ff2a1422d05a1a21e50ecb87d7c7ab958cc\n"
    },
    {
      "commit": "99590d29c9d3081cadfccd036842f5ce9a7debef",
      "tree": "c69dbce9da686ab24276fb080b0a08012ea11e91",
      "parents": [
        "a5cc7cce9b8aee73b08f6532710e186c02fdd1c0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 16 12:41:41 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 16 12:41:41 2011 -0700"
      },
      "message": "Properly initialize some instance variables.\n\nChange-Id: I190b889be343dca14fe8109528be14cc3cdd4c34\n"
    },
    {
      "commit": "64b944106c697933a453a1ffd8bcddb137fdbc4c",
      "tree": "6186c0bba24f052e39a8bb52c090743f901f9123",
      "parents": [
        "a5cc7cce9b8aee73b08f6532710e186c02fdd1c0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Aug 14 16:14:12 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 16 10:02:17 2011 -0700"
      },
      "message": "Don\u0027t time out prematurely for video encoding waiting for output buffers\n\no For timelapse video encoding, the timelapse between two neighoring\n  input frames could be very long\n\nChange-Id: I2b6f9c392f2237deae71c894efc7fc3692431796\nrelated-to-bug: 5160548\n"
    },
    {
      "commit": "421b31b7a859b6aa6185a36143158ef59f751adf",
      "tree": "8dab4a43b02d9aedde8b353a03960caea6e893e5",
      "parents": [
        "a5cc7cce9b8aee73b08f6532710e186c02fdd1c0"
      ],
      "author": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Tue Aug 16 16:31:05 2011 +0100"
      },
      "committer": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Tue Aug 16 16:31:05 2011 +0100"
      },
      "message": "Testing for bug 5122864 libwebcore related libraries increased by 3MB in ICS vs HCMR2\n\nReenabling chromium as a shread lib\n\nChange-Id: I5f7abe61624d812c5781c4a453f587e744bc082d\n"
    },
    {
      "commit": "db29e5238e28d59978755a2ff2e7e0f05393abdf",
      "tree": "bc6a7aa136f0397facbce93eb5204a4e61e3a2eb",
      "parents": [
        "a2e0a4259191fc486e0f563b992e3eadd7f9ae4b"
      ],
      "author": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Fri Aug 12 13:46:55 2011 -0700"
      },
      "committer": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Fri Aug 12 13:46:55 2011 -0700"
      },
      "message": "Add a null check to handle failure of android::createPlayer\n\nChange-Id: Id56bd0c16104e46d8dc71f13d8a44aefe251fad4\n"
    },
    {
      "commit": "a2e0a4259191fc486e0f563b992e3eadd7f9ae4b",
      "tree": "7972c7dd410aa2c9ab93a3b96369a2fa2a036fa5",
      "parents": [
        "6f3241d50fbe217df6cb82ff2b079135ea50c553"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 12 11:38:24 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Aug 12 11:38:24 2011 -0700"
      },
      "message": "Fix the software AAC decoder\u0027s AAC+ detection to ignore malformed frames\n\nat the beginning of the stream.\n\nChange-Id: Ib990848c696896e7d43c80dec8119dec35704b74\nrelated-to-bug: 5122512\n"
    },
    {
      "commit": "a0dac9e24ae7520cb7d7f0505bf0936bffbcd047",
      "tree": "2871540b3d494d8557e8db74ec0282aae49e8dc7",
      "parents": [
        "a1f10e8959cd4656aedb2613e855342102e59555"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Aug 11 17:59:24 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Aug 11 17:59:24 2011 -0700"
      },
      "message": "Stagefright: fix a compiler warning\n\nChange-Id: Ia6b2027dfe80960450156d918bdd7fe1567cafea\n"
    },
    {
      "commit": "6f3241d50fbe217df6cb82ff2b079135ea50c553",
      "tree": "a0f3bc96b70e585981ad2acaaa81f30cae92cb19",
      "parents": [
        "94fbe4c6e29a7ea9800ea94cacc2d095ff25ab77",
        "db7c079f284f6e91266f6653ae0ec198b1c5006e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 11 14:40:04 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 11 14:40:04 2011 -0700"
      },
      "message": "Merge \"Audio effects: track CPU and memory use separately\""
    },
    {
      "commit": "db7c079f284f6e91266f6653ae0ec198b1c5006e",
      "tree": "08c3569af421bc760cb7b81f611ee0959c4b7b9d",
      "parents": [
        "8adb83ba4837b3c9de1a4221a5ca4c371a62e38c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 10 10:37:50 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 11 14:33:45 2011 -0700"
      },
      "message": "Audio effects: track CPU and memory use separately\n\nBefore this change, CPU and memory usage for an audio effect were\nregistered and checked against the limit by audio policy manager\nupon effect instantiation. Even if an effect was not enabled\nit would prevent another effect to be created if the CPU load budget\nwas exceeded, which was too restrictive.\n\nThis change adds a method to register/unregister CPU load only when\nan effect is enabled or disabled.\nIt also adds a mechanism to place all effects on the global output mix\nin suspend state (disabled) when an effect is enabled on a specific session.\nThis will allow applications using session effects to have the priority\nover others using global effects.\n\nAlso fixes some issues with suspend/restore mechanism:\n- avoid taking actions when an effect is disconnected and was not enabled.\n- do not remove a session from the suspended sessions list when corresponding\neffect chain is destroyed.\n\nChange-Id: I5225278aba1ae13d0d0997bfe26a0c9fb46b17d3\n"
    },
    {
      "commit": "94fbe4c6e29a7ea9800ea94cacc2d095ff25ab77",
      "tree": "ca259d95fd60bd41e63531059974d07ebee67987",
      "parents": [
        "8adb83ba4837b3c9de1a4221a5ca4c371a62e38c",
        "56e6d29d951cf514817f0a2c8b02138403716f01"
      ],
      "author": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Thu Aug 11 03:02:29 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 11 03:02:29 2011 -0700"
      },
      "message": "Merge \"Testing for bug 5122864 libwebcore related libraries increased by 3MB in ICS vs HCMR2\""
    },
    {
      "commit": "8adb83ba4837b3c9de1a4221a5ca4c371a62e38c",
      "tree": "24a0e6f33454154d179ab26b4b533d3c7c7d9683",
      "parents": [
        "7231e169c1a00c6e69b3517ca9b851659dd96fed",
        "83ed9d41b5aea53a5f3f0ae2fa14e101c079a12a"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Aug 10 14:52:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 10 14:52:36 2011 -0700"
      },
      "message": "Merge \"To reduce the bytes need to be buffered before start playing the streaming video. We might revert this change if too many spinnings were introduced. For bug 4448008.\""
    },
    {
      "commit": "83ed9d41b5aea53a5f3f0ae2fa14e101c079a12a",
      "tree": "440fc1203e1c5eb349c10f4013242a54eece1ba9",
      "parents": [
        "6801b4dbd00b485ecdcd31b517ed885a8fa21c63"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Aug 10 14:19:05 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Aug 10 14:19:05 2011 -0700"
      },
      "message": "To reduce the bytes need to be buffered before start playing the streaming video.\nWe might revert this change if too many spinnings were introduced.\nFor bug 4448008.\n\nChange-Id: I3248bba9237d71c2bd99feebc9c73f7bd45260de\n"
    },
    {
      "commit": "7231e169c1a00c6e69b3517ca9b851659dd96fed",
      "tree": "db57c754a05dca2748b7fb8270605d0bb0ae10a7",
      "parents": [
        "35b4be1751893dfbc376b474f339b45b24bfffd4",
        "c4847184f0d351ca2587ca66dc5ab8eab4dbe207"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 10 13:03:29 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 10 13:03:29 2011 -0700"
      },
      "message": "Merge \"When using \"secure input buffer mode\" we instantiate a different OMX component\""
    },
    {
      "commit": "35b4be1751893dfbc376b474f339b45b24bfffd4",
      "tree": "ba2c31d9b92758440e4d63fbe02844727d074cab",
      "parents": [
        "d4495be0d417efbcf51d4b257228b8c10dc3617f",
        "17741baf43818ca66c2a88db6b6e252d7abfff49"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 10 13:03:24 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 10 13:03:24 2011 -0700"
      },
      "message": "Merge \"Revert \"Notify the OMX component that it\u0027s going to be used in \"secure\" mode.\"\""
    },
    {
      "commit": "c4847184f0d351ca2587ca66dc5ab8eab4dbe207",
      "tree": "3f5146d98106aee2e5a8a8905fc56445c7a1ed25",
      "parents": [
        "17741baf43818ca66c2a88db6b6e252d7abfff49"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 10 12:53:59 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 10 12:53:59 2011 -0700"
      },
      "message": "When using \"secure input buffer mode\" we instantiate a different OMX component\n\nWe form the new component name by appending the suffix \".secure\".\n\nChange-Id: I509848b50ae92edb179a941493ca611f923213ec\n"
    },
    {
      "commit": "17741baf43818ca66c2a88db6b6e252d7abfff49",
      "tree": "e169f4f0e98a1bd9056b9e20d1793e90fa76474d",
      "parents": [
        "f12d5faa1986384f2c899b50057142a6a2e40eec"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 10 12:45:24 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Aug 10 12:45:24 2011 -0700"
      },
      "message": "Revert \"Notify the OMX component that it\u0027s going to be used in \"secure\" mode.\"\n\nThis reverts commit 7616178271e95f009452a21ea45e7225997dc27a.\n"
    },
    {
      "commit": "d4495be0d417efbcf51d4b257228b8c10dc3617f",
      "tree": "c6e5f8ea55221f6386f094af94f8a040275b6c37",
      "parents": [
        "ff0299b487657d866adb5062d7fc9f02eaa15792",
        "5a217fba010e801c255503602bda4b86ac5a6ac9"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 10 11:47:38 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 10 11:47:38 2011 -0700"
      },
      "message": "Merge \"Fix initial 0 duration video sample in the recorded videos\""
    },
    {
      "commit": "ff0299b487657d866adb5062d7fc9f02eaa15792",
      "tree": "20b8a626f9356c10e0a4137e25f68b30a9690051",
      "parents": [
        "f12d5faa1986384f2c899b50057142a6a2e40eec",
        "80ec929862bcfe8582984f3a28e7a4ca5f4f27bb"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Aug 10 09:28:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 10 09:28:50 2011 -0700"
      },
      "message": "Merge \"To support for switching from a non-null surface/ surface texture to a null one, and vice versa. Fix for bug 5137445.\""
    },
    {
      "commit": "56e6d29d951cf514817f0a2c8b02138403716f01",
      "tree": "f0c371891cbdc40fe6e6df84bebede843422e4e8",
      "parents": [
        "f12d5faa1986384f2c899b50057142a6a2e40eec"
      ],
      "author": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Wed Aug 10 15:08:27 2011 +0100"
      },
      "committer": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Wed Aug 10 15:10:23 2011 +0100"
      },
      "message": "Testing for bug 5122864 libwebcore related libraries increased by 3MB in ICS vs HCMR2\n\nTrying to build with static libchromium on the build server.\n\nChange-Id: Ib88ce1803f3d36ef97a627c1454ed83239a3afee\n"
    },
    {
      "commit": "f12d5faa1986384f2c899b50057142a6a2e40eec",
      "tree": "63b329560f5d20d456b66552ecf1e693f1801a57",
      "parents": [
        "129a94a569c927d4c8906a12f3de74ca0585d3f2",
        "a23456b306f35b9ecf973bf5818ca39295e9e029"
      ],
      "author": {
        "name": "Ashish Sharma",
        "email": "ashishsharma@google.com",
        "time": "Tue Aug 09 23:21:11 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 09 23:21:11 2011 -0700"
      },
      "message": "Merge \"Network traffic accounting for chromium stack support in mediaserver.\""
    },
    {
      "commit": "80ec929862bcfe8582984f3a28e7a4ca5f4f27bb",
      "tree": "adf6e0d1cbd9c0496fa8caad1a9d3f0ecfca4e09",
      "parents": [
        "99930d45c40f2d79a7633d9dd9f8478d22307848"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Aug 09 15:29:34 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Aug 09 15:31:30 2011 -0700"
      },
      "message": "To support for switching from a non-null surface/ surface texture to\na null one, and vice versa.\nFix for bug 5137445.\n\nChange-Id: Ifca2997f8ad27a843abbdaa7e89a56329bc40fde\n"
    },
    {
      "commit": "129a94a569c927d4c8906a12f3de74ca0585d3f2",
      "tree": "7fecf03d81e157e82d0d6c0a633df92caeff9d91",
      "parents": [
        "beccb75d0c511950fb59500b05a591942d5c4751",
        "820a509687599edb8ff1a7577de8b9295f416263"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 09 15:23:19 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 09 15:23:19 2011 -0700"
      },
      "message": "Merge changes Ie06e73e5,I7ac6b5b0\n\n* changes:\n  free all buffers when ANativeWindow::disconnect is called\n  return correct value from query after connecting a surface\n"
    },
    {
      "commit": "5a217fba010e801c255503602bda4b86ac5a6ac9",
      "tree": "b9e968468924efd638b967f7f33ad151f8283514",
      "parents": [
        "beccb75d0c511950fb59500b05a591942d5c4751"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 09 11:14:57 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 09 11:17:49 2011 -0700"
      },
      "message": "Fix initial 0 duration video sample in the recorded videos\n\no Patch suggested by pmehendale@nvidia.com\n\nChange-Id: Ibf516ba83b721b0d0ab55bb7637fe9b7b2958214\nrelated-to-bug: 5117434\n"
    },
    {
      "commit": "beccb75d0c511950fb59500b05a591942d5c4751",
      "tree": "508a6079dd348ba9d17387337d6435236626bfea",
      "parents": [
        "3a34befc6fb04a4945a849e8bda8b84e4bf973fe",
        "334d097870eefeb45137b6df026f7db861d47663"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 09 11:14:06 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 09 11:14:06 2011 -0700"
      },
      "message": "Merge \"Do not release recording frames if camera is gone\""
    },
    {
      "commit": "3a34befc6fb04a4945a849e8bda8b84e4bf973fe",
      "tree": "80dee67385fb78763b2c25f6dce9ed122bfd9aee",
      "parents": [
        "a1f10e8959cd4656aedb2613e855342102e59555"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Aug 02 13:33:41 2011 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Aug 09 10:21:10 2011 -0700"
      },
      "message": "Keep effects sessions active when the caller dies.\n\nDon\u0027t remove effects until the session they are in goes away or all\nAudioEffects have been explicitly released. This allows the control\npanel process to die without stopping the effects.\n\nChange-Id: I4496e5df080230ca1af149dec95c1309ab8ea888\n"
    },
    {
      "commit": "820a509687599edb8ff1a7577de8b9295f416263",
      "tree": "046e39ca32a267f7c958327058db4b3f4308ca16",
      "parents": [
        "a1f10e8959cd4656aedb2613e855342102e59555"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Aug 08 19:14:03 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Aug 08 20:25:44 2011 -0700"
      },
      "message": "return correct value from query after connecting a surface\n\nthe first time a surface was connected, the values returned\nby query NATIVE_WINDOW_DEFAULT_{WIDTH|HEIGHT} and\nNATIVE_WINDOW_TRANSFORM_HINT were wrong until a call\nto queueBuffer was performed.\n\nBug: 5137366, 5121607\nChange-Id: I7ac6b5b0daa876638f6bed7c20f286a6e6d984f6\n"
    },
    {
      "commit": "a1f10e8959cd4656aedb2613e855342102e59555",
      "tree": "287ad01c9d73119bcb5368c3341741384d2a00a9",
      "parents": [
        "c3e6572e0ff535932b1f6ffb7bcf5acd891675fb"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 08 15:28:21 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 08 15:28:21 2011 -0700"
      },
      "message": "Notify the OMX component that it\u0027s going to be used in \"secure\" mode.\n\nChange-Id: Id87c4b295eb38f7d24045918e73df298d7b842f9\nrelated-to-bug: 5137212\n"
    },
    {
      "commit": "334d097870eefeb45137b6df026f7db861d47663",
      "tree": "eb7d444d20f9f32bbf75bcd82a5ce7dba7ad8eae",
      "parents": [
        "ea7c2fea6a031d37270cb5b22b432729626b266d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 05 17:19:29 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 05 17:19:29 2011 -0700"
      },
      "message": "Do not release recording frames if camera is gone\n\nChange-Id: Ia6038c1a3ca17207e43a955ec47c42cdff1f5a76\nrelated-to-bug: 5129465\n"
    },
    {
      "commit": "a23456b306f35b9ecf973bf5818ca39295e9e029",
      "tree": "306cdb8f5f84adc84f2ecf7e5a34c80d988b9818",
      "parents": [
        "ea7c2fea6a031d37270cb5b22b432729626b266d"
      ],
      "author": {
        "name": "Ashish Sharma",
        "email": "ashishsharma@google.com",
        "time": "Thu Jul 07 17:57:05 2011 -0700"
      },
      "committer": {
        "name": "Ashish Sharma",
        "email": "ashishsharma@google.com",
        "time": "Fri Aug 05 12:58:14 2011 -0700"
      },
      "message": "Network traffic accounting for chromium stack support in mediaserver.\n\n        - Atribute network activity to uid calling the mediaplayer\n        - Enables logging of chromium network stack in logcat\n\nChange-Id: I2d28c8392248a056b3cee305dd4d4475ebba4337\n"
    },
    {
      "commit": "ea7c2fea6a031d37270cb5b22b432729626b266d",
      "tree": "924d241dd3cac604c674a1008a8323865039837f",
      "parents": [
        "1bea7ea4d571123992c38b6a406b58db1e7b4c7e",
        "99930d45c40f2d79a7633d9dd9f8478d22307848"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Aug 04 16:32:10 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 04 16:32:10 2011 -0700"
      },
      "message": "Merge \"Close the DRM session in the destructor of ChromiumHTTPDataSource. Fix for bug 5015079.\""
    },
    {
      "commit": "99930d45c40f2d79a7633d9dd9f8478d22307848",
      "tree": "1ce252fe279f3b24cf39a519863a7e86ef891059",
      "parents": [
        "6801b4dbd00b485ecdcd31b517ed885a8fa21c63"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Aug 04 16:01:35 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Aug 04 16:01:35 2011 -0700"
      },
      "message": "Close the DRM session in the destructor of ChromiumHTTPDataSource.\nFix for bug 5015079.\n\nChange-Id: I45fcf6ff8b50e62f2812930eaf68c00206cb7e52\n"
    },
    {
      "commit": "f89d780df70b7fbb8465bce4913c46cca019721f",
      "tree": "56d00af18e567c8df2ecb9f41d596ad0d80cdf2d",
      "parents": [
        "6801b4dbd00b485ecdcd31b517ed885a8fa21c63"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 04 15:05:17 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 04 15:05:17 2011 -0700"
      },
      "message": "Eliminate superfluous memcpys by wrapping an ABuffer in a MediaBuffer\n\nChange-Id: I1313f117cd7cdfaf7d6ec25413a0b4b8ea495037\nrelated-to-bug: 5122973\n"
    },
    {
      "commit": "6801b4dbd00b485ecdcd31b517ed885a8fa21c63",
      "tree": "09e06e6fb9d2bdcb6e50857ec5127e24ef364cd9",
      "parents": [
        "dae8421c638562686839e56555cb08753077f268"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 04 12:02:47 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 04 12:10:29 2011 -0700"
      },
      "message": "Restart HLS streaming from the bottom of the playlist if we miss the boat on the\n\nnext segment. This can happen if for whatever reason we playback video slower than\nit is served.\n\nAlso removed some unnecessary verbosity from ChromiumHTTPDataSource.\n\nChange-Id: I6e870879310c9efe4d50d7dc0883c08405442d79\nrelated-to-bug: 5120425\n"
    },
    {
      "commit": "874f0f1223041d70dbcc9777d0d14c995810a4d8",
      "tree": "64619c44652544a4d5a7d77cceee9d836a875820",
      "parents": [
        "59bd0da8373af0e5159b799495fda51e03120ea4",
        "fdb04b61f91c45eed0edd28aa33d7085a5e6eb74"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Aug 03 15:37:24 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 03 15:37:24 2011 -0700"
      },
      "message": "Merge \"Check the syncword for each frame. Fix for bug 5117233.\""
    },
    {
      "commit": "fdb04b61f91c45eed0edd28aa33d7085a5e6eb74",
      "tree": "1a393701b934d42aa17799bb7b6a25ece58f3d97",
      "parents": [
        "288b66b60c9b3af3d84408885d0a4030c45eea9a"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Aug 03 15:06:35 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Aug 03 15:06:35 2011 -0700"
      },
      "message": "Check the syncword for each frame.\nFix for bug 5117233.\n\nChange-Id: I714c9b671832c9606cabdfe6bb21697c08de2eff\n"
    },
    {
      "commit": "c6354e9396b4d8929058a283cfc77327b47e9944",
      "tree": "d3cd5ed265173ad15d4390112809ff9dc5a46929",
      "parents": [
        "8292f43746a359d31af631efcffccd142c0a50c3"
      ],
      "author": {
        "name": "Sarthak Aggarwal",
        "email": "sarthak@ti.com",
        "time": "Tue Aug 02 10:19:04 2011 +0530"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Aug 02 19:01:07 2011 -0700"
      },
      "message": "Removing hack for framerate setting in Stagefright for encoders.\n\nDucati binary starting to support frame-rate on i/p port rather than o/p port,\nstagefright can start giving frame-rate frame rate on i/p port and 0 on o/p\nport.\n\nChange-Id: I70830747e43e6bfcac73f0fb01de0ab0235a7b28\nSigned-Off-By: Sarthak Aggarwal\u003csarthak@ti.com\u003e\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "8292f43746a359d31af631efcffccd142c0a50c3",
      "tree": "4b7dd0f12d13016a4108897cf6ab79d6ed20c9f9",
      "parents": [
        "874aef204ebca8d6778d208a1c8eef231b6ccbf3",
        "b6f2fced47866a5d095b2b18d2e28d7c4321e3a6"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 02 10:36:44 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 02 10:36:44 2011 -0700"
      },
      "message": "Merge \"Start thread pool for binder calls\""
    },
    {
      "commit": "874aef204ebca8d6778d208a1c8eef231b6ccbf3",
      "tree": "b26d8f8e24a7d3daa22e69f3fdd813bc1d397cea",
      "parents": [
        "746d7c7f577b549b8a56862b73ae4f4f1247c593",
        "f9d566ef54954c5e7b913275438e8022fb194ad6"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Aug 02 09:56:51 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 02 09:56:51 2011 -0700"
      },
      "message": "Merge \"Re-calculate mCurrentTimeUs for MP3 CBR seek because we might have called Resync() which changes mCurrentPos. For bug 4869063.\""
    },
    {
      "commit": "746d7c7f577b549b8a56862b73ae4f4f1247c593",
      "tree": "5bb2523ca0449b971ff986517eca059bdccfacf5",
      "parents": [
        "cf2222281be56fe2c7bf805c73f2d3c67c1aa6e5",
        "de162ff337723798381890151247b129c4fbe314"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Aug 02 09:22:05 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 02 09:22:05 2011 -0700"
      },
      "message": "Merge \"Fix ordering assumption of argument evaluation.\""
    },
    {
      "commit": "57c86189bc07d9ccb0fd044e66df736d0bf19639",
      "tree": "850a15dd5d48eb35aa993ceb27f3551a25622803",
      "parents": [
        "40cdc56efa47580d89a93750cefecb8ccbaf9a72"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat Jul 30 05:00:37 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Aug 02 15:48:41 2011 +0800"
      },
      "message": "Pass camera frame metadata from camera service to Java.\n\nbug:4460717\nChange-Id: I2fae6e1dfca6b8f3a5ee5716fc7817f5417bf657\n"
    },
    {
      "commit": "b6f2fced47866a5d095b2b18d2e28d7c4321e3a6",
      "tree": "6e95ec5d6109c596fc8738ab7399bb4b3d63bee5",
      "parents": [
        "2f53a63142801e174e6ebf79cfbcd9055d8c538b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 01 18:21:00 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 01 18:24:49 2011 -0700"
      },
      "message": "Start thread pool for binder calls\n\nChange-Id: Ie67f54ba06d7fdb42bcb041c1e0a50d8477ae423\nrelated-to-bug: 5095635\n"
    },
    {
      "commit": "2f53a63142801e174e6ebf79cfbcd9055d8c538b",
      "tree": "769b701ae120c1359e056cbea4c413528f9f12b0",
      "parents": [
        "a971214f96f9373cf603b09ff74c55efe569e4fb",
        "c3da3434cb57f47284ea06bb9065eaa2fe033efb"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Aug 01 16:36:02 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 01 16:36:02 2011 -0700"
      },
      "message": "Merge \"connect/disconnect is now called from our EGL wrapper\""
    },
    {
      "commit": "c3da3434cb57f47284ea06bb9065eaa2fe033efb",
      "tree": "4d42795a629910980240489569777d70282921ed",
      "parents": [
        "b7c5f8fa2ee707f010b60ff7bea07c2bf1e17e2d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 29 17:55:48 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Aug 01 14:06:20 2011 -0700"
      },
      "message": "connect/disconnect is now called from our EGL wrapper\n\nthe original connect/disconnect hooks are deprecated\nand replace by api_connect/api_disconnect. the original\nhooks are no no-ops.\napi_connect/api_disconnect is now only called from the\nandroid framework.\n\nBug: 5057915\nChange-Id: I8ca64cd1acd6cabf915bf54689ec2e5f6dfa495a\n"
    },
    {
      "commit": "de162ff337723798381890151247b129c4fbe314",
      "tree": "46aac4c1ff7e01cd03939478e26f61599e8977b5",
      "parents": [
        "288b66b60c9b3af3d84408885d0a4030c45eea9a"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Aug 01 14:01:29 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Aug 01 14:01:29 2011 -0700"
      },
      "message": "Fix ordering assumption of argument evaluation.\n\nNo specific order is specified in the C++ standard, but the order of\nthe calls to Parcel read commands matters.  Move any calls with multiple\nreads to local variables.\n\nFix for bug 5104979.\n\nChange-Id: I709aa040e990d2659e7a3a089f7a42ae812de9ff\n"
    },
    {
      "commit": "9ea5908d386e0ac482b025bc3235d9eb71d77e06",
      "tree": "9c1a7722cbd18fae97726ab2543df6c24063fd7f",
      "parents": [
        "20f725ebcef13ded1b4b85c61c8a4b37cd030656",
        "7f048fdd69753e0ba95d3ef1484b30bcf39164c0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 01 13:26:11 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 01 13:26:11 2011 -0700"
      },
      "message": "Merge \"Fix NALU extraction of unit starts with a 0x00 nalType\""
    },
    {
      "commit": "7f048fdd69753e0ba95d3ef1484b30bcf39164c0",
      "tree": "5888127cf6b43f7d9d9814212e652db1176d47c3",
      "parents": [
        "b7c5f8fa2ee707f010b60ff7bea07c2bf1e17e2d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 01 13:22:26 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 01 13:22:26 2011 -0700"
      },
      "message": "Fix NALU extraction of unit starts with a 0x00 nalType\n\nby not backing up beyond the start of the nal unit.\n\nChange-Id: I5fba9913202de416e634e5f39181be62b72b2469\nrelated-to-bug: 4770290\n"
    },
    {
      "commit": "20f725ebcef13ded1b4b85c61c8a4b37cd030656",
      "tree": "e2d4ace2a91a1116e92fff5d884668be69469a2b",
      "parents": [
        "b7c5f8fa2ee707f010b60ff7bea07c2bf1e17e2d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 22 09:36:24 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 01 10:06:25 2011 -0700"
      },
      "message": "Start playing live streaming HLS content from the first segment.\n\nAlso properly signal a \"hard\" discontinuity, i.e. a possible format change\nwhen a discontinuity is signalled explicitly as part of the playlist.\n\nChange-Id: Ic347d3d11d39b0411c3726a7c723bcf13092b8bc\nrelated-to-bug: 5103155, 5103013\n"
    },
    {
      "commit": "b7c5f8fa2ee707f010b60ff7bea07c2bf1e17e2d",
      "tree": "6d10a145b78fdeeb80cf31811845738cee097728",
      "parents": [
        "0065ef783eca9b5e0abb230c422e05ac73d2eff7",
        "e6cf962d41cb05b57e55ef80f75a24c62671dcfe"
      ],
      "author": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Fri Jul 29 03:37:49 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 29 03:37:49 2011 -0700"
      },
      "message": "Merge \"Part of fix for bug 5065047 build libchromium as a shared lib\""
    },
    {
      "commit": "a3924af33a8005a0aeb20b97fd06e0c523b0d1af",
      "tree": "aab3bf764b1658e708689e77c0387e325f5653a2",
      "parents": [
        "673aebfc7e6e8d38ad29a66d68c71ea8e9121eb1",
        "cd25fed09742235fac10953b9d4b77268c695063"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 27 14:45:28 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 14:45:28 2011 -0700"
      },
      "message": "Merge \"Bug 4599730 Get audio channel count on MediaPlayer\""
    },
    {
      "commit": "f9d566ef54954c5e7b913275438e8022fb194ad6",
      "tree": "ebec64ece215e2e4133b9b128175cc612880da1e",
      "parents": [
        "288b66b60c9b3af3d84408885d0a4030c45eea9a"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Jul 27 14:10:53 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Jul 27 14:10:53 2011 -0700"
      },
      "message": "Re-calculate mCurrentTimeUs for MP3 CBR seek because we might have\ncalled Resync() which changes mCurrentPos.\nFor bug 4869063.\n\nChange-Id: I5c5876ad81adf0ced1a6e6c18cda6905bf38f731\n"
    },
    {
      "commit": "cd25fed09742235fac10953b9d4b77268c695063",
      "tree": "4495bebf5ca8342877e52b5b7db78a24e47db78e",
      "parents": [
        "7fc25dd82dec8474139315b8e905f103c13406f5"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 25 09:26:22 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 27 10:21:09 2011 -0700"
      },
      "message": "Bug 4599730 Get audio channel count on MediaPlayer\n\nRelated changes:\n - Fix bug in get/setParameter* to recycle Parcels when done with them.\n\nChange-Id: Iaff05e91bbd99a14fccb79d816dd873359b6ae65\n"
    },
    {
      "commit": "673aebfc7e6e8d38ad29a66d68c71ea8e9121eb1",
      "tree": "a8511c0871c6b059d1853eb95054c5797ba11d6e",
      "parents": [
        "85fb61eb8b39d4d3fcebc796c3f7ade1d58567aa"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Jul 27 00:58:25 2011 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Jul 27 10:03:43 2011 -0700"
      },
      "message": "libstagefright: add destroyOMXPlugin and use C linkage for symbols\n\nAdd a destroyOMXPlugin() to complemenet createOMXPlugin().  Since the latter is\nan opaque call into a library, it is not safe to assume that the object thus\nreturned may be destroyed by calling delete.  This patch will call\ndestroyOMXPlugin() in libstagefrighthw.so, if the symbol is defined there.\nOtherwise, it will default to a delete as before.\n\nAlso, prefer C linkage for the symbol names.  Using mangled C++ symbols is not\nvery safe and makes it hard to grep for those symbols through the code.  We\nattempt to locate createOMXPlugin as a C symbol then try it as a mangled C++\none.  We only use C linkage for destroyOMXPlugin since this symbol is new.\n\nChange-Id: Ied23c910486856a0f18056df049c871234797c5c\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "dcd955bd86756be551cfd0a07e53caa55ab1a7fe",
      "tree": "4ebc5858e5329f33285737270a946d8fc7730621",
      "parents": [
        "f0de042dc6df6d3a1f3db3a95a1c7964109c6541",
        "d1a243e41caffa8fd346907eed4625c9c47c1a86"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 27 08:56:08 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 08:56:08 2011 -0700"
      },
      "message": "Merge \"AudioRecord: Fix getInput()\""
    },
    {
      "commit": "f0de042dc6df6d3a1f3db3a95a1c7964109c6541",
      "tree": "61049731a0592b11ac130341a52972414e16d32f",
      "parents": [
        "7fc25dd82dec8474139315b8e905f103c13406f5",
        "deaba1c70b8ebdd1fffb40665a40e0593bd9cf3e"
      ],
      "author": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Wed Jul 27 05:33:33 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 05:33:33 2011 -0700"
      },
      "message": "Merge \"Fix for bug 5049763 HLS: Cookies set in main playlist request aren\u0027t being passed to subsequent HTTP requests\""
    },
    {
      "commit": "d1a243e41caffa8fd346907eed4625c9c47c1a86",
      "tree": "a70db88e26c80b621e5e2cb326a5945ccbb5f3cc",
      "parents": [
        "288b66b60c9b3af3d84408885d0a4030c45eea9a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 26 20:32:28 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 26 20:32:28 2011 -0700"
      },
      "message": "AudioRecord: Fix getInput()\n\nAudioRecord::getInput() was issuing a query to get a new input stream from\naudio policy service instead of returning the cached input stream in AudioRecord.\n\nChange-Id: Ice324b7c60bc0898149023797bcb56a72091b9d3\n"
    },
    {
      "commit": "b283ac1ac6758aba907bfe56713d279e8aafd38b",
      "tree": "457d913edc5336c480f46f7484c24536e5a9af4f",
      "parents": [
        "6e6e8a6cc9ab99ab299929fa0246e6ced64f8ce3",
        "a361483bb5dbd3bbf132c5b99b2df7d197c3fc50"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Mon Jul 25 15:00:16 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 25 15:00:16 2011 -0700"
      },
      "message": "Merge \"Adding Metadata mode to SurfaceMediaSource\""
    },
    {
      "commit": "6e6e8a6cc9ab99ab299929fa0246e6ced64f8ce3",
      "tree": "86c78dd408d72d6debb226c614b320ff0a65bf05",
      "parents": [
        "a4635b0cde4a4b7bf0f9aed6aaade60d88eb2fe6",
        "57dae99c9fcd6becd2b5ed0c53f277ba4d7dbcfc"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 25 14:43:05 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 25 14:43:05 2011 -0700"
      },
      "message": "Merge \"Added APIs for audio preprocessing\""
    },
    {
      "commit": "57dae99c9fcd6becd2b5ed0c53f277ba4d7dbcfc",
      "tree": "be3ce6819f6a374f914e2c0ec5a837abfe54da5f",
      "parents": [
        "6d240dc8c5e0bc1ba43a2f5e2f4fc3b5f4ae88db"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Jul 24 13:36:09 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 25 14:39:00 2011 -0700"
      },
      "message": "Added APIs for audio preprocessing\n\nAdded APIs to control pre processes applied on captured audio.\nThose APIs are still hidden until reviewed by API council.\n\nThree types of standard pre processes are supported:\n- Automatic Gain Control (AGC) by AutomaticGainControl class\n- Acoustic Echo Cancellation (AEC) by AcousticEchoCanceler class\n- Noise Suppression (NS) by NoiseSuppressor class\n\nA method is added to AudioEffect class to query audio pre processings\napplied by default by the platform on a given AudioRecord session ID.\n\nChange-Id: I0b9fceeb8c704dd06319c3b52b85c96fe871d51d\n"
    },
    {
      "commit": "a4635b0cde4a4b7bf0f9aed6aaade60d88eb2fe6",
      "tree": "582ec67587782f7f996bb9e874bf46e57469ac6b",
      "parents": [
        "6d240dc8c5e0bc1ba43a2f5e2f4fc3b5f4ae88db",
        "3cecf640c4daf2df616b278bd9986018c8182908"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 25 14:21:14 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 25 14:21:14 2011 -0700"
      },
      "message": "Merge \"Do not support still image capture mode for timelapse video recording\""
    },
    {
      "commit": "e6cf962d41cb05b57e55ef80f75a24c62671dcfe",
      "tree": "22bd11e507a2d3795632c1005b332f12cefc25ff",
      "parents": [
        "be1cc822304d3a29c106ad5b6f330aed3e8c5658"
      ],
      "author": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Fri Jul 22 14:19:36 2011 +0100"
      },
      "committer": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Mon Jul 25 11:22:58 2011 +0100"
      },
      "message": "Part of fix for bug 5065047 build libchromium as a shared lib\n\nBuilding chromium as a shared lib, updating other libs that\nuse it.\n\nChange-Id: Ia20749bb7fbec51b94adb314116503f62f41b782\n"
    },
    {
      "commit": "be1cc822304d3a29c106ad5b6f330aed3e8c5658",
      "tree": "cca08baf5327fd30c0f257738d2871484fa39f87",
      "parents": [
        "726e4527b7a750e688fec4c1e7c5f7b9a33d1623",
        "a57a9a491272aa884494b2ec7854960827a73742"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Jul 24 14:40:08 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jul 24 14:40:08 2011 -0700"
      },
      "message": "Merge \"Do not wait forever for output buffers in OMXCodec.cpp and error out in case time out happens\""
    },
    {
      "commit": "726e4527b7a750e688fec4c1e7c5f7b9a33d1623",
      "tree": "06c12073a7c0919361b092d1f9a5537982077d4c",
      "parents": [
        "348a3aca420da133b2283ee12216e8e0f939e88d",
        "d35924d9928f29dcee6f5666b5bbd084640c7b34"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sun Jul 24 12:59:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jul 24 12:59:35 2011 -0700"
      },
      "message": "Merge \"QueryCodecs() signature change\""
    },
    {
      "commit": "348a3aca420da133b2283ee12216e8e0f939e88d",
      "tree": "b4828c3c51fb149eea640871d555e74c47f2fb8e",
      "parents": [
        "77882a8deb5167235ae591e49c9dcff9abb373c1",
        "0b3f21761eae9b7d230ddd9b4be76ef02d4cec15"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Sun Jul 24 12:07:20 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jul 24 12:07:20 2011 -0700"
      },
      "message": "Merge \"Do not change the number of bytes while converting 8-bit samples to 16-bit, because this number will be used later to calculate mCurrentPos. Fix for bug 5063703.\""
    },
    {
      "commit": "3cecf640c4daf2df616b278bd9986018c8182908",
      "tree": "0a9a7306e8a13af5a7149471569ca73827449aee",
      "parents": [
        "77882a8deb5167235ae591e49c9dcff9abb373c1"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jun 29 16:56:52 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Jul 24 10:33:54 2011 -0700"
      },
      "message": "Do not support still image capture mode for timelapse video recording\n\nrelated-to-bug: 4973779\n\nChange-Id: Ica665217ab10247b2242acc4e93d4fe9f83e3f45\n"
    },
    {
      "commit": "a361483bb5dbd3bbf132c5b99b2df7d197c3fc50",
      "tree": "412284fb2abbc8afd9255cd01d218cb63fe60e4c",
      "parents": [
        "b33f3407bab0970a7f9241680723a1140b177c50"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Thu Jul 14 14:37:47 2011 -0700"
      },
      "committer": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Jul 22 19:33:55 2011 -0700"
      },
      "message": "Adding Metadata mode to SurfaceMediaSource\n\nSurfaceMediaSource operates in metadata mode only, i.e. just the\nmetadata is stored in videobuffers. SurfaceMediaSource passes the Gralloc\nbuffer handle along with a 4 byte \u0027type\u0027 (indicating that the metadata\nis of type GrallocSource) to the encoder as opposed to the\nGrallocBuffer itself.\n\nRelated to bug id: 4529323\n\nChange-Id: I83aebc0dd10f317658cdf70be5802dfc35a1e72d\n"
    },
    {
      "commit": "77882a8deb5167235ae591e49c9dcff9abb373c1",
      "tree": "92f1198bc7488f47b2160d10e772c3823ed7fb40",
      "parents": [
        "29a142c7237821b6dc7bd1e8b56bb1efdc56767b",
        "b33f3407bab0970a7f9241680723a1140b177c50"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Jul 22 16:42:41 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 22 16:42:41 2011 -0700"
      },
      "message": "Merge \"Connect MediaRecorder Native to SurfaceMediaSource\""
    },
    {
      "commit": "d35924d9928f29dcee6f5666b5bbd084640c7b34",
      "tree": "a9aee28b7cb355ec52034e1212794e896a18767f",
      "parents": [
        "7dff060f29858d6db2464845bb9097ac5960bbe6"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jul 22 09:52:39 2011 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jul 22 14:51:51 2011 -0700"
      },
      "message": "QueryCodecs() signature change\n\nRestore QueryCodecs() signature exactly as used by third-party libs.\nAdd an alternative function to select HW only codecs.\n\nChange-Id: Ibb2cb4dd36fc0c6599eb93aa5751c216397e3b6f\n"
    },
    {
      "commit": "0b3f21761eae9b7d230ddd9b4be76ef02d4cec15",
      "tree": "cd768728447d3f07c519f8854a0d82d7b5b833b6",
      "parents": [
        "60c93010e8f96a179574ec66c00ec47a675319e3"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Jul 22 14:42:28 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Jul 22 14:42:28 2011 -0700"
      },
      "message": "Do not change the number of bytes while converting 8-bit samples to 16-bit,\nbecause this number will be used later to calculate mCurrentPos.\nFix for bug 5063703.\n\nChange-Id: I75a78ef694482aa426d82a6c5f3d2ce570a9c19e\n"
    },
    {
      "commit": "29a142c7237821b6dc7bd1e8b56bb1efdc56767b",
      "tree": "93907731b48b396bbacad20b8be96aa67c0f83b8",
      "parents": [
        "85eafc680a0bf5e0253cf611ac525769fc9bef3e"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Jul 19 12:08:33 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jul 22 14:20:41 2011 -0700"
      },
      "message": "SurfaceTexture: add the abandon method.\n\nThis change adds the \u0027abandon\u0027 method to the SurfaceTexture C++ class.\nThis method may be used to put the SurfaceTexture in an abandoned state,\ncausing all ISurfaceTexture methods to fail.\n\nChange-Id: Ibd261f7b73f44e2bec36a8508bf92113cfb7cf95\n"
    },
    {
      "commit": "b33f3407bab0970a7f9241680723a1140b177c50",
      "tree": "8c49b51867769176b088f5ee2dbecd69c188464f",
      "parents": [
        "fe388eedca9f46ed3fee9579258acecd93e88641"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Jul 01 17:39:39 2011 -0700"
      },
      "committer": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Jul 22 14:17:25 2011 -0700"
      },
      "message": "Connect MediaRecorder Native to SurfaceMediaSource\n\nMaking a connection from MediaRecorder Native layer to the\nSurfaceMediaSource for the purpose of encoding GL Frames. This will be\ncalled from the java side inside the Mobile Filter Framework.\n\nThe mediarecorder native layer (client), when set the videosource to\noption VIDEO_SOURCE_FRAMES, asks the StageFrightRecorder on the mediaserver\nside to create a SurfaceMediaSource object and pass it back as a\nsp\u003cISurfaceTexture\u003e object. Using that, the client side will dequeue and\nqueue buffers. Connecting the GL Frames to the obtained\nsp\u003cISurfaceTexture\u003e is not part of this CL.\n\nRelated to bug id: 4529323\n\nChange-Id: I651bec718dd5b935779e7d7a050b841c2d0b0fcd\n"
    },
    {
      "commit": "85eafc680a0bf5e0253cf611ac525769fc9bef3e",
      "tree": "c5e69ab10dd15be3b464db81b8f4e9382d8ea8e8",
      "parents": [
        "fe388eedca9f46ed3fee9579258acecd93e88641"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jul 22 14:00:37 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jul 22 14:02:09 2011 -0700"
      },
      "message": "SurfaceMediaSource: remove getAllocator method\n\nThis change removes the getAllocator method from SurfaceMediaSource\nbecause that method is no longer a part of the ISurfaceTexture\ninterface.\n\nChange-Id: I0e2f0bc3bc1c8cd3c1b4b14246f07b9b4e3066c3\n"
    },
    {
      "commit": "fe388eedca9f46ed3fee9579258acecd93e88641",
      "tree": "cf42a7744c9f75c78ab382a210a9217204e3d4d0",
      "parents": [
        "10b7197cf9016093bdff20b6f7768543fd1c5720",
        "1a2fafbaa36390a06cc9a066fcbe147c8c47ea77"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Jul 22 11:49:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 22 11:49:36 2011 -0700"
      },
      "message": "Merge \"Renaming SurfaceEncoder to SurfaceMediaSource\""
    },
    {
      "commit": "10b7197cf9016093bdff20b6f7768543fd1c5720",
      "tree": "1e2a7d50f8b2dc8638ab5c5852e0c19d1e20b472",
      "parents": [
        "10681df94d517bb7186fff927f345fa2e01de8e1",
        "3399b7267185646c69b04352211fca4fad9d7547"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Jul 22 11:49:21 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 22 11:49:21 2011 -0700"
      },
      "message": "Merge \"Adding SurfaceEncoder for encoding FilterFrames\""
    },
    {
      "commit": "47a55f57090847e6e6683ab25291506f8a66f759",
      "tree": "ce4661749fc54cda2de186a9ca09698b271934a7",
      "parents": [
        "5bc965b1ff21c64e5f30130957bfe96300e15ed3",
        "0683eba6b35c396c21f10e926709f2f8fc05f090"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 22 10:25:24 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 22 10:25:24 2011 -0700"
      },
      "message": "Merge \"Retry datasource fetches a few times before giving up (NuCachedSource2).\""
    }
  ],
  "next": "5bc965b1ff21c64e5f30130957bfe96300e15ed3"
}
