-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[flutter_webrtc] Crash when trying to add empty IceCandidate #623
Comments
I commit a patch to solve crash issue of empty IceCandidate. Please refer to #625 |
@swift-kim is there better way to debug on release image? |
@xuelian-bai I have no idea except for replacing |
I have updated
I tested diff --git a/packages/flutter_webrtc/example/flutter_webrtc_demo/lib/src/call_sample/signaling.dart b/packages/flutter_webrtc/example/flutter_webrtc_demo/lib/src/call_sample/signaling.dart
index fc3fdb1..2227ec4 100644
--- a/packages/flutter_webrtc/example/flutter_webrtc_demo/lib/src/call_sample/signaling.dart
+++ b/packages/flutter_webrtc/example/flutter_webrtc_demo/lib/src/call_sample/signaling.dart
@@ -483,6 +483,24 @@ class Signaling {
}));
};
+ pc.onIceGatheringState = (state) async {
+ print("onIceGatheringState: " + state.toString());
+ if (state == RTCIceGatheringState.RTCIceGatheringStateComplete) {
+ await Future.delayed(
+ const Duration(seconds: 1),
+ () => _send('candidate', {
+ 'to': peerId,
+ 'from': _selfId,
+ 'candidate': {
+ 'sdpMLineIndex': 0,
+ 'sdpMid': '0',
+ 'candidate': '',
+ },
+ 'session_id': sessionId,
+ }));
+ }
+ };
+
pc.onIceConnectionState = (state) {}; The addIceCandidate method provides a remote candidate to the ICE Agent. This method can also be used to indicate the end of remote candidates when called with an empty string for the candidate member. It maybe have no effect on peer connection even empty IceCandidate ignored. If there is peer connection failed because of empty candidate, please share the test app to me. |
@Vasques1995 We have fix IceCandidate issue, please apply latest flutter_webrtc_tizen version: dependencies:
flutter_webrtc: ^0.9.46
flutter_webrtc_tizen: ^0.1.3 |
During the negotiation process, using a secure web socket for signaling, we receive an empty candidate representing the end of remote candidates, but as soon as we try to do
peerConnection.addIceCandidate(RTCIceCandidate(""))
the application crashes on all Tizen platforms tested.We tried to use various combinations of old and new plugin versions, including but not limited to:
We started testing on TizenTV as that is our main goal right now, but due to limited logging on it, we switched to TizenMobile as that platform offers a more robust logging system. Even then the logs didn't show anything substantial so I came here to try and get some help as to what may be happening.
The tizen-manifest is as follows:
Is there a better way to debug this issue than using the TizenStudio logs or the CrashDump generated and stored on the device?
The text was updated successfully, but these errors were encountered: