)]}'
{
  "commit": "ef6be0bb71c08db7e9e9274d70edffb95f0da25f",
  "tree": "feda8b0cdaa60a4845f6f6a311c3ddbb4c9811a6",
  "parents": [
    "89b4470bc926c4b5de59deaff2b6a4993ab6cab7"
  ],
  "author": {
    "name": "Eric Laurent",
    "email": "elaurent@google.com",
    "time": "Thu Sep 13 11:18:23 2012 -0700"
  },
  "committer": {
    "name": "Eric Laurent",
    "email": "elaurent@google.com",
    "time": "Thu Sep 13 17:03:00 2012 -0700"
  },
  "message": "audioflinger: send priority request from a thread\n\nWhen creating a fast AudioTrack, a request is sent to SchedulingPolicyService\nto elevate the requesting thread priority. This generates a binder\ncall into system_server process and to a JAVA service via JNI.\nIf the thread from which the track was created is in the system_server\nprocess and does not have the \"can call java\" attribute, a crash occurs because\nthe binder optimization reuses the same thread to process the returning binder\ncall and no JNI env is present.\n\nThe fix consists in sending the priority change request from the AudioFlinger\nmixer thread, not from the binder thread.\n\nThis also reverts the workaround in commit 73431968\n\nBug 7126707.\n\nChange-Id: I3347adf71ffbb56ed8436506d4357eab693078a3\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d9d8aee9b657197df038876b75eb24f30017a330",
      "old_mode": 33188,
      "old_path": "media/libmedia/AudioTrack.cpp",
      "new_id": "362d0224d45e78bc9bf71020f2a6d28061c7b256",
      "new_mode": 33188,
      "new_path": "media/libmedia/AudioTrack.cpp"
    },
    {
      "type": "modify",
      "old_id": "582ab65fbdd8d490503e7a66ab6aa82c464ff2c9",
      "old_mode": 33188,
      "old_path": "services/audioflinger/AudioFlinger.cpp",
      "new_id": "de116a9074f0a19e0d34c33cb9ab14518c382537",
      "new_mode": 33188,
      "new_path": "services/audioflinger/AudioFlinger.cpp"
    },
    {
      "type": "modify",
      "old_id": "c9568613577d5df8911e472a4437af256a2123f9",
      "old_mode": 33188,
      "old_path": "services/audioflinger/AudioFlinger.h",
      "new_id": "8a020fadfbc68401e40fade5922f480a0926514e",
      "new_mode": 33188,
      "new_path": "services/audioflinger/AudioFlinger.h"
    }
  ]
}
