8000 update. · model-lib/flutter-webrtc@656dee2 · GitHub
[go: up one dir, main page]

Skip to content

Commit 656dee2

Browse files
committed
update.
1 parent a07b46c commit 656dee2

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed

lib/web/get_user_media.dart

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,24 @@ class navigator {
2424
static Future<MediaStream> getDisplayMedia(
2525
Map<String, dynamic> mediaConstraints) async {
2626
final nav = HTML.window.navigator;
27-
final mediaDevices = nav.mediaDevices;
28-
final jsMediaDevices = JS.JsObject.fromBrowserObject(mediaDevices);
29-
if (jsMediaDevices.hasProperty(getDisplayMedia)) {
27+
final jsMediaDevices =
28+
JS.JsObject.fromBrowserObject(JS.context['navigator']['mediaDevices']);
29+
if (jsMediaDevices.hasProperty("getDisplayMedia")) {
3030
final JS.JsObject arg = JS.JsObject.jsify({"video": true});
31-
JS.JsObject getDisplayMediaPromise =
31+
JS.JsObject jsPromise =
3232
jsMediaDevices.callMethod('getDisplayMedia', [arg]);
33-
final HTML.MediaStream jsStream =
34-
await HTML.promiseToFuture(getDisplayMediaPromise);
35-
return MediaStream(jsStream);
33+
var completer = new Completer<MediaStream>();
34+
jsPromise.callMethod('then', [
35+
(r) {
36+
completer.complete(MediaStream(r as HTML.MediaStream));
37+
}
38+
]);
39+
jsPromise.callMethod('catch', [
40+
(e) {
41+
completer.completeError(e);
42+
}
43+
]);
44+
return completer.future;
3645
} else {
3746
final HTML.MediaStream jsStream = await nav.getUserMedia(
3847
video: {"mediaSource": 'screen'},

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,4 @@ platforms:
2424
pluginClass: FlutterWebRTCPlugin
2525
web:
2626
pluginClass: FlutterWebRTCPlugin
27-
fileName: lib/web_plugin.dart
27+
fileName: lib/web/web_plugin.dart

0 commit comments

Comments
 (0)
0