)]}'
{
  "commit": "25ded3fc778871d2af990abb40d6447c54e9f19e",
  "tree": "aa78869919b435fd30029da2105abc14479d9d06",
  "parents": [
    "7519a77ce1b1add58e5bae145fe0ac249f71f12b"
  ],
  "author": {
    "name": "Tim Na",
    "email": "natim@google.com",
    "time": "Mon Jun 22 19:17:19 2026"
  },
  "committer": {
    "name": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Jun 23 16:27:49 2026"
  },
  "message": "Adding thread checker for audio record on native APIs\n\nImplemented thread safety checks in WebRtcAudioRecord.java using ThreadUtils.ThreadChecker, matching the pattern in WebRtcAudioTrack.java. The checker is detached in the constructor and guards @CalledByNative control APIs (initRecording, startRecording, stopRecording, enableBuiltInAEC, enableBuiltInNS) to ensure they are called consistently from the same C++ worker thread. To prevent crashes, Java-only public APIs (such as setPreferredDevice and setMicrophoneMute) and read-only query APIs remain unguarded as they are expected to be called from application or stats threads.\n\nBug: webrtc:524395191\nChange-Id: I432b9f6f8da1ead5e3ff021dfef4c6e12ef6557f\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/484740\nReviewed-by: Henrik Lundin \u003chenrik.lundin@webrtc.org\u003e\nReviewed-by: Henrik Andreassson \u003chenrika@webrtc.org\u003e\nCommit-Queue: Tim Na \u003cnatim@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#48068}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "510cc04779bb86a260a1ce34ff1b4096103eaf4c",
      "old_mode": 33188,
      "old_path": "sdk/android/src/java/org/webrtc/audio/WebRtcAudioRecord.java",
      "new_id": "26a1bfa4a94c42bc712d6742a5588ce08b7dbd5f",
      "new_mode": 33188,
      "new_path": "sdk/android/src/java/org/webrtc/audio/WebRtcAudioRecord.java"
    }
  ]
}
