Skip to content

Commit 3a0279f

Browse files
authored
Merge branch 'main' into remove_js_util
2 parents f8ebe14 + 4f06b3a commit 3a0279f

10 files changed

+123
-116
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
--------------------------------------------
44

5+
[1.4.10] - 2024-012-16
6+
7+
* fix compiler errors.
8+
59
[1.4.9] - 2024-09-04
610

711
* bump web version to 1.0.0.

analysis_options.yaml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,4 @@ analyzer:
3939
todo: ignore
4040
# allow self-reference to deprecated members (we do this because otherwise we have
4141
# to annotate every member in every test, assert, etc, when we deprecate something)
42-
deprecated_member_use_from_same_package: ignore
43-
# Ignore analyzer hints for updating pubspecs when using Future or
44-
# Stream and not importing dart:async
45-
# Please see https://github.com/flutter/flutter/pull/24528 for details.
46-
sdk_version_async_exported_from_core: ignore
42+
deprecated_member_use_from_same_package: ignore

lib/src/e2ee.worker/e2ee.cryptor.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import 'dart:typed_data';
66

77
import 'package:js/js.dart';
88
import 'package:web/web.dart' as web;
9-
109
import 'e2ee.keyhandler.dart';
1110
import 'e2ee.logger.dart';
1211
import 'e2ee.sfi_guard.dart';

lib/src/e2ee.worker/e2ee.worker.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import 'dart:typed_data';
66
import 'package:collection/collection.dart';
77
import 'package:logging/logging.dart';
88
import 'package:web/web.dart' as web;
9-
109
import 'e2ee.cryptor.dart';
1110
import 'e2ee.keyhandler.dart';
1211
import 'e2ee.logger.dart';

lib/src/media_stream_track_impl.dart

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,21 @@ import 'utils.dart';
99

1010
class MediaStreamTrackWeb extends MediaStreamTrack {
1111
MediaStreamTrackWeb(this.jsTrack) {
12-
if (onEnded != null) {
13-
void Function(JSAny) onEndedCallback = (event) => onEnded?.call();
14-
jsTrack.addEventListener('ended', onEndedCallback.toJS);
15-
}
16-
if (onMute != null) {
17-
void Function(JSAny) onMuteCallback = (event) => onMute?.call();
18-
jsTrack.addEventListener('mute', onMuteCallback.toJS);
19-
}
20-
if (onUnMute != null) {
21-
void Function(JSAny) onUnmuteCallback = (event) => onUnMute?.call();
22-
jsTrack.addEventListener('unmute', onUnmuteCallback.toJS);
23-
}
12+
jsTrack.addEventListener(
13+
'ended',
14+
(web.Event event) {
15+
onEnded?.call();
16+
}.toJS);
17+
jsTrack.addEventListener(
18+
'mute',
19+
(web.Event event) {
20+
onMute?.call();
21+
}.toJS);
22+
jsTrack.addEventListener(
23+
'unmute',
24+
(web.Event event) {
25+
onUnMute?.call();
26+
}.toJS);
2427
}
2528

2629
final web.MediaStreamTrack jsTrack;

lib/src/rtc_data_channel_impl.dart

Lines changed: 31 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -8,33 +8,37 @@ class RTCDataChannelWeb extends RTCDataChannel {
88
RTCDataChannelWeb(this._jsDc) {
99
stateChangeStream = _stateChangeController.stream;
1010
messageStream = _messageController.stream;
11-
final void Function(JSAny) onClose = (_) {
12-
_state = RTCDataChannelState.RTCDataChannelClosed;
13-
_stateChangeController.add(_state);
14-
onDataChannelState?.call(_state);
15-
};
16-
17-
final void Function(JSAny) onOpen = (_) {
18-
_state = RTCDataChannelState.RTCDataChannelOpen;
19-
_stateChangeController.add(_state);
20-
onDataChannelState?.call(_state);
21-
};
22-
23-
final void Function(web.MessageEvent event) onMessageCb =
24-
(web.MessageEvent event) async {
25-
var msg = await _parse(event.data);
26-
_messageController.add(msg);
27-
onMessage?.call(msg);
28-
};
29-
30-
final void Function(JSAny) toLow = (_) {
31-
onBufferedAmountLow?.call(bufferedAmount ?? 0);
32-
};
33-
34-
_jsDc.addEventListener('close', onClose.toJS, false.toJS);
35-
_jsDc.addEventListener('open', onOpen.toJS, false.toJS);
36-
_jsDc.addEventListener('message', onMessageCb.toJS, false.toJS);
37-
_jsDc.addEventListener('bufferedamountlow', toLow.toJS, false.toJS);
11+
_jsDc.addEventListener(
12+
'close',
13+
(web.Event _) {
14+
_state = RTCDataChannelState.RTCDataChannelClosed;
15+
_stateChangeController.add(_state);
16+
onDataChannelState?.call(_state);
17+
}.toJS,
18+
false.toJS);
19+
_jsDc.addEventListener(
20+
'open',
21+
(web.Event _) {
22+
_state = RTCDataChannelState.RTCDataChannelOpen;
23+
_stateChangeController.add(_state);
24+
onDataChannelState?.call(_state);
25+
}.toJS,
26+
false.toJS);
27+
_jsDc.addEventListener(
28+
'message',
29+
(web.MessageEvent event) {
30+
_parse(event.data).then((msg) {
31+
_messageController.add(msg);
32+
onMessage?.call(msg);
33+
});
34+
}.toJS,
35+
false.toJS);
36+
_jsDc.addEventListener(
37+
'bufferedamountlow',
38+
(web.Event _) {
39+
onBufferedAmountLow?.call(bufferedAmount ?? 0);
40+
}.toJS,
41+
false.toJS);
3842
}
3943

4044
final web.RTCDataChannel _jsDc;

lib/src/rtc_peerconnection_impl.dart

Lines changed: 69 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ import 'dart:js_interop';
44
import 'package:dart_webrtc/dart_webrtc.dart';
55
import 'package:platform_detect/platform_detect.dart';
66
import 'package:web/web.dart' as web;
7+
import 'package:webrtc_interface/webrtc_interface.dart';
78

9+
import 'media_stream_impl.dart';
810
import 'media_stream_track_impl.dart';
911
import 'rtc_data_channel_impl.dart';
1012
import 'rtc_dtmf_sender_impl.dart';
@@ -21,90 +23,90 @@ extension on web.RTCDataChannelInit {
2123
*/
2224
class RTCPeerConnectionWeb extends RTCPeerConnection {
2325
RTCPeerConnectionWeb(this._peerConnectionId, this._jsPc) {
24-
final void Function(web.RTCDataChannelEvent) toDataChannel =
26+
_jsPc.addEventListener(
27+
'datachannel',
2528
(web.RTCDataChannelEvent dataChannelEvent) {
26-
if (dataChannelEvent.channel != null) {
27-
onDataChannel?.call(RTCDataChannelWeb(dataChannelEvent.channel!));
28-
}
29-
};
29+
onDataChannel?.call(RTCDataChannelWeb(dataChannelEvent.channel));
30+
}.toJS);
3031

31-
final void Function(web.RTCPeerConnectionIceEvent) onIceCandidateCb =
32+
_jsPc.addEventListener(
33+
'icecandidate',
3234
(web.RTCPeerConnectionIceEvent iceEvent) {
33-
if (iceEvent.candidate != null) {
34-
onIceCandidate?.call(_iceFromJs(iceEvent.candidate!));
35-
}
36-
};
37-
38-
_jsPc.addEventListener('datachannel', toDataChannel.toJS);
39-
40-
_jsPc.addEventListener('icecandidate', onIceCandidateCb.toJS);
41-
42-
void Function(JSAny) onIceConnectionStateChange = (_) {
43-
_iceConnectionState =
44-
iceConnectionStateForString(_jsPc.iceConnectionState);
45-
onIceConnectionState?.call(_iceConnectionState!);
46-
47-
if (browser.isFirefox) {
48-
switch (_iceConnectionState!) {
49-
case RTCIceConnectionState.RTCIceConnectionStateNew:
50-
_connectionState = RTCPeerConnectionState.RTCPeerConnectionStateNew;
51-
break;
52-
case RTCIceConnectionState.RTCIceConnectionStateChecking:
53-
_connectionState =
54-
RTCPeerConnectionState.RTCPeerConnectionStateConnecting;
55-
break;
56-
case RTCIceConnectionState.RTCIceConnectionStateConnected:
57-
_connectionState =
58-
RTCPeerConnectionState.RTCPeerConnectionStateConnected;
59-
break;
60-
case RTCIceConnectionState.RTCIceConnectionStateFailed:
61-
_connectionState =
62-
RTCPeerConnectionState.RTCPeerConnectionStateFailed;
63-
break;
64-
case RTCIceConnectionState.RTCIceConnectionStateDisconnected:
65-
_connectionState =
66-
RTCPeerConnectionState.RTCPeerConnectionStateDisconnected;
67-
break;
68-
case RTCIceConnectionState.RTCIceConnectionStateClosed:
69-
_connectionState =
70-
RTCPeerConnectionState.RTCPeerConnectionStateClosed;
71-
break;
72-
default:
73-
break;
74-
}
75-
onConnectionState?.call(_connectionState!);
76-
}
77-
};
35+
if (iceEvent.candidate != null) {
36+
onIceCandidate?.call(_iceFromJs(iceEvent.candidate!));
37+
}
38+
}.toJS);
7839

7940
_jsPc.addEventListener(
80-
'iceconnectionstatechange', onIceConnectionStateChange.toJS);
81-
82-
void Function(JSAny) onIceGatheringStateChange = (_) {
41+
'iceconnectionstatechange',
42+
(web.Event _) {
43+
_iceConnectionState =
44+
iceConnectionStateForString(_jsPc.iceConnectionState);
45+
onIceConnectionState?.call(_iceConnectionState!);
46+
47+
if (browser.isFirefox) {
48+
switch (_iceConnectionState!) {
49+
case RTCIceConnectionState.RTCIceConnectionStateNew:
50+
_connectionState =
51+
RTCPeerConnectionState.RTCPeerConnectionStateNew;
52+
break;
53+
case RTCIceConnectionState.RTCIceConnectionStateChecking:
54+
_connectionState =
55+
RTCPeerConnectionState.RTCPeerConnectionStateConnecting;
56+
break;
57+
case RTCIceConnectionState.RTCIceConnectionStateConnected:
58+
_connectionState =
59+
RTCPeerConnectionState.RTCPeerConnectionStateConnected;
60+
break;
61+
case RTCIceConnectionState.RTCIceConnectionStateFailed:
62+
_connectionState =
63+
RTCPeerConnectionState.RTCPeerConnectionStateFailed;
64+
break;
65+
case RTCIceConnectionState.RTCIceConnectionStateDisconnected:
66+
_connectionState =
67+
RTCPeerConnectionState.RTCPeerConnectionStateDisconnected;
68+
break;
69+
case RTCIceConnectionState.RTCIceConnectionStateClosed:
70+
_connectionState =
71+
RTCPeerConnectionState.RTCPeerConnectionStateClosed;
72+
break;
73+
default:
74+
break;
75+
}
76+
onConnectionState?.call(_connectionState!);
77+
}
78+
}.toJS);
79+
80+
jsutil.setProperty(_jsPc, 'onicegatheringstatechange', js.allowInterop((_) {
8381
_iceGatheringState = iceGatheringStateforString(_jsPc.iceGatheringState);
8482
onIceGatheringState?.call(_iceGatheringState!);
8583
};
86-
87-
_jsPc.onicegatheringstatechange = onIceGatheringStateChange.toJS;
88-
89-
void Function(JSAny) onSignalingStateChange = (_) {
90-
_signalingState = signalingStateForString(_jsPc.signalingState);
91-
onSignalingState?.call(_signalingState!);
92-
};
93-
94-
_jsPc.addEventListener('signalingstatechange', onSignalingStateChange.toJS);
84+
_jsPc.addEventListener(
85+
'signalingstatechange',
86+
(web.Event _) {
87+
_signalingState = signalingStateForString(_jsPc.signalingState);
88+
onSignalingState?.call(_signalingState!);
89+
}.toJS);
9590

9691
if (!browser.isFirefox) {
9792
final void Function(JSAny) onConnectionStateChange = (_) {
9893
_connectionState = peerConnectionStateForString(_jsPc.connectionState);
9994
onConnectionState?.call(_connectionState!);
10095
};
10196
_jsPc.addEventListener(
102-
'connectionstatechange', onConnectionStateChange.toJS);
97+
'connectionstatechange',
98+
(web.Event _) {
99+
_connectionState =
100+
peerConnectionStateForString(_jsPc.connectionState);
101+
onConnectionState?.call(_connectionState!);
102+
}.toJS);
103103
}
104104

105-
void Function(JSAny) onNegotationNeeded = (_) {
106-
onRenegotiationNeeded?.call();
107-
};
105+
_jsPc.addEventListener(
106+
'negotiationneeded',
107+
(web.Event _) {
108+
onRenegotiationNeeded?.call();
109+
}.toJS);
108110

109111
_jsPc.addEventListener('negotiationneeded', onNegotationNeeded.toJS);
110112

lib/src/rtc_rtp_sender_impl.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import 'dart:js_interop_unsafe';
55
import 'package:web/web.dart' as web;
66
import 'package:webrtc_interface/webrtc_interface.dart';
77

8-
import 'package:dart_webrtc/src/media_stream_impl.dart';
8+
import 'media_stream_impl.dart';
99
import 'media_stream_track_impl.dart';
1010
import 'rtc_dtmf_sender_impl.dart';
1111
import 'rtc_rtp_parameters_impl.dart';

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: dart_webrtc
22
description: Use the dart/js library to re-wrap the webrtc js interface of the browser, to adapted common browsers.
3-
version: 1.4.9
3+
version: 1.4.10
44
homepage: https://github.com/flutter-webrtc/dart-webrtc
55

66
environment:

web/main.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ void loopBackTest() async {
181181
.toList());
182182
}
183183
});
184-
184+
*/
185185
await pc1.createDataChannel(
186186
'label', RTCDataChannelInit()..binaryType = 'binary');
187187
var offer = await pc1.createOffer();

0 commit comments

Comments
 (0)