)]}'
{
  "commit": "6a99d2058d0e5afed3643367166abee6b978209f",
  "tree": "95746546a67c27a04a0e5bd82f9760d80ad5f0d9",
  "parents": [
    "e3a7ca2e823c3d9bb1cecc6fe6a597a11fdd1129"
  ],
  "author": {
    "name": "Eric Laurent",
    "email": "elaurent@google.com",
    "time": "Thu Oct 17 18:59:26 2013 -0700"
  },
  "committer": {
    "name": "The Android Automerger",
    "email": "android-build@google.com",
    "time": "Fri Oct 18 14:48:42 2013 -0700"
  },
  "message": "audioflinger: fix track terminated before playing\n\nWhen a track is terminated before any audio was written,\nwe should not send a drain request to the HAL. The drain\nwill be ignored and we will wait the async callback for ever.\n\nAlso fix a potential deadlock by not deleting a track with the\nthread mutex held: mPreviousTrack changed from a sp to a raw pointer.\n\nBug: 11247103.\nChange-Id: I0a4b47b099204c7c326d45d700234ab8f72d8eae\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "47dcca65b50c0b61a43d54efc9fbb51719cc2a0f",
      "old_mode": 33188,
      "old_path": "services/audioflinger/Threads.cpp",
      "new_id": "9c8fd1f172218ebb6208c297ede086334f4a3a69",
      "new_mode": 33188,
      "new_path": "services/audioflinger/Threads.cpp"
    },
    {
      "type": "modify",
      "old_id": "802b784fa9b4526d8f8e12abfd8c8bd50c95c9f6",
      "old_mode": 33188,
      "old_path": "services/audioflinger/Threads.h",
      "new_id": "a5d2169fe0f5adf7a3c50a92b50a55d2c763fef5",
      "new_mode": 33188,
      "new_path": "services/audioflinger/Threads.h"
    }
  ]
}
