8000 Merge pull request #1 from wer-mathurin/cleanup · flutter-webrtc/flutter-webrtc@5e12cec · GitHub
[go: up one dir, main page]

Skip to content

Commit 5e12cec

Browse files
authored
Merge pull request #1 from wer-mathurin/cleanup
REFACTOR - Avoid code duplication
2 parents 6e6f640 + daf4d53 commit 5e12cec

File tree

1 file changed

+15
-29
lines changed

1 file changed

+15
-29
lines changed

lib/media_stream.dart

Lines changed: 15 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4,56 +4,42 @@ import 'media_stream_track.dart';
44
import 'utils.dart';
55

66
class MediaStream {
7-
MethodChannel _channel = WebRTC.methodChannel();
8-
String _streamId;
9-
String _ownerTag;
10-
List<MediaStreamTrack> _audioTracks = new List<MediaStreamTrack>();
11-
List<MediaStreamTrack> _videoTracks = new List<MediaStreamTrack>();
7+
final MethodChannel _channel = WebRTC.methodChannel();
8+
final String _streamId;
9+
final String _ownerTag;
10+
List<MediaStreamTrack> _audioTracks = List<MediaStreamTrack>();
11+
List<MediaStreamTrack> _videoTracks = List<MediaStreamTrack>();
12+
1213
MediaStream(this._streamId, this._ownerTag);
14+
1315
String get ownerTag => _ownerTag;
16+
String get id => _streamId;
1417

1518
void setMediaTracks(List<dynamic> audioTracks, List<dynamic> videoTracks) {
16-
List<MediaStreamTrack> newAudioTracks = new List();
19+
var newAudioTracks = List<MediaStreamTrack>();
1720
audioTracks.forEach((track) {
18-
newAudioTracks.add(new MediaStreamTrack(
21+
newAudioTracks.add(MediaStreamTrack(
1922
track["id"], track["label"], track["kind"], track["enabled"]));
2023
});
21-
_audioTracks = newAudioTracks;
24+
this._audioTracks = newAudioTracks;
2225

23-
List<MediaStreamTrack> newVideoTracks = new List();
26+
var newVideoTracks = List<MediaStreamTrack>();
2427
videoTracks.forEach((track) {
25-
newVideoTracks.add(new MediaStreamTrack(
28+
newVideoTracks.add(MediaStreamTrack(
2629
track["id"], track["label"], track["kind"], track["enabled"]));
2730
});
28-
_videoTracks = newVideoTracks;
31+
this._videoTracks = newVideoTracks;
2932
}
3033

3134
Future<void> getMediaTracks() async {
32-
_channel = WebRTC.methodChannel();
3335
final Map<dynamic, dynamic> response = await _channel.invokeMethod(
3436
'mediaStreamGetTracks',
3537
<String, dynamic>{'streamId': _streamId},
3638
);
3739

38-
List<dynamic> audioTracks = response['audioTracks'];
39-
40-
List<MediaStreamTrack> newAudioTracks = new List();
41-
audioTracks.forEach((track) {
42-
newAudioTracks.add(new MediaStreamTrack(
43-
track["id"], track["label"], track["kind"], track["enabled"]));
44-
});
45-
_audioTracks = newAudioTracks;
46-
47-
List<MediaStreamTrack> newVideoTracks = new List();
48-
List<dynamic> videoTracks = response['videoTracks'];
49-
videoTracks.forEach((track) {
50-
newVideoTracks.add(new MediaStreamTrack(
51-
track["id"], track["label"], track["kind"], track["enabled"]));
52-
});
53-
_videoTracks = newVideoTracks;
40+
setMediaTracks(response['audioTracks'], response['videoTracks']);
5441
}
5542

56-
String get id => _streamId;
5743
Future<void> addTrack(MediaStreamTrack track,
5844
{bool addToNative = true}) async {
5945
if (track.kind == 'audio')

0 commit comments

Comments
 (0)
0