File tree 4 files changed +17
-19
lines changed
4 files changed +17
-19
lines changed Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ abstract class MediaStreamTrack {
8
8
StreamTrackCallback onMute;
9
9
10
10
bool get enabled;
11
+
11
12
set enabled (bool b);
12
13
13
14
String get label;
@@ -31,9 +32,8 @@ abstract class MediaStreamTrack {
31
32
Future <dynamic > captureFrame ([String filePath]);
32
33
33
34
Future <bool > hasTorch ();
35
+
34
36
Future <void > setTorch (bool torch);
35
37
36
- Future <void > dispose () {
37
- return Future .value ();
38
- }
38
+ Future <void > dispose ();
39
39
}
Original file line number Diff line number Diff line change @@ -37,30 +37,27 @@ class MediaStreamWeb extends MediaStream {
37
37
38
38
@override
39
39
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;
46
45
}
47
46
48
47
@override
49
48
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;
56
54
}
57
55
58
56
@override
59
57
Future <void > dispose () async {
60
58
getTracks ().forEach ((element) {
61
59
element.dispose ();
62
60
});
63
-
64
61
return super .dispose ();
65
62
}
66
63
Original file line number Diff line number Diff line change @@ -78,9 +78,8 @@ class MediaStreamTrackWeb extends MediaStreamTrack {
78
78
}
79
79
80
80
@override
81
- Future <void > dispose () {
81
+ Future <void > dispose () async {
82
82
jsTrack.stop ();
83
- return super .dispose ();
84
83
}
85
84
86
85
@override
Original file line number Diff line number Diff line change @@ -28,7 +28,9 @@ class _RTCVideoViewState extends State<RTCVideoView> {
28
28
@override
29
29
void initState () {
30
30
super .initState ();
31
- widget._renderer? .delegate? .addListener (() => setState (() {}));
31
+ widget._renderer? .delegate? .addListener (() {
32
+ if (mounted) setState (() {});
33
+ });
32
34
}
33
35
34
36
Widget buildVideoElementView (RTCVideoViewObjectFit objFit, bool mirror) {
You can’t perform that action at this time.
0 commit comments