)]}'
{
  "log": [
    {
      "commit": "814941997f3f4b53064511b658cb510cafffe117",
      "tree": "0557215e32ce3576367632666f97040acbbeed93",
      "parents": [
        "cf2119a9755d9e2713ce78e84d0826d430a11a62"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Tue May 26 14:39:29 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Tue May 26 14:39:29 2009 -0700"
      },
      "message": "setVolume did not check interface descriptor\nDO NOT MERGE\n"
    },
    {
      "commit": "4bc035a65cac177be9294e69f110497e3b6e34e6",
      "tree": "634b5bde8fc4cae5a7b77ee3cde01f04bc9ae7fc",
      "parents": [
        "a5f158bdde77f8d173d1f1c95d0f92405c519b0f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 22 09:18:15 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 26 07:44:28 2009 -0700"
      },
      "message": "Fix issue 1846343 - part 1\n\nThis change is the first part of a fix for issue 1846343, :\n- Added new enum values for input sources in AudioRecord and MediaRecorder for voice uplink, downlink and uplink+downlink sources.\n- renamed streamType to inputSource in all native functions handling audio record.\n\nA second change is required in opencore author driver and android audio input to completely fix the issue.\n"
    },
    {
      "commit": "4c9224709862c38a97c51853a93d284f55d6135d",
      "tree": "250f959188da951abe10ff2e27a0db77888bea35",
      "parents": [
        "50396063c2fbb1f427cf31e0b8a56567fb5a069c"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Thu May 07 09:26:06 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Thu May 07 09:26:06 2009 -0700"
      },
      "message": "Don\u0027t allow negative numbers in ToneGenerator toneType parameter\nBug 1836596\n"
    },
    {
      "commit": "f3af740bdfc261b1cb25c0799af780d3753d4518",
      "tree": "f33c3453caf03db8c4b7a358ddc8a8d3945076ae",
      "parents": [
        "b9c9d260f21b321527c4622a123af9767630d94d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 05 00:49:01 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 06 11:35:46 2009 -0700"
      },
      "message": "Fixed issue 1709450: Requirements for CDMA Tone Generator\n\nAdded new tone types for CDMA IS-95 specific tones.\nAutomatic selection between IS-95, CEPT and JAPAN version base on operator\ncountry code for call supervisory tones.\nAlso improved tone generator capabilities:\n- Each tone segment can now generate its own set of frequencies\n- A tone does not have to be a succession of alternating ON/OFF segments\n- The sequence repetition does not have to start from first segment\n"
    },
    {
      "commit": "ef02827d4c3b9c0601eddc9c348fc2ea866420a2",
      "tree": "d5f3e26f262cd16e5d95e89ef3be688c8766c5b3",
      "parents": [
        "a0c9e8526b094e3b4f2c2747622059215d00516f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 21 07:56:33 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 21 07:56:33 2009 -0700"
      },
      "message": "Fix issue 1745312: Various cleanups in media framework\n\nAudioTrack, AudioRecord:\n  - remove useless mAudioFlinger member of AudioTrack and AudioRecord.\n  - signal cblk.cv condition in stop() method to speed up stop completion.\n  - extend wait condition timeout in obtainBuffer() when waitCount is -1 to avoid waking up callback thread unnecessarily\n\nAudioFlinger:\n  - remove some warnings in AudioFlinger.cpp.\n  - remove function AudioFlinger::MixerThread::removetrack_l()  as its content is never executed.\n  - remove useless call to setMasterVolume in AudioFlinger::handleForcedSpeakerRoute().\n  - Offset VOICE_CALL stream volume to reflect actual volume that is never 0 in hardware (this fix has been made in the open source): 0.01 + v * 0.99.\n\nAudioSystem.java:\n  - correct typo in comment\n\nIAudioflinger, IAudioFlingerClient:\n  - make AudioFlinger binder interfaces used for callbacks ONEWAY.\n\nAudioHardwareInterface:\n  - correct routeStrings[] table in AudioHardwareInteface.cpp\n"
    },
    {
      "commit": "d7f347bdc878109df1f34c5015de2dc9f531d87b",
      "tree": "71be85c2d9444552a09bd4d304f507965f865572",
      "parents": [
        "0fc2c1392a2a2f046f8b613eefbcb364869647fc"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "",
        "time": "Wed Apr 01 12:55:13 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Apr 01 12:55:13 2009 -0700"
      },
      "message": "AI 144054: am: CL 144053 Fix issue #1751242 A2DP playback fails first time: Invalid buffer size: minFrameCount 10240, frameCount 4800\n  The problem comes from the fact that AudioSystem::getOutputFrameCount() calls getOutput() to retrieve the active output (A2DP or Hardware) before calling get_audio_flinger(). If it is the first time AudioSystem::getOutputFrameCount() is called in a given process, getOutput() will return a wrong value because gA2dpEnabled has not yet been updated by get_audio_flinger().\n  The fix consists in calling get_audio_flinger() in getOutput() to be sure that gA2dpEnabled is valid when getOutput() reads it.\n  Original author: elaurent\n  Merged from: //branches/cupcake/...\n\nAutomated import of CL 144054\n"
    },
    {
      "commit": "272beb63834e213ee35a83741a5e2ae1279999d5",
      "tree": "bf76b111ae71c8192666f98b1a3e4d468a686b0b",
      "parents": [
        "db028c8894c7665fc393b2fc1be57a56eb7dc150"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "",
        "time": "Tue Mar 24 21:23:54 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 21:23:54 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@142065,142065\n"
    },
    {
      "commit": "e25b51baf43bab5b8c19546a93c0bf73025ffbee",
      "tree": "e7e40afde4999f7e7098cfec46176a439ce98630",
      "parents": [
        "997c7612a8cf63748165144b423ff2ae8e73c3e9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "",
        "time": "Tue Mar 24 20:47:19 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 20:47:19 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@141711,141711\n"
    },
    {
      "commit": "78c131473165830c8d042a0f445ca858aaa7a4b1",
      "tree": "e34aa7423450760068a5ac5697f394802e55db91",
      "parents": [
        "32048300e917c9181927ac017d02855bbde940ef"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "",
        "time": "Tue Mar 24 19:48:58 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 19:48:58 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@141200,141200\n"
    },
    {
      "commit": "d3ca04da8ad8f50b6abbf545e6de9a9a2bc2e0d1",
      "tree": "0c32b3c57d2669ff31b33b198a1bdea1c2503cdb",
      "parents": [
        "4610f7d1f9c98c5abcb47d45b51bade2443fa84a"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "",
        "time": "Tue Mar 24 18:46:07 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 18:46:07 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@140867,140867\n"
    },
    {
      "commit": "4610f7d1f9c98c5abcb47d45b51bade2443fa84a",
      "tree": "57d3c6bfc5fd82f931bb46affda9f091692a23bc",
      "parents": [
        "e4787558f85fca4c6383a81caf6f5d07e43a1844"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "",
        "time": "Tue Mar 24 18:45:20 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 18:45:20 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@140866,140866\n"
    },
    {
      "commit": "4a5c1a7e84a250eafe0e3a12d859c45747520d55",
      "tree": "eb0ff9222bd6535c82662ae84931680c6ef97ce1",
      "parents": [
        "59f026f2dd71a5d2676f0808a0c4c4d5354963bb"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "",
        "time": "Tue Mar 24 18:11:07 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 18:11:07 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@140663,140663\n"
    },
    {
      "commit": "105925376f8d0f6b318c9938c7b83ef7fef094da",
      "tree": "3b19ee2bd8704cb9c6a0da7e42dec6759183de6d",
      "parents": [
        "ba87e3e6c985e7175152993b5efcc7dd2f0e1c93"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 18 17:39:46 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 18 17:39:46 2009 -0700"
      },
      "message": "auto import from //branches/cupcake_rel/...@140373\n"
    },
    {
      "commit": "ba87e3e6c985e7175152993b5efcc7dd2f0e1c93",
      "tree": "ee35f76532767dc29411a8738a434d1d88d330f2",
      "parents": [
        "c39a6e0c51e182338deb8b63d07933b585134929"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Mar 13 13:04:22 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Mar 13 13:04:22 2009 -0700"
      },
      "message": "auto import from //branches/cupcake_rel/...@138607\n"
    },
    {
      "commit": "c39a6e0c51e182338deb8b63d07933b585134929",
      "tree": "e55fc5bd38b1eb8fb4851a0fe1cc264a7fe2f245",
      "parents": [
        "b2a3dd88a53cc8c6d19f6dc8ec4f3d6c4abd9b54"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 11 12:11:56 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 11 12:11:56 2009 -0700"
      },
      "message": "auto import from //branches/cupcake/...@137873\n"
    },
    {
      "commit": "b2a3dd88a53cc8c6d19f6dc8ec4f3d6c4abd9b54",
      "tree": "e167affc928677f3dd70e173150a77e3943e97a9",
      "parents": [
        "f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 09 11:52:12 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 09 11:52:12 2009 -0700"
      },
      "message": "auto import from //branches/cupcake/...@137197\n"
    },
    {
      "commit": "4df2423a947bcd3f024cc3d3a1a315a8dc428598",
      "tree": "e7dac2c5a367b169e7f05a36058cf470e93f003b",
      "parents": [
        "c474dec3ffa1c0fe37edb3e701684188f7e8e7bc"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 05 14:34:35 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 05 14:34:35 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@136594\n"
    },
    {
      "commit": "9066cfe9886ac131c34d59ed0e2d287b0e3c0087",
      "tree": "d88beb88001f2482911e3d28e43833b50e4b4e97",
      "parents": [
        "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "076357b8567458d4b6dfdcf839ef751634cd2bfb"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "076357b8567458d4b6dfdcf839ef751634cd2bfb",
      "tree": "efbb2fd6f1dc67d2d606382fc3b82983e7cb2e1f",
      "parents": [
        "3dec7d563a2f3e1eb967ce2054a00b6620e3558c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 14:04:24 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 14:04:24 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@132589\n"
    },
    {
      "commit": "3dec7d563a2f3e1eb967ce2054a00b6620e3558c",
      "tree": "aa3b0365c47cb3c1607c0dc76c8d32b4046fc287",
      "parents": [
        "15ab3eae2ec3d73b3e8aa60b33ae41445bf83f4b"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 02 22:54:33 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 02 22:54:33 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@137055\n"
    },
    {
      "commit": "15ab3eae2ec3d73b3e8aa60b33ae41445bf83f4b",
      "tree": "d03d027a7ed97af616904e02a7b420babf40d44f",
      "parents": [
        "3001a035439d8134a7d70d796376d1dfbff3cdcd"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 20 07:38:31 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 20 07:38:31 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@132569\n"
    },
    {
      "commit": "3001a035439d8134a7d70d796376d1dfbff3cdcd",
      "tree": "343ccdba15a594ff6e50c874a145232753315a30",
      "parents": [
        "da996f390e17e16f2dfa60e972e7ebc4f868f37e"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Feb 19 10:57:31 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Feb 19 10:57:31 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@132276\n"
    },
    {
      "commit": "da996f390e17e16f2dfa60e972e7ebc4f868f37e",
      "tree": "00a0f15270d4c7b619fd34d8383257e1761082f4",
      "parents": [
        "d24b8183b93e781080b2c16c487e60d51c12da31"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 13 12:57:50 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 13 12:57:50 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@131421\n"
    },
    {
      "commit": "d24b8183b93e781080b2c16c487e60d51c12da31",
      "tree": "fbb89154858984eb8e41556da7e9433040d55cd4",
      "parents": [
        "f1e484acb594a726fb57ad0ae4cfe902c7f35858"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:44:00 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:44:00 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@130745\n"
    },
    {
      "commit": "22f7dfd23490a3de2f21ff96949ba47003aac8f8",
      "tree": "41bc290bb2f1f08a0e37cfda4955742a85d42ecf",
      "parents": [
        "9266c558bf1d21ff647525ff99f7dadbca417309"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 20 14:03:58 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 20 14:03:58 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@127101\n"
    },
    {
      "commit": "b798689749c64baba81f02e10cf2157c747d6b46",
      "tree": "da394a395ddb1a6cf69193314846b03fe47a397e",
      "parents": [
        "f013e1afd1e68af5e3b868c26a653bbfb39538f8"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:51:23 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:51:23 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@125939\n"
    },
    {
      "commit": "f013e1afd1e68af5e3b868c26a653bbfb39538f8",
      "tree": "7ad6c8fd9c7b55f4b4017171dec1cb760bbd26bf",
      "parents": [
        "e70cfafe580c6f2994c4827cd8a534aabf3eb05c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "message": "Code drop from //branches/cupcake/...@124589\n"
    },
    {
      "commit": "54b6cfa9a9e5b861a9930af873580d6dc20f773c",
      "tree": "35051494d2af230dce54d6b31c6af8fc24091316",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
