)]}'
{
  "commit": "ef53a7fc0bc307ada3ebaaef10d2507e571186a8",
  "tree": "0b25bbef3d873bb570ce0d639c58876e8cdf8f3e",
  "parents": [
    "bf95da8e73cf2fa814eb8ec90034255e5fb7b376"
  ],
  "author": {
    "name": "Brian Dai",
    "email": "briand27@fb.com",
    "time": "Wed Jan 20 20:20:12 2021"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Sat Jan 23 10:22:58 2021"
  },
  "message": "Reset IO thread checker when iOS audio unit stops\n\nIn AudioDeviceIOS, when we call Stop() on the VoiceProcessingAudioUnit,\nwe do not always detach the I/O thread checker in preparation for a new\nstart. This means that if we start up the VoiceProcessingAudioUnit - and\nsubsequently a new AURemoteIO thread to deal with I/O operations - the\nDCHECK in OnDeliverRecordedData and OnGetPlayoutData will fail. Note\nthat we want to detach the I/O thread checker regardless of whether\nStop() returns with a success status or not. The success status is\ndictated by the iOS function AudioOutputUnitStop. The documentation of\nthis function does not guarantee that the audio unit will not stop in\nthe case the function returns with an error code. That is to say, it is\npossible the audio unit stops even if the function Stop() returns false.\nTherefore, it is safer to prepare the I/O thread checker for a new start\nin either case.\n\nChange-Id: Iee50a2457959aff2e6089e9a664c649dc4dbbbd6\nBug: webrtc:12382\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/202945\nReviewed-by: Henrik Andreassson \u003chenrika@webrtc.org\u003e\nReviewed-by: Mirko Bonadei \u003cmbonadei@webrtc.org\u003e\nCommit-Queue: Mirko Bonadei \u003cmbonadei@webrtc.org\u003e\nCr-Commit-Position: refs/heads/master@{#33063}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5ffeaa0cc5587d1f08035ddfe5fc4c9a9a74bef3",
      "old_mode": 33188,
      "old_path": "sdk/objc/native/src/audio/audio_device_ios.mm",
      "new_id": "1e9bef65b99006b4aaac2e8839ce05e5a92649de",
      "new_mode": 33188,
      "new_path": "sdk/objc/native/src/audio/audio_device_ios.mm"
    }
  ]
}
