)]}'
{
  "log": [
    {
      "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": "a17b835f5b0bf42f4855fe57aef42799f28f3915",
      "tree": "2a0e275756f173efb4a790d4bfe666d06a6a3569",
      "parents": [
        "ee0846f97cf07f5f18d19161526743330aabb44e",
        "ab3f1388c71aed957f94ddab976faa77ab77e67f"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Aug 17 22:24:53 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 17 22:24:53 2011 -0700"
      },
      "message": "Merge \"Add new camera focus mode FOCUS_MODE_CONTINUOUS_PICTURE.\""
    },
    {
      "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": "ab3f1388c71aed957f94ddab976faa77ab77e67f",
      "tree": "8187b7aa433b95bfbc53f3d9e209839662bf4889",
      "parents": [
        "a5cc7cce9b8aee73b08f6532710e186c02fdd1c0"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Aug 16 21:14:16 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Aug 18 00:15:40 2011 +0800"
      },
      "message": "Add new camera focus mode FOCUS_MODE_CONTINUOUS_PICTURE.\n\nThe API is still hidden.\n\nbug:5086125\nChange-Id: I69268a95ad6aae249771d3a8dfb423ffe2d87081\n"
    },
    {
      "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": "a5cc7cce9b8aee73b08f6532710e186c02fdd1c0",
      "tree": "e23becde27c1878444b3569d55109b7306a36994",
      "parents": [
        "0270b188aa3929cc512ec6869caba1d6b60cc08c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 02 17:41:11 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 12 17:43:35 2011 -0700"
      },
      "message": "Issue 5081351: isWiredHeadsetOn() permission.\n\nAudioManager.isWiredHeadsetOn() should not require permission MODIFY_AUDIO_SETTINGS.\nRemove permission checks on all getters in audio policy manager as permission enforcement\nis really usefull for setters.\nAlso deprecate AudioManager.isWiredHeadsetOn() which name and implementation are deceptive.\n\nChange-Id: I38f8df7c26c0d417bf0e2b74e4c11c2d143f2ecd\n"
    },
    {
      "commit": "0270b188aa3929cc512ec6869caba1d6b60cc08c",
      "tree": "dda5b931e1c380f8dd0c47b4e8b2178980d4cce6",
      "parents": [
        "db29e5238e28d59978755a2ff2e7e0f05393abdf"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 12 14:14:39 2011 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 12 14:54:56 2011 -0700"
      },
      "message": "Don\u0027t remove effects on session 0\n\nb/5159902\nChange-Id: Id6f29fb1c687069f7480dd81d4745a558f202226\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": "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": "c3e6572e0ff535932b1f6ffb7bcf5acd891675fb",
      "tree": "e4d87846a30c25c0c2c06c2ab314f93bb945b49f",
      "parents": [
        "ea7c2fea6a031d37270cb5b22b432729626b266d",
        "b8ba0a979067a4efb0b3819bf17770793e41c15e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 08 09:31:42 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 08 09:31:42 2011 -0700"
      },
      "message": "Merge \"AudioFlinger: protect input/output stream access\""
    },
    {
      "commit": "b8ba0a979067a4efb0b3819bf17770793e41c15e",
      "tree": "b38d6dc04987787c6bcf1d23b68ab2f6a870da93",
      "parents": [
        "8292f43746a359d31af631efcffccd142c0a50c3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Aug 07 16:32:26 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 08 08:55:29 2011 -0700"
      },
      "message": "AudioFlinger: protect input/output stream access\n\nSome methods would not check that the output orinput stream of a thread\nwas still valid before calling functions on its interface.\nThis could cause a crash if those methods where called while the output or\ninput was being closed by another thread.\n\nMake sure that the output or input stream pointer is cleared before closing the\nstream.\nAlways check that the output or input pointer is not null before calling\nfunctions at the stream interface.\nGeneralize the use of initCheck() method to verify that the output or input\nstream is not null.\n\nChange-Id: I9d9ca6b744d011bcf3a7bbacb4a581ac1477bfa5\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": "1bea7ea4d571123992c38b6a406b58db1e7b4c7e",
      "tree": "0561766d3932a5176a4ed5e282b19372aa6efd92",
      "parents": [
        "f89d780df70b7fbb8465bce4913c46cca019721f",
        "cfff1f2b0bac432fac49f0b21e09e08f0e913622"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Aug 04 15:33:12 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 04 15:33:12 2011 -0700"
      },
      "message": "Merge \"resolved conflicts for merge of 845fdba7 to master\""
    },
    {
      "commit": "cfff1f2b0bac432fac49f0b21e09e08f0e913622",
      "tree": "dbcae16e000420b1a7bf15e48d6c088c1c0bab24",
      "parents": [
        "6801b4dbd00b485ecdcd31b517ed885a8fa21c63",
        "e3c56d16412882e2dac697fbe6fa9852ee4dee31"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Aug 04 15:13:14 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Aug 04 15:13:14 2011 -0700"
      },
      "message": "resolved conflicts for merge of 845fdba7 to master\n\nChange-Id: I716b6ceb03bd733f9e7f49008112c8f2c53ad9ce\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": "e3c56d16412882e2dac697fbe6fa9852ee4dee31",
      "tree": "59ecf59e6635c9820f9ce60b553034406251d644",
      "parents": [
        "1de2393648b9fe43977ef88b72489fec05d629a9",
        "90855078eb989944bca1824058d7231cd68e5021"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Aug 04 14:47:43 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 04 14:47:43 2011 -0700"
      },
      "message": "am 8a6fb50d: am 4e197ea8: am e15a73ee: Merge \"Bug fixes in OMA DRM v1 Forward Lock Agent\"\n\n* commit \u00278a6fb50d69ec40a413b117bc9145a97ec427852f\u0027:\n  Bug fixes in OMA DRM v1 Forward Lock Agent\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": "90855078eb989944bca1824058d7231cd68e5021",
      "tree": "37223af2787c451afadf1a9e392ade89450d2f9a",
      "parents": [
        "93a1e245c94f14b6fb68361f76e46285431dab26"
      ],
      "author": {
        "name": "Henrik B Andersson",
        "email": "henrikb.andersson@sonyericsson.com",
        "time": "Mon Feb 21 14:22:08 2011 +0100"
      },
      "committer": {
        "name": "Henrik Baard",
        "email": "henrik.baard@sonyericsson.com",
        "time": "Thu Aug 04 13:43:02 2011 +0200"
      },
      "message": "Bug fixes in OMA DRM v1 Forward Lock Agent\n\nA couple of fixes in the Forward Lock Agent.\nThe DRM Framework isn\u0027t thread safe so the Forward Lock Agent needs\nto protect the private structures.\nBase64-encoded content with LF-only instead of CRLF line breaks is now\naccepted.\nA fix for non-standard boundary characters.\nThe debug prints are also turned off as default.\n\nChange-Id: I8ab417231380fbe1c371d18a147773ceabc6f69f\n"
    },
    {
      "commit": "dae8421c638562686839e56555cb08753077f268",
      "tree": "a53bd6ea3de828eaaae0d542d26f63bc9acf2fce",
      "parents": [
        "874f0f1223041d70dbcc9777d0d14c995810a4d8",
        "79e2ab42c38d1099bcd7c8840caa5a85c9fcb104"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Aug 04 01:46:56 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 04 01:46:56 2011 -0700"
      },
      "message": "Merge \"Add camera bayer image format.\""
    },
    {
      "commit": "79e2ab42c38d1099bcd7c8840caa5a85c9fcb104",
      "tree": "09d1f199f95d265b1536de3b5416b481644b6f03",
      "parents": [
        "57c86189bc07d9ccb0fd044e66df736d0bf19639"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Aug 02 17:49:50 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Aug 04 16:40:28 2011 +0800"
      },
      "message": "Add camera bayer image format.\n\nThe API are hidden.\n\nbug:5086073\n\nChange-Id: Ic9a53e5d5007ad3f12a28406ee25098227f14cbc\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": "59bd0da8373af0e5159b799495fda51e03120ea4",
      "tree": "0848d5a00a8227d57514a082caa989c39e12e056",
      "parents": [
        "ff3f6808a07a6280071ac1aef7032d6a20ef7393"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 01 09:52:20 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 03 11:47:45 2011 -0700"
      },
      "message": "AudioFlinger: disable AEC and NS with BT headsets\n\nDisable AEC and NS when the Bluetooth SCO headset in use indicates it\nimplements those pre processings.\n\nChange-Id: I93f3d10b0a27243d5dbff7182639576fc0c6d862\n"
    },
    {
      "commit": "ff3f6808a07a6280071ac1aef7032d6a20ef7393",
      "tree": "f6b349fc35b9873837e68c7c50dd375bc16c5045",
      "parents": [
        "c6354e9396b4d8929058a283cfc77327b47e9944",
        "59255e4fc7d8ff52874b85b1988dc0785140cf81"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 03 10:38:04 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 03 10:38:04 2011 -0700"
      },
      "message": "Merge \"Audio Effect Framework: add effect suspend/restore\""
    },
    {
      "commit": "59255e4fc7d8ff52874b85b1988dc0785140cf81",
      "tree": "8c6655d7fc94a6caa7a6b3dd10393b8d4f5564ab",
      "parents": [
        "8292f43746a359d31af631efcffccd142c0a50c3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 27 19:49:51 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 02 20:03:35 2011 -0700"
      },
      "message": "Audio Effect Framework: add effect suspend/restore\n\nAdd the possibility for the effect framework to suspend\n(temporarily disable process) and restore audio effects.\nThis feature will be usefull to disable pre processing under certain\nconditions and better control coexistence of audio effects\non output mix and specific sources.\n\nChange-Id: I79b195982cc48748d5708308fb1647b9c3c34cc6\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": "cf2222281be56fe2c7bf805c73f2d3c67c1aa6e5",
      "tree": "ee8eddb424dded8d171d2ed4ebe7070ff8d32eed",
      "parents": [
        "57c86189bc07d9ccb0fd044e66df736d0bf19639",
        "197f047db2909c3d8cc84b95f69d18410a935fb8"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Aug 02 09:21:53 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 02 09:21:53 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": "40cdc56efa47580d89a93750cefecb8ccbaf9a72",
      "tree": "ffa29768c5a9207340027ca44cbacdc3e3b40750",
      "parents": [
        "2f53a63142801e174e6ebf79cfbcd9055d8c538b"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Aug 02 13:20:36 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Aug 02 14:27:58 2011 +0800"
      },
      "message": "Add camera recording hint parameter.\n\nThe API is still hidden.\n\nbug:4266229\nChange-Id: I5e4c24e9e2808582aecb55ac4f1d5be3ed7e36a2\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": "a971214f96f9373cf603b09ff74c55efe569e4fb",
      "tree": "9c1a7722cbd18fae97726ab2543df6c24063fd7f",
      "parents": [
        "9ea5908d386e0ac482b025bc3235d9eb71d77e06",
        "1de2393648b9fe43977ef88b72489fec05d629a9"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Aug 01 14:12:43 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 01 14:12:43 2011 -0700"
      },
      "message": "am 8fb7bd4d: am 5bb3129c: (-s ours) am a2616220: am 5e57c2cf: Merge \"Stagefright: Return error if codec takes too long to return a buffer.\"\n\n* commit \u00278fb7bd4d02cd4ad2111699778e64464d979f03bb\u0027:\n  Stagefright: Return error if codec takes too long to return a buffer.\n"
    },
    {
      "commit": "1de2393648b9fe43977ef88b72489fec05d629a9",
      "tree": "8136f77079960d466a895235d601d97d258a4f06",
      "parents": [
        "b2ac59b3a1748eef58c228a7e808d40bd1741dcf",
        "93a1e245c94f14b6fb68361f76e46285431dab26"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Aug 01 14:10:39 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 01 14:10:39 2011 -0700"
      },
      "message": "am 5bb3129c: (-s ours) am a2616220: am 5e57c2cf: Merge \"Stagefright: Return error if codec takes too long to return a buffer.\"\n\n* commit \u00275bb3129c7eabce34d7c1469826e1795d4b225bb3\u0027:\n  Stagefright: Return error if codec takes too long to return a buffer.\n"
    },
    {
      "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": "93a1e245c94f14b6fb68361f76e46285431dab26",
      "tree": "65b004e4db4538035e91fde8a15f214200f7dd55",
      "parents": [
        "e82c319beb2275ad0832cf77252943e16df04b1a",
        "972c502722d52cced15a0e4b5cb303ccf3f890ed"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Aug 01 13:43:07 2011 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Mon Aug 01 13:43:07 2011 -0700"
      },
      "message": "Merge \"Stagefright: Return error if codec takes too long to return a buffer.\""
    },
    {
      "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": "197f047db2909c3d8cc84b95f69d18410a935fb8",
      "tree": "a8129a741f28a599d75621b6e74ea93950fa9639",
      "parents": [
        "288b66b60c9b3af3d84408885d0a4030c45eea9a"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Aug 01 10:31:24 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Aug 01 10:52:49 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 5103507.\n\nChange-Id: Ic23ad50ec5f443146f00324b66d5e2bd5b9ffd0d\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": "0065ef783eca9b5e0abb230c422e05ac73d2eff7",
      "tree": "ca4e2535387f1175b6b9bbeb8e44b30161b5f9a4",
      "parents": [
        "6dbe883644940badc684957cfc381bfd115f205e",
        "ff09ef8f18eed29bce50c7817df2fd52d2b50cf6"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Jul 28 17:23:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 28 17:23:35 2011 -0700"
      },
      "message": "Merge \"Add frame metadata parameter to camera data_callback.\""
    },
    {
      "commit": "ff09ef8f18eed29bce50c7817df2fd52d2b50cf6",
      "tree": "f02ccfe423ba130129a964b7e59e66ca2cae3469",
      "parents": [
        "a3924af33a8005a0aeb20b97fd06e0c523b0d1af"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Jul 28 05:30:59 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Jul 29 07:14:38 2011 +0800"
      },
      "message": "Add frame metadata parameter to camera data_callback.\n\nbug:4460717\nChange-Id: Ib47d7d7df20af8155a719f3dabefe030893bfebc\n"
    },
    {
      "commit": "6dbe883644940badc684957cfc381bfd115f205e",
      "tree": "54dcc4237e87c8782c697cd338a6bbbed78e2758",
      "parents": [
        "a3924af33a8005a0aeb20b97fd06e0c523b0d1af"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 28 13:59:02 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 28 13:59:02 2011 -0700"
      },
      "message": "Fix issue 5090721: audio record broken\n\nCommit 6dbdc40 introduced a deadlock when exiting the\nAudioFlinger RecordThread.\n\nChange-Id: I1f63e54c5aeff05da4e4d028b53f734c62c78677\n"
    },
    {
      "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": "85fb61eb8b39d4d3fcebc796c3f7ade1d58567aa",
      "tree": "062e10a3423f078c6ee4956c00cee5a1d2c39c37",
      "parents": [
        "a7280a59259018d997896c043fd2db95f631f12e"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Tue Jul 26 15:56:44 2011 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Jul 27 10:03:43 2011 -0700"
      },
      "message": "libcameraservice: call put_parameters on camera HAL\n\nChange-Id: I492d1034ade50f9e157141debaa9783a90a04a91\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "a7280a59259018d997896c043fd2db95f631f12e",
      "tree": "516378da6bd410e4fd2fe8cc4927be61b450b684",
      "parents": [
        "99b25ba8da5fdb7a524b53c5db290f7a64f1259c",
        "ec437d8d3db79459d7b19e1734e6fe309bd621e8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 27 09:48:47 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 09:48:47 2011 -0700"
      },
      "message": "Merge \"AudioFlinger: fix crash when deleting pre process.\""
    },
    {
      "commit": "99b25ba8da5fdb7a524b53c5db290f7a64f1259c",
      "tree": "b9fdd68537ad28643a3081c93601b3dc289c0b74",
      "parents": [
        "dcd955bd86756be551cfd0a07e53caa55ab1a7fe",
        "feb0db689c17dced50afaee54c659f1676e2d505"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 27 09:02:47 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 09:02:47 2011 -0700"
      },
      "message": "Merge \"Fix issue 4604090: notification sound interrupted.\""
    },
    {
      "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": "ec437d8d3db79459d7b19e1734e6fe309bd621e8",
      "tree": "e04cdae7f24f8a9827435b591b5f0f5cc8d2ae4b",
      "parents": [
        "288b66b60c9b3af3d84408885d0a4030c45eea9a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 26 20:54:46 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 26 20:54:46 2011 -0700"
      },
      "message": "AudioFlinger: fix crash when deleting pre process.\n\nIf a pre processing effect is detroyed while enabled and capture is active,\nthere was a possibility that the effect engine is released by the framework\nwhile still processed by the audio HAL.\n\nThe fix consists in not releasing the engine in EffectModule::removeHandle()\nbut just flag the effect as being detroyed to avoid further calls to functions\non the engine effect interface.\nThe effect interface is then removed from the audio HAL safely in\nEffectChain::removeEffect_l() while holding the EffectChain mutex.\n\nChange-Id: I71fab30d9145062af8644f545a1f1d4d3e7e7f02\n"
    },
    {
      "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": "7fc25dd82dec8474139315b8e905f103c13406f5",
      "tree": "9c03327dbcab2d396e481deca4098924571c6f4c",
      "parents": [
        "288b66b60c9b3af3d84408885d0a4030c45eea9a"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Jul 22 02:37:11 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Jul 27 05:25:35 2011 +0800"
      },
      "message": "Add camera face detection API.\n\nAPI are still hidden.\n\nbug:4460717\nChange-Id: I1a515061f141a89bd61c875257712789fb15d2d4\n"
    },
    {
      "commit": "feb0db689c17dced50afaee54c659f1676e2d505",
      "tree": "a949f6cb66c3c5886cd0682fcb3781b0fd5db0a8",
      "parents": [
        "288b66b60c9b3af3d84408885d0a4030c45eea9a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 22 09:04:31 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 25 18:41:12 2011 -0700"
      },
      "message": "Fix issue 4604090: notification sound interrupted.\n\nThe problem is that the audio HAL fails to acquire the wake lock when playing the notification.\nThis is because of a change that removed the mediaserver process form the system group for honeycomb.\n\nThe fix consists in requesting the wake lock from PowerManagerService when AudioFlinger mixer\nwakes up.\n\nA consequence of this change is that audio HALs or pcm drivers do not have to hold wake locks\nanymore as in the past.\n\nChange-Id: I4fb3cc84816c9c408ab7fec75886baf801e1ecb5\n"
    },
    {
      "commit": "288b66b60c9b3af3d84408885d0a4030c45eea9a",
      "tree": "80ed9ae3d7e43e7f57a12fe6a7571dc262ca4323",
      "parents": [
        "b283ac1ac6758aba907bfe56713d279e8aafd38b",
        "8f00151cbe693d52f3e233757c57fab3b6396d21"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Jul 25 16:36:20 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 25 16:36:20 2011 -0700"
      },
      "message": "Merge \"Fix for bug 4371230. - Generate unique ID for each DrmManagerClient in native side - Fix the bug where multiple clients could use the same ID - Return the correct unique ID back to Java - Add a flag in the unique ID to separate native client and Java client\""
    },
    {
      "commit": "8f00151cbe693d52f3e233757c57fab3b6396d21",
      "tree": "e23cc93514f43af27aa3e2d7bcfce1b88d614a2b",
      "parents": [
        "60c93010e8f96a179574ec66c00ec47a675319e3"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Jul 21 15:10:22 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Jul 25 16:09:58 2011 -0700"
      },
      "message": "Fix for bug 4371230.\n- Generate unique ID for each DrmManagerClient in native side\n- Fix the bug where multiple clients could use the same ID\n- Return the correct unique ID back to Java\n- Add a flag in the unique ID to separate native client and Java client\n\nChange-Id: Ia4574b6b0a526f2335a65380975dc62f9a6e7f9b\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\""
    }
  ],
  "next": "57dae99c9fcd6becd2b5ed0c53f277ba4d7dbcfc"
}
