)]}'
{
  "log": [
    {
      "commit": "7d0adadcade5fd308c26a0f570fc8fc4227c512b",
      "tree": "94fcad48d15644378d644d68f34fc4c84721ae46",
      "parents": [
        "35de7b2790af019c1923935ec3ed72af7145cb59"
      ],
      "author": {
        "name": "Subhash Chandra Bose Naripeddy",
        "email": "snariped@codeaurora.org",
        "time": "Wed Apr 03 19:55:11 2013 -0700"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:47:11 2013 +0000"
      },
      "message": "libstagefright: Flush the pending buffers when EOS is received\n\nFor the use case where the first frame in the buffer is EOS, decode\nthe aac config frame buffer to update the sample rate and channel\nmode and flush out the buffer.\nCRs-Fixed: 459334\n\nChange-Id: I175dc531e00ec36a366a818366fa869cd6ccf5a1\n"
    },
    {
      "commit": "35de7b2790af019c1923935ec3ed72af7145cb59",
      "tree": "c05978c54e070f5078e4c04f0646439e1c55cadc",
      "parents": [
        "b538c9043a4b2c230ceedec2069fd918bcc49df7"
      ],
      "author": {
        "name": "Preetam Singh Ranawat",
        "email": "apranawat@codeaurora.org",
        "time": "Mon Jul 08 15:22:14 2013 +0530"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:47:11 2013 +0000"
      },
      "message": "frameworks/av: Fix for failure in CTS MediaRecorderTest cases\n\n -Issue: MediaRecorder CTS test cases are failing.\n\n -Root Cause: Running the CTS test \"testRecorderRandomAction\" at beginning\n  sets the huge file size and stargeFrightRecorder set the 64 bit file\n  offset.\n  In MPEG4 writer estimateMoovBoxSize depends on a static const\n  variable which uses this file offset info.\n  As the variable to calculate estimateMoovBoxSize is static const it\n  remains same for next media recording session even if file size is small.\n\n -Fix: Don\u0027t use static const variable which is used to calculate\n  estimateMoovBoxSize as its value may change depending on file offsets.\n\nChange-Id: I6bd859fcd7951a4e78abc50bc99dab38e8284877\n"
    },
    {
      "commit": "b538c9043a4b2c230ceedec2069fd918bcc49df7",
      "tree": "d1e4191c41d6f7a1b2e53bc6fd3ba84d21c92125",
      "parents": [
        "214db79bc89f69e381d3cb81f5b575e5d73de332"
      ],
      "author": {
        "name": "Preetam Singh Ranawat",
        "email": "apranawat@codeaurora.org",
        "time": "Thu May 16 19:40:49 2013 +0530"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:47:04 2013 +0000"
      },
      "message": "libstagefright: Fix for crash in sound recorder during device switch\n\n -Crash seen in sound recorder during frequent insertion and removal\n  of wired headset\n\n -During device switch some time Codec\u0027s input buffers are too small to\n  accomodate buffer read from source. Omx codec doesn\u0027t read the fix size\n  buffer from source, during device switch scenario sometime buffer read\n  from source exceeds input buffer size so it goes in error state which\n  leads to crash.\n\nChange-Id: Ica3e5b1c1833077df522bb8f78fb05dd43a45f36\n -Increasing the input buffer size fix this issue\nCRs-Fixed: 488449\n"
    },
    {
      "commit": "214db79bc89f69e381d3cb81f5b575e5d73de332",
      "tree": "a6acfb5a264c8b2d57c1ab2bd7b101fed2e0be14",
      "parents": [
        "ec5746c10316a2a26022872d41c6002e8097caa7"
      ],
      "author": {
        "name": "Pavan Chikkala",
        "email": "pavanc@codeaurora.org",
        "time": "Fri Jun 28 11:58:04 2013 +0530"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:47:04 2013 +0000"
      },
      "message": "libstagefright: Use 64 bit offsets only when needed.\n\nFor enabling \u003e2GB recording, 64 bit offsets are\nneeded for file writing. So, this feature was turned\non by default. This in turn increased the file size.\nWith this change, by default this feature will be\noff and turned on only when required.\n\n- Use 64 bit offsets for resolutions \u003e\u003d 720p.\n- Limit maximum file size for recording to 4GB.\n- Set max file size only if no value is set from the client\nCRs-Fixed: 273144, 285785, 288319, 328461\n\nChange-Id: Ica37cb0414642c68ada18e0b7ba184b55692c6f2\n"
    },
    {
      "commit": "ec5746c10316a2a26022872d41c6002e8097caa7",
      "tree": "b11aa931aec5f38469e2d2f13daafc1fd900478b",
      "parents": [
        "0868da69c72a30f46bd333adac86e93de7625709"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Mon Jan 14 16:17:36 2013 -0800"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:47:04 2013 +0000"
      },
      "message": "libstagefright: Query AudioSystem for suggested record mute duration\n\n- AudioSource mutes a pre-defined duration (defined by kAutoRampStartUs)\n  at the beginning of a recording.\n- Instead, query the audio system for any ongoing playback streams\n  and use its output latency to calculate the duration to mute the incoming PCM stream.\n- This assumes all current playback threads will be paused once recording\n  is started.\nCRs-Fixed: 438149\n\nChange-Id: Ifaf59a9c09c0ece956379e10c801cad4dacfc8f3\n"
    },
    {
      "commit": "0868da69c72a30f46bd333adac86e93de7625709",
      "tree": "a9fc67e3e0bb1f7e5d19a415e3ed627e1407585a",
      "parents": [
        "f9c0d5cf9f07f25bc9f0a10c2da6de72e5355f8a"
      ],
      "author": {
        "name": "Sharad Sangle",
        "email": "assangle@codeaurora.org",
        "time": "Thu May 02 15:39:42 2013 +0530"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:46:54 2013 +0000"
      },
      "message": "framewroks/av:Fix ANR at the end of video recording\n\n- While doing video recording, when the recording\n  ends ANR observed while doing stress test for\n  many hours\n- When the recording is stopped, audio HAL receives error\n  from driver and  audio HAL propagates this error to\n  AudioFlinger.  But AudioFlinger  is not sending error\n  status to audio source to stop recording.  Because of\n  this audiorecord thread keeps on waiting for buffers\n  which is resulting in ANR.\n- To avoid indefinite wait, a timeout of 1 sec is set for buffer\n  in audioSource and after timeout, -ETIMEDOUT is returned\n  to recorder thread.\n\nChange-Id: Ic191c63d2a0f0144eb6d5b53e5c6d7c8602f44ba\nCRs-Fixed: 479968\n"
    },
    {
      "commit": "f9c0d5cf9f07f25bc9f0a10c2da6de72e5355f8a",
      "tree": "ff6d756aeb0d07124e1fa0967cc1f3bcf12845de",
      "parents": [
        "80bf6fe8e5e7e587a2f4b5607519b5d12e638fbd"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Wed Jul 11 19:01:37 2012 -0700"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:46:54 2013 +0000"
      },
      "message": "Add checks before removing an active buffer in OMXNodeInstance\n\nWith this change, OMXNodeInstance will remove a buffer from it\u0027s\nactive list only if OMX_FreeBuffer returns successfully.\n\nChange-Id: I8f6b675cdf1cede60dfe0aebaa902139e44b1233\n"
    },
    {
      "commit": "80bf6fe8e5e7e587a2f4b5607519b5d12e638fbd",
      "tree": "765c595a6d0e385f540d7067d2466932eb2e77cb",
      "parents": [
        "266e8cff2a78144cf108031c7caf7200556f55bd"
      ],
      "author": {
        "name": "Alexy Joseph",
        "email": "alexyj@codeaurora.org",
        "time": "Fri May 17 13:03:00 2013 -0700"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:46:43 2013 +0000"
      },
      "message": "stagefright: Remove assert for corrupt clips for AMRNB\n\nCorrupt AMR NB clips were crashing media player\nThis was due to the assert in the AMRNB decoder.\nTo avoid this, post error and exit if corrupt\nclip is played.\nCRs-Fixed: 486681\n\nChange-Id: I8f6809a896b91aaffa8f5ae17d8ae4a3920a4b73\n"
    },
    {
      "commit": "266e8cff2a78144cf108031c7caf7200556f55bd",
      "tree": "bdcb0e1db4c6df6974e5ebf1ffcfd21eb2cfb176",
      "parents": [
        "0d44b5b2acbdc2579509da9ff4d63afb837943fc"
      ],
      "author": {
        "name": "Satish Babu Patakokila",
        "email": "sbpata@codeaurora.org",
        "time": "Thu Nov 22 17:04:52 2012 +0530"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:46:43 2013 +0000"
      },
      "message": "stagefright: Fix to play a specific Mp4 clip due to SYNCH_LOST_ERROR.\n\n-Unable to play a Specific Mp4 clip.\n-Mp3 playback is stopped if the Decoder errors out with SYNCH_LOST_ERROR.\n-Ignore the frame with SYNCH_LOST_ERROR and play silence instead.\n\nChange-Id: Id783af8a84f313ea31cd5454c8163928805a7072\n"
    },
    {
      "commit": "89ad23a2d0ebc317e62ffb87e048469b1df3d69e",
      "tree": "a5f0708efc11600562669e358cde1cec15d28750",
      "parents": [
        "d251e3be8024b184c9abc0c9da2854e72e59f1d8"
      ],
      "author": {
        "name": "Tanguy Pruvot",
        "email": "tanguy.pruvot@gmail.com",
        "time": "Sat Jul 27 15:34:17 2013 +0200"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:28 2013 +0000"
      },
      "message": "fm: fix openRecord prototype\n\nChange-Id: Id350fb508d38b428c48ab25a76acb13afb3a2717\n"
    },
    {
      "commit": "d251e3be8024b184c9abc0c9da2854e72e59f1d8",
      "tree": "0b058d4eedd60839bf6c6465909d6d02e73179bd",
      "parents": [
        "d2afc771e1b1e227a9d317b3be704570f7704e7a"
      ],
      "author": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Thu Jul 25 23:39:23 2013 +0100"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:28 2013 +0000"
      },
      "message": "Remove ICS getSessionId constructor\n\ngetSessionId isn\u0027t exported anymore, we can\u0027t inherit it from\nAudioTrack\n\nChange-Id: I1b8c4de88900343d5683a370da2bf94fe5c70326\n"
    },
    {
      "commit": "67d5756769c89f01835870006ad5860dff5f1412",
      "tree": "d199b0f50d17eb3f22dfb23cdae2b8d9797faa22",
      "parents": [
        "b0b9cf52d39c2933d19d391296b359079b5014b4"
      ],
      "author": {
        "name": "Nicholas Flintham",
        "email": "nick@flinny.org",
        "time": "Sat Jun 29 12:46:34 2013 +0100"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:28 2013 +0000"
      },
      "message": "Fix includes for media-caf\n\nChange-Id: I5d6dedbb9ba03fc313ab27f91bf83376fa20a7a9\n"
    },
    {
      "commit": "b0b9cf52d39c2933d19d391296b359079b5014b4",
      "tree": "8799c319c1c4ddd8bf260339922ed93c1e3dab3e",
      "parents": [
        "98eec446ab3318203eff08c361a0f5eb1a953653"
      ],
      "author": {
        "name": "Dheeraj CVR",
        "email": "cvr.dheeraj@gmail.com",
        "time": "Sat Jun 29 04:12:48 2013 +0530"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:27 2013 +0000"
      },
      "message": "libstagefright: [Reworked] Fix incorrectness nPortIndex value for QueryCodec\n\nhttp://review.cyanogenmod.org/#/c/32358/ was intended to fix\nissues with OMX Components failing on ME722 (OMAP3).\nThis patch was working fine on OMAP3 devices and was required\nto fix issues DSP MMU FAULTS. It has been reverted with patch\nhttp://review.cyanogenmod.org/44486 which again broke OMX on\nOMAP3.\n\nImplement a Workaround for OMAP using OMAP_ENHANCEMENT\n\nLog for this issue observed on P970 (OMAP3) during Gallery\nThumbnail Generation: http://pastebin.com/qRTpm7RN\n\nDmmMap():1600 DSPProcessor_ReserveMemory() failed - error 0xfffffffb\n\nChange-Id: Ifd0c784e354c6c00401686cc0f2188842df9496c\n"
    },
    {
      "commit": "2c14d32107b3983dd511491c1c67b602dbb485c2",
      "tree": "2dc2d41126dae8cf29bd5cc3df1f43956ed236d3",
      "parents": [
        "ffbd97727a10637f0e0240fa305824eb7e47baa6"
      ],
      "author": {
        "name": "Yunji Kim",
        "email": "yunji.kim@samsung.com",
        "time": "Sun Jun 02 17:39:30 2013 +0100"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:27 2013 +0000"
      },
      "message": "libstagefright: Fix a video lag bug after audio reached EOS.\n\nhttp://git.insignal.co.kr/samsung/exynos/android/platform/frameworks/av/commit/?h\u003dexynos-jb\u0026id\u003dda4104e5f934633b4ba7fda06bc9ef3ba0f85a31\n\nChange-Id: I14931cad92df48e1233c5a8a704bb18585b1795a\n"
    },
    {
      "commit": "ffbd97727a10637f0e0240fa305824eb7e47baa6",
      "tree": "33ae77bc54f6ce8843add70f335ff54bdab044bc",
      "parents": [
        "cc8748afabaa21f88de33336412aa4587f8ebeb6"
      ],
      "author": {
        "name": "Dheeraj CVR",
        "email": "cvr.dheeraj@gmail.com",
        "time": "Mon Jun 17 09:21:42 2013 +0530"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:27 2013 +0000"
      },
      "message": "libstagefright: fix indefinate loop in QueryCodec\n\nportFormat.nIndex is being incremented which is not\ntrustworthy since the nIndex value could be overriden\nby the OMX Component,  which causes an indefinate loop\nwhich inturn causes a memory leak and crashes the system.\n\nOMX Component on encore and p970 exhibits this behaviour\n(OMX.TI.720P.Decoder). This patch prevents stagefright\nfreezes when QueryCodec is called during Gallery Thumbnail\ngeneration for videos and Adobe Flash playback.\n\nChange-Id: I825c99ddecacbb927e22ac7d1a53facb26d95ff2\n"
    },
    {
      "commit": "cc8748afabaa21f88de33336412aa4587f8ebeb6",
      "tree": "f5272093223be4656806c5f855f30d5791c6740b",
      "parents": [
        "8f093d6fe777b9ebbd81387f2b2598cd9747804d"
      ],
      "author": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Thu Jun 20 15:41:29 2013 +0100"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:27 2013 +0000"
      },
      "message": "Revert \"libstagefright: Fix incorrectness nPortIndex value for QueryCodec\"\n\nThis reverts commit 9a814ad626233ff02dd2d393929f32225bc94b68.\nThis is wrong. kPortIndexInput is defined as 0, the original value was correct.\nAdditionally, it breaks android.media.cts.MediaCodecListTest\n\nChange-Id: Ib273cde69a4c622daf239bab5d12c5e7d568af2f\n"
    },
    {
      "commit": "1a8ae5f833142706735cc62cced35e7af1ae4b92",
      "tree": "215528ce0e0700b426f2ba3bf565a6b1c6e38499",
      "parents": [
        "3fcdf5c3f65a75660602522bfa43eb0b80be2395"
      ],
      "author": {
        "name": "Arne Coucheron",
        "email": "arco68@gmail.com",
        "time": "Mon Mar 11 05:10:35 2013 +0100"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:27 2013 +0000"
      },
      "message": "libmedia: Add ICS AudioStreamType constructor\n\nNeeded for Samsung legacy camera libs.\n\nChange-Id: If03d8525b55181ea20dc934dbcbfef85402c42c7\n"
    },
    {
      "commit": "3fcdf5c3f65a75660602522bfa43eb0b80be2395",
      "tree": "379e731200b9f3eb0da9e859d980918a920ea85e",
      "parents": [
        "2a1aae0f90b188bcf6fbda17406af7aa046c1fde"
      ],
      "author": {
        "name": "Pawit Pornkitprasan",
        "email": "p.pawit@gmail.com",
        "time": "Wed Apr 24 11:37:19 2013 +0700"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:27 2013 +0000"
      },
      "message": "OMXCodec: Re-implement requires-flush-before-shutdown quirk\n\nSupport is already there, but is not in the codec quirk reading list.\nRe-implement it as required by Broadcom\u0027s OMX\n\nChange-Id: I1beac06af8118dcf0c248b631bc8e6dbbab2c1d5\n"
    },
    {
      "commit": "1bb22708c5d7e6766b8a4d6e1c45da3ddfff167e",
      "tree": "6110337193c165d274c8fc6904ed5668c0320982",
      "parents": [
        "b5595229b12d77e996c6ee1b04c0eb31ded6bffe"
      ],
      "author": {
        "name": "Steve Kondik",
        "email": "shade@chemlab.org",
        "time": "Mon Apr 08 02:24:19 2013 -0700"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:26 2013 +0000"
      },
      "message": "Silence error when DASH player isn\u0027t present\n\nChange-Id: I9e5c22af1a5cf916b0efaec7ca1c5f48f6d0c82a\n"
    },
    {
      "commit": "b5595229b12d77e996c6ee1b04c0eb31ded6bffe",
      "tree": "d8efe5b51fb2dee02332bf90cd1ff83e2c2e8baa",
      "parents": [
        "7c340a4b1c746d03623283d18f711f45c0e02c88"
      ],
      "author": {
        "name": "David Daynard",
        "email": "nardholio@gmail.com",
        "time": "Tue Mar 12 18:35:09 2013 -0400"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:26 2013 +0000"
      },
      "message": "MediaScanner: Ignore dirs with .noscanandnomtp\n\nCompletely ignore directories with .noscanandnomtp files\nin them. Placing a .nomedia file will still scan a\ndirectory but exclude it from the media database. This\nis so the file may still be presented for MTP purposes.\n\nPlacing .noscanandnomtp completely prevents the scan,\nwhich saves considerable processing power and battery\nlife on systems with numerous media files, but prevents\nthem from being seen over MTP.\n\nChange-Id: Ibff2a9f2525255a2ac34132eeee36734962fbdd7\n"
    },
    {
      "commit": "7c340a4b1c746d03623283d18f711f45c0e02c88",
      "tree": "fe810e800880c268910c2f69a0a69408a3796e5a",
      "parents": [
        "821695d4f8451c2277fc3d624a4dbce6cba15492"
      ],
      "author": {
        "name": "YuanQY",
        "email": "yuanqingyun@gmail.com",
        "time": "Fri Feb 22 19:23:14 2013 +0800"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:26 2013 +0000"
      },
      "message": "libstagefright: Fix incorrectness nPortIndex value for QueryCodec\n                The query index is wrong, it will make a death loop in\nmy ME722 when get resource thumbnail for MPEG4 video.\n\nChange-Id: I64532156e762b847a8eae59560fb828549c29519\n"
    },
    {
      "commit": "821695d4f8451c2277fc3d624a4dbce6cba15492",
      "tree": "df7d348044affd567b32869a779740ac86314d67",
      "parents": [
        "7f37b3b4ce2f98576da1d334f1ee5b77dab5e2a8"
      ],
      "author": {
        "name": "Ajit Khare",
        "email": "ajitk@codeaurora.org",
        "time": "Mon Jan 07 23:23:39 2013 -0800"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:26 2013 +0000"
      },
      "message": "libmediaplayerservice: Add new player for DASH\n\n- Add new player factory to support dash playback.\n- DASH urls end with .mpd. When media player receives\n  an url with .mpd, it will use new factory to instantiate the player\n  to be used for supporting DASH playback.\n\nChange-Id: I69e5a08fb2baf89d97b1e0711dbe52a8b1c39c29\n"
    },
    {
      "commit": "7f37b3b4ce2f98576da1d334f1ee5b77dab5e2a8",
      "tree": "973f97c01dde8f54061697aea8edabf3121bb3f4",
      "parents": [
        "96db5f2754d07dc2d4b44fe0eae93f9e32ca8022"
      ],
      "author": {
        "name": "Giulio Cervera",
        "email": "giulio.cervera@cyanogenmod.org",
        "time": "Thu Feb 14 12:19:49 2013 +0100"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:26 2013 +0000"
      },
      "message": "fmradio: use caf naming\n\nChange-Id: I9e0fefa3f2dabe991c6be63ab13a18ca38c37f71\n"
    },
    {
      "commit": "3142d888bba540849071804d14e1313271cba56c",
      "tree": "55687bad361c73306185341d6adf10bc74c2e08e",
      "parents": [
        "81c3e81a6e91f1275bd0d0631a5ff2e5d9df8103"
      ],
      "author": {
        "name": "Stefan Ekenberg",
        "email": "stefan.ekenberg@stericsson.com",
        "time": "Mon Aug 20 12:00:26 2012 +0200"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:26 2013 +0000"
      },
      "message": "FM Radio: Add support for FM Radio in Android\n\nCreating interface and framework for using FM Radio\nRX and TX from different vendors.\n\nChange-Id: I1a71aed01bfffdddfabf1cdfbfa3707cb1ed016b\nSigned-off-by: Benn Porscke \u003cbenn.porscke@stericsson.com\u003e\n"
    },
    {
      "commit": "81c3e81a6e91f1275bd0d0631a5ff2e5d9df8103",
      "tree": "4993420407841de183acdd3a5798edb8d910fc89",
      "parents": [
        "d8d2b3538f357762d5a7979da6aee39710115fcf"
      ],
      "author": {
        "name": "Hashcode",
        "email": "hashcode0f@gmail.com",
        "time": "Sun Jan 27 02:38:04 2013 -0800"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:26 2013 +0000"
      },
      "message": "Video Encoder: Enable Ducati h264 encoder profile change\n\nThis patch enables the TI ducati H264 encoder profile\nvia BoardConfig setting:\nBOARD_USE_TI_DUCATI_H264_PROFILE :\u003d true\n\nAllows correct video decoding on Motorola OMAP4 / Kindle Fires\nand other devices using newer DOMX libs.\n\nEffectively a cherry-pick of omapzoom commit (with creative\nboard setting name):\nhttp://www.omapzoom.org/?p\u003dplatform/frameworks/av.git;a\u003dcommit;h\u003de28784d5c68c8699cfd9ebe0231e7132d8b13dad\n\nChange-Id: Idc49b00030558a22a9e50e8798e5814ad54fe841\nSigned-off-by: Hashcode \u003chashcode0f@gmail.com\u003e\n"
    },
    {
      "commit": "ced8df44565281ad1fbea69936b33b36c7e9c447",
      "tree": "6be2a77b70c85292cebb481298a66052e04c6597",
      "parents": [
        "2b3c797bcf833857694ca6ca3340da59554b4d45"
      ],
      "author": {
        "name": "codeworkx",
        "email": "codeworkx@cyanogenmod.org",
        "time": "Mon Jan 14 20:43:57 2013 +0000"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:25 2013 +0000"
      },
      "message": "libmedia: implement samsungs isSeparatedStream, built audioparameter\n\nChange-Id: I96ec5b79c08e37c9bca59470addb5a9f7869eaea\n"
    },
    {
      "commit": "a973a86ec43e9252b110f8ac2ac9685d8214b889",
      "tree": "3534b6044838507dc4ee900cda190bb84b2ac554",
      "parents": [
        "a4e8786b3741f2ac51220721defe4c1500569a05"
      ],
      "author": {
        "name": "Adam77Root",
        "email": "adam77root@gmail.com",
        "time": "Sat Jan 05 19:13:51 2013 +0100"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:25 2013 +0000"
      },
      "message": "stagefright: add support for samsung proprietary omx\n\nChange-Id: I79b7b4dd8a2ba71d7c95f067d13620260a2e0f63\n"
    },
    {
      "commit": "a4e8786b3741f2ac51220721defe4c1500569a05",
      "tree": "8804c750293f7e4c8716512ef3e14c581a069971",
      "parents": [
        "a6dd01a6f82390a5771089e4092841726dfd4b57"
      ],
      "author": {
        "name": "Andrew Dodd",
        "email": "atd7@cornell.edu",
        "time": "Thu Jan 03 23:16:44 2013 -0500"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:25 2013 +0000"
      },
      "message": "exynos4:  Part of Netflix fix\n\ncodeworkx pulled the Samsung colorformat patch from Insignal\u0027s\nexynos-jb branch, which is an invalid source for exynos4 patches.\n\nIt was checking for an OMX codec name that didn\u0027t exist.\n\nThis still doesn\u0027t stop Netflix JPlayer failing in 10.1, but\ndoes fix Netflix failing if you disable JPlayer by convincing\nit that it\u0027s on an older Android version.\n\nChange-Id: Ia55878dc08f81e2900307558e35c4e0c5b9cac2f\n"
    },
    {
      "commit": "a6dd01a6f82390a5771089e4092841726dfd4b57",
      "tree": "6ebd7e05ebd1e5491cddf69fe875cd142af6b6e0",
      "parents": [
        "5649c28ed0d241ef63c83f65ae3aa754ff6102dd"
      ],
      "author": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Sep 23 03:36:03 2012 +0100"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:25 2013 +0000"
      },
      "message": "stagefright: OMXCodec: Re-enable OMX.TI.Video.encoder\u0027s quirks\n\nThese have been around since early stagefright, and were dropped for\nJB. Unfortunately, they\u0027re still necessary with for this encoder to\nwork.\n\nChange-Id: I8a251bf195a24b166db7464a90a822d6e69b644d\n\nlibstagefright: Add support for the 720P OMAP3 encoders\n\nBring back some more OMAP code that was removed by Google in JB,\nand a couple of omapzoom patches.\nThis may stop being necessary if TI publishes JB-specific OMAP3\ncode, but as long as we\u0027re using the ICS domx, these need to\nbe here\nChange-Id: Ia29f8c9f9ed769ba07b09c07260486f6502841d6\n\nlibstagefright: Unbreak OMAP4 encoders\n\nThe \"manual\" construction of the h264 codec data is only needed\non OMAP3. Execution of this code on OMAP4 breaks the mpeg4 header\ngeneration\n\nChange-Id: I3ae52f2e685e2d9097796685c98dffa93cfa6430\n"
    },
    {
      "commit": "0bb568f14f3441daa038f814b870f6e0e596d2a7",
      "tree": "eb6d50adb9e90dc758b21a0ae8f22dfbd140dd60",
      "parents": [
        "4526b34d3b8ea639d0cdd61e15fd9352d7f90d43"
      ],
      "author": {
        "name": "vivek mehta",
        "email": "mvivek@codeaurora.org",
        "time": "Tue Dec 04 20:57:49 2012 -0800"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:25 2013 +0000"
      },
      "message": "libstagefright: Add support to seek to zero\n\n- Add CAN_SEEK_TO_ZERO flag in MediaExtractor to allow\n  seek to zero, when previous button is pressed, for clip\n  that can\u0027t be seeked.\n\nChange-Id: Ic2761cc5bac2403ee1339da77ad02fde942a3437\n"
    },
    {
      "commit": "4526b34d3b8ea639d0cdd61e15fd9352d7f90d43",
      "tree": "7e0e3c710fdc5b814d68093a577974eac0151692",
      "parents": [
        "3a85aca35ac6b33327f7495e823408cf86dd3760"
      ],
      "author": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Thu Dec 20 00:48:37 2012 +0000"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:25 2013 +0000"
      },
      "message": "WifiDisplay: Add an HDCP toggle\n\nSome WFD dongles have frequent (or permanent) failures while\nnegotiating HDCP with the device, so add a toggle to allow\nskipping HDCP entirely\n\nChange-Id: I999158df84d4a7489c40ecdf07ebcf107d071d40\n"
    },
    {
      "commit": "7db68c9ca9b5837afaa313f975f7011c0cfd4771",
      "tree": "6dd7025aac6e886c63fdafcade65a9966b1930c7",
      "parents": [
        "bf3be126b86d731e5b394b37c6ed009e806f0eea"
      ],
      "author": {
        "name": "codeworkx",
        "email": "codeworkx@cyanogenmod.org",
        "time": "Thu Dec 06 19:51:07 2012 +0100"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:24 2013 +0000"
      },
      "message": "libstagefright: exynos4: set proper eColorFormat\n\nChange-Id: Ie025face3c292e685fdf4d83c99276b0a9e4d71d\n"
    },
    {
      "commit": "bf3be126b86d731e5b394b37c6ed009e806f0eea",
      "tree": "3953bccb0a8a9ad382a802ba967400a0ffbe897c",
      "parents": [
        "23faa62ebed997f737313f996216b0eea749b49a"
      ],
      "author": {
        "name": "Ankit Premrajka",
        "email": "ankitp@codeaurora.org",
        "time": "Mon Nov 21 19:25:02 2011 -0800"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:24 2013 +0000"
      },
      "message": "Camera: Qcom parameters partial rebase\n\nAdd customized parameters for qcom camera features.\n\nSquashed commit of the following submissions to CAF:\n\ncamera: add custom camera parameters to hardware java file.\n\nChange-Id: Ic2b363df6d25a0c3a49aed30e717d10874f533ae\n\nCamera: Add support for wavelet denoise\n\nChange-Id: I97be72615fe5909987ac430034bbdc16f2d20509\n\nCamera : Add support for histogram in frameworks\n\nChange-Id: Ibf751c3b2d488f4be0afaaa3e994372bafeffbe7\n\nCamera: Add ZSL support in framework.\n\nChange-Id: I4e863020d7d407d9c3936beb83dc7abf385c4654\n\nCamera: Add touch AF/AEC support in ICS framework\n\nIn, ICS the old touch AF/AEC functions getTouchIndexAf(),\nsetTouchIndexAf() etc  are no longer valid. Added new functions  to get\nthe center of touched area.\n\nChange-Id: I37d00040f895cd8a4de2e2a438971aa2d9c1a045\n\nCamera: Add support for Red eye reduction\n\nChange-Id: Iada280ac33aee8b1114dc40d8d79e0e47ad5c2fd\n\nConflicts:\n\n\tapi/current.txt\n\nCamera: Enable streaming texture and YV12 feature\n\nChange-Id: I814c92b469e0f25baef0ce80338761d1e6443085\n\nCamera: Add frameworks support for high frame rate\n\nChange-Id: I9722e9b7e61433651ab5f76f76208853eb1fd849\n\nCamera: Simplify ASD menu and best mode menu.\n\nChange-Id: Ia7a1eca9268eec021a6e2c3f7ce2a932e8819d50\n\nCamera : Macro definition change. PIXEL_FORMAT_YV12 to \"yuv420p\"\n\nWhy: CTS testcase is expecting \"yuv420p\" as the format string for YV12 mode.\n\nCRs-Fixed: 328252\n(cherry picked from commit 0a263f67b75497e4b95b9de8c370ed9496ab59ef)\n\nChange-Id: I66f418a52775a969d81bcb332bbe500370e3ab7c\n\nCamera: Changes for face detection\n\nChange-Id: I7b2172e8690d6e23762e42f5888fecbfda15ba61\n\nCamera: Add support for burst count\n\nChange-Id: I4488a5eac1eebb0b5c8e2cc7cbbe7be0c7301be7\n\nCamera: enable HDR feature\n\n(cherry picked from commit e40770bbdadd925fc1e07a08249a15981b961570)\n\nChange-Id: Ie9ca3066e8e53710bf292d047a3724aefc029854\n\nCamera : Add API to find fullsize liveshot support\n\nChange-Id: I3c2fc3578decbe5cf87fded5362f317df0b40b5e\n(cherry picked from commit 65d80f04892776eec1c19c844eacb8c454b4bd1a)\n\nCamera: Set default camera area string\n\nThe default invalid value for KEY_FOCUS_AREA and\nKEY_METERING_AREA is changed to \"(0,0,0,0,0)\"\nCRs-fixed: 334934\n\nChange-Id: I354802c8611ee5c00a591b96b1a1ca04926969cb\n\nCamera: Change the scenemode names in framework\n\nTo comply with ICS API Specification,\nSCENE_MODE_AUTO changed to SCENE_MODE_ASD\nSCENE_MODE_OFF changed to SCENE_MODE_AUTO\n\nChange-Id: I8e744f10c728f469923b09f69d6d64bc5c7c6850\n\nCamera : Framework changes for camcorder UI menu\n\nChange-Id: Iff9e9021da44b67f81a24c828b960113ee249248\n\nCamera : Remove unwanted video resolution in Framework\n\n- FWVGA, WQVGA resolution UI options are removed for camcorder.\n\nChange-Id: If621140966b01dbc8c30a4d161e6771528b8adda\n\nCamera : Enable FWVGA and WQVGA resolutions in camcorder media profiles\n\nChange-Id: Iad9cc33f7b6d8eb7de21df372c016edeef0b99ba\n\nUnlock camera AWB lock only when white-balance is changed.\n\nbug:5633546\nChange-Id: I90bb4b5b445daedf38a64e2f8fb980fc0f0aaa81\n\nChange-Id: Ie3cc15132489502e64321776d49d96846b5705d6\n\nConflicts:\n\tcamera/Android.mk\n\tcamera/CameraParameters.cpp\n\tinclude/camera/CameraParameters.h\n\tservices/camera/libcameraservice/CameraService.cpp\n\tservices/camera/libcameraservice/CameraService.h\n"
    },
    {
      "commit": "23faa62ebed997f737313f996216b0eea749b49a",
      "tree": "18e5840898faac33db974d6f08e0d6aeaa2cdfd9",
      "parents": [
        "4fb1c3e8e2533908050311f5b74117f66c3b9c12"
      ],
      "author": {
        "name": "codeworkx",
        "email": "codeworkx@cyanogenmod.org",
        "time": "Thu Dec 06 01:48:56 2012 +0100"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:24 2013 +0000"
      },
      "message": "omx: exynos4: bring inline with jellybean\n\nChange-Id: Ic275fd30a721f8161dcc44c2706b86ab5ea213ba\n"
    },
    {
      "commit": "4fb1c3e8e2533908050311f5b74117f66c3b9c12",
      "tree": "5e56bd9a62c86631dcd60f8ee75d5117e0190d97",
      "parents": [
        "906eba9f93019dcaa2c3508d8531582e8e792836"
      ],
      "author": {
        "name": "Hashcode",
        "email": "hashcode0f@gmail.com",
        "time": "Fri Nov 30 00:28:40 2012 -0800"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:24 2013 +0000"
      },
      "message": "libmedia: add pre jb-4.2.1 signature for AudioSystem::getDeviceConnectionState\n\nWith jb-4.2.1 the type audio_devices_t found in system/core/include/system/audio.h\nwas redefined from a typedef enum to uint32_t.  This causes the signature\nof AudioSystem::getDeviceConnectionState to change in libmedia.so.\nAny older than 4.2.1 prebuilt audio.primary.___.so binaries (such as mine from ICS)\nmay refer to the old signature.  This patch adds back in that reference.\n\nChange-Id: Ie4f92eaec20d581c9bebc805cfd25f8558406e30\nSigned-off-by: Hashcode \u003chashcode0f@gmail.com\u003e\n"
    },
    {
      "commit": "906eba9f93019dcaa2c3508d8531582e8e792836",
      "tree": "1ba179464128ba75d22d19e063f8babaab513edf",
      "parents": [
        "dafc0dfb92aa2f817d3a056607537807497f9e9f"
      ],
      "author": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:19 2013 +0000"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:19 2013 +0000"
      },
      "message": "exynos4: libstragefright: add support for samsung colorformat/omx/mfc\n\nSource:\nhttp://git.insignal.co.kr/samsung/exynos/android/platform/frameworks/av/commit/?h\u003dexynos-jb\u0026id\u003d1614612f7ca2a00473d202dbedcb135fadc608ad\n\nChange-Id: Ib40b3cfa1480ecbb69831e7967a81f63719e2ff7\n\nConflicts:\n\tmedia/libstagefright/ACodec.cpp\n"
    },
    {
      "commit": "dafc0dfb92aa2f817d3a056607537807497f9e9f",
      "tree": "ab7db9834dd1be0bedc52b8902e85a43d7b2afe0",
      "parents": [
        "9d29299eeca83005f5624be23c75cf3b097044d5"
      ],
      "author": {
        "name": "XpLoDWilD",
        "email": "xplodgui@gmail.com",
        "time": "Mon Nov 26 22:44:46 2012 +0000"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:44:22 2013 +0000"
      },
      "message": "mediaserver: instantiate SecTVOutService for samsung tvout\n\nChange-Id: I0e7767f8cf3ffd0bc376d14cf4fffffed225e701\n"
    },
    {
      "commit": "e575d59f14359818d24547ac4b37b6c798524ab5",
      "tree": "55a91952c844666346c766d81939fc1fe9a296bf",
      "parents": [
        "e89d5ab317fe5bd1c2185ee54acb624e17a00147"
      ],
      "author": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Sep 02 04:33:40 2012 +0100"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:44:21 2013 +0000"
      },
      "message": "libmedia: Add ICS audiotrack constructor\n\nChange-Id: I5c1a3d1093cbf16111638a37601093c5eb977dd4\n"
    },
    {
      "commit": "e89d5ab317fe5bd1c2185ee54acb624e17a00147",
      "tree": "b7d660b4e9f5af92cf47366ad311a0640147f176",
      "parents": [
        "a6f2c7b1ac67075197ccbaba61e5e23277aab5f7"
      ],
      "author": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Thu Jul 12 01:36:11 2012 +0100"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:44:21 2013 +0000"
      },
      "message": "libmedia: Add ICS constructor for getOutput\n\nUsed by the Tegra ICS OMX libraries\n\nChange-Id: I2f6e7f10f11b53853626d1be86e7b2be870720f4\n"
    },
    {
      "commit": "a6f2c7b1ac67075197ccbaba61e5e23277aab5f7",
      "tree": "f872e4b7570cf2f431cca474e47d9d10c6cbed66",
      "parents": [
        "6a99d2058d0e5afed3643367166abee6b978209f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Oct 18 13:00:29 2013 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Sun Oct 20 12:32:53 2013 -0700"
      },
      "message": "Allow releaseBuffer after flush\n\nAfter AudioTrack start checks for pending flush,\nallow releaseBuffer on any previously obtained buffer.\nFor example, this can happen if the resampler has obtained\na buffer but not released the whole buffer yet.\nNote that the resampler will be reading obsolete data.\n\nBug: 11285590\nChange-Id: I0614fbb62e43604aac3089cce4b7797c87a306b5\n"
    },
    {
      "commit": "e3a7ca2e823c3d9bb1cecc6fe6a597a11fdd1129",
      "tree": "ecdb21f054e3c3707ff15146b3eb2f5d24200f44",
      "parents": [
        "4ce5dd9c2cb8b149a3423d941c6fb0fcefede7ac"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 17 13:24:42 2013 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Thu Oct 17 16:39:58 2013 -0700"
      },
      "message": "Make sure we get to discover that the cache is sufficiently full again\n\nby posting buffering events while in the CACHE_UNDERRUN state.\n\nChange-Id: Ic60c8d57f0ae502aa2b6eec7160dc4224b989604\nrelated-to-bug: 11262689\n"
    },
    {
      "commit": "f8f15b05fe051009945c9042a1a9260280e0feb2",
      "tree": "28fd5dede6b2aae34a9b3b987049f3331ace5037",
      "parents": [
        "787c0d04ac4f9c938a1311f8e30d9d7ac2b8a6da",
        "598de6c701e989385eeffa7c5dfd61f0459a2631"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Oct 17 00:59:33 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 17 00:59:33 2013 +0000"
      },
      "message": "Merge \"Fix race condition in AudioTrack::pause followed by start\" into klp-dev"
    },
    {
      "commit": "598de6c701e989385eeffa7c5dfd61f0459a2631",
      "tree": "090b30e255f0aed57a73ca6c9252e19da162fd97",
      "parents": [
        "014e7fa2e90827d911c37bb0ce4d2e10e14d0bb3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Oct 16 17:02:13 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Oct 16 17:20:11 2013 -0700"
      },
      "message": "Fix race condition in AudioTrack::pause followed by start\n\nBug: 11148722\nChange-Id: Iec88f00c8510363d4418e4b8d5b34feb06ecf04d\n"
    },
    {
      "commit": "120a88471a607c85c4d60300d73c3be0a1e8f8c8",
      "tree": "015d298d3260540d59d7fd556c2ccfe2b83d67fe",
      "parents": [
        "d576687570f19f3956d91c1d3da10d965e34c407",
        "cc21e4f1e41dfa17e7e2bef995fcd22c45f6bcd0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 16 22:28:33 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 16 22:28:33 2013 +0000"
      },
      "message": "Merge \"AudioTrack: fix head position after restore\" into klp-dev"
    },
    {
      "commit": "cc21e4f1e41dfa17e7e2bef995fcd22c45f6bcd0",
      "tree": "a446f08a1adaf31ef5dddc491c620209176b67aa",
      "parents": [
        "014e7fa2e90827d911c37bb0ce4d2e10e14d0bb3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 16 15:12:32 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 16 15:12:32 2013 -0700"
      },
      "message": "AudioTrack: fix head position after restore\n\nThe head position transfered to the new track\nby restoreTrack_l() must take into account the frames that\nare dropped from the old track to avoid a non recoverable\noffset in the playback head position returned to applications.\n\nBug: 11230062.\nChange-Id: I51143a08b95e8f264ed709ae2054360315f2b8b1\n"
    },
    {
      "commit": "d576687570f19f3956d91c1d3da10d965e34c407",
      "tree": "4f19e79cf537bed5827e9c144b4823133248f338",
      "parents": [
        "014e7fa2e90827d911c37bb0ce4d2e10e14d0bb3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 15 16:11:24 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 15 16:11:24 2013 -0700"
      },
      "message": "AwesomePlayer: fix concurrent pause and teardown\n\nThere was a race condition if a pause request was received\nwhile we were executing a teardown event. Although we hold\na mutex while processing the teardown event, there is a step\nof the prepare sequence where we release the mutex if streaming.\nIn this case, the pause request is executed but ignored because\nthe player state is still preparing. At the end of the teardown\nevent processing we restore previous playback state and resume.\n\nThe fix consists in clearing the saved teardown playback state\nwhen a pause request is received while processing a teardown event.\n\nBug: 11225491.\nChange-Id: If0e61855ce5a336322f1ba8e5559bdc190beeb76\n"
    },
    {
      "commit": "b3cb72a17d9a472883e9e2faa18b42eac533fe99",
      "tree": "0cd89996f1cd52cdee00325e69e8c287b7a89439",
      "parents": [
        "15ad2470b2f2ac34473eb568b606ad75e8e63ac6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Oct 12 17:05:19 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Oct 12 17:05:19 2013 -0700"
      },
      "message": "SoundPool: handle new audio track event\n\nIf the AudioTrack is torn down, SoundPool will never\nreceive the buffer end event and the track will stay active\nfor ever.\n\nThe fix consists in stopping the AudioTrack when a new audiotrack\nevent is received.\n\nBug: 11193583.\nChange-Id: I9876eb2a8f75c601368f669acd67b0accf6e2736\n"
    },
    {
      "commit": "aab5b08cb4a3b5a47daece6168f41ec918020739",
      "tree": "2bdd66104a1e3a30d2449d2c2b640263ac64ae17",
      "parents": [
        "fee4ce338d78eeb58af1f66831ead53322d3859e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 08 09:22:31 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 08 09:22:31 2013 -0700"
      },
      "message": "AwesomePlayer: do not send events when paused.\n\nWhen streaming audio and paused, AwesomePlayer should\nstop sending BufferingEvents as they will keep a wake lock\nfor no reason.\n\nTimedEventQueue should always acquire the wakelock with mediaserver\nidentity so that it is released with the same identity by the\nevent handler thread.\n\nBug: 11104408.\nChange-Id: Ied0e03acd6ad2f5a4c0ec82d5c2aa4e1c6da772c\n"
    },
    {
      "commit": "fee4ce338d78eeb58af1f66831ead53322d3859e",
      "tree": "f90931a7c5c4628b0e8e47976d68a9d586802b53",
      "parents": [
        "ea0fadeb5d81ef3cb7f9db458c9033d628bdb86a",
        "e93cf2ca27ae6f4a81d4ef548bbf10a34db6d98f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Oct 07 16:16:06 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 07 16:16:06 2013 +0000"
      },
      "message": "Merge \"Cleanup openRecord error handling\" into klp-dev"
    },
    {
      "commit": "da0926afdb12794497c93d68eee296f2d92bfa7e",
      "tree": "a63b647bd1c277b34709352d03a9f2b1a95e6665",
      "parents": [
        "385e7509eb563c983647e72b1232225c2200435f",
        "8db188489871c770d5d56cf67b0001222415db41"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 04 17:47:25 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 04 17:47:26 2013 +0000"
      },
      "message": "Merge \"TimedEventQueue takes a wake lock\" into klp-dev"
    },
    {
      "commit": "8db188489871c770d5d56cf67b0001222415db41",
      "tree": "de046fba2feb599ddf5a1d6d76735634ebb1afa7",
      "parents": [
        "19fffcbd89a51af797265af2e11c97be5820a07d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 03 17:54:26 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 04 10:11:34 2013 -0700"
      },
      "message": "TimedEventQueue takes a wake lock\n\nTake a wake lock when events present in a TimedEventQueue\nto prevent from going idle before all delayed events are\nprocessed.\n\nBug: 11057387.\nChange-Id: I26a17df68068fde5e879a2fe7568dec439fc540f\n"
    },
    {
      "commit": "385e7509eb563c983647e72b1232225c2200435f",
      "tree": "a6648133e77d801f1e686657d5a0f92b3d9e139e",
      "parents": [
        "7bab024867996bec6dc4e3e31ed4570da9afbc25"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 04 08:36:52 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 04 08:42:21 2013 -0700"
      },
      "message": "fix offload audio effect proxy implementation uuid\n\nThe proxy implementation UUID should not be the NULL UUID as\nAudioFlinger will reject effect creation if the AudioEffect\nis constructed by passing the implementation UUID and not the\ntype UUID.\n\nBug: 11070481.\n\nChange-Id: Ia9049d974e76303c5b63a607ee594b7dc1f182d4\n"
    },
    {
      "commit": "7bab024867996bec6dc4e3e31ed4570da9afbc25",
      "tree": "402b99793fb99b4803d5a0042288f5c084f58e46",
      "parents": [
        "19fffcbd89a51af797265af2e11c97be5820a07d",
        "a73c954d947748a3b6f630cf2c160fe55ec596e3"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Oct 04 13:18:02 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 04 13:18:03 2013 +0000"
      },
      "message": "Merge \"MediaCodec: avoid codec EOS if flushing during port reconfiguration\" into klp-dev"
    },
    {
      "commit": "fce0d1883cdbcb7d501625fb43844043cd28a267",
      "tree": "378f7e3451987e2cdf26d5884db41d9291485f4b",
      "parents": [
        "56ce726019f700a95ce5b45beebceadae4836e30"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu May 02 16:46:41 2013 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Oct 03 09:55:25 2013 -0700"
      },
      "message": "stagefright: enable adaptive playback based on codec format key\n\nAdded support for prepareForAdaptivePlayback() call in\nconfigureCodec, if max-width and max-height keys are specified\nin the format.  It is OK for this call to fail, if component\ndoes not implement adaptive playback.\n\nChange-Id: Ie15892bc666df103b635890a0fda799b204bb06c\nSigned-off-by: Lajos Molnar \u003clajos@google.com\u003e\nBug: 7093648\nBug: 10192531\n"
    },
    {
      "commit": "56ce726019f700a95ce5b45beebceadae4836e30",
      "tree": "4ad17b9ec996277e80861895fb1b20f2dc408b9d",
      "parents": [
        "a306ee6bc1aef463f8984be26b8a4214490b6c55"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu May 02 16:30:48 2013 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Oct 03 16:12:45 2013 +0000"
      },
      "message": "IOMX: Add prepareForAdaptivePlayback method\n\nprepareForAdaptivePlayback is the fallback mechanism to support\nseamless resolution change for devices that do not support dynamic\noutput buffers.  It is up to the codecs to handle this appropriately,\nbut codecs that do not handle dynamic output buffers would\nrequest enough buffers up to the requested size in this method\nto avoid port reconfiguration on resolution changes.\n\nChange-Id: I58d4aa8ef1359ea3472735bbe9140c3132039b3d\nSigned-off-by: Lajos Molnar \u003clajos@google.com\u003e\nBug: 10192531\nRelated-to-bug: 7093648"
    },
    {
      "commit": "a306ee6bc1aef463f8984be26b8a4214490b6c55",
      "tree": "ba14d35e311e848f7a2eb78c5f5cd72ff72db3fb",
      "parents": [
        "6ea551fa13b69e5ce359a7dba7485d857a005304"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 03 08:43:20 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 03 08:43:20 2013 -0700"
      },
      "message": "Remove now unused wfd commandline tool. (also unbreaks the build)\n\nChange-Id: I03320342976e4e355cc6aeb3d2c485985613b3b5\nrelated-to-bug: 11047222\n"
    },
    {
      "commit": "a73c954d947748a3b6f630cf2c160fe55ec596e3",
      "tree": "8c1039cfff32735aef109da1e45e22e0f095fab6",
      "parents": [
        "f05e50eb06d3f70e50fa7f44c1fd32128033b49d"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Oct 02 11:25:20 2013 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Oct 02 19:27:36 2013 -0700"
      },
      "message": "MediaCodec: avoid codec EOS if flushing during port reconfiguration\n\nChange-Id: Ic2e93f38feeb2e906f8d6b400ed6df2b7580ca87\nSigned-off-by: Lajos Molnar \u003clajos@google.com\u003e\nBug: 11045434\n"
    },
    {
      "commit": "6ea551fa13b69e5ce359a7dba7485d857a005304",
      "tree": "8e5043348828963776adc6478e56cea9a048e3a5",
      "parents": [
        "f05e50eb06d3f70e50fa7f44c1fd32128033b49d"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 02 13:06:06 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Oct 02 13:06:06 2013 -0700"
      },
      "message": "Remove obsolete miracast sink code and friends.\n\nChange-Id: I8bbb22fb0cfe2d73881d9f05bf8112ae86d8040b\nrelated-to-bug: 11047222\n"
    },
    {
      "commit": "353fb9bf940ee34a3885bc85ec7891228e958a4b",
      "tree": "10970a60eeeef1af0170cab7bf0937a465851c21",
      "parents": [
        "5fd39f777d54368a93fc9d8a6a24da0239d41fcf",
        "6218fdc2bef7b9c912bc4d132c12ee43b7b2dd37"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Oct 01 16:36:52 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 01 16:36:52 2013 +0000"
      },
      "message": "Merge \"MediaTimeProvider support fixes\" into klp-dev"
    },
    {
      "commit": "5fd39f777d54368a93fc9d8a6a24da0239d41fcf",
      "tree": "4b3030c4a0e41daede98e436eb58834b562a84ef",
      "parents": [
        "8b905e19548248904ab0fd0b63c9adcab2331a1a",
        "c16c203047ca0f0d76573ead2c42764a78baf521"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Oct 01 16:36:32 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 01 16:36:32 2013 +0000"
      },
      "message": "Merge \"MediaCodecInfo: report supported color formats for non-native-window mode\" into klp-dev"
    },
    {
      "commit": "6218fdc2bef7b9c912bc4d132c12ee43b7b2dd37",
      "tree": "5ef5c0ecca29a36a6ebb3cc8569ff6ef4cac8c50",
      "parents": [
        "3d97e23fcd78f752443cb6c30a1ee39f49f1f987"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Sep 25 08:09:41 2013 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Sep 30 15:12:23 2013 -0700"
      },
      "message": "MediaTimeProvider support fixes\n\nAdd MEDIA_SKIPPED event when resuming at a different time than\nseeked to.\n\nSend MEDIA_STARTED/PAUSED events only when playing (vs. when doing seek\npreviews)\n\nChange-Id: I243ebf054303755ea8863229c3211694f2c204a7\nSigned-off-by: Lajos Molnar \u003clajos@google.com\u003e\nBug: 10954008\n"
    },
    {
      "commit": "1adf20ce868b80a24f7387daa6549364d5509c6a",
      "tree": "76577b8495e54a6605e1df9a3593650c30ddbc9a",
      "parents": [
        "f006989d8f222639ac170067d371e11daf0e76ae",
        "59fe010bcc072597852454a2ec53d7b0a2002a3b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 30 21:31:34 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 30 21:31:34 2013 +0000"
      },
      "message": "Merge \"fix volume and effect enable delay on offloaded tracks\" into klp-dev"
    },
    {
      "commit": "c16c203047ca0f0d76573ead2c42764a78baf521",
      "tree": "9aab816caeeb3cc953594345310f3860e830f98d",
      "parents": [
        "3d97e23fcd78f752443cb6c30a1ee39f49f1f987"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Sep 30 13:18:55 2013 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Sep 30 13:58:35 2013 -0700"
      },
      "message": "MediaCodecInfo: report supported color formats for non-native-window mode\n\nRevert the change in behavior when checking for adaptive playback was\nintroduced.\n\nChange-Id: I59dc2450a4299b912015f2e4c9ec018a19a20b84\nSigned-off-by: Lajos Molnar \u003clajos@google.com\u003e\nBug: 10921537\n"
    },
    {
      "commit": "f006989d8f222639ac170067d371e11daf0e76ae",
      "tree": "79272c826fe3f64f01f7f198defdfa6b6fdf9b7b",
      "parents": [
        "0797fb709d2cdd35fe596b6089b259ad10d345d6",
        "30c08634416a99a0f627e4de3a5f49dcf0a72fd3"
      ],
      "author": {
        "name": "Rachad Alao",
        "email": "rachad@google.com",
        "time": "Mon Sep 30 19:11:06 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 30 19:11:06 2013 +0000"
      },
      "message": "Merge \"Change VP8 encoder bitrate\" into klp-dev"
    },
    {
      "commit": "0797fb709d2cdd35fe596b6089b259ad10d345d6",
      "tree": "44b8c40f65e1e31675848f44a411889ded8fffca",
      "parents": [
        "3d97e23fcd78f752443cb6c30a1ee39f49f1f987",
        "465da60d885c8fa4e7cea4626478574ce17a54a9"
      ],
      "author": {
        "name": "Rachad Alao",
        "email": "rachad@google.com",
        "time": "Mon Sep 30 19:10:47 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 30 19:10:47 2013 +0000"
      },
      "message": "Merge \"Indicate sync frames returned by encoder\" into klp-dev"
    },
    {
      "commit": "59fe010bcc072597852454a2ec53d7b0a2002a3b",
      "tree": "b6b42e04a89ead77c9ecd9635a328686a8bb9863",
      "parents": [
        "5d6d86a4d102704f49b9235eaf282c428d7100b6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 18:48:26 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 30 12:05:38 2013 -0700"
      },
      "message": "fix volume and effect enable delay on offloaded tracks\n\nVolume: add a method to wake up the mediaserver playback\nthread when a volume command is received on an offloaded track.\n\nEffects: call effect chain process on offloaded playback threads\nasynchronously from writes to allow effect state updates while\nwaiting for async write callback.\n\nBug: 10796540.\n\nChange-Id: Id2747ae88783575d1d7ffd6fc86fbd054ab2c739\n"
    },
    {
      "commit": "3d97e23fcd78f752443cb6c30a1ee39f49f1f987",
      "tree": "eaa7b593741a37f49447856d0ea316cf8de2e2f9",
      "parents": [
        "5d6d86a4d102704f49b9235eaf282c428d7100b6",
        "42c5ae81036d4002da3fe1e3b1016131ba737e74"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Sat Sep 28 02:25:14 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 28 02:25:14 2013 +0000"
      },
      "message": "Merge \"Prevent onPrepared callback from being called twice\" into klp-dev"
    },
    {
      "commit": "30c08634416a99a0f627e4de3a5f49dcf0a72fd3",
      "tree": "f5bad83acd4b9e75579f772b4c7e27eb08cc3189",
      "parents": [
        "465da60d885c8fa4e7cea4626478574ce17a54a9"
      ],
      "author": {
        "name": "Johann",
        "email": "johannkoenig@google.com",
        "time": "Fri Sep 27 17:42:12 2013 -0700"
      },
      "committer": {
        "name": "Johann",
        "email": "johannkoenig@google.com",
        "time": "Fri Sep 27 17:47:49 2013 -0700"
      },
      "message": "Change VP8 encoder bitrate\n\nAllow the bitrate to be updated while the encoder is running.\n\nBug: 8422347\nChange-Id: I8427fe20921b00f92b8f99fe21691709fab354b0\n"
    },
    {
      "commit": "5d6d86a4d102704f49b9235eaf282c428d7100b6",
      "tree": "32ef7801b774457edf670fbdde13f423286b646e",
      "parents": [
        "eba9bf72fb5e036bb15ca4a1dc126883a2cb938d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 20 12:27:32 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 16:03:46 2013 -0700"
      },
      "message": "fix oflload effect proxy commmand handling\n\nImplement a more generic command handling in offload effect\nproxy. All commands are sent to both sub effects but only the reply\nfrom the active one is returned to the caller.\n\nBug: 8174034.\nChange-Id: I28aa0f0d806e846332bc29801ee40d34e4ea0c43\n"
    },
    {
      "commit": "eba9bf72fb5e036bb15ca4a1dc126883a2cb938d",
      "tree": "3d0676b2c31251240c6be8a4c0f1255a4e4f0554",
      "parents": [
        "faca05e96744dfaa2f352e3dbb29eead4e55cfa0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 15:04:26 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 16:03:41 2013 -0700"
      },
      "message": "fix command handling in effect offload proxy\n\nFix some issues in effect proxy related to handling of effect\ncommands to offloaded and non offloaded effects.\n\nAlso fixed a bug on capture index in software Visualizer effect.\n\nBug: 8174034.\nChange-Id: I119458fea597cc3acbc0ef9ec315f67aa211cbd9\n"
    },
    {
      "commit": "faca05e96744dfaa2f352e3dbb29eead4e55cfa0",
      "tree": "13fdbf3c9f72d9c1d31d367d58556e45703e70ce",
      "parents": [
        "2eab94f7dfd41a65e13aca379a1aed97447f8884"
      ],
      "author": {
        "name": "jpadmana",
        "email": "jayashree.r.padmanaban@intel.com",
        "time": "Tue Jun 04 16:03:29 2013 +0530"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 16:03:37 2013 -0700"
      },
      "message": "Effect Offload Proxy for effects offload\n\nEffect Proxy abstracts the sub effects to the upper layers.\nIt has the following functionalities:\n- creation and release of sub effects\n- routing the effect commands and process to the appropriate sub effect\n\nBug: 8174034.\n\nChange-Id: Iec34b61104f0bbec4ef67c62f0710a5536dc325b\nSigned-off-by: jpadmana \u003cjayashree.r.padmanaban@intel.com\u003e\n"
    },
    {
      "commit": "2eab94f7dfd41a65e13aca379a1aed97447f8884",
      "tree": "bdd573d7a104c25ad6951dcfd58ee37ff2c03760",
      "parents": [
        "83f400056ac913250f0926326ff78697c68d18a1"
      ],
      "author": {
        "name": "jpadmana",
        "email": "jayashree.r.padmanaban@intel.com",
        "time": "Tue Jun 04 16:08:29 2013 +0530"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 16:03:30 2013 -0700"
      },
      "message": "Effects Factory changes for effects offload\n\naudio_effects.conf - commented changes to illustrate the\naddition of Proxy and sub effects to the conf file\n\nAdded an effectFactoryApi - EffectGetSubEffects for querying the\nsub effect descriptors from the factory. This api is used by the Proxy\nto get the sub effects\n\nAdded functions and data structures in factory code for\nloading the sub effects\n\ngSubEffectList - has the Proxies and their corresponding sub effects\n\n- addSubEffect() - reads a sub effect node and adds to the gSubEffectList\n- findSubEffect() - searches through the gSubEffectList to find a SubEffect\n\nBug: 8174034.\n\nChange-Id: Id7f6aa67c41db370d32beaf43a979ba4ac925928\nSigned-off-by: jpadmana \u003cjayashree.r.padmanaban@intel.com\u003e\n"
    },
    {
      "commit": "83f400056ac913250f0926326ff78697c68d18a1",
      "tree": "4dcd3ee8df9d39701190664ce5d0e9b4bb5b7cc9",
      "parents": [
        "5b8ce24b849f6cd5629b4ba508f7c78d6227d250"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 14:53:24 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 16:03:26 2013 -0700"
      },
      "message": "Revert \"Effects Factory changes for effects offload\"\n\nThis reverts commit 284c17e73bbff51cb5b1adcee98386d47733757a.\n\nChange-Id: I31db21e1ad4758b21356bfe4c4c64f15b2da8737\n"
    },
    {
      "commit": "5b8ce24b849f6cd5629b4ba508f7c78d6227d250",
      "tree": "bdd573d7a104c25ad6951dcfd58ee37ff2c03760",
      "parents": [
        "f2c8b02786c58b98d41d3f7c30e882cacc34e7ab"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 14:50:48 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 16:03:21 2013 -0700"
      },
      "message": "Revert \"Effect Offload Proxy for effects offload\"\n\nThis reverts commit 60c60df7db278d2fa5c90b0fa14f99a61d50272b.\n\nChange-Id: Iafba9e02a9f3bfde6248d802e96c4e649686a87d\n"
    },
    {
      "commit": "42c5ae81036d4002da3fe1e3b1016131ba737e74",
      "tree": "3dab209f962470f558ee4e64238831bd23b71aa6",
      "parents": [
        "6914de6dd1d74fcf74e3247c89f9293fbf7bafe5"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 12:13:52 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 27 12:38:22 2013 -0700"
      },
      "message": "Prevent onPrepared callback from being called twice\n\nb/10891995\n\nChange-Id: If6845c832d114629282f0b03f904a37c3325208e\n"
    },
    {
      "commit": "f2c8b02786c58b98d41d3f7c30e882cacc34e7ab",
      "tree": "32ef7801b774457edf670fbdde13f423286b646e",
      "parents": [
        "0b74d2b49b418d55f642c87c126fc0a4f71f89a4",
        "91b0ca1a5bea44dd9b5196910186dd2927821994"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 16:29:36 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 27 16:29:36 2013 +0000"
      },
      "message": "Merge \"fix playback position after switching to offload\" into klp-dev"
    },
    {
      "commit": "91b0ca1a5bea44dd9b5196910186dd2927821994",
      "tree": "e767acc4afa236de4c62db0383a9440baea8d539",
      "parents": [
        "0adc67dfc5cedb211c36f06849681a60a32f5805"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 26 17:23:10 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 09:22:22 2013 -0700"
      },
      "message": "fix playback position after switching to offload\n\nAfter switching from offloaded track to PCM track\nwhile paused (e.g. when connecting A2DP), playback\nrestarts from the beginning of the song when resuming.\n\nSave current position before recreating an AudioPlayer\nin AwesomePlayer::play_l() and seek to the saved position before\nstarting playback.\nAlso fix a problem where the position is not reported properly\nby AudioPlayer if a seek is pending and queried just after start\nand before the first buffer is read from the MediaSource.\n\nBug: 8174034.\nChange-Id: I254e65418ff903a9bf2e2111b89a00e2e54876c5\n"
    },
    {
      "commit": "0b74d2b49b418d55f642c87c126fc0a4f71f89a4",
      "tree": "ed70f184c0c91fd96dd24b2415d057156d0de054",
      "parents": [
        "a2340b3059b9d6e4286d0db7069df477c164df0c",
        "cd0c4683947231a7d3dc7811bedb75c5a965103c"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Sep 27 01:21:38 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 27 01:21:39 2013 +0000"
      },
      "message": "Merge \"LoudnessEnhancer compatible with stereo imaging\" into klp-dev"
    },
    {
      "commit": "465da60d885c8fa4e7cea4626478574ce17a54a9",
      "tree": "64ce5fa610dbdaf1aa719f25483d1ddb66110b75",
      "parents": [
        "6914de6dd1d74fcf74e3247c89f9293fbf7bafe5"
      ],
      "author": {
        "name": "Johann",
        "email": "johannkoenig@google.com",
        "time": "Thu Sep 26 17:37:51 2013 -0700"
      },
      "committer": {
        "name": "Johann",
        "email": "johannkoenig@google.com",
        "time": "Thu Sep 26 17:56:06 2013 -0700"
      },
      "message": "Indicate sync frames returned by encoder\n\nSet the appropriate OMX flag when the encoder generates a keyframe. This\nis necessary for any muxer which needs to indicate which frames are\nseekable.\n\nBug: 8422347\nChange-Id: I744a0b3023db24d3de2210bce82f41e50d259505\n"
    },
    {
      "commit": "cd0c4683947231a7d3dc7811bedb75c5a965103c",
      "tree": "3554110faa75566c437e0d4f5bf26cf7b2759f97",
      "parents": [
        "fed6292af65a0b97b583ecbd3c232b3811a3f37b"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Sep 25 18:43:55 2013 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Sep 26 12:55:10 2013 -0700"
      },
      "message": "LoudnessEnhancer compatible with stereo imaging\n\nUse a single compressor for both channels.\nEnvelope of signal is determined by looking at both channels.\n\nBug 8413913\n\nChange-Id: Ia9b6f34923d2977c60a3352500b858dfa1fab33c\n"
    },
    {
      "commit": "58dd07863571951408b67fa0a7f17cb23606fb1c",
      "tree": "c99b39666a05e3819ab1653957b11f8707beecd8",
      "parents": [
        "d2ac3144e201398340cc5b9bb36e5efe39edd9eb",
        "ffd5687c9ece8e28779793a20f06f99c7199ce44"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Sep 25 17:27:15 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 25 17:27:15 2013 +0000"
      },
      "message": "Merge \"Send kWhatConnected in onTimeUpdate() before first access unit\" into klp-dev"
    },
    {
      "commit": "d2ac3144e201398340cc5b9bb36e5efe39edd9eb",
      "tree": "3e56f8dca0ddb77df3635ea300bfc76acf0d43a2",
      "parents": [
        "ddfbfaeb00295fff7351711f0f044f17d6c40f3c",
        "6fbc9ef121b081f888163190bb13cbac31599900"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Sep 24 23:37:53 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 24 23:37:53 2013 +0000"
      },
      "message": "Merge \"Fix log typos in Visualizer effect\" into klp-dev"
    },
    {
      "commit": "6fbc9ef121b081f888163190bb13cbac31599900",
      "tree": "588d44fb6e79c974ebbc1004e6ffcedefbc110f8",
      "parents": [
        "664539d25180ab8f77e0521533ea2821cf28985f"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Sep 24 15:31:13 2013 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Sep 24 15:37:06 2013 -0700"
      },
      "message": "Fix log typos in Visualizer effect\n\nFix errors in logs for Visualizer.\nSet loop counters on 32 bits\n\nBug 8413913\n\nChange-Id: Iad2140d003d15d45be46826a5e89baff14fe9e77\n"
    },
    {
      "commit": "ddfbfaeb00295fff7351711f0f044f17d6c40f3c",
      "tree": "550cf08c4c8b7d5393512d1a96661009be3e4de9",
      "parents": [
        "1c7f35d1f25eb7160314fdef536463fc34deb1ea"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 20 12:27:32 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 24 15:29:55 2013 -0700"
      },
      "message": "fix oflload effect proxy commmand handling\n\nImplement a more generic command handling in offload effect\nproxy. All commands are sent to both sub effects but only the reply\nfrom the active one is returned to the caller.\n\nBug: 8174034.\nChange-Id: Ia45f9933b3bf338257ec70b37732fa1578d26b9f\n"
    },
    {
      "commit": "e93cf2ca27ae6f4a81d4ef548bbf10a34db6d98f",
      "tree": "4de6f04ad4abc14bb0e777bcb02863196c59e34b",
      "parents": [
        "402dfba6dcd68f5fd8d8921f9751f3e47eb1449d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Sep 24 11:52:37 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Sep 24 12:12:47 2013 -0700"
      },
      "message": "Cleanup openRecord error handling\n\nBug: 10888816\nChange-Id: I84897dd7d30b370640b54e928f230604b873cb68\n"
    },
    {
      "commit": "3d00aa6de95fb46e36f2bab4e3facdf0b96acf06",
      "tree": "1ad12df4c11ca37280cbe6850eed9bff1e0a2f35",
      "parents": [
        "402dfba6dcd68f5fd8d8921f9751f3e47eb1449d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 24 09:53:27 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 24 11:59:59 2013 -0700"
      },
      "message": "soundpool: allocate shared memory heap by client\n\nCurrent SoundPool implementation allocates the shared memory heap\ncontaining decoded PCM samples in mediaserver process.\nWhen mediaserver process crashes, the shared memory heaps allocated by\nAudioCache cannot be mapped anymore in the new instance of mediaserver.\nThis causes a silent failure to end playback of new sounds because\nAudioFlinger believes the new AudioTracks are opened in streaming mode\nand not static mode: it sees a NULL shared memory pointer when the track\nis created.\n\nThe fix consists in allocating the memory heap in the client process. Thus\nthe heap is not lost when mediaserver restarts. The global memory usage is\nthe same as this is shared memory.\n\nAlso added a way to detect that a shared memory is passed when the track is\ncreated but cannot be mapped on mediaserver side.\n\nAlso fix a crash in SoundPool when ALOGV is enabled.\n\nBug: 10894793.\nChange-Id: Ice6c66ec3b2a409d75dc903a508b6c6fbfb2e8a7\n"
    },
    {
      "commit": "ffd5687c9ece8e28779793a20f06f99c7199ce44",
      "tree": "0a32a579460de55508fd5fd47c530e88a6c10de1",
      "parents": [
        "4b701cc041d635e5ec56e382043a4c5d01aedd80"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Sep 24 10:04:42 2013 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Sep 24 10:04:42 2013 -0700"
      },
      "message": "Send kWhatConnected in onTimeUpdate() before first access unit\n\nBug: 10642588\nChange-Id: If2b4fbbf250d5307e304f31c7aa4ac480e279484\n"
    },
    {
      "commit": "402dfba6dcd68f5fd8d8921f9751f3e47eb1449d",
      "tree": "169d2d0d7d3936e5f8749a1fd883edc886ceaed0",
      "parents": [
        "1d2536f460d4678770f423f50cbf6a61a13d4d11",
        "09647d29eaf429ce88c9c9709ff63dee62f2147a"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Sep 23 22:58:33 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 23 22:58:34 2013 +0000"
      },
      "message": "Merge \"Add support for level measurements in Visualizer\" into klp-dev"
    },
    {
      "commit": "09647d29eaf429ce88c9c9709ff63dee62f2147a",
      "tree": "3626eb231080732d92a0b1bdfbd1710b52e36aa6",
      "parents": [
        "4b701cc041d635e5ec56e382043a4c5d01aedd80"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Sep 20 11:58:40 2013 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Sep 23 15:53:53 2013 -0700"
      },
      "message": "Add support for level measurements in Visualizer\n\nNew commands to set a measurement mode and perform peak + RMS\n measurements.\n\nBug 8413913\n\nChange-Id: Ib25254065c79d365ebb34f9dc9caa0490e2d300d\n"
    },
    {
      "commit": "9d2c78c4798ffd8c276c1bf0eaa0b34bc255a2da",
      "tree": "f81f585ba1aae36086bb9790b83de5673fdce14a",
      "parents": [
        "4b701cc041d635e5ec56e382043a4c5d01aedd80"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 23 12:29:42 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 23 12:32:34 2013 -0700"
      },
      "message": "AudioTrack: fix music resume\n\nFix regression introduced by commit 5a6cd22 in AudioTrack resume:\nthe callback thread was not signaled if paused internaly.\n\nBug: 10895013.\nChange-Id: Ic356b115132d6fccbcee2d9bb855e92671dc20c5\n"
    },
    {
      "commit": "4b701cc041d635e5ec56e382043a4c5d01aedd80",
      "tree": "d4ac7bc04d6de49d02fa90eed1049120a7b3ac51",
      "parents": [
        "3b3cfcfa272c8e3e16c89765b8817f5a8de0c505",
        "e2773bb17bc5d01e05a77b8913539575ebd04500"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Sep 20 22:05:38 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 20 22:05:39 2013 +0000"
      },
      "message": "Merge \"Revert \"Workaround slow AudioTrack destruction\"\" into klp-dev"
    },
    {
      "commit": "5a6cd224d07c05b496b6aca050ce5ecf96f125af",
      "tree": "c5d2fe55f0080c9660d283d040616d9a9fb6decc",
      "parents": [
        "a3b97ad288e6808c54c6275eaac1bd53108d8f11"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Sep 20 09:20:45 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Sep 20 12:22:29 2013 -0700"
      },
      "message": "Fix slow AudioTrack and AudioRecord destruction\n\nThere were two causes for the slowness:\n\nWhen thread was paused, it used nanosleep and sleep.  These usually\nrun to completion (except for POSIX signal, which we avoid because it\nis low-level).  Instead, replace the nanosleep and sleep by condition\ntimed wait, as that can be made to return early by a condition signal.\nAnother advantage of condition timed wait is that a condition wait was\nalready being used at top of thread loop, so it is a simpler change.\n\nThe AudioRecord destructor was missing a proxy interrupt that was correct\nin AudioTrack.  This proxy interrupt is needed in case another thread\nis blocked in proxy obtainBuffer.\n\nDoes not address the 1 second polling for NS_WHENEVER.\n\nBug: 10822765\nChange-Id: Id665994551e87e4d7da9c7b015f424fd7a0b5560\n"
    },
    {
      "commit": "e2773bb17bc5d01e05a77b8913539575ebd04500",
      "tree": "9c6752456812c4a927574a71e1d2ec2495ff6ce3",
      "parents": [
        "8bbbd7da02fac3de40139af19f7cf7a7cc3cc824"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Sep 20 18:12:06 2013 +0000"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Sep 20 18:12:06 2013 +0000"
      },
      "message": "Revert \"Workaround slow AudioTrack destruction\"\n\nThis reverts commit 8bbbd7da02fac3de40139af19f7cf7a7cc3cc824.\n\nChange-Id: I269a6c445cbce33451b6a9e74223e36e6abbdbe0\n"
    },
    {
      "commit": "8bbbd7da02fac3de40139af19f7cf7a7cc3cc824",
      "tree": "855de6f669a3485740a7d38104725bad42848cbb",
      "parents": [
        "5baf2af52cd186633b7173196c1e4a4cd3435f22"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 18 14:15:42 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 18 14:55:30 2013 -0700"
      },
      "message": "Workaround slow AudioTrack destruction\n\nBug: 10809586\nChange-Id: I5f30d4deb1233e8ade8967568e40684ef680c395\n"
    },
    {
      "commit": "5baf2af52cd186633b7173196c1e4a4cd3435f22",
      "tree": "9c6752456812c4a927574a71e1d2ec2495ff6ce3",
      "parents": [
        "9a98b6de791aeb130192df10744f5b35f8b6ef1a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 12 17:37:00 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Sep 18 11:52:40 2013 -0700"
      },
      "message": "more support for audio effect offload\n\nOffloading of audio effects is now enabled for offloaded\noutput threads. If an effect not supporting offload is enabled,\nthe AudioTrack is invalidated so that it can be recreated in PCM\nmode.\n\nFix some issues in effect proxy related to handling of effect\ncommands to offloaded and non offloaded effects.\n\nAlso fixed a bug on capture index in software Visualizer effect.\n\nBug: 8174034.\n\nChange-Id: Ib23d3c2d5a652361b0aaec7faee09102f2b18fce\n"
    },
    {
      "commit": "9a98b6de791aeb130192df10744f5b35f8b6ef1a",
      "tree": "9f1831027ba0c6b5b0ecf85eccbe418ef189ec7a",
      "parents": [
        "ab6c93b4bea96dc4f44a7acfefee1e11a3abda5b",
        "8d0fda9660aee7059f802f400875247b01226084"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 18 17:56:05 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 18 17:56:05 2013 +0000"
      },
      "message": "Merge \"Partial fix for SoundPool not terminating\" into klp-dev"
    },
    {
      "commit": "8d0fda9660aee7059f802f400875247b01226084",
      "tree": "57b68d45cbd4e4cafee6b19ae283e315341be3a1",
      "parents": [
        "6cc3a9948b51193dfdcb0c3527d7f3d1ca38aa3c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 18 10:33:39 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 18 10:36:19 2013 -0700"
      },
      "message": "Partial fix for SoundPool not terminating\n\nSoundPool was waiting for EVENT_UNDERRUN only to indicate end of clip.  In\nJ, AudioTrack delivered both EVENT_UNDERRUN followed by EVENT_BUFFER_END.\nHowever, as of K, AudioTrack is only delivering EVENT_BUFFER_END (this\nlack of EVENT_UNDERRUN is another bug which still needs to be fixed).\nThe workaround is to also respond to EVENT_BUFFER_END in SoundPool.\n\nBug: 10787103\nChange-Id: Id68a23bddd6dd9df6c49c55138197260d71ca468\n"
    },
    {
      "commit": "ab6c93b4bea96dc4f44a7acfefee1e11a3abda5b",
      "tree": "e04575d5872aaf0238d37397f55092c2b6dca96b",
      "parents": [
        "6cc3a9948b51193dfdcb0c3527d7f3d1ca38aa3c",
        "530fdbdc1b5491f3fbf172752834d1515701e142"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Sep 18 17:31:18 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 18 17:31:18 2013 +0000"
      },
      "message": "Merge \"Use changed MediaCodec.PARAMETER_KEY_VIDEO_BITRATE value\" into klp-dev"
    },
    {
      "commit": "530fdbdc1b5491f3fbf172752834d1515701e142",
      "tree": "6b99358ddc0317c9609d2ec818adcc8226e1a986",
      "parents": [
        "18f861404efc054da0a2ea6c582e293940f63bc8"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Sep 17 19:07:40 2013 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Sep 17 19:09:23 2013 -0700"
      },
      "message": "Use changed MediaCodec.PARAMETER_KEY_VIDEO_BITRATE value\n\nChange-Id: I157bcafbf705865e66c81517b1eab10c3daa039e\nSigned-off-by: Lajos Molnar \u003clajos@google.com\u003e\nBug: 10461617\n"
    },
    {
      "commit": "6cc3a9948b51193dfdcb0c3527d7f3d1ca38aa3c",
      "tree": "5545a323750c07f0210f43f727e828ec7fa9f918",
      "parents": [
        "18f861404efc054da0a2ea6c582e293940f63bc8"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Sep 10 09:15:18 2013 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Sep 17 18:43:01 2013 -0700"
      },
      "message": "LoudnessEnhancer audio effect implementation\n\nImplementation based on DRC effect, controlled by a\n target gain.\n The target gain is used to amplify the signal at\n the input of the DRC, and to compute the knee\n of the DRC.\n\nBug 8413913\n\nChange-Id: I386d64793a9fa3f7218e053d6f0a99f6836c02bd\n"
    }
  ],
  "next": "18f861404efc054da0a2ea6c582e293940f63bc8"
}
