startStreamSession method

  1. @override
Future<int> startStreamSession(
  1. String? deviceUUID, {
  2. double fps = 30.0,
  3. StreamQuality streamQuality = StreamQuality.high,
})
override

Starts a stream session. Returns a texture ID (int) for rendering via the Flutter Texture widget (zero-copy path).

Implementation

@override
Future<int> startStreamSession(
  String? deviceUUID, {
  double fps = 30.0,
  StreamQuality streamQuality = StreamQuality.high,
}) async {
  final args = <String, dynamic>{
    'fps': fps,
    'streamQuality': streamQuality.value,
  };
  if (deviceUUID != null) {
    args['deviceUUID'] = deviceUUID;
  }
  final textureId = await methodChannel.invokeMethod<int>(
    'startStreamSession',
    args,
  );
  if (textureId == null) {
    throw PlatformException(
      code: 'TEXTURE_REGISTRATION_FAILED',
      message: 'Failed to register a Flutter texture for video streaming.',
    );
  }
  return textureId;
}