View a markdown version of this page

SPEKE API v2.1 - Changes from SPEKE v2.0 - Secure Packager and Encoder Key Exchange API Specification

SPEKE API v2.1 - Changes from SPEKE v2.0

SPEKE v2.1 introduces the following changes compared to SPEKE v2.0. Except for these changes, SPEKE v2.1 behaves identically to SPEKE v2.0.

  • CPIX 2.4 alignment. SPEKE v2.1 aligns with the CPIX 2.4 specification. The encryptor sends X-Speke-Version value 2.1 and CPIX@version value 2.4.

  • Content key period start and end times. The encryptor can signal the time interval that a <cpix:ContentKeyPeriod> covers, in addition to the @index. For Live content, it uses the @start and @end attributes; for VOD content, it uses the @startOffset and @endOffset attributes. For more information, see Standard payload components.

  • Common encryption scheme values. The set of allowed ContentKey@commonEncryptionScheme values is extended. In addition to the Common Encryption protection scheme names, the value can be one of the encryption methods defined in the HTTP Live Streaming (HLS) specification. For more information, see Standard payload components.

  • HDCP signaling. The key provider can return HDCP output protection information for a content key, using the <cpix:HDCPData> element. For more information, see HDCP signaling.

  • Expected DRM robustness and content protection level. The key provider can announce the expected robustness or content protection level for a DRM system. For DASH, it uses the @robustness attribute of the <cpix:ContentProtectionData> element. For HLS, it uses the @HLSAllowedCPC attribute of the <cpix:DRMSystem> element, which sets the ALLOWED-CPC attribute of the EXT-X-STREAM-INF tag in the HLS multivariant playlist. For more information, see Standard payload components.