toFlutterSourceDescription function

SourceDescription? toFlutterSourceDescription(
  1. SourceDescription? sourceDescription
)

Implementation

PlatformInterface.SourceDescription? toFlutterSourceDescription(SourceDescription? sourceDescription) {
  if (sourceDescription == null) {
    return null;
  }

  List<PlatformInterface.TypedSourcePigeon> typedSources = [];
  final sources = sourceDescription.sources;
  for (var i = 0; i < sources.getLength(); i++) {
    final typedSource = sources.getItem(i) as TypedSource;
    PlatformInterface.FairPlayDRMConfiguration? fairPlayDRMConfiguration;
    FairplayContentProtectionConfiguration? fairplay = typedSource.contentProtection?.fairplay;
    if (fairplay != null) {
      fairPlayDRMConfiguration = PlatformInterface.FairPlayDRMConfiguration(licenseAcquisitionURL: fairplay.licenseAcquisitionURL, certificateURL: fairplay.certificateURL);
    }

    PlatformInterface.WidevineDRMConfiguration? widevineDRMConfiguration;
    WidevineContentProtectionConfiguration? widevine = typedSource.contentProtection?.widevine;
    if (widevine != null) {
      widevineDRMConfiguration = PlatformInterface.WidevineDRMConfiguration(licenseAcquisitionURL: widevine.licenseAcquisitionURL);
    }

    typedSources.add(PlatformInterface.TypedSourcePigeon(
        src: typedSource.src, type: typedSource.type, drm: PlatformInterface.DRMConfiguration(fairplay: fairPlayDRMConfiguration, widevine: widevineDRMConfiguration)));
  }

  return PlatformInterface.SourceDescription(sources: typedSources);
}