iOS screen share (#133)

This commit is contained in:
davidliu
2022-07-10 22:43:20 +09:00
committed by GitHub
parent bcfea1e625
commit 531cbd1676
16 changed files with 838 additions and 21 deletions
+17 -1
View File
@@ -1,3 +1,5 @@
import 'dart:io';
import 'package:flutter/foundation.dart' show kIsWeb;
import '../track/local/audio.dart';
@@ -74,12 +76,26 @@ class CameraCaptureOptions extends VideoCaptureOptions {
/// Options used when creating a [LocalVideoTrack] that captures the screen.
class ScreenShareCaptureOptions extends VideoCaptureOptions {
final bool useiOSBroadcastExtension;
const ScreenShareCaptureOptions({
this.useiOSBroadcastExtension = false,
VideoParameters params = VideoParametersPresets.screenShareH720FPS15,
}) : super(params: params);
ScreenShareCaptureOptions.from({required VideoCaptureOptions captureOptions})
ScreenShareCaptureOptions.from(
{this.useiOSBroadcastExtension = false,
required VideoCaptureOptions captureOptions})
: super(params: captureOptions.params);
@override
Map<String, dynamic> toMediaConstraintsMap() {
var constraints = super.toMediaConstraintsMap();
if (useiOSBroadcastExtension && Platform.isIOS) {
constraints['deviceId'] = 'broadcast';
}
return constraints;
}
}
/// Base class for track options.