8000 Improve web code. · next-coder/flutter-webrtc@05eeda5 · GitHub
[go: up one dir, main page]

Skip to content

Commit 05eeda5

Browse files
committed
Improve web code.
1 parent bc141f4 commit 05eeda5

File tree

4 files changed

+17
-19
lines changed

4 files changed

+17
-19
lines changed

lib/src/interface/media_stream_track.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ abstract class MediaStreamTrack {
88
StreamTrackCallback onMute;
99

1010
bool get enabled;
11+
1112
set enabled(bool b);
1213

1314
String get label;
@@ -31,9 +32,8 @@ abstract class MediaStreamTrack {
3132
Future<dynamic> captureFrame([String filePath]);
3233

3334
Future<bool> hasTorch();
35+
3436
Future<void> setTorch(bool torch);
3537

36-
Future<void> dispose() {
37-
return Future.value();
38-
}
38+
Future<void> dispose();
3939
}

lib/src/web/media_stream_impl.dart

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -37,30 +37,27 @@ class MediaStreamWeb extends MediaStream {
3737
3838
@override
3939
List<MediaStreamTrack> getAudioTracks() {
40-
jsStream.getAudioTracks().forEach((jsTrack) => _audioTracks.putIfAbsent(
41-
jsTrack.id,
42-
() => MediaStreamTrackWeb(jsTrack),
43-
));
44-
45-
return _audioTracks.values.toList();
40+
var audioTracks = <MediaStreamTrack>[];
41+
jsStream
42+
.getAudioTracks()
43+
.forEach((jsTrack) => audioTracks.add(MediaStreamTrackWeb(jsTrack)));
44+
return audioTracks;
4645
}
4746

4847
@override
4948
List<MediaStreamTrack> getVideoTracks() {
50-
jsStream.getVideoTracks().forEach((jsTrack) => _videoTracks.putIfAbsent(
51-
jsTrack.id,
52-
() => MediaStreamTrackWeb(jsTrack),
53-
));
54-
55-
return _videoTracks.values.toList();
49+
var audioTracks = <MediaStreamTrack>[];
50+
jsStream
51+
.getVideoTracks()
52+
.forEach((jsTrack) => audioTracks.add(MediaStreamTrackWeb(jsTrack)));
53+
return audioTracks;
5654
}
5755

5856
@override
5957
Future<void> dispose() async {
6058
getTracks().forEach((element) {
6159
element.dispose();
6260
});
63-
6461
return super.dispose();
6562
}
6663

lib/src/web/media_stream_track_impl.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,8 @@ class MediaStreamTrackWeb extends MediaStreamTrack {
7878
}
7979

8080
@override
81-
Future<void> dispose() {
81+
Future<void> dispose() async {
8282
jsTrack.stop();
83-
return super.dispose();
8483
}
8584

8685
@override

lib/src/web/rtc_video_view_impl.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@ class _RTCVideoViewState extends State<RTCVideoView> {
2828
@override
2929
void initState() {
3030
super.initState();
31-
widget._renderer?.delegate?.addListener(() => setState(() {}));
31+
widget._renderer?.delegate?.addListener(() {
32+
if (mounted) setState(() {});
33+
});
3234
}
3335

3436
Widget buildVideoElementView(RTCVideoViewObjectFit objFit, bool mirror) {

0 commit comments

Comments
 (0)
0