)]}'
{
  "log": [
    {
      "commit": "eaa0b5cc2f7723e9b25298126d0dcb48c56d5dac",
      "tree": "5c73ae7daf8480e7ce2cc862790332401688931b",
      "parents": [
        "7baf7894bc2f1a62440f381eeb50143f210a5d61"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 23 18:35:10 2012 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 23 18:37:07 2012 -0800"
      },
      "message": "DO NOT MERGE Revert \"Revert \"AudioFlinger: mix track only when really ready (2)\"\"\n\nThis reverts commit b918035d34422a2041b6ec8c09c566bb93345b40.\n\nChange-Id: I093bcfa56ad54a080b930208b6b79169d33581fb\n"
    },
    {
      "commit": "7baf7894bc2f1a62440f381eeb50143f210a5d61",
      "tree": "0ddf435e065f725aebbd1a726eb1087f6e5decfb",
      "parents": [
        "2774144fa8283f1a7b43e17a53c97dec0c366dd3"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Jan 23 14:01:15 2012 -0800"
      },
      "committer": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Mon Jan 23 15:02:41 2012 -0800"
      },
      "message": "DO NOT MERGE Revert \"AudioFlinger: mix track only when really ready (2)\"\n\nThis reverts commit 71c4496a9757438afd30b4404824f296f6158a49.\n\nChange-Id: Iff10c49ea728bb10023ddeb50a3b708db770fff2\n"
    },
    {
      "commit": "2774144fa8283f1a7b43e17a53c97dec0c366dd3",
      "tree": "5c73ae7daf8480e7ce2cc862790332401688931b",
      "parents": [
        "86d24aa35adf82512d341d9aaebd62b36b0a0847"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jan 17 19:20:12 2012 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 18 12:27:38 2012 -0800"
      },
      "message": "AudioFlinger: mix track only when really ready (2)\n\nThis problem due to the way audio buffers are mixed when\nlow power mode is active was addressed by commits 19ddf0eb\nand 8a04fe03 but only partially. As a matter of fact, when more\nthan one audio track is playing, the problem is still present.\nThis is most noticeable when playing music with screen off\nand a notification or navigation instruction is played: in this case,\nthe music or notification is likely to skip.\n\nThe fix consists in declaring the mixer ready if all active tracks\nare ready. Previous behavior was to declare ready if at least one track was\nready. To avoid that one application failing to fill the track buffer blocks other\ntracks indefinitely, this condition is respected only if the mixer was ready\nin the previous round.\n\nIssue 5799167.\n\nChange-Id: Iabd4ca08d3d45f563d9824c8a03c2c68a43ae179\n"
    },
    {
      "commit": "86d24aa35adf82512d341d9aaebd62b36b0a0847",
      "tree": "0ddf435e065f725aebbd1a726eb1087f6e5decfb",
      "parents": [
        "60a78ac9535878984b0777788760b9ee7465c5e6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 09 13:47:48 2012 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jan 09 13:48:25 2012 -0800"
      },
      "message": "stagefright: limit audio gap for looped playback\n\nThe audio gap when looping audio is mostly due to\na delay requested by the audio player when executing\nthe end of stream message. This is to allow the audio\nto be drained out of the pipe before actually stopping the\nAudioTrack.\nThis delay is not needed when looping as the AudioTrack\nis not stopped.\n\nThe fix consists in ignoring the requested delay when the\nlooping flag is set in awesome player.\n\nIssue 5800981.\n\nChange-Id: Ib32d2930c53ecebc21ca8440e6e054c7e20db4a5\n"
    },
    {
      "commit": "60a78ac9535878984b0777788760b9ee7465c5e6",
      "tree": "ec9e13131339633dcd8a9785bdf0db7588020d95",
      "parents": [
        "071ccd5a9702500f3f7d62ef881300914926184d"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jan 05 15:34:53 2012 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jan 06 10:24:01 2012 -0800"
      },
      "message": "Switch camera sounds to always use the system enforced audio stream.\n\nInstead of picking between the music stream and the enforced audio\nstream, change the camera service to always play sounds through\nenforced system stream. Also update the currently-hidden CameraSound\nAPI to match.\n\nBug: 5778365\nChange-Id: I3cc64b1d1ff567dbac8020a665d5b19846197ff3\n"
    },
    {
      "commit": "071ccd5a9702500f3f7d62ef881300914926184d",
      "tree": "2ffdfd9dbc064aa3d2a9b229f87b679220ef4f79",
      "parents": [
        "69aac3e6cd68e8c305a41b2677123db7662efd4b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 22 16:08:41 2011 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 22 16:08:41 2011 -0800"
      },
      "message": "audioflinger: fix clicks on 48kHz audio.\n\nThe calculation done in prepareTracks_l() for the minimum amount\noff frames needed to mix one output buffer had 2 issues:\n- the additional sample needed for interpolation was not included\n- the fact that the resampler does not acknowledge the frames consumed\nimmediately after each mixing round but only once all frames requested have been used\nwas not taken into account.\nThus the number of frames available in track buffer could be considered sufficient although\nit was not and the resampler would abort producing a short silence perceived as a click.\n\nIssue 5727099.\n\nChange-Id: I7419847a7474c7d9f9170bedd0a636132262142c\n"
    },
    {
      "commit": "69aac3e6cd68e8c305a41b2677123db7662efd4b",
      "tree": "c5f62a947aa04afb4e3f5f8f8ddbb569ff8fa0c0",
      "parents": [
        "785ee06d106cd7958e0c151ebc6b7174d9ba861e"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Dec 15 18:14:05 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Dec 15 18:36:08 2011 -0800"
      },
      "message": "SurfaceMediaSource: use the HW_TEXTURE usage bit\n\nThis change makes SurfaceMediaSource request Gralloc buffers with the\nHW_TEXTURE usage bit rather than the VIDEO_ENCODER bit.  It is a\ntemporary workaround for what is likely a Gralloc bug.\n\nBug: 5771063\nChange-Id: I9cce615e80fc14a1644fae27ba06970c262dd179\n"
    },
    {
      "commit": "785ee06d106cd7958e0c151ebc6b7174d9ba861e",
      "tree": "52cb291bf974f4593277cc1142e514ebadae4b89",
      "parents": [
        "19e9d0fe6dc3ff4fb1807fee2ad058bf3277e883"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Dec 14 10:57:05 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Dec 14 11:01:59 2011 -0800"
      },
      "message": "Revert the following patches because they may lead to power regression because SHA/MD5 module is stuck\n1. Revert \"Fix drm flag setting missed in false drm recognition fix.\"\n   This reverts commit 9f704f6c46a171357e49c411c83458b9d4565f3b.\n\n2. Revert \"Fixed the false drm recognition.\"\n   This reverts commit aadbd80b307c817698ce5110ff8e002804d1b230.\n\n3. Revert \"Fix drm enumeration order, resolves failure to play forward lock ringtones\"\n   This reverts commit a5cbf023e349f2394ba6fc58d73b4375cfec4369.\n\n4. Revert \"Fix ANRs due to Widevine DRM plugin sniff taking too long.\"\n   This reverts commit d0d19db1ca1c289b069db33f4665bcb9386064e9.\n\nAs a result of the reverting, many ANRs from WV sniffing are back.\n\nrelated-to-bug: 5739618\n"
    },
    {
      "commit": "19e9d0fe6dc3ff4fb1807fee2ad058bf3277e883",
      "tree": "85df096ae36e2226ef9344e1ac419d8ebee8c1b2",
      "parents": [
        "a9d421d3c05b98ee5481428ca3dcb3e3245140ff"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Dec 09 15:09:56 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 13 10:09:48 2011 -0800"
      },
      "message": "DO NOT MERGE: Support for parsing of \"folded\" RTSP header values\n\nand some tweaks to the AMR assembler contributed by Samsung (untested).\n\nChange-Id: I6c3df31fa3a35433bfddfdda82747bb4c6ee86a1\nrelated-to-bug: 5669027\n"
    },
    {
      "commit": "a9d421d3c05b98ee5481428ca3dcb3e3245140ff",
      "tree": "9923d2dba8b8bf93adb3e4a54aa8788031f6c75b",
      "parents": [
        "7e976e926dd8085a64a7add97ce09bfeca26e088"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Dec 09 20:04:17 2011 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Dec 09 20:04:17 2011 -0800"
      },
      "message": "Fix drm enumeration order, resolves failure to play forward lock ringtones\n\nChange-Id: I58e8a26849409bc3bf98b066c5e07c2a0c91e0c9\nrelated-to-bug: 5735466\n"
    },
    {
      "commit": "7e976e926dd8085a64a7add97ce09bfeca26e088",
      "tree": "dd64d410e936b9d0a31ca606598ae34153faca4d",
      "parents": [
        "d1fa3ca0eee42ffd450d579b357f39163a716ee3"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Dec 09 08:57:23 2011 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Dec 09 09:09:08 2011 -0800"
      },
      "message": "Fix drm flag setting missed in false drm recognition fix.\n\nChange-Id: Ie38668c8a32969ef7c7df4ca3350e2364291953c\nrelated-to-bug: 5732033\n"
    },
    {
      "commit": "d1fa3ca0eee42ffd450d579b357f39163a716ee3",
      "tree": "d8d69ce3df2f878f020f768ef96771561ea00619",
      "parents": [
        "b7b9c7b47a771e550124ae269a7b1be262039b95"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Dec 08 19:31:59 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Dec 08 21:01:31 2011 -0800"
      },
      "message": "Fixed the false drm recognition.\n\nChange-Id: If0198e52ff7bbd7422f219f55a37aae97f7d74f1\n\nrelated-to-bug: 5732033\n"
    },
    {
      "commit": "b7b9c7b47a771e550124ae269a7b1be262039b95",
      "tree": "b3a6159135c39e43306d25f3c2dd5689d0841777",
      "parents": [
        "1906e5c7492b9cbc88601365536a69e9a490c963",
        "ee736e9e74c5368db8d63214513c85cb74bb0183"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 08 13:33:16 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 08 13:33:16 2011 -0800"
      },
      "message": "Merge \"Don\u0027t perform RTSP seeks right away but queue them for 200ms\" into ics-mr1"
    },
    {
      "commit": "ee736e9e74c5368db8d63214513c85cb74bb0183",
      "tree": "0429919e29c8bf29d834f99bf39b7a7eccb99c89",
      "parents": [
        "894f3ca9a9f94225bb64f36847508a91d0b17a6e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 08 13:04:50 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 08 13:04:50 2011 -0800"
      },
      "message": "Don\u0027t perform RTSP seeks right away but queue them for 200ms\n\nand only execute the last one.\n\nChange-Id: I9ab342396ec9c9c03624a4b0306d1e180ceca000\nrelated-to-bug: 5732960\n"
    },
    {
      "commit": "1906e5c7492b9cbc88601365536a69e9a490c963",
      "tree": "e6cb486b8987b716312076a28c695c10115fe61a",
      "parents": [
        "894f3ca9a9f94225bb64f36847508a91d0b17a6e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 08 12:27:47 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 08 12:27:47 2011 -0800"
      },
      "message": "Fix Bitreader \"putBits\" implementation, make sure we emulate timestamps\n\nif we don\u0027t receive npt time mapping from the rtsp server (i.e. live stream)\n\nChange-Id: I5147d665bd90c9a303ad6ffdafbf770f930f917c\nrelated-to-bug: 5660357\n"
    },
    {
      "commit": "894f3ca9a9f94225bb64f36847508a91d0b17a6e",
      "tree": "488facb65d3b9369ef06ca34c3dabcd3406da238",
      "parents": [
        "2c170cd8e308712674edd2cc7eebea70359d4951",
        "8e49b604c806eabe3eea2bd24813cdfc4b87c64c"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Dec 08 00:13:43 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 08 00:13:43 2011 -0800"
      },
      "message": "Merge \"Fix ANRs due to Widevine DRM plugin sniff taking too long.\" into ics-mr1"
    },
    {
      "commit": "8e49b604c806eabe3eea2bd24813cdfc4b87c64c",
      "tree": "8bf163231b5a4d481b9f17375ab0967727474d11",
      "parents": [
        "4fe1c6c3988f79fd67c14a1f91e4b1df8a7e806f"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Dec 07 20:23:20 2011 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Dec 07 20:23:20 2011 -0800"
      },
      "message": "Fix ANRs due to Widevine DRM plugin sniff taking too long.\n\nAdd a Widevine-specific format sniffer to avoid having to\nrefetch data from the remote server.\n\nChange-Id: I5fdb21fe7a0d6e74f2a6f06e6fbf8070b068ac60\nrelated-to-bug: 5725548\n"
    },
    {
      "commit": "2c170cd8e308712674edd2cc7eebea70359d4951",
      "tree": "c0f8622f3613dfbeb0975a0792cb46093e0918b8",
      "parents": [
        "0c4ec128aa324f99f726a314bd97e8a581f22ec5",
        "bab412099ab1bd3e9e942453cbb42c87ea9a59ec"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Wed Dec 07 14:05:41 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 07 14:05:41 2011 -0800"
      },
      "message": "Merge \"Fetch at least 192KB to avoid our mp3 sniffer from blocking on data.\" into ics-mr1"
    },
    {
      "commit": "bab412099ab1bd3e9e942453cbb42c87ea9a59ec",
      "tree": "c0f8622f3613dfbeb0975a0792cb46093e0918b8",
      "parents": [
        "72936144fd16d6d73b7383b634d53909f4887d2b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 07 12:50:47 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Dec 07 12:50:47 2011 -0800"
      },
      "message": "Fetch at least 192KB to avoid our mp3 sniffer from blocking on data.\n\nChange-Id: Icb10c129249bb9b69e91f6633a385840c94efa59\nrelated-to-bug: 5666532\n"
    },
    {
      "commit": "0c4ec128aa324f99f726a314bd97e8a581f22ec5",
      "tree": "ebca213f22bc3adee2b0c9efd3fb0aedef86918b",
      "parents": [
        "72936144fd16d6d73b7383b634d53909f4887d2b",
        "01fe81c26d27af4d2e24482dcf2b910d983b0f7c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 07 07:24:54 2011 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 07 07:24:54 2011 -0800"
      },
      "message": "Reconcile with ics-mr0-release\n\nChange-Id: I5341d7d7de8ec8dfa86095e8d8d45a912bb01a47\n"
    },
    {
      "commit": "72936144fd16d6d73b7383b634d53909f4887d2b",
      "tree": "ebca213f22bc3adee2b0c9efd3fb0aedef86918b",
      "parents": [
        "e74de52d4e22fc61d41f703672fa8f1215446ab5",
        "62157c64096fe7065d4f99ad21edda41b208a808"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 06 15:03:10 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 06 15:03:10 2011 -0800"
      },
      "message": "Merge commit \u0027babb7200\u0027 into manualmerge\n"
    },
    {
      "commit": "01fe81c26d27af4d2e24482dcf2b910d983b0f7c",
      "tree": "25e0529e98839abf121158098a13b96a01314bbd",
      "parents": [
        "91e2c7d2988c4947aca8a637f88a2179d905b970"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 06 10:59:48 2011 -0800"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Tue Dec 06 14:23:38 2011 -0800"
      },
      "message": "DO NOT MERGE: Remove the AVI extractor.\n\nChange-Id: Ib9cb4a48bd817da703ef53eb14932616d2973ee0\n"
    },
    {
      "commit": "e74de52d4e22fc61d41f703672fa8f1215446ab5",
      "tree": "ebca213f22bc3adee2b0c9efd3fb0aedef86918b",
      "parents": [
        "f7b5cdd410cb8fdd46bac5b5098e0f01442bba12",
        "223e70d6bde101349cba04b20ef243730cf84c07"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Dec 06 12:52:52 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 06 12:52:52 2011 -0800"
      },
      "message": "Merge \"DO NOT MERGE - Consider I-Frame at zeroeth position when searching for sync frames\" into ics-mr1"
    },
    {
      "commit": "f7b5cdd410cb8fdd46bac5b5098e0f01442bba12",
      "tree": "93705014698e68b09f4558f9406cd2c6e34a5ef0",
      "parents": [
        "9e603e057d6cc80e6b7e948b9af13b1a7b736008"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 06 10:01:27 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 06 11:24:34 2011 -0800"
      },
      "message": "DO NOT MERGE: Remove the AVI extractor.\n\nChange-Id: Ifce6c0d3d87aad2f5cc7f40ad6304936cbfa795e\n"
    },
    {
      "commit": "62157c64096fe7065d4f99ad21edda41b208a808",
      "tree": "25e0529e98839abf121158098a13b96a01314bbd",
      "parents": [
        "91e2c7d2988c4947aca8a637f88a2179d905b970"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 06 10:59:48 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Dec 06 11:21:02 2011 -0800"
      },
      "message": "DO NOT MERGE: Remove the AVI extractor.\n\nChange-Id: Ib9cb4a48bd817da703ef53eb14932616d2973ee0\n"
    },
    {
      "commit": "9e603e057d6cc80e6b7e948b9af13b1a7b736008",
      "tree": "7db009c66d5cc856ea1fb042a916a7b395972169",
      "parents": [
        "a0f2bf56e30f580535229fa6a58e7d48b762727c",
        "162b40bbaf3c3a24f61a6636bef6f80a9c0a31dd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 05 17:20:53 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 05 17:20:53 2011 -0800"
      },
      "message": "Merge \"audioflinger: fix audio skipping over A2DP\" into ics-mr1"
    },
    {
      "commit": "223e70d6bde101349cba04b20ef243730cf84c07",
      "tree": "5d8f574d8faaea100cb3937e3cf8e0b0b8f7b427",
      "parents": [
        "a0f2bf56e30f580535229fa6a58e7d48b762727c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Dec 05 12:41:06 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Dec 05 14:29:18 2011 -0800"
      },
      "message": "DO NOT MERGE - Consider I-Frame at zeroeth position when searching for sync frames\n\nThe current logic does not check the I-frame at zeroeth position and therefore\nfor the files with only 1 I-Frame at zeroeth postion does not play.\n\nOriginally authored by Braganza Sam Robertsh \u003csam.braganza@samsung.com\u003e\n\nDo not merge to master branch since we made some improvement to SampleTable.cpp in the master branch.\n\nChange-Id: I068184dec71986f14a586f769c2af1f52b4bcf94\nrelated-to-bug: 5711942\n"
    },
    {
      "commit": "a0f2bf56e30f580535229fa6a58e7d48b762727c",
      "tree": "f375e7f5e9f183289bbd5c907f90b89924f11aa8",
      "parents": [
        "fed8bb604c31bf6a60ca84aafed016d21d3e0f90"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 05 11:34:43 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Dec 05 11:34:43 2011 -0800"
      },
      "message": "Properly identify how much metadata we need to cache in order to instantiate\n\nthe extractor without blocking (and therefore be able to abort).\n\nChange-Id: Id2acdde897e02baaeabadae70b7c95b66c9041b3\nrelated-to-bug: 5666532\n"
    },
    {
      "commit": "162b40bbaf3c3a24f61a6636bef6f80a9c0a31dd",
      "tree": "799acc096d19121f9d7ec271bfdcb4f65a118df2",
      "parents": [
        "7cafbb32999049873d4746ba83bd20c88abe6ce6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 05 09:47:19 2011 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 05 10:40:18 2011 -0800"
      },
      "message": "audioflinger: fix audio skipping over A2DP\n\nThe maximum sleep time allowed in the mixer thread when audio tracks\nare enabled but not ready for mixing is derived from the latency\nreported by the output stream.\nThis does not work for A2DP where the latency also reflects encoding, decoding\nand transfer time.\n\nModified activeSleepTimeUs() to take A2DP case into account.\n\nIssue 5682206.\n\nChange-Id: I3784ac01fb6f836b5a6ce6f764fb15347586de35\n"
    },
    {
      "commit": "fed8bb604c31bf6a60ca84aafed016d21d3e0f90",
      "tree": "b6241932aebde1c0f71c9d52d63bb2ea7ef5adf7",
      "parents": [
        "8af4c7d02fc484ed1bdc082fc2a5383bc50f2180"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Dec 01 16:58:41 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Dec 02 15:12:47 2011 -0500"
      },
      "message": "MTP: Add support for restricting PTP to only certain subdirectories of the storage DO NOT MERGE\n\nBug: 5527220\n\nChange-Id: I81d6de590ea3002118ba46eb4b6d5fe9061c998c\nSigned-off-by: Mike Lockwood \u003clockwood@google.com\u003e\n"
    },
    {
      "commit": "8af4c7d02fc484ed1bdc082fc2a5383bc50f2180",
      "tree": "89d39512087cd15a3fb44a8bb5f28e36303eeb19",
      "parents": [
        "4fe1c6c3988f79fd67c14a1f91e4b1df8a7e806f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Dec 01 18:36:06 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Dec 02 15:12:30 2011 -0500"
      },
      "message": "MTP: Don\u0027t attempt to read more than 16K at a time from the MTP driver DO NOT MERGE\n\nThis could happen sometimes if other operations increased the size of the\ndata packet buffer to \u003e 16K\n\nChange-Id: I10f85f0ce32df39f46b0a984361958c0a13f6800\nSigned-off-by: Mike Lockwood \u003clockwood@google.com\u003e\n"
    },
    {
      "commit": "4fe1c6c3988f79fd67c14a1f91e4b1df8a7e806f",
      "tree": "fba9ea601042188ab396e20cb69e98ffe6ff6290",
      "parents": [
        "21befea3720fb847aef5440d507902d8705a671a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 01 10:02:37 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Dec 01 10:02:37 2011 -0800"
      },
      "message": "Fixes a typo in AVIExtractor that would advertise the wrong video dimensions\n\nChange-Id: I587a5ce259b04c973ed2d7614e874cb74c521aab\nrelated-to-bug: 5696324\n"
    },
    {
      "commit": "21befea3720fb847aef5440d507902d8705a671a",
      "tree": "d0cf40e356b3fdd74a907275b45f41680287eb3f",
      "parents": [
        "7609b2304379fd6d3e5c8d13a34c680441dc48b6",
        "4c57986f963c81fc7c2455deb113c9b32b135468"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Nov 29 17:25:09 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 17:25:09 2011 -0800"
      },
      "message": "Merge \"SurfaceMediaSource: use the vid enc usage bit\" into ics-mr1"
    },
    {
      "commit": "7609b2304379fd6d3e5c8d13a34c680441dc48b6",
      "tree": "8cd10d7ed5228247ee71cdf01dd8619ab1ee4999",
      "parents": [
        "5274010d068b05333e3e5544d59ca284802b1a8e",
        "b58ce9f5e8d0696f9571a94ba5fc05f4500f663f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 29 14:09:10 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 14:09:10 2011 -0800"
      },
      "message": "Merge \"Make sure we can properly shutdown even if\" into ics-mr1"
    },
    {
      "commit": "5274010d068b05333e3e5544d59ca284802b1a8e",
      "tree": "a3af410cc5f0990f5caf0bf01fc77702acdfc247",
      "parents": [
        "544ee287d01d98efbe9eeeaeb7016c8dd55e3748",
        "d3d822204249eaca4259bdf46f6f0357b96e8e21"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 29 14:09:03 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 14:09:03 2011 -0800"
      },
      "message": "Merge \"If an error occurs that prevents us from reallocating buffers during a format change\" into ics-mr1"
    },
    {
      "commit": "544ee287d01d98efbe9eeeaeb7016c8dd55e3748",
      "tree": "8a757cc879f9a06bf4b13a94d3831a48787871dd",
      "parents": [
        "6e3d311b6631b12aac2879d1b08c3534aece78b1",
        "bfcc8d8ab7c56bc013bd221a29e1ecf3a6390813"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 29 14:08:45 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 14:08:45 2011 -0800"
      },
      "message": "Merge \"Updated (internal) API for IStreamSource to signal discontinuities\" into ics-mr1"
    },
    {
      "commit": "bfcc8d8ab7c56bc013bd221a29e1ecf3a6390813",
      "tree": "0469bc8cc740ad84a42b502ba57e02b3e520748a",
      "parents": [
        "7cafbb32999049873d4746ba83bd20c88abe6ce6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 29 11:57:35 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 29 11:59:10 2011 -0800"
      },
      "message": "Updated (internal) API for IStreamSource to signal discontinuities\n\nChange-Id: Idd4b9d8e7cec16b3e3c91c70e75144d42be30f96\nrelated-to-bug: 5553055\n"
    },
    {
      "commit": "6e3d311b6631b12aac2879d1b08c3534aece78b1",
      "tree": "001b5d677ee599a4d6f8d1ba636fbf4e5f0c6a4e",
      "parents": [
        "7cafbb32999049873d4746ba83bd20c88abe6ce6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 28 12:36:11 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 28 16:45:13 2011 -0800"
      },
      "message": "Finer granularity discontinuity support.\n\nNo clients can signal a format change on either audio or video track (or both)\nand a time discontinuity (timestamps changed) independantly.\n\nChange-Id: I3e6cf4e7c260e85759879d61a9b517f68431c22f\nrelated-to-bug: 5553055\n"
    },
    {
      "commit": "b58ce9f5e8d0696f9571a94ba5fc05f4500f663f",
      "tree": "4c30ef7b134b02bd84cb0d7dc7407c27f5c945a3",
      "parents": [
        "7cafbb32999049873d4746ba83bd20c88abe6ce6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 28 16:27:35 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 28 16:27:35 2011 -0800"
      },
      "message": "Make sure we can properly shutdown even if\n\na) one of the two decoders has a pending discontinuity\nb) the renderer holds on to all output buffers for that decoder\nc) the renderer is paused\n\nif all three conditions are met the decoder won\u0027t ask for more input data\nand therefore never see the discontinuity.\n\nTo avoid this we briefly resume the renderer just before shutting down.\n\nChange-Id: I9e08af2a1eb4298d1cd00497d6aa33f4ad184e9a\nrelated-to-bug: 5655016\n"
    },
    {
      "commit": "d3d822204249eaca4259bdf46f6f0357b96e8e21",
      "tree": "f48558114991dfd8e267b6c166367cff7353305b",
      "parents": [
        "7cafbb32999049873d4746ba83bd20c88abe6ce6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 28 10:54:12 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 28 10:54:12 2011 -0800"
      },
      "message": "If an error occurs that prevents us from reallocating buffers during a format change\n\nwe need to transition to executing state anyway to be able to properly flush/shutdown\nin the future.\n\nChange-Id: Ie48bc09ea31942009ae3a5a45aabc9ffad9fb91f\nrelated-to-bug: 5655016\n"
    },
    {
      "commit": "7cafbb32999049873d4746ba83bd20c88abe6ce6",
      "tree": "c251630c9b785aa555c7093b2691fe1f75b7a6dc",
      "parents": [
        "e933cb5ae546d023ab756391a135c170874e7901"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 22 18:50:29 2011 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 22 18:50:29 2011 -0800"
      },
      "message": "audioflinger: reduce sleep time to avoid underrun\n\nProgressively reduce the sleep time applied in MixerThread::threadLoop()\nin case of consecutive application underruns to avoid starving the audio HAL.\nAs the default sleep time is longer than the duration of an audio buffer\nwe ended up writing less data than needed by the audio HAL if\nthe condition persisted.\n\nIssue 5553055.\n\nChange-Id: I2b23ee79c032efa945025db228beaecd1e07a2e5\n"
    },
    {
      "commit": "e933cb5ae546d023ab756391a135c170874e7901",
      "tree": "4a538f125f876469ea59e173b9d3645000c91cd4",
      "parents": [
        "e8e5f86e9e310b065596c8cbbca1543eb833dee1",
        "71b61a960ae30df990976ca5dbe780d85a15b0d1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 22 08:39:11 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 22 08:39:11 2011 -0800"
      },
      "message": "Merge \"Report a runtime error instead of asserting on malformed avc configuration data.\" into ics-mr1"
    },
    {
      "commit": "4c57986f963c81fc7c2455deb113c9b32b135468",
      "tree": "a7c275b861fd66017002efa82eb25e08e096f652",
      "parents": [
        "6f5cc45c48c02173bfae8d54b54a92c9bae256a1"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Nov 21 16:51:47 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Nov 21 17:48:19 2011 -0800"
      },
      "message": "SurfaceMediaSource: use the vid enc usage bit\n\nThis change makes SurfaceMediaSource add the VIDEO_ENC usage bit when\nallocating its GraphicBuffers rather than the HW_TEXTURE bit.\n\nChange-Id: Ie20e225c894fdbc31cad6bb82b3b64c7e98074eb\n"
    },
    {
      "commit": "e8e5f86e9e310b065596c8cbbca1543eb833dee1",
      "tree": "9093e89f8a7bf9544061fdfbe52383ae314e28b4",
      "parents": [
        "6f5cc45c48c02173bfae8d54b54a92c9bae256a1"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Nov 20 09:45:44 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 21 12:09:51 2011 -0800"
      },
      "message": "Fix log spamming during time lapse video recording\n\nChange-Id: I4fc0809203684ebb02eaf217d7abad00aefc898f\n\nrelated-to-bug: 5626569\n"
    },
    {
      "commit": "6f5cc45c48c02173bfae8d54b54a92c9bae256a1",
      "tree": "8f79a2e61ce7f69d24918e19d7a232ff12b252b3",
      "parents": [
        "6479b955d21707609eae70008cf7956dddf12371",
        "91e2c7d2988c4947aca8a637f88a2179d905b970"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 18 15:07:21 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 18 15:07:21 2011 -0800"
      },
      "message": "am d4b22ab4: status_t !\u003d bool\n\n* commit \u0027d4b22ab4889f9b1885bfc0dc45667c846a171a98\u0027:\n  status_t !\u003d bool\n"
    },
    {
      "commit": "91e2c7d2988c4947aca8a637f88a2179d905b970",
      "tree": "d73196fde1d16c5dbc71ca1f2b064db3883785d7",
      "parents": [
        "fd8f534c7389e8215671a36a02c4666321f8816d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 18 13:10:56 2011 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 18 14:21:34 2011 -0800"
      },
      "message": "status_t !\u003d bool\n\nb/5567433\n\nChange-Id: I255ab8c3b0b5e0ea6a5cc7c05df757c667f3855e\n"
    },
    {
      "commit": "71b61a960ae30df990976ca5dbe780d85a15b0d1",
      "tree": "b8a9826f9287872f217be9cbb8d48b18ad2b234d",
      "parents": [
        "6479b955d21707609eae70008cf7956dddf12371"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 18 12:22:59 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 18 12:22:59 2011 -0800"
      },
      "message": "Report a runtime error instead of asserting on malformed avc configuration data.\n\nChange-Id: Ibcd9c3fb5b6532eba843ed80ecdcdacaf50d8845\nrelated-to-bug: 5641069\n"
    },
    {
      "commit": "6479b955d21707609eae70008cf7956dddf12371",
      "tree": "caa611bce19db70a90586d6caa93bcf4ca6ec6ff",
      "parents": [
        "7b81bc3b06bcf0a6d571d08453751987106df46f",
        "c34233e673c9791e137456d0c427d58db184b690"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 17 09:05:17 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 17 09:05:17 2011 -0800"
      },
      "message": "Merge \"Make sure not to cancel pending seek/EOS notifications on a cache underrun...\" into ics-mr1"
    },
    {
      "commit": "c34233e673c9791e137456d0c427d58db184b690",
      "tree": "caa611bce19db70a90586d6caa93bcf4ca6ec6ff",
      "parents": [
        "9621addc73c029e77fd3d50f38a34f8f264b6e38"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Nov 16 10:46:05 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Nov 16 10:46:05 2011 -0800"
      },
      "message": "Make sure not to cancel pending seek/EOS notifications on a cache underrun...\n\nor they are lost for good.\n\nChange-Id: I2f9f53efb05db4077961137c9dc8c27edac4ec62\nrelated-to-bug: 5544907\n"
    },
    {
      "commit": "7b81bc3b06bcf0a6d571d08453751987106df46f",
      "tree": "c79a225dd0af519094743dabf2b6c2871c638758",
      "parents": [
        "9621addc73c029e77fd3d50f38a34f8f264b6e38",
        "fd8f534c7389e8215671a36a02c4666321f8816d"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Nov 16 09:27:57 2011 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Nov 16 09:28:00 2011 -0800"
      },
      "message": "No-op merge from ics-mr0\n\nChange-Id: I6be81522ac3e6d4d8fab545abde4d81e5bb2a2c6\n"
    },
    {
      "commit": "fd8f534c7389e8215671a36a02c4666321f8816d",
      "tree": "495b8c8bd23d3d1114b0538aa92030a7dcf90693",
      "parents": [
        "683525b61bc1b58b4fd9e1b3ef9ed3b0c3bf34ae",
        "15d91830fef9ef667c4bcce704e783bdeee4108e"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Nov 16 08:55:42 2011 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Nov 16 08:55:43 2011 -0800"
      },
      "message": "Reconcile with ics-factoryrom-2-release\n\nChange-Id: Idf18e15df810885a373fb4057f0db064771afc8e\n"
    },
    {
      "commit": "9621addc73c029e77fd3d50f38a34f8f264b6e38",
      "tree": "c79a225dd0af519094743dabf2b6c2871c638758",
      "parents": [
        "72ae9fd9cca0af6e5c1001eeeca80841f712b096",
        "3a9cefebd2c5d2157aefaed01c54f151dc64a5b3"
      ],
      "author": {
        "name": "Hong Teng",
        "email": "hongteng@google.com",
        "time": "Tue Nov 15 09:42:37 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 15 09:42:37 2011 -0800"
      },
      "message": "Merge \"Fix for issue  5309336 -add videoeditor maximum prefetch YUV frames in media_profiles.xml to limit the total memory usage.\" into ics-mr1"
    },
    {
      "commit": "3a9cefebd2c5d2157aefaed01c54f151dc64a5b3",
      "tree": "33d2825031600b28086498c72925c94d6d6ed556",
      "parents": [
        "1dc0ab1d2e2c5f40193556ad1239e304563f3083"
      ],
      "author": {
        "name": "Hong Teng",
        "email": "hongteng@google.com",
        "time": "Thu Nov 10 14:54:26 2011 -0800"
      },
      "committer": {
        "name": "Hong Teng",
        "email": "hongteng@google.com",
        "time": "Mon Nov 14 13:02:59 2011 -0800"
      },
      "message": "Fix for issue  5309336\n-add videoeditor maximum prefetch YUV frames in media_profiles.xml to limit the total memory usage.\n\nChange-Id: I41ffbc192fcce4c7635e5b0a1f2835852e5ee509\n"
    },
    {
      "commit": "72ae9fd9cca0af6e5c1001eeeca80841f712b096",
      "tree": "4342f88405e5347b324e82217eb9cbe93ac7be1d",
      "parents": [
        "7ac9a9afafbc7c515a73086c11a15a27c7fd05b1",
        "544fe9b6e9325701df4ab8c1d29774fc13c4cf6c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 14 08:38:05 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 14 08:38:05 2011 -0800"
      },
      "message": "Merge \"audioflinger: fix noise when skipping to next song\" into ics-mr1"
    },
    {
      "commit": "544fe9b6e9325701df4ab8c1d29774fc13c4cf6c",
      "tree": "aa93b41c247d3c896de2a653e029d1fd00c1a0f3",
      "parents": [
        "1dc0ab1d2e2c5f40193556ad1239e304563f3083"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 11 15:42:52 2011 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 11 16:33:24 2011 -0800"
      },
      "message": "audioflinger: fix noise when skipping to next song\n\nWhen audio effects are enabled, a noise can be heard at the\nbeginning of the new song when skipping to next song in music app.\n\nThis is because some effects (especially virtualizer) have a tail.\nThis tail was not played when previous song was stopped because effects were\nnot processed when no tracks were present on a given session. This is to\nreduce CPU load when effects are enabled but no audio is playing.\nThe tail was then rendered when the new song was started.\n\nAdded a delay before stopping effect process after all tracks have been removed from a session.\n\nIssue 5584880.\n\nChange-Id: I815e0f7441f9302e8dfe413dc269a94e4cc6fd95\n"
    },
    {
      "commit": "7ac9a9afafbc7c515a73086c11a15a27c7fd05b1",
      "tree": "5550d546b9610985bfd447b04562fdceef310c1e",
      "parents": [
        "04ccb823442a4dae4f418228dd28f8607f174978",
        "91f230461288a2a5091182ef9e17079aabf8ebaa"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 11 10:46:02 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 11 10:46:02 2011 -0800"
      },
      "message": "Merge \"Didn\u0027t mean to check this in...\" into ics-mr1"
    },
    {
      "commit": "91f230461288a2a5091182ef9e17079aabf8ebaa",
      "tree": "264129533957295e676822b91e4ae5e1cba7e9e4",
      "parents": [
        "73b1fd56d99b356b0effe8cf96ecf7446beb207f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 11 10:17:00 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 11 10:17:00 2011 -0800"
      },
      "message": "Didn\u0027t mean to check this in...\n\nChange-Id: Ie5a1902ff2613cd349ca5724f63a3fe3306640c7\n"
    },
    {
      "commit": "04ccb823442a4dae4f418228dd28f8607f174978",
      "tree": "8f749edbf5c2ede2f62b91aea9fc9de60cddcfc8",
      "parents": [
        "73b1fd56d99b356b0effe8cf96ecf7446beb207f",
        "3df40a093d8d3d211f693e0e3ef4076750cabfea"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 11 08:17:22 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 11 08:17:22 2011 -0800"
      },
      "message": "Merge \"visualizer: reset buffer if playback is idle\" into ics-mr1"
    },
    {
      "commit": "73b1fd56d99b356b0effe8cf96ecf7446beb207f",
      "tree": "e9de870ee19df7fc19a009cf084e4742acf5602a",
      "parents": [
        "4ab3045755d33ab24bd312cfbc888f300c5e01f9",
        "f0c86a83c687074be79397e082e3775ca56641b1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 11 07:39:25 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 11 07:39:25 2011 -0800"
      },
      "message": "Merge \"Instead of asserting, signal a runtime error if the session doesn\u0027t contain\" into ics-mr1"
    },
    {
      "commit": "4ab3045755d33ab24bd312cfbc888f300c5e01f9",
      "tree": "c4acc6eecf6e65fcbc6c1439fec5d1c23190053e",
      "parents": [
        "4c5f7e33c26a858fd61438e3c1aea5c196a770e7",
        "19de627354d465c4e9ccd1fcdcffd132861330b2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 11 07:39:18 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 11 07:39:18 2011 -0800"
      },
      "message": "Merge \"DO NOT MERGE: Instead of asserting, remove active streams if their sockets\" into ics-mr1"
    },
    {
      "commit": "4c5f7e33c26a858fd61438e3c1aea5c196a770e7",
      "tree": "fef12a963d5d741f1e7e172ea843918d870120c3",
      "parents": [
        "4948818cb91176df74c972ac27b2f392b5d148bc",
        "0fbe0577cfeda28bd016110e670708cce0752044"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 11 07:39:11 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 11 07:39:11 2011 -0800"
      },
      "message": "Merge \"Disconnect on socket error on the RTSP control connection.\" into ics-mr1"
    },
    {
      "commit": "0fbe0577cfeda28bd016110e670708cce0752044",
      "tree": "605a833a1985f4a0fcdf821f5d7a18a2b6039f96",
      "parents": [
        "1dc0ab1d2e2c5f40193556ad1239e304563f3083"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 10 14:48:20 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 10 15:10:15 2011 -0800"
      },
      "message": "Disconnect on socket error on the RTSP control connection.\n\nChange-Id: Ib52a69f9b0830b481c6f5c9b1991d1f4cb36ec7b\n"
    },
    {
      "commit": "19de627354d465c4e9ccd1fcdcffd132861330b2",
      "tree": "6ef9dc9534ae97e6f927833ec9fe50683d1a9a1d",
      "parents": [
        "1dc0ab1d2e2c5f40193556ad1239e304563f3083"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Nov 09 14:26:43 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 10 12:41:51 2011 -0800"
      },
      "message": "DO NOT MERGE: Instead of asserting, remove active streams if their sockets\n\nreturn failure\n\nChange-Id: Icb47adfd2fbe0398c473ba66e068186311c9cc79\nrelated-to-bug: 5593654\n"
    },
    {
      "commit": "f0c86a83c687074be79397e082e3775ca56641b1",
      "tree": "ac5473dd00309001ec4cea2d2296d93ef90ec1dc",
      "parents": [
        "1dc0ab1d2e2c5f40193556ad1239e304563f3083"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 10 12:40:30 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 10 12:40:30 2011 -0800"
      },
      "message": "Instead of asserting, signal a runtime error if the session doesn\u0027t contain\n\nany playable tracks at all.\n\nChange-Id: Ibbbe2fdcd53b7e020da80c84c8229856107a87e6\n"
    },
    {
      "commit": "4948818cb91176df74c972ac27b2f392b5d148bc",
      "tree": "e7aaec9695649fe12c95ab33c1aca7b686017622",
      "parents": [
        "1dc0ab1d2e2c5f40193556ad1239e304563f3083"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Nov 09 00:48:56 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Nov 10 11:40:11 2011 -0800"
      },
      "message": "Add support for retrieving location information in mp4/3gpp files\n\nChange-Id: Ib8427704ef9ee5a4fa8fe1818c8a62d77b4ea687\nrelated-to-bug: 5560253\n"
    },
    {
      "commit": "3df40a093d8d3d211f693e0e3ef4076750cabfea",
      "tree": "c26b2befde35a0235263d12d17dd30ad8d98370c",
      "parents": [
        "1dc0ab1d2e2c5f40193556ad1239e304563f3083"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 10 10:02:18 2011 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 10 10:27:05 2011 -0800"
      },
      "message": "visualizer: reset buffer if playback is idle\n\nVisualizer capture buffer must be reset if audio framework has stopped\ncalling process for a given period of time to get read of residual\ndata from previous captures.\n\nIssue 5571920.\n\nChange-Id: I6e73f971bb812cdbb2979a3b5e763abab07634eb\n"
    },
    {
      "commit": "1dc0ab1d2e2c5f40193556ad1239e304563f3083",
      "tree": "a6c242b2ca49c925056256061428961358c0e92d",
      "parents": [
        "ca957d753496aff94dbb93b547e1c605bbfa064b",
        "908dbdee96856693decc04fa143c2ba525495d43"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 10 08:48:44 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 10 08:48:44 2011 -0800"
      },
      "message": "Merge \"Send RTSP control connection keep-alive requests\" into ics-mr1"
    },
    {
      "commit": "ca957d753496aff94dbb93b547e1c605bbfa064b",
      "tree": "575862af4ce60087607dd536a19ec33168976052",
      "parents": [
        "d57a4ddd1ab42401c4a011df7e9577b843de1b68",
        "0029faf8f4efbca3844c4174b75d46c432f8f272"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 10 08:48:34 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 10 08:48:34 2011 -0800"
      },
      "message": "Merge \"Don\u0027t believe the PV decoder\u0027s lies...\" into ics-mr1"
    },
    {
      "commit": "d57a4ddd1ab42401c4a011df7e9577b843de1b68",
      "tree": "3f6108bdf416cfa0a84d6611c747464c41032576",
      "parents": [
        "b5d340314ac6da461f15fe4d1db996ae28770d67",
        "2961a85f5f00343c115ac8e5dc17de631694fb6e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 10 08:47:25 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 10 08:47:25 2011 -0800"
      },
      "message": "Merge \"There\u0027s no point in trying to continue to decode after an error was signalled.\" into ics-mr1"
    },
    {
      "commit": "2961a85f5f00343c115ac8e5dc17de631694fb6e",
      "tree": "d63ced935a4f2ab3e6d02072481825f81fb65227",
      "parents": [
        "936a981ba15d528a023311aa32f46446813551d9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Nov 09 10:26:06 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Nov 09 10:26:06 2011 -0800"
      },
      "message": "There\u0027s no point in trying to continue to decode after an error was signalled.\n\nChange-Id: I2a2410cac9444eadd85be5d104799703171f1a24\nrelated-to-bug: 5588658\n"
    },
    {
      "commit": "0029faf8f4efbca3844c4174b75d46c432f8f272",
      "tree": "9b59633ede7c8f7a91bb8a56afd411567287cb01",
      "parents": [
        "936a981ba15d528a023311aa32f46446813551d9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Nov 09 10:03:07 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Nov 09 10:03:07 2011 -0800"
      },
      "message": "Don\u0027t believe the PV decoder\u0027s lies...\n\nChange-Id: I97391235255afb8a4890a4ff52d4e8e9ca954f27\n"
    },
    {
      "commit": "b5d340314ac6da461f15fe4d1db996ae28770d67",
      "tree": "cf6832c7d73a0ecf7237880dc2401ce5f4738fc9",
      "parents": [
        "a47b69c6f7c6fe0044ebcb2d0790ce3548de56fd",
        "683525b61bc1b58b4fd9e1b3ef9ed3b0c3bf34ae"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Nov 09 16:41:19 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 09 16:41:19 2011 +0000"
      },
      "message": "am 19998120: Merge \"Bug 5478024 drop after decode if can\\\u0027t drop before\" into ics-mr0\n\n* commit \u002719998120f53caceb620f138c6eea182f1e693660\u0027:\n  Bug 5478024 drop after decode if can\u0027t drop before\n"
    },
    {
      "commit": "a47b69c6f7c6fe0044ebcb2d0790ce3548de56fd",
      "tree": "ea694ac6a6cf68f5c71720b941945e583d71c7de",
      "parents": [
        "936a981ba15d528a023311aa32f46446813551d9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 08 18:10:16 2011 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 08 18:42:37 2011 -0800"
      },
      "message": "Fix regression for SoundPool playback\n\nCommit 19ddf0eb introduced a problem with applications (like SoundPool)\nrelying on an underrun condition to detect end of playback instead of\nstopping the track when all data is written.\nAudioFlinger would keep waiting for new data in case of partial buffer\nfilling and never reach the underrun condition.\n\nAdded a mechanism to wait no more than once if not enough frames are present\nin the track buffer.\n\nIssue 5585490.\n\nChange-Id: I131e605ff6070831a01ddf734e68459e3bf2354b\n"
    },
    {
      "commit": "908dbdee96856693decc04fa143c2ba525495d43",
      "tree": "64a11df6061e668c16ce5afe02e3741d145d08d6",
      "parents": [
        "936a981ba15d528a023311aa32f46446813551d9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 08 15:31:23 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 08 15:39:15 2011 -0800"
      },
      "message": "Send RTSP control connection keep-alive requests\n\ndefault to 60 secs unless overridden by server\u0027s session-id response.\n\nChange-Id: I7c3aff5b787dbb57cc0dccf9db3c75e5cf7e778c\nrelated-to-bug: 5562303\n"
    },
    {
      "commit": "936a981ba15d528a023311aa32f46446813551d9",
      "tree": "324a081cdeffe2566802e2224dfa9b9798182c05",
      "parents": [
        "e1a8a719c7c62fdb337b71f68844ae20042c2b79",
        "3901e5d87573447db33fb9930871a1f5266a9b2c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 08 08:48:31 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 08 08:48:31 2011 -0800"
      },
      "message": "Merge \"Remove surface legacy APIs and code.\" into ics-mr1"
    },
    {
      "commit": "e1a8a719c7c62fdb337b71f68844ae20042c2b79",
      "tree": "0bb9637e88dce62748faab85f99a1fe92e4f4a75",
      "parents": [
        "49e82712b2b7072bb8b8d6e2c86115eaa82e9943",
        "3dbe3201479828e84abe02e1fdd0a5d414c0ddb8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 08 08:32:57 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 08 08:32:57 2011 -0800"
      },
      "message": "Merge \"AudioFlinger: mix track only when really ready\" into ics-mr1"
    },
    {
      "commit": "49e82712b2b7072bb8b8d6e2c86115eaa82e9943",
      "tree": "fbd8e5b9db9272c35e91e240af395bd8862e464e",
      "parents": [
        "197388e5f42fc21175a03e3abb05020fabbcbb71",
        "93594b5aa16dbbb0b196f6e181a8ca099d7ab62b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Nov 07 22:57:02 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 07 22:57:02 2011 -0800"
      },
      "message": "Merge \"Fix a hang issue where the first frame can be dropped for timelapse video recording.\" into ics-mr1"
    },
    {
      "commit": "197388e5f42fc21175a03e3abb05020fabbcbb71",
      "tree": "08359befbbcfeb0a4e401724e87d277c86a7d7e9",
      "parents": [
        "4d954c4ff6ab7110df23f1f3ebfe296beb97f3de",
        "15d91830fef9ef667c4bcce704e783bdeee4108e"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Nov 07 08:22:56 2011 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Nov 07 08:22:56 2011 -0800"
      },
      "message": "Reconcile with ics-mr0-release ics-factoryrom-2-release\n\nChange-Id: I9de1253d253c7d106862534570cad0c89d2fdaf2\n"
    },
    {
      "commit": "683525b61bc1b58b4fd9e1b3ef9ed3b0c3bf34ae",
      "tree": "495b8c8bd23d3d1114b0538aa92030a7dcf90693",
      "parents": [
        "ee74c46968e632915bdff1af5d59a1b2ca3ac796"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 04 18:05:35 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 04 18:05:35 2011 -0700"
      },
      "message": "Bug 5478024 drop after decode if can\u0027t drop before\n\nChange-Id: Iaa64553be1a710da5d42be4e3a1e1d6dc873e371\n"
    },
    {
      "commit": "15d91830fef9ef667c4bcce704e783bdeee4108e",
      "tree": "b7ab8dbc69360ff2337c78ca277d1d05d328e66b",
      "parents": [
        "91501f3a5ec88e7e4efc043fa37ae2380f84796b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 03 11:00:21 2011 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Fri Nov 04 15:17:55 2011 -0700"
      },
      "message": "DO NOT MERGE Poll input data with a small timeout and don\u0027t consume a full core.\n\nChange-Id: I3c288698920fe6ead0df24a52330483609821a41\nrelated-to-bug: 5549263\n"
    },
    {
      "commit": "4d954c4ff6ab7110df23f1f3ebfe296beb97f3de",
      "tree": "08359befbbcfeb0a4e401724e87d277c86a7d7e9",
      "parents": [
        "047f160561fc7a87fc5794762d36225bfa5d2e89",
        "b6431802fc6cff501a4311de288ba469839fbf86"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 04 08:29:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 04 08:29:30 2011 -0700"
      },
      "message": "Merge \"Fix device management in lvm effect bundle wrapper.\" into ics-mr1"
    },
    {
      "commit": "047f160561fc7a87fc5794762d36225bfa5d2e89",
      "tree": "ee130b1d3b1b4ba24f93f3106fd83e485605d41d",
      "parents": [
        "fc1a3ac1641b8849bf925a6bf0fa96b2abcdd91f",
        "5dc65e2ce92c7364da60bdff5f345daf145c2c0f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 04 08:27:45 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 04 08:27:45 2011 -0700"
      },
      "message": "Merge \"Fix problem in lvm effect bundle wrapper.\" into ics-mr1"
    },
    {
      "commit": "fc1a3ac1641b8849bf925a6bf0fa96b2abcdd91f",
      "tree": "00ddd671c9cccb82663b0b6928880307f25af975",
      "parents": [
        "654d83b36af586919457880e40a5dfdd79a31abb",
        "91501f3a5ec88e7e4efc043fa37ae2380f84796b"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Nov 04 07:56:42 2011 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Nov 04 07:56:43 2011 -0700"
      },
      "message": "Reconcile with ics-mr0-release ics-factoryrom-2-release\n\nChange-Id: I81cf3b3994cb9a1c18fca3ce0049e09402543086\n"
    },
    {
      "commit": "654d83b36af586919457880e40a5dfdd79a31abb",
      "tree": "00ddd671c9cccb82663b0b6928880307f25af975",
      "parents": [
        "1183a4ab06b9fe01fe39a4b8728bfc71789361fc",
        "ee74c46968e632915bdff1af5d59a1b2ca3ac796"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Fri Nov 04 11:59:27 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 04 11:59:27 2011 +0000"
      },
      "message": "am 32b5a7ee: (-s ours) Merge \"DO NOT MERGE Poll input data with a small timeout and don\\\u0027t consume a full core.\" into ics-mr0\n\n* commit \u002732b5a7eeaf758fad0c24131603cdd54cd2883a58\u0027:\n  DO NOT MERGE Poll input data with a small timeout and don\u0027t consume a full core.\n"
    },
    {
      "commit": "ee74c46968e632915bdff1af5d59a1b2ca3ac796",
      "tree": "bf203cb52a3c051c326dc2c9c65c7f367abbcc86",
      "parents": [
        "2cf981a8e3dcc815e422f21ae4f09e17934906e1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 03 11:00:21 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 03 18:15:43 2011 -0700"
      },
      "message": "DO NOT MERGE Poll input data with a small timeout and don\u0027t consume a full core.\n\nChange-Id: I3c288698920fe6ead0df24a52330483609821a41\nrelated-to-bug: 5549263\n"
    },
    {
      "commit": "3dbe3201479828e84abe02e1fdd0a5d414c0ddb8",
      "tree": "bc0a961753c5d80e64a55fe9e8f8ba11adb5a3d7",
      "parents": [
        "09ebde724b2cd224968d1fdba4f5afd81c998c6a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 03 12:16:05 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 03 12:16:05 2011 -0700"
      },
      "message": "AudioFlinger: mix track only when really ready\n\nThe addition of low power audio playback mode made that audio buffer consumption\nby audio HAL can now happen in bursts. This makes that requesting audio data\nfrom an AudioTrack for mixing can happen at much shorter intervals than before.\nThis revealed an existing problem where AudioFlinger would consider a track ready\nfor mixing although not enough frames were ready to completely fill one output buffer,\nthus creating short periods of silence.\n\nThe fix consists in waiting for enough frames to be ready in AudioTrack buffer before\ndeclaring a track ready for mixing. This minimum is not applied when the track is stopped\nto allow the buffer to be emptied completely.\n\nChange-Id: I6d04f9b65db5af85b0b53f0a5674be7ec02f9e9f\n"
    },
    {
      "commit": "1183a4ab06b9fe01fe39a4b8728bfc71789361fc",
      "tree": "00ddd671c9cccb82663b0b6928880307f25af975",
      "parents": [
        "254c2211b5088bb7d84d7126306aad7763b58372"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 03 11:00:21 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 03 11:00:21 2011 -0700"
      },
      "message": "Poll input data with a small timeout and don\u0027t consume a full core.\n\nChange-Id: I3c288698920fe6ead0df24a52330483609821a41\nrelated-to-bug: 5549263\n"
    },
    {
      "commit": "91501f3a5ec88e7e4efc043fa37ae2380f84796b",
      "tree": "195997b2a0541d250d8ad61ae08232046bbd62bd",
      "parents": [
        "e926b999ddd1a607e4f01ee2acd79dc87de62688"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Nov 02 20:59:04 2011 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Nov 02 20:59:04 2011 -0700"
      },
      "message": "Revert \"Merge \"Update camera continuous autofocus javadoc.\" into ics-mr0\"\n\nThis reverts commit 4b6353ea0265bfed52d0637abd1b17596ce25ff0, reversing\nchanges made to af675222f6340a8a9edbe9e8635014a18521e5e0.\n"
    },
    {
      "commit": "e926b999ddd1a607e4f01ee2acd79dc87de62688",
      "tree": "755ba59d0a2418ff3257fab9de6963dbd88bec46",
      "parents": [
        "2db114bf7753f267b1d71d615359ee2b437daa38"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Nov 02 20:53:06 2011 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Nov 02 20:53:06 2011 -0700"
      },
      "message": "merge in ics-factoryrom-2-release history after reset to ics-mr0\n"
    },
    {
      "commit": "254c2211b5088bb7d84d7126306aad7763b58372",
      "tree": "ee8ffa76bc6c45e6468645ed65edc4e7565001ba",
      "parents": [
        "09ebde724b2cd224968d1fdba4f5afd81c998c6a",
        "2db114bf7753f267b1d71d615359ee2b437daa38"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Nov 02 10:52:48 2011 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Nov 02 10:52:49 2011 -0700"
      },
      "message": "Reconcile with ics-mr0-release ics-factoryrom-2-release\n\nChange-Id: I493695d0ea182f32bbfe0e148e192ad1f60ff001\n"
    },
    {
      "commit": "2db114bf7753f267b1d71d615359ee2b437daa38",
      "tree": "195997b2a0541d250d8ad61ae08232046bbd62bd",
      "parents": [
        "2cf981a8e3dcc815e422f21ae4f09e17934906e1"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Nov 02 10:14:18 2011 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@android.com",
        "time": "Wed Nov 02 10:14:18 2011 -0700"
      },
      "message": "Revert \"Merge \"Update camera continuous autofocus javadoc.\" into ics-mr0\"\n\nThis reverts commit 4b6353ea0265bfed52d0637abd1b17596ce25ff0, reversing\nchanges made to af675222f6340a8a9edbe9e8635014a18521e5e0.\n"
    },
    {
      "commit": "5dc65e2ce92c7364da60bdff5f345daf145c2c0f",
      "tree": "90ed0dc7e58b08a673b19a7b72676ba4c9630b70",
      "parents": [
        "09ebde724b2cd224968d1fdba4f5afd81c998c6a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 31 17:36:03 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 02 09:14:13 2011 -0700"
      },
      "message": "Fix problem in lvm effect bundle wrapper.\n\nWhen an effect is disabled, the process function should either\ncopy or accumulate the content of the input buffer to the output buffer\ndepending on the behavior requested by the framework.\nCurrent implementation is copying the input buffer unconditionally.\n\nRelated to issue 5433942.\n\nChange-Id: Ic488ca97eadcc4c763de570d7e6c6f5b7a979415\n"
    },
    {
      "commit": "b6431802fc6cff501a4311de288ba469839fbf86",
      "tree": "596a877457ca1b1a6e1eb6e5c547a4cb0dcbc67d",
      "parents": [
        "841fa37451fb74f3d5978a15aab606bbb67e8c39"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 31 18:48:15 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 01 09:12:19 2011 -0700"
      },
      "message": "Fix device management in lvm effect bundle wrapper.\n\nThe virtualizer and bass boost effects should be disabled when\nnot playing throught headsets or headphones.\n\nThere is a bug in current wrapper implementation that makes that those\neffects are not disabled if the effect is enabled by the user after\nthe headset has been removed (current logic only works if the device selection\noccurs while the effect is enabled).\n\nChange-Id: I7c66b15a0339d95fb9ed13c8320d66379725d3b6\n"
    },
    {
      "commit": "09ebde724b2cd224968d1fdba4f5afd81c998c6a",
      "tree": "ee8ffa76bc6c45e6468645ed65edc4e7565001ba",
      "parents": [
        "841fa37451fb74f3d5978a15aab606bbb67e8c39",
        "2cf981a8e3dcc815e422f21ae4f09e17934906e1"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Nov 01 04:05:45 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 01 04:05:45 2011 +0000"
      },
      "message": "am 4b6353ea: Merge \"Update camera continuous autofocus javadoc.\" into ics-mr0\n\n* commit \u00274b6353ea0265bfed52d0637abd1b17596ce25ff0\u0027:\n  Update camera continuous autofocus javadoc.\n"
    },
    {
      "commit": "2cf981a8e3dcc815e422f21ae4f09e17934906e1",
      "tree": "755ba59d0a2418ff3257fab9de6963dbd88bec46",
      "parents": [
        "7dae00baa6e8957be15523c46bb948bd1dde64c3",
        "597f405273ce21b7e67984084c428d84c3365bd9"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Oct 31 21:04:01 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 31 21:04:01 2011 -0700"
      },
      "message": "Merge \"Update camera continuous autofocus javadoc.\" into ics-mr0"
    },
    {
      "commit": "3901e5d87573447db33fb9930871a1f5266a9b2c",
      "tree": "2ed377c9705a41c95cbc6ea29d683cd646ff2dc8",
      "parents": [
        "841fa37451fb74f3d5978a15aab606bbb67e8c39"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Oct 25 13:45:00 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 28 09:39:23 2011 -0700"
      },
      "message": "Remove surface legacy APIs and code.\n\nAll surfaces are now supported through surface textures.\n\nChange-Id: I95dd823e7099c0c32a48a1121624149dcc29d9c6\n"
    },
    {
      "commit": "841fa37451fb74f3d5978a15aab606bbb67e8c39",
      "tree": "3a5aa72aca0d0eeed60d8a17e8c84ffe59ecbeba",
      "parents": [
        "262620399c228b3b201c2c4b39c87508d3047d74",
        "a4af2143ecbd630e946647c1b5f90fda8f61ebb3"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Oct 28 09:13:54 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 28 09:13:54 2011 -0700"
      },
      "message": "Merge \"Properly report that we\u0027re no longer playing after receiving event\" into ics-mr1"
    },
    {
      "commit": "262620399c228b3b201c2c4b39c87508d3047d74",
      "tree": "96e7fd612606424311873d34492def7da58bd6d8",
      "parents": [
        "be1480bade58688d201335860247734aec6b11cb",
        "7dae00baa6e8957be15523c46bb948bd1dde64c3"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Oct 28 02:14:01 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 28 02:14:01 2011 +0000"
      },
      "message": "am 08479cee: Merge \"Stagefright: ANW::connect in MediaPlayerService\" into ics-mr0\n\n* commit \u002708479ceeba56c460fb52f60a24df27776f1936c3\u0027:\n  Stagefright: ANW::connect in MediaPlayerService\n"
    },
    {
      "commit": "be1480bade58688d201335860247734aec6b11cb",
      "tree": "fe3e9edcb33c3c36fc76286780b5ebcd4bd77840",
      "parents": [
        "0d681abd16873a265a10aee1e9ae8fa062309de3",
        "b05e3b5b3c2d77f6c71631ea538f6190ec61b3d9"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Oct 27 15:24:28 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 27 15:24:28 2011 -0700"
      },
      "message": "Merge \"Report call status from AudioSource::start() to file writer\" into ics-mr1"
    },
    {
      "commit": "597f405273ce21b7e67984084c428d84c3365bd9",
      "tree": "69a0a2f098e37d684514980d686fb1ec28106828",
      "parents": [
        "55f4bc5c3d1acfaa735b8b19cf34b6b68f6cfcca"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Oct 27 18:07:01 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Oct 28 00:38:02 2011 +0800"
      },
      "message": "Update camera continuous autofocus javadoc.\n\nSuppose applications call autoFocus in CAF picture mode. If\nCAF is in the middle of scanning, the picture is very likely to\nbe blurry. Change focus callback to return when the scanning\nfinishes.\n\nbug:5514415\nChange-Id: Ibcb8f92a5263d7dbd7cce54df3617fb21c6255d4\n"
    }
  ],
  "next": "0d681abd16873a265a10aee1e9ae8fa062309de3"
}
