)]}'
{
  "commit": "cab112421da6e8eac19ffddbbe3d76067cffee78",
  "tree": "c2e8bb3057c5de25454eae1286ff0868933680aa",
  "parents": [
    "5462fc9a38fa8c9dff434cd53fa5fb1782ae3042"
  ],
  "author": {
    "name": "Eric Laurent",
    "email": "elaurent@google.com",
    "time": "Thu Jul 15 12:50:15 2010 -0700"
  },
  "committer": {
    "name": "Eric Laurent",
    "email": "elaurent@google.com",
    "time": "Thu Jul 15 12:50:15 2010 -0700"
  },
  "message": "Several improvements in audio effects volume control.\n\n- Fixed crash when deleting an effect chained before an effect having volume control\n- Changed EFFECT_FLAG_VOLUME_CTRL to implicitely include EFFECT_FLAG_VOLUME_IND\n(not need to set both in effect descriptor).\n- Volume control changes from one effect to another if needed according to effect enable state\n- EFFECT_CMD_SET_VOLUME is only sent when their is an actual change in volume\n\nChange-Id: Ieebaf09157e2627366023569d95516646e03e26c\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9f3d0b655203681574206bca565251ac7bcebe35",
      "old_mode": 33188,
      "old_path": "include/media/EffectApi.h",
      "new_id": "8c120e53b4688abdd175a5866838c9c0d9cb5678",
      "new_mode": 33188,
      "new_path": "include/media/EffectApi.h"
    },
    {
      "type": "modify",
      "old_id": "771d885b1e9688dd1ed7607146c5d57f9fa9b008",
      "old_mode": 33188,
      "old_path": "services/audioflinger/AudioFlinger.cpp",
      "new_id": "7e528af4c5a50951467a2c92efdce58bd53d2ad0",
      "new_mode": 33188,
      "new_path": "services/audioflinger/AudioFlinger.cpp"
    },
    {
      "type": "modify",
      "old_id": "7013d768f9b0965cba54a6a7950f363b62f629c0",
      "old_mode": 33188,
      "old_path": "services/audioflinger/AudioFlinger.h",
      "new_id": "4507a4809fe9ae8c4a7d4f751aaee3628d613d9c",
      "new_mode": 33188,
      "new_path": "services/audioflinger/AudioFlinger.h"
    }
  ]
}
