create method

  1. @override
Future<int?> create(
  1. DataSource dataSource
)
override

Creates an instance of a video player and returns its textureId.

Implementation

@override
Future<int?> create(DataSource dataSource) async {
  String? asset;
  String? packageName;
  String? uri;
  String? formatHint;
  Map<String, String> httpHeaders = <String, String>{};
  switch (dataSource.sourceType) {
    case DataSourceType.asset:
      asset = dataSource.asset;
      packageName = dataSource.package;
    case DataSourceType.network:
      uri = dataSource.uri;
      formatHint = _videoFormatStringMap[dataSource.formatHint];
      httpHeaders = dataSource.httpHeaders;
    case DataSourceType.file:
      uri = dataSource.uri;
    case DataSourceType.contentUri:
      uri = dataSource.uri;
  }
  final CreationOptions options = CreationOptions(
    asset: asset,
    packageName: packageName,
    uri: uri,
    httpHeaders: httpHeaders,
    formatHint: formatHint,
  );

  return _api.create(options);
}