)]}'
{
  "commit": "0d09a9bec07b3bec78bd473ff0bfcf0a261f3f25",
  "tree": "410d8c22e5d15f9143d04212cd96939c217cacc5",
  "parents": [
    "a2cf13c77260f98fc674f103dcbd2bb2488a80ce"
  ],
  "author": {
    "name": "Glenn Kasten",
    "email": "gkasten@google.com",
    "time": "Mon Jun 24 12:06:46 2013 -0700"
  },
  "committer": {
    "name": "Glenn Kasten",
    "email": "gkasten@google.com",
    "time": "Mon Jun 24 13:34:08 2013 -0700"
  },
  "message": "Use mFutex as an event flag rather than semaphore\n\nAn event flag can be more fault-tolerant in case of loss of synchronization,\nas it cannot overflow.  It also allows more bits to be used in the future.\nSee http://en.wikipedia.org/wiki/Event_flag\n\nChange-Id: I01ca25d951eb263124da54bb4738f0d94ec4a48b\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "681f5575cae20bd9ac7da3afd0e5be2875381028",
      "old_mode": 33188,
      "old_path": "include/private/media/AudioTrackShared.h",
      "new_id": "ef5bb8df6bf1462d2a14f86cf78142b4e211e0c6",
      "new_mode": 33188,
      "new_path": "include/private/media/AudioTrackShared.h"
    },
    {
      "type": "modify",
      "old_id": "f034164a2589d71d8e0184f6ef29e08ec04fc308",
      "old_mode": 33188,
      "old_path": "media/libmedia/AudioTrackShared.cpp",
      "new_id": "4b7f3683b80bbc10b9259fb70dba37b52091c521",
      "new_mode": 33188,
      "new_path": "media/libmedia/AudioTrackShared.cpp"
    }
  ]
}
