8000 Merge pull request #20 from rostopira/patch-2 · CodeStrings/flutter-webrtc@1c52110 · GitHub
[go: up one dir, main page]

Skip to content

Commit 1c52110

Browse files
authored
Merge pull request flutter-webrtc#20 from rostopira/patch-2
"mediaStreamGetTracks" implementation for Android
2 parents 194c528 + 8f8aa0e commit 1c52110

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed

android/src/main/java/com/cloudwebrtc/webrtc/FlutterWebRTCPlugin.java

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,36 @@ public void onMethodCall(MethodCall call, Result result) {
129129
} else if (call.method.equals("mediaStreamGetTracks")) {
130130
String streamId = call.argument("streamId");
131131
MediaStream stream = getStreamForId(streamId);
132-
//TODO: build tracks map.
132+
String streamId = call.argument("streamId");
133+
MediaStream stream = getStreamForId(streamId);
134+
Map<String, Object> resultMap = new HashMap<>();
135+
List<Object> audioTracks = new ArrayList<>();
136+
List<Object> videoTracks = new ArrayList<>();
137+
for (AudioTrack track : stream.audioTracks) {
138+
localTracks.put(track.id(), track);
139+
Map<String, Object> trackMap = new HashMap<>();
140+
trackMap.put("enabled", track.enabled());
141+
trackMap.put("id", track.id());
142+
trackMap.put("kind", track.kind());
143+
trackMap.put("label", track.id());
144+
trackMap.put("readyState", "live");
145+
trackMap.put("remote", false);
146+
audioTracks.add(trackMap);
147+
}
148+
for (VideoTrack track : stream.videoTracks) {
149+
localTracks.put(track.id(), track);
150+
Map<String, Object> trackMap = new HashMap<>();
151+
trackMap.put("enabled", track.enabled());
152+
trackMap.put("id", track.id());
153+
trackMap.put("kind", track.kind());
154+
trackMap.put("label", track.id());
155+
trackMap.put("readyState", "live");
156+
trackMap.put("remote", false);
157+
videoTracks.add(trackMap);
158+
}
159+
resultMap.put("audioTracks", audioTracks);
160+
resultMap.put("videoTracks", videoTracks);
161+
result.success(resultMap);
133162
} else if (call.method.equals("addStream")) {
134163
String streamId = call.argument("streamId");
135164
String peerConnectionId = call.argument("peerConnectionId");

0 commit comments

Comments
 (0)
0