)]}'
{
  "log": [
    {
      "commit": "868c0abe9f26852c217bc201b337e72c68f829b8",
      "tree": "1ffcd485ce7c69bc424fc7fafb00412effd9c126",
      "parents": [
        "b4ea1ab821d652cb080910d4081f5f1318597a90"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 13 14:59:17 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 13 15:14:16 2012 -0700"
      },
      "message": "Shorten dumpsys media.audio_flinger output\n\nDon\u0027t include in FastMixer if it\u0027s not present.\nThis removes confusing clutter especially for devices\nwith a separate deep buffer output thread, or for the\nduplicating thread and A2DP output thread.\n\nChange-Id: I84933f5555593256f11ba0895ec915c09cf16963\n"
    },
    {
      "commit": "b4ea1ab821d652cb080910d4081f5f1318597a90",
      "tree": "23334bf4494a540de3ee606859106c8166de55ba",
      "parents": [
        "958f463c4cddba6437c86d5bfef68167f767ee66",
        "e49f2b424318aa8e830e7a1338e5e32ab82992f9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 12 18:33:47 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 12 18:33:47 2012 -0700"
      },
      "message": "Merge \"stagefright: fix AudioRecord callback buffer size\" into jb-dev"
    },
    {
      "commit": "958f463c4cddba6437c86d5bfef68167f767ee66",
      "tree": "f575c321ae3b78063e75afd6a8a15106391e8a08",
      "parents": [
        "bd961f4c4d51c4fcfc4722d02383eb4263ef0ac5"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 12 17:40:43 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 12 17:41:54 2012 -0700"
      },
      "message": "Add NOTICE and MODULE_LICENSE_APACHE2 for libstagefright_soft_h264dec and libstagefright_soft_vpxdec\n\nChange-Id: Id4f1ef8dfc21731846a9862b8d12940a92fe99bb\nrelated-to-bug: 6647465\n"
    },
    {
      "commit": "e49f2b424318aa8e830e7a1338e5e32ab82992f9",
      "tree": "7c524902e7e604941ffdb902d212b143c978cef2",
      "parents": [
        "10cf121f7285e23c37264dab3bad7cffefd754b1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 12 17:09:30 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 12 17:09:30 2012 -0700"
      },
      "message": "stagefright: fix AudioRecord callback buffer size\n\nMake sure that the maximum number of frames passed to\nAudioSource by the AudioRecord callback always fits within\nthe maximum buffer size defined by kMaxBufferSize.\n\nAlso make sure that the total AudioRecord buffer size is more\nthan the minimum required.\n\nChange-Id: I26a1f998e0cf75ac88b02e67ec9d8db3c0cca193\n"
    },
    {
      "commit": "bd961f4c4d51c4fcfc4722d02383eb4263ef0ac5",
      "tree": "232c0180443bd455cb7040c41dddc129de45775b",
      "parents": [
        "10cf121f7285e23c37264dab3bad7cffefd754b1",
        "4832fedbfe2c18c469ab198d9ac3c349cb797527"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 12 14:20:44 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 12 14:20:44 2012 -0700"
      },
      "message": "Merge \"Add NOTICE and MODULE_LICENSE_APATCH2 to libvideoeditor\" into jb-dev"
    },
    {
      "commit": "4832fedbfe2c18c469ab198d9ac3c349cb797527",
      "tree": "b599363d93d7bb3dee989318a4e1f19786d1950e",
      "parents": [
        "58c8db6b7667db7a3bdb9b4bdd973091a5b0202f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 12 13:51:12 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 12 14:10:12 2012 -0700"
      },
      "message": "Add NOTICE and MODULE_LICENSE_APATCH2 to libvideoeditor\n\nChange-Id: I19308c5fb0f39f8e696092186f4386e3dad06894\nrelated-to-bug: 6647465\n"
    },
    {
      "commit": "10cf121f7285e23c37264dab3bad7cffefd754b1",
      "tree": "c627048a3a4bd71a7d73c5993d52960c6921261b",
      "parents": [
        "b7706712938c55706c87724af7f6d2f2156b8d1b",
        "c68f4a226fc5af54a882b0603d3051793a781037"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Jun 12 12:23:20 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 12 12:23:20 2012 -0700"
      },
      "message": "Merge \"Update make file\" into jb-dev"
    },
    {
      "commit": "c68f4a226fc5af54a882b0603d3051793a781037",
      "tree": "6d83447e12f8dd67615035ad518b682f77593d45",
      "parents": [
        "8a61dc02dbbc325dee51f2e9c9f0bbc238759ec5"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Jun 12 10:41:14 2012 -0700"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue Jun 12 10:41:14 2012 -0700"
      },
      "message": "Update make file\n\nChange-Id: I7dbd128245f584df2689457df0dd12ce888cf8ef\n"
    },
    {
      "commit": "b7706712938c55706c87724af7f6d2f2156b8d1b",
      "tree": "421d7fdd51b19fa274d7db1ddd879e72165d4a6c",
      "parents": [
        "58c8db6b7667db7a3bdb9b4bdd973091a5b0202f",
        "d791e094da5698c787f8db28ca5d5d490c512cf1"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 12 07:52:30 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 12 07:52:30 2012 -0700"
      },
      "message": "Merge \"Fix gapless for deep buffers\" into jb-dev"
    },
    {
      "commit": "d791e094da5698c787f8db28ca5d5d490c512cf1",
      "tree": "59cac1f9eff55108cc81adee71c618e3844cb68e",
      "parents": [
        "67295b543c16ed7c77b67f859d598fe7b4571660"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jun 11 17:00:59 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jun 11 17:00:59 2012 -0700"
      },
      "message": "Fix gapless for deep buffers\n\nForward current flags to next output.\nb/6645676\n\nChange-Id: I584f7a67472d99cbd6bc38f3fe84763331d115d1\n"
    },
    {
      "commit": "58c8db6b7667db7a3bdb9b4bdd973091a5b0202f",
      "tree": "2199d3c0332e761cc588c5cb9a59c8a0c763d936",
      "parents": [
        "8a61dc02dbbc325dee51f2e9c9f0bbc238759ec5",
        "67295b543c16ed7c77b67f859d598fe7b4571660"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jun 11 16:04:56 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 11 16:04:56 2012 -0700"
      },
      "message": "Merge \"Fix gapless playback\" into jb-dev"
    },
    {
      "commit": "67295b543c16ed7c77b67f859d598fe7b4571660",
      "tree": "ce4810e22cedaec06f3d7ada9f1b5f5e182df506",
      "parents": [
        "c15d6657a17d7cef91f800f40d11760e2e7340af"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jun 11 14:52:53 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jun 11 15:10:48 2012 -0700"
      },
      "message": "Fix gapless playback\n\nOn some devices the actual framecount per buffer of an AudioTrack\nwill be different than what was requested, which prevented the\ntrack from being reused. Now we create a new AudioTrack with the\nrequested parameters, and then compare it to the track we already\nhave. If they match, we throw away the new track and reuse the\nexisting one.\nb/6644559\n\nChange-Id: Id3e8c4460436f52e59b98ecaeb01c94f02877c1d\n"
    },
    {
      "commit": "8a61dc02dbbc325dee51f2e9c9f0bbc238759ec5",
      "tree": "1b0e4a5dcd07dab1fcc2738ff93aee27ba62d089",
      "parents": [
        "c15d6657a17d7cef91f800f40d11760e2e7340af",
        "01e5b5699fb049bedbb7e156fbf7f5952c39130d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jun 11 13:35:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 11 13:35:06 2012 -0700"
      },
      "message": "Merge \"Revert \"Added some informational log messages to track down ANR related issues\"\" into jb-dev"
    },
    {
      "commit": "c15d6657a17d7cef91f800f40d11760e2e7340af",
      "tree": "c4346cb0fcde7483e42900aecce64df96250889b",
      "parents": [
        "b7acdfb8068bf408ed859dfdd441b4a8722eb12a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 30 14:52:57 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jun 11 11:39:54 2012 -0700"
      },
      "message": "Add audio watchdog thread\n\nChange-Id: I4ed62087bd6554179abb8258d2da606050e762c0\n"
    },
    {
      "commit": "01e5b5699fb049bedbb7e156fbf7f5952c39130d",
      "tree": "957327f28363797c3de5af0a3837a42cef172aa2",
      "parents": [
        "b7acdfb8068bf408ed859dfdd441b4a8722eb12a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jun 11 10:49:55 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jun 11 10:49:55 2012 -0700"
      },
      "message": "Revert \"Added some informational log messages to track down ANR related issues\"\n\nThis reverts commit c558fa89016ba9583049b84dc57e66a913cabde8.\n\nrelated-to-bug: 6565826\n"
    },
    {
      "commit": "b7acdfb8068bf408ed859dfdd441b4a8722eb12a",
      "tree": "ad3dcda5ebcfe84fee6143c6e35e1fe22a7c6f3a",
      "parents": [
        "28ed2f93324988767b5658eba7c1fa781a275183",
        "3e1e78ccd5936111f31a709592f11aa7c677c42d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jun 08 12:37:50 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 08 12:37:50 2012 -0700"
      },
      "message": "Merge \"Fix green or corrupted video frames in the exported movies\" into jb-dev"
    },
    {
      "commit": "28ed2f93324988767b5658eba7c1fa781a275183",
      "tree": "07ba39f61d41aa6ff2af76dc2c9122a102c92059",
      "parents": [
        "a4f7e0e9a0e92a063f1b3a08988cf46e2cf1fa94"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 07 10:17:54 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jun 08 10:09:22 2012 -0700"
      },
      "message": "Reduce underruns in screen off, esp. with EQ\n\nAdd MonoPipe APIs to specify setpoint.\nUse screen state to configure pipe setpoint.\nFix a long-standing bug where pipe sleep time was excessive,\n  which interacted poorly with governor and low clock frequencies.\n  Now it deducts the elapsed time since last write(),\n  which was significant when there was EQ and low clock frequency.\n\nBug: 6618373\nChange-Id: I6f3b0072c2244aeb033ef0795ad164491a164ff5\n"
    },
    {
      "commit": "3e1e78ccd5936111f31a709592f11aa7c677c42d",
      "tree": "caccac9e707c1df4d1f2c18a53635c43c24d2bdc",
      "parents": [
        "67c0a58e05f4c19d4a6f01fe6f06267d57b49305"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jun 04 19:07:28 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jun 07 19:18:07 2012 -0700"
      },
      "message": "Fix green or corrupted video frames in the exported movies\n\nAt least two use cases are affected: trimming and transition clip generation.\n\nIf the starting time of the transition or the trimming position is not the same as\nthat of any existing video frame, the video frame right before the transition\nstarting position or the trimming position must be encoded as the the first video\nframe for the transtion or the trimmed video, and it is encoded as a key frame.\nThis frame was not saved without the patch.\n\nIn the transcoding phrase, since we could not find such a frame, the existing\ncode did not return an error, and incorrectly used some other frame to serve\nas the reference key frame for the remaining video frames of the transition or\nthe trimmed video. As a result, we may see corrupted or green video frames in\nthe exported movies.\n\nThe fix is to always save the frame right before the trimming position or\nthe transition starting time, so that a key frame will always be encoded, and\nthe right reference frame is used for remaining video frames. In addition,\nchecks are added to prevent from future mistakes to use incorrect reference frames.\n\nPatch was originally contributed by teng.hong@nxp.com\n\nChange-Id: I182784d4c1786224445224634edab3338bf2278f\nrelated-to-bug: 5713461\n"
    },
    {
      "commit": "a4f7e0e9a0e92a063f1b3a08988cf46e2cf1fa94",
      "tree": "007deb0f276a01d2276a953d2a493cf4f7d11d50",
      "parents": [
        "e35a55fbdff5a695ee35ff43f1466a62fb75662b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 07 17:16:09 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 07 17:16:09 2012 -0700"
      },
      "message": "audioflinger: fix duplicating thread standby\n\nThe code that waits for a track presentation to be complete\nbefore disabling it caused a regression for duplicating threads.\nBecause of the way output tracks activity is managed, the number\nof frames output by the duplicating thread would never\nreach the target set for a track to be considered presented.\nThe track would not be removed from active list and the thread would\nnot go to standby and keep its wakelock held.\n\nBug 6606922.\n\nChange-Id: I4b46b420ac4cbf79a86b6791ae6589d407b01c92\n"
    },
    {
      "commit": "e35a55fbdff5a695ee35ff43f1466a62fb75662b",
      "tree": "97d542ca3fcf24a4ab55747fe0bb27e379ad59dd",
      "parents": [
        "9a0d82df8fd681257bc5b29fb5e6c65fcc7cef5a",
        "f06c2ed50e1db871ae9eb2bd15a196064f8c278c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jun 07 11:08:15 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 07 11:08:15 2012 -0700"
      },
      "message": "Merge \"Take latency and current time into account for visualization\" into jb-dev"
    },
    {
      "commit": "f06c2ed50e1db871ae9eb2bd15a196064f8c278c",
      "tree": "a6e809ffab6281359f5c22166113cb2039579f68",
      "parents": [
        "67c0a58e05f4c19d4a6f01fe6f06267d57b49305"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jun 06 09:52:31 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jun 07 09:16:27 2012 -0700"
      },
      "message": "Take latency and current time into account for visualization\n\nBuffer more data, and return the data that is currently being\noutput from the audio output, to ensure that visualizations are\nsmooth and responsive even when the audio output has a large\nlatency and/or large buffers.\nb/6522728\n\nChange-Id: I401637f01be7600b3c594a55c869036c13b206c0\n"
    },
    {
      "commit": "9a0d82df8fd681257bc5b29fb5e6c65fcc7cef5a",
      "tree": "9e31aa4a1c1a6b52b24c124eab362b4b4a67fb4f",
      "parents": [
        "67c0a58e05f4c19d4a6f01fe6f06267d57b49305"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 05 18:12:11 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jun 06 09:23:31 2012 -0700"
      },
      "message": "audioflinger: modify fast mixer overrun management\n\nDo not force sleep when an overrun occurs. This was for non\nblocking audio HAL and is unused.\nKeep statistics on overruns.\n\nBug 6605215.\n\nChange-Id: I295455d4562201aa3814c88bdd6e52c9226712af\n"
    },
    {
      "commit": "67c0a58e05f4c19d4a6f01fe6f06267d57b49305",
      "tree": "0bfb89de1a57ad53abbd6314e6352538ab1a6317",
      "parents": [
        "ab9071b8d1b375418eb797c9a790da71de644344"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 01 19:31:12 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 05 12:50:16 2012 -0700"
      },
      "message": "audioflinger: various fixes on direct output\n\nVarious fixes in direct output playback thread implementation:\n- threadLoop_write() was broken for playback threads that do not\nuse a pipe sink.\n- output buffer size calculation was hard coded for stereo.\n- removed software volume that was implemented for PCM stereo\nformat only: the audio HAL has to implement volume if needed\nfor direct outputs.\n\nChange-Id: If211b4489be9af395435707b8cf0388cce1347b2\n"
    },
    {
      "commit": "ab9071b8d1b375418eb797c9a790da71de644344",
      "tree": "637a5322ed80b9de92433ed9851302e45d78b727",
      "parents": [
        "399930859a75d806ce0ef124ac22025ae4ef0549"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 04 13:45:29 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 04 14:27:56 2012 -0700"
      },
      "message": "audioflinger: fix active sleep time calculation.\n\nWhen an audioTrack underruns, the audioflinger mixer thread\nsleeps for a certain time to give the app a chance to recover.\nThis time is based on the reported audio HAL latency.\nSome audio HALs implementing deep buffering have a variable\nlatency and this creates a problem if the sleep time is cached\nwhen the output stream is opened and not updated afterwards.\n\nThis change derives the active sleep time from the mix buffer\nframecount instead of the latency. This is more conservative\nbut works for variable latency.\n\nBug 6588525.\n\nChange-Id: Ia892fc290fe06f836565c3ae15f7a2ce026c88c6\n"
    },
    {
      "commit": "399930859a75d806ce0ef124ac22025ae4ef0549",
      "tree": "2471b70dedc0bb33f7310de8ae0e5622344c6f82",
      "parents": [
        "1295bb4dcff7b29c75cd23746816df12a871d72c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu May 31 13:40:27 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jun 04 08:27:25 2012 -0700"
      },
      "message": "State queue dump\n\nBug: 6591648\nChange-Id: Iac75e5ea64e86640b3d890c46a636641b9733c6d\n"
    },
    {
      "commit": "1295bb4dcff7b29c75cd23746816df12a871d72c",
      "tree": "81cf673d36c8aaf3d9d51a9f372a8425ee5fa49b",
      "parents": [
        "bf0d21fb1310e8677caa53b90e8c3aecebc7fc13"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu May 31 07:43:43 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sun Jun 03 14:49:11 2012 -0700"
      },
      "message": "Fast track dumpsys\n\nBug: 6591648\nChange-Id: I696f51c682e7233ba690d97da26012084989b412\n"
    },
    {
      "commit": "bf0d21fb1310e8677caa53b90e8c3aecebc7fc13",
      "tree": "247c7705394820c7cb84899343bf7a9b834bbda6",
      "parents": [
        "81787e56f8f21407eade5accc50c6da39b8af9b2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu May 31 14:59:29 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sun Jun 03 14:42:51 2012 -0700"
      },
      "message": "Count underruns for normal tracks also\n\nBug: 6591648\nChange-Id: Iff9cabe392bb2ce97062603adb9c9dc7aa4170d5\n"
    },
    {
      "commit": "81787e56f8f21407eade5accc50c6da39b8af9b2",
      "tree": "1d33021d28ad0c469e5a6adc98e7a7d097a65ad5",
      "parents": [
        "7dc5b165d4f98a2059eaf1c7fec20b3b5773cd4c",
        "04a4ca4217e9b30342d5865024c340013d7184e8"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sun Jun 03 14:40:55 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jun 03 14:40:55 2012 -0700"
      },
      "message": "Merge \"Was calculating measured warmup time wrong\" into jb-dev"
    },
    {
      "commit": "7dc5b165d4f98a2059eaf1c7fec20b3b5773cd4c",
      "tree": "fdbdaa7545921e7ec3079f39013c3943dd22a376",
      "parents": [
        "0c22272f1c97fd4b7e106030a1fd5e6b50680b61",
        "893a05479c96f911d02beb0443da3ed6508143a7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jun 01 11:06:28 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 01 11:06:28 2012 -0700"
      },
      "message": "Merge \"Fix fast track leak if out of normal track names\" into jb-dev"
    },
    {
      "commit": "0c22272f1c97fd4b7e106030a1fd5e6b50680b61",
      "tree": "0b27f53c60c0e20d3e06d0fa7eb1f8e04ff6697f",
      "parents": [
        "dadc0ddbfe309086801b479ddc91c55eeb2a9cbb",
        "820ba70df8ba595ae9055dfd34fdbfa32f70f14d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jun 01 11:04:43 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 01 11:04:43 2012 -0700"
      },
      "message": "Merge \"Pipe throttle based on requested frame count\" into jb-dev"
    },
    {
      "commit": "04a4ca4217e9b30342d5865024c340013d7184e8",
      "tree": "5e212501d1b93a5eedad01410dc863fef49ec258",
      "parents": [
        "dadc0ddbfe309086801b479ddc91c55eeb2a9cbb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jun 01 10:49:51 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jun 01 10:51:34 2012 -0700"
      },
      "message": "Was calculating measured warmup time wrong\n\nBug: 6592923\nChange-Id: I980c6fc69d78c569147ea44ce33a7f8a41739c91\n"
    },
    {
      "commit": "dadc0ddbfe309086801b479ddc91c55eeb2a9cbb",
      "tree": "18baae93ed3d613c065c43267f9c47ac02a2325d",
      "parents": [
        "27d33134130379cc91d936cdc742700311901a9d"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu May 31 21:48:59 2012 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu May 31 21:48:59 2012 -0700"
      },
      "message": "Part of fix for double spins \u0026 faster startup\n\nThis change alters the way that the media player\ninteracts with the Widevine adaptive streaming buffer\nlogic.  It eliminates the reliance on cached buffer\nduration to determine pause/play states and instead\nonly generates buffering events when the widevine\nlibrary is not producing data (i.e. when it is\nbuffering).  This eliminates unnecessary pause and\nrebuffer cycles, reducing startup time and the\nfrequency and duration of spinners.\n\nMulti-repo commit, depends on related changes in vendor/widevine\n\nChange-Id: I387db2decd83841775a8351bddf5a6381fe4104f\nrelated-to-bug:6503294\nrelated-to-bug:6463780\n"
    },
    {
      "commit": "27d33134130379cc91d936cdc742700311901a9d",
      "tree": "4f6fd1c24c856b908a31040da0d72f3d0798434f",
      "parents": [
        "cafc53c0ac77c2aa7564cea26120da6bc0c589f2",
        "df839841d2db4cb8e2acb10205b3942622b3e7a2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 31 19:56:21 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 31 19:56:21 2012 -0700"
      },
      "message": "Merge \"Do not keep audio wake lock when apps underrun.\" into jb-dev"
    },
    {
      "commit": "cafc53c0ac77c2aa7564cea26120da6bc0c589f2",
      "tree": "4ea43af46b70d18c4a7d6b827579888555b363a0",
      "parents": [
        "83410a85993ad6f5f0c122036ff0bda42bf1d4f7"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu May 31 13:06:53 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu May 31 17:13:39 2012 -0700"
      },
      "message": "Fix another buffer overflow issue\n\nUsing hard-coded length value easily leads to buffer overflow.\nRefactor the code a bit to make it more readable, and more\nextensible, and less subject to the buffer overflow coding error.\n\nPatch originally contributed by teng.hong@nxp.com\n\nChange-Id: Id262915302ccea8ae3b0121bf39890ab463aeeb7\nrelated-to-bug: 6328360\n"
    },
    {
      "commit": "893a05479c96f911d02beb0443da3ed6508143a7",
      "tree": "ba9fba13c28e13b555313231bfb4cbaba39d81b1",
      "parents": [
        "83410a85993ad6f5f0c122036ff0bda42bf1d4f7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 30 10:32:06 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu May 31 14:39:20 2012 -0700"
      },
      "message": "Fix fast track leak if out of normal track names\n\nBug: 6580402\nChange-Id: I3ac7f012062c35833147f47ba822eb4bf532a824\n"
    },
    {
      "commit": "df839841d2db4cb8e2acb10205b3942622b3e7a2",
      "tree": "183ce49d98a66d866aeed85e98da6709206074ac",
      "parents": [
        "83410a85993ad6f5f0c122036ff0bda42bf1d4f7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 31 14:27:14 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 31 14:32:38 2012 -0700"
      },
      "message": "Do not keep audio wake lock when apps underrun.\n\nDo not automatically restart an AudioTrack after an underrun\nif the callback is executed but no data is written by the app.\n\nBug 6541286.\n\nChange-Id: I11e7ab8dc968d7ff087058fec68f44490d3a7731\n"
    },
    {
      "commit": "83410a85993ad6f5f0c122036ff0bda42bf1d4f7",
      "tree": "6dd782ab059a9013ad1b1be957e6a3f19d8fc331",
      "parents": [
        "3bdb4fbfc6730b6edc0b1ee980141574ed54ed8d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed May 30 17:34:24 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed May 30 19:07:45 2012 -0700"
      },
      "message": "Avoid prematurely terminating parsing when some track only has a single access unit\n\nPatch was contributed by teng.hong@nxp.com\n\nChange-Id: I0f56361d839f18627e512d18e86f51b58b9b0e05\nrelated-to-bug: 6240789\n"
    },
    {
      "commit": "820ba70df8ba595ae9055dfd34fdbfa32f70f14d",
      "tree": "e97d469bcac8dc241ed7f6690db31035a6f1493b",
      "parents": [
        "4364d2d1fd712faed7e839b58fedba3f48f626d0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 30 16:34:17 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed May 30 17:39:45 2012 -0700"
      },
      "message": "Pipe throttle based on requested frame count\n\nNow does throttling based on the requested frame count, but\nstill permits overfilling pipe up to the rounded-up frame count.\nAlso still uses the larger frame count for non-blocking arithmetic.\n\nBug: 6585323\nChange-Id: Ic2420a071419905524a14c22ebe1ce0e32d70a9d\n"
    },
    {
      "commit": "3bdb4fbfc6730b6edc0b1ee980141574ed54ed8d",
      "tree": "0629fb88ed24815990afca3e04f4821e7b974336",
      "parents": [
        "cc9833b5db0e96f12daddb90a747fd146627377d",
        "91b14c4c144d0cc957a427cffc02ba10d0615677"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 30 14:07:38 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 30 14:07:38 2012 -0700"
      },
      "message": "Merge \"audioflinger: fix effect problem during underrun\" into jb-dev"
    },
    {
      "commit": "cc9833b5db0e96f12daddb90a747fd146627377d",
      "tree": "9381b975e84aee3deff7e9a51e193bd5b1e1b600",
      "parents": [
        "4364d2d1fd712faed7e839b58fedba3f48f626d0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed May 30 10:26:31 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed May 30 13:02:05 2012 -0700"
      },
      "message": "Only send port settings changed if the number of channels and sample rate are both known to be valid.\n\nChange-Id: I9f8813eedc95db202488d8860cf485bdb8e69e11\nrelated-to-bug: 6553089\n"
    },
    {
      "commit": "91b14c4c144d0cc957a427cffc02ba10d0615677",
      "tree": "dd7c1027319b6783cdc493bf4d37afb2537a2879",
      "parents": [
        "91b0d43a27b3a1cebd75270f953f3fb9fa4f2047"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 30 12:30:29 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 30 12:38:27 2012 -0700"
      },
      "message": "audioflinger: fix effect problem during underrun\n\nWhen an audio track underruns, the input buffer of the\ncorresponding effect chain (if any) must be cleared, otherwise\naudio from previous mixer run will be fed again to the effect process\nfunction.\n\nBug 6551652.\n\nChange-Id: I5cd02196745f756c85af82d6937e9dc54369b37f\n"
    },
    {
      "commit": "4364d2d1fd712faed7e839b58fedba3f48f626d0",
      "tree": "7eccbd1b6918f580e059ed1debcd14eead2e4fa5",
      "parents": [
        "c558fa89016ba9583049b84dc57e66a913cabde8",
        "503775e4e2c3ead1cbd3c10561e3bdd90f2e70d5"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue May 29 17:29:33 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 29 17:29:33 2012 -0700"
      },
      "message": "Merge \"Precautionary logging to identify  a potential infinite loop.\" into jb-dev"
    },
    {
      "commit": "503775e4e2c3ead1cbd3c10561e3bdd90f2e70d5",
      "tree": "8069deada86d9e36e9a2bebbf29fbf2915422f26",
      "parents": [
        "1adacd921319ec52fac1a4596ab6eaf8689e6a7d"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue May 29 16:41:49 2012 -0700"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue May 29 16:41:49 2012 -0700"
      },
      "message": "Precautionary logging to identify  a potential infinite loop.\n\nBug: 6571063\nChange-Id: I433659c6da333d5acd25ad03cb7f4a6ab0b6a4a5\n"
    },
    {
      "commit": "c558fa89016ba9583049b84dc57e66a913cabde8",
      "tree": "54648433057b5a9c053dc2f686c81d80f6a9eac6",
      "parents": [
        "0bbf868d53f55646651db6717468faeac618859d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue May 29 14:10:05 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue May 29 14:10:05 2012 -0700"
      },
      "message": "Added some informational log messages to track down ANR related issues\n\nChange-Id: Ie991c86e75d58f7eb4c9f524815c4de054d5f262\nrelated-to-bug: 6565826\n"
    },
    {
      "commit": "0bbf868d53f55646651db6717468faeac618859d",
      "tree": "5e8cf6e31f1095163fcc97be680c4177f2e35b0a",
      "parents": [
        "91b0d43a27b3a1cebd75270f953f3fb9fa4f2047",
        "09cf462a265c3e9bc84c518cc75d77a5b1d69012"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue May 29 13:39:41 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 29 13:39:41 2012 -0700"
      },
      "message": "Merge \"DO NOT MERGE: Minimal fix for takePicture/previewCallback deadlock\" into jb-dev"
    },
    {
      "commit": "91b0d43a27b3a1cebd75270f953f3fb9fa4f2047",
      "tree": "4018b0914585b9bb5713a9b6af44b0d0275d8beb",
      "parents": [
        "40fe18f20e07f3626ff23d89ebdd5113733e155d",
        "755b9861197f1566f916785ba7d35cf86fd5b2d5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue May 29 11:36:08 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 29 11:36:08 2012 -0700"
      },
      "message": "Merge \"Unwedge ACodec if allocating output buffers fails while reconfiguring.\" into jb-dev"
    },
    {
      "commit": "755b9861197f1566f916785ba7d35cf86fd5b2d5",
      "tree": "05e919c891f387aa3a038d67ed5dba212543b86d",
      "parents": [
        "6350e21e8947398a94402bc2969d13d407fbc3fb"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue May 29 11:33:29 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue May 29 11:33:29 2012 -0700"
      },
      "message": "Unwedge ACodec if allocating output buffers fails while reconfiguring.\n\nChange-Id: I871cf639167c01860e65c0408d3ce935f8f8f1ea\nrelated-to-bug: 6571060\n"
    },
    {
      "commit": "09cf462a265c3e9bc84c518cc75d77a5b1d69012",
      "tree": "9d3ae70459a1a6bf1aa6d3377e3f6dd1413b055b",
      "parents": [
        "6350e21e8947398a94402bc2969d13d407fbc3fb"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue May 29 11:17:48 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue May 29 11:28:51 2012 -0700"
      },
      "message": "DO NOT MERGE: Minimal fix for takePicture/previewCallback deadlock\n\n- Caused by already held lock in camera service\n\n- Introduce one more lock, mICameraLock, to control access to camera\n  client through ICamera binder interface.\n\n- mLock is released before calling HAL takePicture, allowing HAL\n  callbacks to access camera client during takePicture processing.\n\nBug: 5804701\nChange-Id: Ibcef4857a2c844c964afefa70f9cdccdd0a55fd0\n"
    },
    {
      "commit": "40fe18f20e07f3626ff23d89ebdd5113733e155d",
      "tree": "384cca4b5ac2be3da70ec556e338a1505fed3a25",
      "parents": [
        "6350e21e8947398a94402bc2969d13d407fbc3fb"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue May 29 10:37:15 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue May 29 10:37:15 2012 -0700"
      },
      "message": "Force shutdown of the omx decoder even if it\u0027s in a wedged state...\n\nChange-Id: I5899928a3df4bcf7715769992955a0b834db1e2f\nrelated-to-bug: 6571060\n"
    },
    {
      "commit": "6350e21e8947398a94402bc2969d13d407fbc3fb",
      "tree": "2d3fa57414cf932b6ddbd7196ffc2472fa0e5729",
      "parents": [
        "c9d0294e0526510267a0c4148a0dbc0449bed223",
        "1adacd921319ec52fac1a4596ab6eaf8689e6a7d"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Fri May 25 10:02:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 25 10:02:32 2012 -0700"
      },
      "message": "Merge \"Property to enable AAC 5.1 pass-through.\" into jb-dev"
    },
    {
      "commit": "1adacd921319ec52fac1a4596ab6eaf8689e6a7d",
      "tree": "56d78d6e7a6e66d82095e3387dacc923eac85963",
      "parents": [
        "e737cda649acbfa43fc1b74612a83f2fac9aa449"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Wed May 23 00:00:53 2012 -0700"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Fri May 25 09:38:29 2012 -0700"
      },
      "message": "Property to enable AAC 5.1 pass-through.\n\nBug: 6275957\nChange-Id: I8debdce872fc8287a4f6340f1790e02c075886e3\n"
    },
    {
      "commit": "c9d0294e0526510267a0c4148a0dbc0449bed223",
      "tree": "714c51019368393d949860023e973058918b1132",
      "parents": [
        "49fcd3cc0c0bf352c5c0516e53805278e94951ca",
        "aea2715e65994e665a3732551880419ba1cecc0d"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri May 25 08:38:53 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 25 08:38:53 2012 -0700"
      },
      "message": "Merge \"Prevent occurences of clipping in loud downmixed scenes\" into jb-dev"
    },
    {
      "commit": "49fcd3cc0c0bf352c5c0516e53805278e94951ca",
      "tree": "9c6c223b2487999cb153ef02b44cef4e266c8c18",
      "parents": [
        "f436fdcf93bd417fd3c9d2a8b19fd221d894b5e3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu May 24 15:05:12 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu May 24 15:12:36 2012 -0700"
      },
      "message": "Fix an error caused by sample size value by order\n\nThe sample size was saved in the array in network order, but it was treated as host order when\nwriteInt32() is called. Calling write(void *, int, int) resolves the issue.\n\nrelated-to-bug: 6555366\n\nChange-Id: If7ef99911ad65108c61b533673ac4d4cd580a370\n"
    },
    {
      "commit": "aea2715e65994e665a3732551880419ba1cecc0d",
      "tree": "062b9c82f8d9ce4303467e46981c40d3b1fc1d8e",
      "parents": [
        "e737cda649acbfa43fc1b74612a83f2fac9aa449"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu May 24 10:11:07 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu May 24 12:12:43 2012 -0700"
      },
      "message": "Prevent occurences of clipping in loud downmixed scenes\n\nThe downmixer effect is a mixer, wich, like the platform mixer,\n  hard-clips. To prevent clipping during loud scenes across multiple\n  chanels, apply a fixed attenuation on the result of the downmix.\n  Note that this attenuation is lower the theoretical required\n  attenuation (except for quad and surround) but is adequate for\n  most content.\n\nBug 4280902\nChange-Id: Iec520e9f1367284d6102633f532429361717692d\n"
    },
    {
      "commit": "f436fdcf93bd417fd3c9d2a8b19fd221d894b5e3",
      "tree": "930951e6490510ef9eeab7210c8f729950783bd5",
      "parents": [
        "e737cda649acbfa43fc1b74612a83f2fac9aa449"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 24 11:07:14 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 24 11:07:14 2012 -0700"
      },
      "message": "audioflinger: change session check in createTrack.\n\nDo not refuse to create a track on an output thread if the same session\nis present on another thread. It is now possible that two tracks\nwith the same session ID are on different threads if one can use deep\nbuffering and the other can\u0027t.\n\nIn this case, move effects attached to this session to the output\nthread ion which the new track is created.\n\nBug 6530324.\n\nChange-Id: I9019b3ee382e374c89d2319033afcfa7f886e4c4\n"
    },
    {
      "commit": "e737cda649acbfa43fc1b74612a83f2fac9aa449",
      "tree": "01ac3aaf0b68473c7e21c3056547b87a54f89f0f",
      "parents": [
        "8d9846c0693b7651b243f0161caa86be506f764a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 22 18:55:44 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 22 19:06:51 2012 -0700"
      },
      "message": "audioflinger: refine latency latency calculation.\n\nThere is an audio pipe between the normal mixer output and the fast\nmixer to cope for scheduling delays and buffer size difference.\nThis pipe depth was not taken into account in latency calculation.\n\nAdding the pipe contribution to the latency significantly improves A/V sync.\n\nBug 6520569.\n\nChange-Id: I5584908e8aa8a02170eb38b22b4370eea800a235\n"
    },
    {
      "commit": "8d9846c0693b7651b243f0161caa86be506f764a",
      "tree": "75cc829b00829096de7ad60d291a90144104ee86",
      "parents": [
        "67e5440202cc442621c352756537ead31fca80cf",
        "bc098410be55f9d96f394b3981a0c482b83859b6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue May 22 13:48:59 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 22 13:48:59 2012 -0700"
      },
      "message": "Merge \"Tell surface flinger that we want to protect output buffers from being\" into jb-dev"
    },
    {
      "commit": "bc098410be55f9d96f394b3981a0c482b83859b6",
      "tree": "45681d846f6862d558b04be1a4b36bb4a2b4c54f",
      "parents": [
        "a6490c65f93e1cbe969fba499978e8d64214108a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue May 22 12:55:03 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue May 22 12:55:03 2012 -0700"
      },
      "message": "Tell surface flinger that we want to protect output buffers from being\n\nsent to HDMI (without HDCP) and push a few black frames on IDLE-\u003eLOADED\nsimilar to OMXCodec\u0027s behaviour.\n\nChange-Id: Iea6055a115151ca881220a70a31af6ade2c58cb3\nrelated-to-bug: 6537187\n"
    },
    {
      "commit": "67e5440202cc442621c352756537ead31fca80cf",
      "tree": "89d2d2abadb4f5cf3fa055cfe07e90db730fae0d",
      "parents": [
        "a6490c65f93e1cbe969fba499978e8d64214108a",
        "fbae5dae5187aca9d974cbe15ec818e9c6f56705"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue May 22 12:13:58 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 22 12:13:58 2012 -0700"
      },
      "message": "Merge \"Keep a copy of most recent audio played\" into jb-dev"
    },
    {
      "commit": "a6490c65f93e1cbe969fba499978e8d64214108a",
      "tree": "cdc47dfff329a4124b8a53d9bd9c3428ac7521ad",
      "parents": [
        "4575beb3dea80e271eaa6619234fdc02e914e6e6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue May 22 10:51:06 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue May 22 10:51:06 2012 -0700"
      },
      "message": "Only mark the audio player as started if it did so successfully.\n\nChange-Id: I4683f5ca243f9f1b80990028d225d0f6c5973899\nrelated-to-bug: 6500580\n"
    },
    {
      "commit": "4575beb3dea80e271eaa6619234fdc02e914e6e6",
      "tree": "72298a4b145f785457666a86e0df1d63cd47733a",
      "parents": [
        "c9ef89cd40bea216046ed28e5366f8ac361d3dd4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue May 22 10:03:57 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue May 22 10:03:57 2012 -0700"
      },
      "message": "Revert \"Stop audio source if AudioPlayer could not be started\"\n\nThis reverts commit 022048e95f3f1d65cb776cf21de2001423fcf7d9.\n"
    },
    {
      "commit": "c9ef89cd40bea216046ed28e5366f8ac361d3dd4",
      "tree": "50d633ad7d8e4a3a9a7985d7e0b052d4e4a66796",
      "parents": [
        "d7d79a2bbf38d1d19ec7cc8d6a514fc999b5c444"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Mon May 21 21:18:22 2012 -0700"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Mon May 21 21:18:41 2012 -0700"
      },
      "message": "Revert \"Revert to PV for AAC codec for FactoryROM.\"\n\nThis reverts commit d7d79a2bbf38d1d19ec7cc8d6a514fc999b5c444.\n\nChange-Id: I7076feab31ab64fccd364699280d821011edc099\n"
    },
    {
      "commit": "d7d79a2bbf38d1d19ec7cc8d6a514fc999b5c444",
      "tree": "564572252ccfe044be34eb5ce03797cc8fc1e8c6",
      "parents": [
        "a92896f62d8f4a4a6ff61f26439ad61c210ce728"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Fri May 18 17:44:51 2012 -0700"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Mon May 21 21:17:01 2012 -0700"
      },
      "message": "Revert to PV for AAC codec for FactoryROM.\n\nChange-Id: I72cf856685c0c4bae745646f870a0415d416afb5\n"
    },
    {
      "commit": "a92896f62d8f4a4a6ff61f26439ad61c210ce728",
      "tree": "50d633ad7d8e4a3a9a7985d7e0b052d4e4a66796",
      "parents": [
        "9ec3547e741f72adcf0ce5d173b1f4ab2cdd5db1",
        "21a0dca457bc0f3b8bafca0c49dfe2d442acbde0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon May 21 13:57:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 21 13:57:06 2012 -0700"
      },
      "message": "Merge \"Fix a mediaserver crash caused by dereferencing a NULL pointer.\" into jb-dev"
    },
    {
      "commit": "9ec3547e741f72adcf0ce5d173b1f4ab2cdd5db1",
      "tree": "6637faeac038fd9cf4f0bb87c0a71a2cff238b1b",
      "parents": [
        "cd8a36fdc49a823f78d45e8e1a464dc261553b26",
        "c9d1696d214d2175327067ccc1991bcb36976404"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon May 21 13:56:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 21 13:56:06 2012 -0700"
      },
      "message": "Merge \"For an RTSP live stream we won\u0027t map rtp time to normal play time,\" into jb-dev"
    },
    {
      "commit": "21a0dca457bc0f3b8bafca0c49dfe2d442acbde0",
      "tree": "07bd56fc5b179e0cd3b83fdc6bda50995046818e",
      "parents": [
        "bf2461ecc71c0aacf8c03fcdaf0dc46bc8285c7f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon May 21 13:38:42 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon May 21 13:48:20 2012 -0700"
      },
      "message": "Fix a mediaserver crash caused by dereferencing a NULL pointer.\n\nThe pointer (info in method drainInputBuffer) in can be null at the point of the dereference,\nbut it will get updated subsequently. Thus, we should move the logging after the pointer gets updated.\n\nrelated-to-bug: 6530159\n\nChange-Id: Ifa5f19a694953af6942454e5c28cd3fa024f11d2\n"
    },
    {
      "commit": "fbae5dae5187aca9d974cbe15ec818e9c6f56705",
      "tree": "101ef33da2a18e0cb1c70a0e1ae085450dc60396",
      "parents": [
        "cd8a36fdc49a823f78d45e8e1a464dc261553b26"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon May 21 09:17:20 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon May 21 12:36:06 2012 -0700"
      },
      "message": "Keep a copy of most recent audio played\n\nChange-Id: I6b2f97881c39998a2fae9ab79d669af6c0a37e94\n"
    },
    {
      "commit": "c9d1696d214d2175327067ccc1991bcb36976404",
      "tree": "d8dca6340bbe00cd04d6dda4c1917e1affe9a516",
      "parents": [
        "8370c7ad4136ad7e0787d5a91ccfa3d63cfbe5cc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon May 21 11:12:40 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon May 21 11:12:40 2012 -0700"
      },
      "message": "For an RTSP live stream we won\u0027t map rtp time to normal play time,\n\nsince we don\u0027t have the information necessary.\n\nChange-Id: I3119fcc061c4b6756a69c6139ffdf013d806fee1\nrelated-to-bug: 6528548\n"
    },
    {
      "commit": "cd8a36fdc49a823f78d45e8e1a464dc261553b26",
      "tree": "13aab2bf31f851564af06c3c4b323e14229fff76",
      "parents": [
        "91bfadb4aa75444c60e9949232de3c184cfe060a",
        "e35ac2860e99d809a2ccca59bd4eb2f8c02d15ad"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon May 21 10:11:52 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 21 10:11:52 2012 -0700"
      },
      "message": "Merge \"Add more verbose ADTS error logging to SoftAAC.\" into jb-dev"
    },
    {
      "commit": "e35ac2860e99d809a2ccca59bd4eb2f8c02d15ad",
      "tree": "de93d3a9fafe23a6d7f9e97ffa0e0a1148c74cf3",
      "parents": [
        "8370c7ad4136ad7e0787d5a91ccfa3d63cfbe5cc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon May 21 10:02:14 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon May 21 10:06:42 2012 -0700"
      },
      "message": "Add more verbose ADTS error logging to SoftAAC.\n\nand fix the corresponding code in SoftAAC2.\n\nChange-Id: I6c745fb6e8e093708fdfe2861963b0a35fa7b912\nrelated-to-bug: 6519161\n"
    },
    {
      "commit": "91bfadb4aa75444c60e9949232de3c184cfe060a",
      "tree": "93f0aa64f7008ee6fc40c103338a295811f5fcd7",
      "parents": [
        "8370c7ad4136ad7e0787d5a91ccfa3d63cfbe5cc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon May 21 09:51:14 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon May 21 09:51:14 2012 -0700"
      },
      "message": "If we encounter an error during buffer allocation change state back\n\nto LOADED instead of remaining in the transitional state LOADED-\u003eIDLE\nthat won\u0027t properly handle flush or shutdown requests.\n\nChange-Id: Ica1bf22eb884b220f18ed2a4f7a9c56eec228796\nrelated-to-bug: 6516512\n"
    },
    {
      "commit": "8370c7ad4136ad7e0787d5a91ccfa3d63cfbe5cc",
      "tree": "581379729389cbea7652272117fd9dc81feff1f8",
      "parents": [
        "7c2af29ebced41b1b7ed32910cc9b587fb8bbf5c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri May 18 13:08:14 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri May 18 13:46:24 2012 -0700"
      },
      "message": "Instead of asserting on malformed ADTS headers or insufficient data,\n\nstop decoding and signal a runtime error.\n\nChange-Id: Ib66a17a2908273f65a92999951439cc6f0752164\nrelated-to-bug: 6519161\n"
    },
    {
      "commit": "7c2af29ebced41b1b7ed32910cc9b587fb8bbf5c",
      "tree": "2704f2f14b9d289732ae43c340d32ddfd7dbd612",
      "parents": [
        "bf2461ecc71c0aacf8c03fcdaf0dc46bc8285c7f",
        "6d8aabe8a3be1ac0789d00b82c3ca8b81381f5ab"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri May 18 13:04:25 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 18 13:04:25 2012 -0700"
      },
      "message": "Merge \"Add throttle to have pipe fill at more stable rate\" into jb-dev"
    },
    {
      "commit": "6d8aabe8a3be1ac0789d00b82c3ca8b81381f5ab",
      "tree": "1f621b7f3f61ede29474f1d2c3802ecffa1df4c7",
      "parents": [
        "874a897f09dc7b06679bb273506d7e0fa0152220"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri May 18 10:47:28 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri May 18 11:44:27 2012 -0700"
      },
      "message": "Add throttle to have pipe fill at more stable rate\n\nChange-Id: Ibff9ab62764e2acd04518a4a00e25f19e28aff4a\n"
    },
    {
      "commit": "bf2461ecc71c0aacf8c03fcdaf0dc46bc8285c7f",
      "tree": "43e7c72981aff2896d845bd366a74622312d3e00",
      "parents": [
        "874a897f09dc7b06679bb273506d7e0fa0152220"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Fri May 18 10:46:11 2012 -0700"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Fri May 18 10:46:11 2012 -0700"
      },
      "message": "Don\u0027t reconfigure stream after outputing data.\n\nHandle invalid configuration.\nBug: 6519161\n\nChange-Id: Ib2d38bee769e63e627c93d7f3839c3a55de694e9\n"
    },
    {
      "commit": "874a897f09dc7b06679bb273506d7e0fa0152220",
      "tree": "bb6bb78269c636d43cc3fe4044dfecce50f6df12",
      "parents": [
        "441fbdea6e46ddc6b99fa864ab1edaa9759ec033",
        "99c99d00beb43b939dedc9ffb07adb89f6a85ba5"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri May 18 07:23:12 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 18 07:23:12 2012 -0700"
      },
      "message": "Merge \"systrace for audio\" into jb-dev"
    },
    {
      "commit": "441fbdea6e46ddc6b99fa864ab1edaa9759ec033",
      "tree": "503d7923b38a326d349de6859ad56c3d034ffd35",
      "parents": [
        "3748b71a7fe73b0365a93f1fd28ced14219f85e5"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Thu May 17 23:55:34 2012 -0700"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Thu May 17 23:55:34 2012 -0700"
      },
      "message": "Robustness - use defaults if we see bogus sample rate / channels from decoder.\n\nBug: 6498711\nChange-Id: I6950d316a292cfd0cb516ee6d95b6af071b08fdc\n"
    },
    {
      "commit": "3748b71a7fe73b0365a93f1fd28ced14219f85e5",
      "tree": "a5e0c03adcfc5cc78531f36e13cd6a46ce856418",
      "parents": [
        "3eda271f8b1879467759f98e5538577b1b6804f4"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Thu May 17 23:08:08 2012 -0700"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Thu May 17 23:08:08 2012 -0700"
      },
      "message": "Handle stream changes at any point in the stream.\n\nAlso, handle discontinuity properly (was using wrong flag before).\nBug: 6498711\n\nChange-Id: I18a6684f7dc96aa04b1e8113b54ec1053895ca98\n"
    },
    {
      "commit": "3eda271f8b1879467759f98e5538577b1b6804f4",
      "tree": "14bdfa02a11ceed9294afe9124e25d1d650fbdb4",
      "parents": [
        "8dfa228201131da0bf3ba1d74c819c27c0500f6b",
        "e672a0eea2cdc2ed43e002f0583902f20705de57"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Thu May 17 21:05:38 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 17 21:05:38 2012 -0700"
      },
      "message": "Merge \"Clear the decoder input buffer after it signalled an error to be able to continue.\" into jb-dev"
    },
    {
      "commit": "99c99d00beb43b939dedc9ffb07adb89f6a85ba5",
      "tree": "a93aeb409fa2399bf552ea901793514f0cf79f6b",
      "parents": [
        "552477608b137fb66af126655c6865207a82d888"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon May 14 16:37:13 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu May 17 16:29:07 2012 -0700"
      },
      "message": "systrace for audio\n\nTrace fast track buffer fill status for underruns etc.\n\nMove the definition of macro to Android.mk.\n\nNo overhead if disabled.\n\nChange-Id: If0e83e21b61b059ca38f543f8a6ffb58e08c79ee\n"
    },
    {
      "commit": "8dfa228201131da0bf3ba1d74c819c27c0500f6b",
      "tree": "21c4dabaafc5cbf182f58eb94f9bf1a74f5ce9e2",
      "parents": [
        "552477608b137fb66af126655c6865207a82d888"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue May 15 12:37:29 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu May 17 16:10:26 2012 -0700"
      },
      "message": "Fixes parsing of PSI sections in MPEG2 transport streams\n\nThey can span multiple transport stream packets, something the parser\npreviously did not support.\n\nChange-Id: I78da6ffd2d422cceedb87aad61cba2062419e635\nrelated-to-bug: 6166596\n"
    },
    {
      "commit": "e672a0eea2cdc2ed43e002f0583902f20705de57",
      "tree": "c753696c7ff4db04867425f3f555fa0107b4eaec",
      "parents": [
        "552477608b137fb66af126655c6865207a82d888"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu May 17 16:06:01 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu May 17 16:07:30 2012 -0700"
      },
      "message": "Clear the decoder input buffer after it signalled an error to be able to continue.\n\nChange-Id: I06d43723dea7688d63cfb05e7fc7754672788562\nrelated-to-bug: 6419102\n"
    },
    {
      "commit": "552477608b137fb66af126655c6865207a82d888",
      "tree": "a0c3c8704d8a5dffc900a01255acd63e648e15c4",
      "parents": [
        "c059bd4246c1b3944965be921e5b334d51cd236c",
        "88cbea8a918bbaf5e06e48aadd5af5e81d58d232"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu May 17 15:47:18 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 17 15:47:18 2012 -0700"
      },
      "message": "Merge \"Display pipe underrun counters in dumpsys\" into jb-dev"
    },
    {
      "commit": "88cbea8a918bbaf5e06e48aadd5af5e81d58d232",
      "tree": "add79cd641d5e2ab4be79f49ca63680fa0e86962",
      "parents": [
        "e00e0485b0aa1e432be8c639da0eb5285942777b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue May 15 07:39:27 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu May 17 15:04:31 2012 -0700"
      },
      "message": "Display pipe underrun counters in dumpsys\n\nThe normal mixer writes it\u0027s submix to a pipe, which is read by the fast\nmixer.  Now dumpsys media.audio_flinger display the raw underrun counters\nwhen fast mixer tries to pull from the pipe but doesn\u0027t get enough frames.\n\nChange-Id: I72505f149f9e12802784da654a651d43734e1c79\n"
    },
    {
      "commit": "c059bd4246c1b3944965be921e5b334d51cd236c",
      "tree": "d1c5ee08f63985bc15c2d4ad9025ee6631667663",
      "parents": [
        "e00e0485b0aa1e432be8c639da0eb5285942777b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon May 14 17:41:09 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu May 17 15:01:45 2012 -0700"
      },
      "message": "Skip bad kHz values, and display them accurately\n\nOne device reports zero CPU kHz occasionally, so skip those values.\n\nPreserve accuracy of the low-order 4 bits of the the CPU frequency.\n\nChange-Id: I7d934f697412277462464fca82d112d0306a214e\n"
    },
    {
      "commit": "e00e0485b0aa1e432be8c639da0eb5285942777b",
      "tree": "f752187b270460cefd330f711794a4efd6d91ccd",
      "parents": [
        "b33eaec751d712c237e1c1b53a18a259456fa682",
        "bfd4d0d9fe0033abf3f55b94f30f6a58846a875e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu May 17 14:52:55 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 17 14:52:55 2012 -0700"
      },
      "message": "Merge \"Buffer at least 2 secs worth of data at startup of after a seek before\" into jb-dev"
    },
    {
      "commit": "bfd4d0d9fe0033abf3f55b94f30f6a58846a875e",
      "tree": "9b8a16246cce7e86b6dcc4e5af147d264d4eb4b9",
      "parents": [
        "cd28dc10d49c359566c69d48a29a6f0d3eefa6d9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu May 17 14:18:50 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu May 17 14:18:50 2012 -0700"
      },
      "message": "Buffer at least 2 secs worth of data at startup of after a seek before\n\nresuming starting RTSP playback.\n\nChange-Id: I060c6c7fd627ab7ebd5c095ddcfdb4cc0f637aad\nrelated-to-bug: 6364126\n"
    },
    {
      "commit": "b33eaec751d712c237e1c1b53a18a259456fa682",
      "tree": "901552bb8293298e45fe3763e2845ee9e90f9232",
      "parents": [
        "35c53ccdc1be56879ba25956bf2284d2cff7c3c4",
        "8647bbe4420ca487467318404127f52c567e346b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu May 17 12:42:18 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 17 12:42:18 2012 -0700"
      },
      "message": "Merge \"Prefix MPEG4-generic audio data with ADTS headers\" into jb-dev"
    },
    {
      "commit": "35c53ccdc1be56879ba25956bf2284d2cff7c3c4",
      "tree": "c2dd723434a99540e96f31a066006e4a003294f3",
      "parents": [
        "022048e95f3f1d65cb776cf21de2001423fcf7d9",
        "e893150187191299002626c75232f8985189cb0d"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Thu May 17 12:29:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 17 12:29:48 2012 -0700"
      },
      "message": "Merge \"Add informational logging to track 0 channel issue.\" into jb-dev"
    },
    {
      "commit": "e893150187191299002626c75232f8985189cb0d",
      "tree": "72e46a74e8a46f7eaa39ec4603edc4d491807296",
      "parents": [
        "88ba895b5ddd8b3da364c3ceacdb698224ee746f"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Thu May 17 12:04:00 2012 -0700"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Thu May 17 12:28:50 2012 -0700"
      },
      "message": "Add informational logging to track 0 channel issue.\n\nBug #: 6498711\n\nChange-Id: I952777923569511a171fe8b79eab579625eda073\n"
    },
    {
      "commit": "8647bbe4420ca487467318404127f52c567e346b",
      "tree": "6c6f23d84034a5e4ca0aee0542707bd0bca70570",
      "parents": [
        "cd28dc10d49c359566c69d48a29a6f0d3eefa6d9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu May 17 12:12:39 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu May 17 12:12:39 2012 -0700"
      },
      "message": "Prefix MPEG4-generic audio data with ADTS headers\n\nto work around limitations of the new AAC decoder.\n\nChange-Id: I4988c7c39fedb7d04eb1ae2ba2d618aa6cb14e77\nrelated-to-bug: 6488547\n"
    },
    {
      "commit": "022048e95f3f1d65cb776cf21de2001423fcf7d9",
      "tree": "0edc08faec3a504a9ff456520338ff63e1a08551",
      "parents": [
        "88ba895b5ddd8b3da364c3ceacdb698224ee746f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed May 16 19:06:19 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu May 17 12:07:25 2012 -0700"
      },
      "message": "Stop audio source if AudioPlayer could not be started\n\nrelated-to-bug: 6500580\n\nChange-Id: If47e442db2f1ea400e9b598502bb48513f28cd6d\n"
    },
    {
      "commit": "88ba895b5ddd8b3da364c3ceacdb698224ee746f",
      "tree": "e667815a58c7c30d94040ebcf20c5ab3cf53ff53",
      "parents": [
        "cd28dc10d49c359566c69d48a29a6f0d3eefa6d9",
        "a99a5bca365277271915cbaeea811ad87131270d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu May 17 09:40:55 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 17 09:40:55 2012 -0700"
      },
      "message": "Merge \"Stop extrapolating audio time from the anchor if we\u0027re paused or reached eos.\" into jb-dev"
    },
    {
      "commit": "cd28dc10d49c359566c69d48a29a6f0d3eefa6d9",
      "tree": "adb402469ecbfadba38735b3e74c569fa904a004",
      "parents": [
        "a86c809bff463ae1d782dcaa1c45d1acea5f34d3",
        "6895deeecc8797e6f5b28e7d07ec6bc499355c0c"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed May 16 13:46:04 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 16 13:46:04 2012 -0700"
      },
      "message": "Merge \"Stereo downmixer supports generic configurations. Fix 7.1 downmix\" into jb-dev"
    },
    {
      "commit": "6895deeecc8797e6f5b28e7d07ec6bc499355c0c",
      "tree": "9dc5dcdccac3993d0604b69ec08ad2ce75015664",
      "parents": [
        "5d3d12bf58da5b48b1edb7c20b5d1edec0773f75"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue May 15 15:51:16 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed May 16 12:28:45 2012 -0700"
      },
      "message": "Stereo downmixer supports generic configurations. Fix 7.1 downmix\n\nAdded a generic downmixer to stereo function to handle the\n  multichannel configurations not supported by the dedicated\n  downmix functions.\n  It first verifies the mask is supported, and then derives\n  channel indices for the downmix.\nAdded support for forcing the generic downmixer to be always\n  used instead of the format-specific functions (define\n  DOWNMIX_ALWAYS_USE_GENERIC_DOWNMIXER to force it).\n\nFixed 7.1 downmix function where handling of accumulate vs\n  overwrite was inversed.\n\nBug 4280902\n\nChange-Id: I8259b32c4e90f76ef4dcd803592fc71df4ae90c5\n"
    },
    {
      "commit": "a86c809bff463ae1d782dcaa1c45d1acea5f34d3",
      "tree": "b67c548b15268ca9cbb6c242d98f012d2f487914",
      "parents": [
        "62999949c58ae18784a6061d83e4f2b78dbc3465"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue May 15 00:27:46 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed May 16 01:03:45 2012 -0700"
      },
      "message": "Remove libvideoeditor_jni.so\u0027s dependency on static libs in video editor engine\n\nrelated-to-bug: 6502980\n\nChange-Id: I9cbbf44eb53c406263df4003cc3de2af4d239180\n"
    },
    {
      "commit": "62999949c58ae18784a6061d83e4f2b78dbc3465",
      "tree": "8ac8759c758afcb57d9948eef2fb743abb5adcd7",
      "parents": [
        "50a9908f987fd5a73d8a95d6fe46b530386cdc86",
        "26976984d4f882f5da385360e76bc1c29fb4a696"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue May 15 18:37:16 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 15 18:37:16 2012 -0700"
      },
      "message": "Merge \"Add logging for invalid channel count or sample rate.\" into jb-dev"
    },
    {
      "commit": "26976984d4f882f5da385360e76bc1c29fb4a696",
      "tree": "f7b53d8c8d0de27a6497a9a34f339fe101092dc2",
      "parents": [
        "2986460984580833161bdaabc7f17da1005a8961"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue May 15 18:15:23 2012 -0700"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Tue May 15 18:15:23 2012 -0700"
      },
      "message": "Add logging for invalid channel count or sample rate.\n\nChange-Id: I2e2145e4b258923cf6c2907106345b7172c12280\n"
    },
    {
      "commit": "50a9908f987fd5a73d8a95d6fe46b530386cdc86",
      "tree": "9f9444db2cdb8dac16daa9527f8888b169a0ca81",
      "parents": [
        "09effe3813dcdec19c6767bf754cc3834e816937",
        "8c460498c028888c533ab442be12b6d4b669b965"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue May 15 17:24:27 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 15 17:24:27 2012 -0700"
      },
      "message": "Merge \"Speed up stsz box write in MPEG4Writer\" into jb-dev"
    },
    {
      "commit": "09effe3813dcdec19c6767bf754cc3834e816937",
      "tree": "6ca7934859a5dfcfb99aee50c3a917a5ecc1ba60",
      "parents": [
        "9017e5e0ebad9664bb7b6f2057e5bb29c852c64f",
        "c2d6427f693f1847100c8f4b9a4aff6c1a12bb29"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue May 15 17:21:31 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 15 17:21:31 2012 -0700"
      },
      "message": "Merge \"Move CameraParameters header to join rest of camera library.\" into jb-dev"
    }
  ],
  "next": "9017e5e0ebad9664bb7b6f2057e5bb29c852c64f"
}
