toFlutterSourceDescription function

SourceDescription? toFlutterSourceDescription(
  1. SourceDescription? sourceDescription
)

Implementation

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

  List<PlatformInterface.PigeonTypedSource> 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.PigeonTypedSource(
            src: typedSource.src,
            type: typedSource.type,
            drm: PlatformInterface.DRMConfiguration(fairplay: fairPlayDRMConfiguration, widevine: widevineDRMConfiguration)
        )
    );
  }

  return PlatformInterface.SourceDescription(sources: typedSources);
}