@@ -42,6 +42,8 @@ namespace jni
42
42
auto jState = JavaEnums::toJava (env, state);
43
43
44
44
env->CallVoidMethod (observer, javaClass->onConnectionChange , jState.get ());
45
+
46
+ ExceptionCheck (env);
45
47
}
46
48
47
49
void PeerConnectionObserver::OnSignalingChange (webrtc::PeerConnectionInterface::SignalingState state)
@@ -51,6 +53,8 @@ namespace jni
51
53
auto jState = JavaEnums::toJava (env, state);
52
54
53
55
env->CallVoidMethod (observer, javaClass->onSignalingChange , jState.get ());
56
+
57
+ ExceptionCheck (env);
54
58
}
55
59
56
60
void PeerConnectionObserver::OnTrack (rtc::scoped_refptr<webrtc::RtpTransceiverInterface> transceiver)
@@ -60,6 +64,8 @@ namespace jni
60
64
auto jTransceiver = JavaFactories::create (env, transceiver.get ());
61
65
62
66
env->CallVoidMethod (observer, javaClass->onTrack , jTransceiver.get ());
67
+
68
+ ExceptionCheck (env);
63
69
}
64
70
65
71
void PeerConnectionObserver::OnAddTrack (rtc::scoped_refptr<webrtc::RtpReceiverInterface> receiver, const std::vector<rtc::scoped_refptr<webrtc::MediaStreamInterface>> & streams)
@@ -78,6 +84,8 @@ namespace jni
78
84
catch (...) {
79
85
ThrowCxxJavaException (env);
80
86
}
87
+
88
+ ExceptionCheck (env);
81
89
}
82
90
83
91
void PeerConnectionObserver::OnRemoveTrack (rtc::scoped_refptr<webrtc::RtpReceiverInterface> receiver)
@@ -87,6 +95,8 @@ namespace jni
87
95
auto jReceiver = JavaFactories::create (env, receiver.get ());
88
96
89
97
env->CallVoidMethod (observer, javaClass->onRemoveTrack , jReceiver.get ());
98
+
99
+ ExceptionCheck (env);
90
100
}
91
101
92
102
void PeerConnectionObserver::OnDataChannel (rtc::scoped_refptr<webrtc::DataChannelInterface> channel)
@@ -96,13 +106,17 @@ namespace jni
96
106
auto jDataChannel = JavaFactories::create (env, channel.release ());
97
107
98
108
env->CallVoidMethod (observer, javaClass->onDataChannel , jDataChannel.get ());
109
+
110
+ ExceptionCheck (env);
99
111
}
100
112
101
113
void PeerConnectionObserver::OnRenegotiationNeeded ()
102
114
{
103
115
JNIEnv * env = AttachCurrentThread ();
104
116
105
117
env->CallVoidMethod (observer, javaClass->onRenegotiationNeeded );
118
+
119
+ ExceptionCheck (env);
106
120
}
107
121
108
122
void PeerConnectionObserver::OnIceConnectionChange (webrtc::PeerConnectionInterface::IceConnectionState state)
@@ -112,6 +126,8 @@ namespace jni
112
126
auto jState = JavaEnums::toJava (env, state);
113
127
114
128
env->CallVoidMethod (observer, javaClass->onIceConnectionChange , jState.get ());
129
+
130
+ ExceptionCheck (env);
115
131
}
116
132
117
133
void PeerConnectionObserver::OnIceGatheringChange (webrtc::PeerConnectionInterface::IceGatheringState state)
@@ -121,6 +137,8 @@ namespace jni
121
137
auto jState = JavaEnums::toJava (env, state);
122
138
123
139
env->CallVoidMethod (observer, javaClass->onIceGatheringChange , jState.get ());
140
+
141
+ ExceptionCheck (env);
124
142
}
125
143
126
144
void PeerConnectionObserver::OnIceCandidate (const webrtc::IceCandidateInterface * candidate)
@@ -130,6 +148,8 @@ namespace jni
130
148
JavaLocalRef<jobject> jCandidate = RTCIceCandidate::toJava (env, candidate);
131
149
132
150
env->CallVoidMethod (observer, javaClass->onIceCandidate , jCandidate.get ());
151
+
152
+ ExceptionCheck (env);
133
153
}
134
154
135
155
void PeerConnectionObserver::OnIceCandidateError (const std::string & address, int port, const std::string & url, int error_code, const std::string & error_text)
@@ -139,8 +159,10 @@ namespace jni
139
159
JavaLocalRef<jobject> event = RTCPeerConnectionIceErrorEvent::toJava (env, address, port, url, error_code, error_text);
140
160
141
161
env->CallVoidMethod (observer, javaClass->onIceCandidateError , event.get ());
162
+
163
+ ExceptionCheck (env);
142
164
}
143
-
165
+
144
166
void PeerConnectionObserver::OnIceCandidatesRemoved (const std::vector<cricket::Candidate> & candidates)
145
167
{
146
168
JNIEnv * env = AttachCurrentThread ();
@@ -158,13 +180,17 @@ namespace jni
158
180
catch (...) {
159
181
ThrowCxxJavaException (env);
160
182
}
183
+
184
+ ExceptionCheck (env);
161
185
}
162
186
163
187
void PeerConnectionObserver::OnIceConnectionReceivingChange (bool receiving)
164
188
{
165
189
JNIEnv * env = AttachCurrentThread ();
166
190
167
191
env->CallVoidMethod (observer, javaClass->onIceConnectionReceivingChange , receiving);
192
+
193
+ ExceptionCheck (env);
168
194
}
169
195
170
196
PeerConnectionObserver::JavaPeerConnectionObserverClass::JavaPeerConnectionObserverClass (JNIEnv * env)
@@ -185,4 +211,4 @@ namespace jni
185
211
onIceCandidatesRemoved = GetMethod (env, cls, " onIceCandidatesRemoved" , " ([L" PKG " RTCIceCandidate;)V" );
186
212
onIceConnectionReceivingChange = GetMethod (env, cls, " onIceConnectionReceivingChange" , " (Z)V" );
187
213
}
188
- }
214
+ }
0 commit comments