Implement JNI and objc implementation for icecandidateerror event
This CL adds the callback on ICE Candidate Error to the Android and the iOS SDKs. Spec: https://www.w3.org/TR/webrtc/#dom-rtcpeerconnection-onicecandidateerror Bug: webrtc:13446 Change-Id: I6e511aaa80f1aa8f4310d8518d1144d97470cd7e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/239460 Reviewed-by: Henrik Andreassson <henrika@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Henrik Andreassson <henrika@webrtc.org> Cr-Commit-Position: refs/heads/main@{#35531}
This commit is contained in:
committed by
WebRTC LUCI CQ
parent
63b97de330
commit
d211098392
@ -41,6 +41,7 @@
|
||||
#include "rtc_base/logging.h"
|
||||
#include "rtc_base/numerics/safe_conversions.h"
|
||||
#include "sdk/android/generated_peerconnection_jni/CandidatePairChangeEvent_jni.h"
|
||||
#include "sdk/android/generated_peerconnection_jni/IceCandidateErrorEvent_jni.h"
|
||||
#include "sdk/android/generated_peerconnection_jni/PeerConnection_jni.h"
|
||||
#include "sdk/android/native_api/jni/java_types.h"
|
||||
#include "sdk/android/src/jni/jni_helpers.h"
|
||||
@ -306,6 +307,19 @@ void PeerConnectionObserverJni::OnIceCandidate(
|
||||
NativeToJavaIceCandidate(env, *candidate));
|
||||
}
|
||||
|
||||
void PeerConnectionObserverJni::OnIceCandidateError(
|
||||
const std::string& address,
|
||||
int port,
|
||||
const std::string& url,
|
||||
int error_code,
|
||||
const std::string& error_text) {
|
||||
JNIEnv* env = AttachCurrentThreadIfNeeded();
|
||||
ScopedJavaLocalRef<jobject> event = Java_IceCandidateErrorEvent_Constructor(
|
||||
env, NativeToJavaString(env, address), port, NativeToJavaString(env, url),
|
||||
error_code, NativeToJavaString(env, error_text));
|
||||
Java_Observer_onIceCandidateError(env, j_observer_global_, event);
|
||||
}
|
||||
|
||||
void PeerConnectionObserverJni::OnIceCandidatesRemoved(
|
||||
const std::vector<cricket::Candidate>& candidates) {
|
||||
JNIEnv* env = AttachCurrentThreadIfNeeded();
|
||||
|
||||
@ -48,6 +48,12 @@ class PeerConnectionObserverJni : public PeerConnectionObserver {
|
||||
// Implementation of PeerConnectionObserver interface, which propagates
|
||||
// the callbacks to the Java observer.
|
||||
void OnIceCandidate(const 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<cricket::Candidate>& candidates) override;
|
||||
void OnSignalingChange(
|
||||
|
||||
Reference in New Issue
Block a user