8000 improve RenegotiationNeededCallback. · next-coder/flutter-webrtc@b3b4070 · GitHub
[go: up one dir, main page]

Skip to content

Commit b3b4070

Browse files
committed
improve RenegotiationNeededCallback.
1 parent 7b60249 commit b3b4070

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

lib/src/rtc_peerconnection.dart

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ typedef AddTrackCallback = void Function(
2525
typedef RemoveTrackCallback = void Function(
2626
MediaStream stream, MediaStreamTrack track);
2727
typedef RTCDataChannelCallback = void Function(RTCDataChannel channel);
28+
typedef RenegotiationNeededCallback = void Function();
2829

2930
/*
3031
* PeerConnection
@@ -58,7 +59,7 @@ class RTCPeerConnection {
5859
AddTrackCallback onAddTrack;
5960
RemoveTrackCallback onRemoveTrack;
6061
RTCDataChannelCallback onDataChannel;
61-
dynamic onRenegotiationNeeded;
62+
RenegotiationNeededCallback onRenegotiationNeeded;
6263

6364
final Map<String, dynamic> defaultSdpConstraints = {
6465
'mandatory': {
@@ -166,9 +167,7 @@ class RTCPeerConnection {
166167
onDataChannel?.call(_dataChannel);
167168
break;
168169
case 'onRenegotiationNeeded':
169-
if (onRenegotiationNeeded != null) {
170-
onRenegotiationNeeded();
171-
}
170+
onRenegotiationNeeded?.call();
172171
break;
173172
}
174173
}

lib/src/web/rtc_peerconnection.dart

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ typedef AddTrackCallback = void Function(
2525
typedef RemoveTrackCallback = void Function(
2626
MediaStream stream, MediaStreamTrack track);
2727
typedef RTCDataChannelCallback = void Function(RTCDataChannel channel);
28+
typedef RenegotiationNeededCallback = void Function();
2829

2930
/*
3031
* PeerConnection
@@ -89,6 +90,11 @@ class RTCPeerConnection {
8990
onSignalingState?.call(_signalingState);
9091
});
9192

93+
js.JsObject.fromBrowserObject(_jsPc)['negotiationneeded'] =
94+
js.JsFunction.withThis(() {
95+
onRenegotiationNeeded?.call();
96+
});
97+
9298
js.JsObject.fromBrowserObject(_jsPc)['ontrack'] =
9399
js.JsFunction.withThis((_, trackEvent) {
94100
// TODO(rostopira): trackEvent is JsObject conforming to RTCTrackEvent,
@@ -116,7 +122,7 @@ class RTCPeerConnection {
116122
AddTrackCallback onAddTrack;
117123
RemoveTrackCallback onRemoveTrack;
118124
RTCDataChannelCallback onDataChannel;
119-
dynamic onRenegotiationNeeded;
125+
RenegotiationNeededCallback onRenegotiationNeeded;
120126

121127
RTCSignalingState get signalingState => _signalingState;
122128

0 commit comments

Comments
 (0)
0