Nagra Conax Contego
This article describes how to configure Conax DRM with THEOplayer.
Head to our page on DRM for more general information.
SDKs
| Web SDK | Android SDK | iOS SDK | tvOS SDK | Android TV SDK | Chromecast SDK | 
|---|---|---|---|---|---|
| Yes | Yes | Unverified | Unverified | Yes | Yes | 
Code examples
Web SDK
if (HLS) {
  if (CLASSIC_MODEL) {
    let drmConfiguration = {
      integration: 'conax',
      token: '<CONAX_TOKEN>',
      deviceId: '<DEVICE_ID>',
      fairplay: {
        licenseAcquisitionURL: '<LICENSE_KEY_URL_FAIRPLAY>',
        certificateURL: 'CERTIFICATE_URL>',
      },
    };
    player.source = {
      sources: {
        src: '<HLS_STREAM_URL>',
        type: 'application/x-mpegurl',
        contentProtection: drmConfiguration,
      },
    };
  } else if (UPFRONT_MODEL) {
    let drmConfiguration = {
      integration: 'conax',
      fairplay: {
        licenseAcquisitionURL: '<LICENSE_KEY_URL_FAIRPLAY>',
        certificateURL: 'CERTIFICATE_URL>',
      },
      headers: {
        PreAuthorization: '<CONAX_PREAUTHORIZATION_TOKEN>',
      },
    };
    player.source = {
      sources: {
        src: '<HLS_STREAM_URL>',
        type: 'application/x-mpegurl',
        contentProtection: drmConfiguration,
      },
    };
  } else {
    // player throws an Invalid Conax configuration error
  }
} else if (DASH) {
  let drmConfiguration = {
    integration: 'conax',
    token: '<CONAX_TOKEN>',
    deviceId: '<DEVICE_ID>',
    playready: {
      licenseAcquisitionURL: '<LICENSE_KEY_URL_PLAYREADY>',
    },
    widevine: {
      licenseAcquisitionURL: '<LICENSE_KEY_URL_WIDEVINE>',
    },
  };
  player.source = {
    sources: {
      src: '<DASH_STREAM_URL>',
      type: 'application/dash+xml',
      contentProtection: drmConfiguration,
    },
  };
}
Android SDK
DRMConfiguration drmConfiguration = ConaxDRMConfiguration.Builder.conaxDrm("<DEVICE_ID>", "<CONAX_TOKEN>")
    .widevine(
        new KeySystemConfiguration(
            "<LICENSE_KEY_URL_WIDEVINE>"
        )
    )
    .build();
TypedSource typedSource = new TypedSource.Builder()
    .src("<DASH_STREAM_URL>")
    .drm(drmConfiguration)
    .build();
SourceDescription sourceDescription = SourceDescription.Builder.sourceDescription()
    .sources(typedSource)
    .build();
theoplayer.getPlayer().setSource(sourceDescription);