From 9ea747493de939a56ab3d771d897fc13f327bb48 Mon Sep 17 00:00:00 2001
From: SendableMetatype <263203301+SendableMetatype@users.noreply.github.com>
Date: Tue, 4 Aug 2026 00:37:57 +0200
Subject: [PATCH 01/14] build: adapt to libwebrtc branch-heads/7977 (m152)
---
webrtc-jni/pom.xml | 2 +-
.../cpp/include/api/PeerConnectionObserver.h | 2 --
.../main/cpp/src/JNI_RTCPeerConnection.cpp | 17 +++++---------
.../cpp/src/api/PeerConnectionObserver.cpp | 22 -------------------
webrtc-jni/src/main/cpp/src/api/RTCStats.cpp | 1 +
5 files changed, 7 insertions(+), 37 deletions(-)
diff --git a/webrtc-jni/pom.xml b/webrtc-jni/pom.xml
index 8d7f9afc..cf42efa7 100644
--- a/webrtc-jni/pom.xml
+++ b/webrtc-jni/pom.xml
@@ -12,7 +12,7 @@
pom
- branch-heads/7339
+ branch-heads/7977
${user.home}/webrtc
${user.home}/webrtc/build
Release
diff --git a/webrtc-jni/src/main/cpp/include/api/PeerConnectionObserver.h b/webrtc-jni/src/main/cpp/include/api/PeerConnectionObserver.h
index 55b5ef96..17521699 100644
--- a/webrtc-jni/src/main/cpp/include/api/PeerConnectionObserver.h
+++ b/webrtc-jni/src/main/cpp/include/api/PeerConnectionObserver.h
@@ -45,7 +45,6 @@ namespace jni
void OnIceGatheringChange(webrtc::PeerConnectionInterface::IceGatheringState state) override;
void OnIceCandidate(const webrtc::IceCandidateInterface * candidate) override;
void OnIceCandidateError(const std::string & address, int port, const std::string & url, int error_code, const std::string & error_text) override;
- void OnIceCandidatesRemoved(const std::vector & candidates) override;
void OnIceConnectionReceivingChange(bool receiving) override;
private:
@@ -65,7 +64,6 @@ namespace jni
jmethodID onIceGatheringChange;
jmethodID onIceCandidate;
jmethodID onIceCandidateError;
- jmethodID onIceCandidatesRemoved;
jmethodID onIceConnectionReceivingChange;
};
diff --git a/webrtc-jni/src/main/cpp/src/JNI_RTCPeerConnection.cpp b/webrtc-jni/src/main/cpp/src/JNI_RTCPeerConnection.cpp
index a4735172..6847dff7 100644
--- a/webrtc-jni/src/main/cpp/src/JNI_RTCPeerConnection.cpp
+++ b/webrtc-jni/src/main/cpp/src/JNI_RTCPeerConnection.cpp
@@ -441,18 +441,11 @@ JNIEXPORT void JNICALL Java_dev_onvoid_webrtc_RTCPeerConnection_removeIceCandida
webrtc::PeerConnectionInterface * pc = GetHandle(env, caller);
CHECK_HANDLE(pc);
- try {
- auto candidates = jni::JavaArray::toNativeVector(env,
- jni::static_java_ref_cast(env, jni::JavaLocalRef(env, jCandidates)),
- &jni::RTCIceCandidate::toNativeCricket);
-
- if (!pc->RemoveIceCandidates(candidates)) {
- env->Throw(jni::JavaRuntimeException(env, "Remove ICE candidates from the peer connection failed"));
- }
- }
- catch (...) {
- ThrowCxxJavaException(env);
- }
+ // PeerConnectionInterface::RemoveIceCandidates was removed upstream in
+ // branch-heads/7977; candidate removal signaling is gone from the engine.
+ // Kept as a no-op so the Java API stays link compatible.
+ (void) pc;
+ (void) jCandidates;
}
JNIEXPORT jobject JNICALL Java_dev_onvoid_webrtc_RTCPeerConnection_getSignalingState
diff --git a/webrtc-jni/src/main/cpp/src/api/PeerConnectionObserver.cpp b/webrtc-jni/src/main/cpp/src/api/PeerConnectionObserver.cpp
index 576aa0e4..e78aacab 100644
--- a/webrtc-jni/src/main/cpp/src/api/PeerConnectionObserver.cpp
+++ b/webrtc-jni/src/main/cpp/src/api/PeerConnectionObserver.cpp
@@ -163,27 +163,6 @@ namespace jni
ExceptionCheck(env);
}
- void PeerConnectionObserver::OnIceCandidatesRemoved(const std::vector & candidates)
- {
- JNIEnv * env = AttachCurrentThread();
-
- const auto eventClass = JavaClasses::get(env);
-
- try {
- JavaLocalRef jCandidates = JavaArray::createObjectArray(env, candidates, eventClass->cls, &RTCIceCandidate::toJavaCricket);
-
- env->CallVoidMethod(observer, javaClass->onIceCandidatesRemoved, jCandidates.get());
- }
- catch (const Exception & e) {
- env->Throw(jni::JavaRuntimeException(env, e.what()));
- }
- catch (...) {
- ThrowCxxJavaException(env);
- }
-
- ExceptionCheck(env);
- }
-
void PeerConnectionObserver::OnIceConnectionReceivingChange(bool receiving)
{
JNIEnv * env = AttachCurrentThread();
@@ -208,7 +187,6 @@ namespace jni
onIceGatheringChange = GetMethod(env, cls, "onIceGatheringChange", "(L" PKG "RTCIceGatheringState;)V");
onIceCandidate = GetMethod(env, cls, "onIceCandidate", "(L" PKG "RTCIceCandidate;)V");
onIceCandidateError = GetMethod(env, cls, "onIceCandidateError", "(L" PKG "RTCPeerConnectionIceErrorEvent;)V");
- onIceCandidatesRemoved = GetMethod(env, cls, "onIceCandidatesRemoved", "([L" PKG "RTCIceCandidate;)V");
onIceConnectionReceivingChange = GetMethod(env, cls, "onIceConnectionReceivingChange", "(Z)V");
}
}
diff --git a/webrtc-jni/src/main/cpp/src/api/RTCStats.cpp b/webrtc-jni/src/main/cpp/src/api/RTCStats.cpp
index 0ee6f494..60bef5af 100644
--- a/webrtc-jni/src/main/cpp/src/api/RTCStats.cpp
+++ b/webrtc-jni/src/main/cpp/src/api/RTCStats.cpp
@@ -27,6 +27,7 @@
#include "rtc_base/logging.h"
#include "rtc_base/string_encode.h"
+#include
#include