)]}'
{
  "log": [
    {
      "commit": "7de5ac1f067ec61f7ea424d5534cfd40987b11fa",
      "tree": "93d7a87cd7462d484b4ee882a70c3163ce2f73ac",
      "parents": [
        "d5923409bbcbb22954a92c2b497ef4492d7cb6a5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 21 09:07:11 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 21 09:56:18 2014 -0700"
      },
      "message": "audio policy: fix effect handle leak\n\nFix ref counting error in AudioPolicyEffect::addInputEffects()\nand addOutputSessionEffects()\n\nBug: 17675112.\nChange-Id: I5267d1024a585919f66ead83662e57b78ba53540\n"
    },
    {
      "commit": "8b1e80bf1e9f214feea219cfe981ba533b806003",
      "tree": "0d6b46a05d685e02750433f6779eb1ce09d84294",
      "parents": [
        "f0011d49c0f08753dc2dc254c5a70885a9986602"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 07 09:08:47 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 07 12:24:30 2014 -0700"
      },
      "message": "audio policy: fix lockup during mediaserver restart\n\nWhen pre or post processing effects are applied by audio policy service\nautomatically there is a potential lockup if the first call into\nAudioPolicyService is made while creating one of those effects.\nThis is because effects are created with AudioPolicyService mutex held and\neffect creation calls into methods (e.g registerClient()) which also acquire\nthe mutex.\n\nThe fix consists in adding a new mutex to AudioPolicyEffects class and not\nhold the AudioPolicyService mutex when calling methods in of class.\n\nBug: 17830596.\nChange-Id: Ie61c3671d3147f46e99ba208f39c1a3bf180779f\n"
    },
    {
      "commit": "890a5637b3e3eb197fd2c7f5deec816c7feb13fc",
      "tree": "71a722cfba64b26c6f4d09b0e353986928d12d3d",
      "parents": [
        "8b250cb67d0cab6234c0e8e0e21342d03c1eca5d"
      ],
      "author": {
        "name": "bryant_liu",
        "email": "bryant_liu@htc.com",
        "time": "Wed Aug 20 18:06:13 2014 +0800"
      },
      "committer": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Thu Aug 28 17:45:55 2014 -0700"
      },
      "message": "frameworks: av: AudioPolicyEffect: Add refCount for each session\n\nAudio framework stops and restarts AudioTracks on same audio session.\nSometimes the AudioTrack start() comes before a stop(). As effects\nare linked to the session, they should only be created on the last\nstop() related to that session.\n\nBug: 17201117\n\nChange-Id: I19343e293d6b7b6b794fe05ebd0dd239ed3b075c\n"
    },
    {
      "commit": "a7e04803ffa0d8d4cc51a122f68bf5038422aabb",
      "tree": "e1c60583b09461df3be42a04dbae4d51e1bd75e9",
      "parents": [
        "8bce84142802ecdc1794d59488ede629801a5cba"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 21 11:49:08 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 21 11:55:33 2014 -0700"
      },
      "message": "Remove execute bit\n\nChange-Id: I1cf0c0d9375779b3074af12f4cbf9c1ec07bf4ff\n"
    },
    {
      "commit": "897a408b3f9c893776d67214257ca6a6bc1751bd",
      "tree": "57f48c5fc29aae3bd1e4b54d5cd312e6e78657af",
      "parents": [
        "2db91ae0e6aa33b50cc924ad65d6dc01876d220f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 11 16:51:53 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 11 16:51:53 2014 -0700"
      },
      "message": "audiopolicy: remove debug log in AudioPolicyEffects.cpp\n\nChange-Id: Ia037807a91d6649c3f47baccf8c107df496e934e\n"
    },
    {
      "commit": "ba2b43990a7b4f0f2c425cf6cdfc63376a45772c",
      "tree": "a2253fca6136a86bb00a197fe2edb97c3438d9c4",
      "parents": [
        "2421a4ba309f082a83be9b8e385c00cd8e0043f6"
      ],
      "author": {
        "name": "bryant_liu",
        "email": "bryant_liu@htc.com",
        "time": "Wed Jun 11 16:49:30 2014 +0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 01 11:32:34 2014 -0700"
      },
      "message": "frameworks: av: services: audiopolicy: Added AudioPolicyEffects\n\nManage pre- and postprocessing effects defined in audio_effects.conf\n\nChange-Id: Idea1478e3d434f8ff66907adb3c77663db78d583\n"
    }
  ]
}
