Get desktop application:
View/edit binary Protocol Buffers messages
An identifier supplied by a content provider, used to identify a piece of content and derive key IDs and content keys.
A policy name that refers to a stored policy in Widevine service.
Indicates the drm system types whose PSSH should be generated. An empty list implies [ WIDEVINE ].
Optional starting period, if multiple keys are being requested for content that will rotate keys.
Optional count of periods to return keys for, starting with first_crypto_period_index. If this count is set, then first_crypto_period_index must be provided in the request as well.
'pssh' box data which can be used in lieu of the content_id field in order to request keys for Widevine CENC content.
Widevine asset ID which can be used in lieu of the content_id field in order to request keys for Widevine "Classic" packaged content.
Optional value which can be used to indicate a group. If present the CommonEncryptionResponse will contain pssh data belonging to this group.
Optional value representing the duration of each crypto period in seconds.
Protection scheme identifying the encryption algorithm. The protection scheme is represented as a uint32 value. The uint32 contains 4 bytes each representing a single ascii character in one of the 4CC protection scheme values. The protection scheme to set in the generated 'pssh' box data. This protection scheme value may be encoded into the content. If the protection scheme is available in the content, it will supercede this value.
Enable entitlement license if set to true.
Video feature identifier, which is used in conjunction with |content_id| to derive key IDs and content keys. For example, it can be used to generate different keys for HDR and SDR. The value is propagated to PSSH. Ignored for tracks with type “AUDIO”. Current values are "HDR".
Used in:
Defaults to 'cenc'
'cenc' (AES-CTR) = 0x63656E63
'cbc1' (AES-CBC) = 0x63626331
'cens' (AES-CTR subsample) =
0x63656E73
'cbcs' (AES-CBC subsample) = 0x63626373
A list of tracks whose PSSHes and keys should be returned.
Used in:
The content_id associated with the response. The content_id is either the content_id from the request or from the PSSH in the request.
A list of DRM systems whose PSSH is returned.
Used in:
The DRM system, e.g. widevine or playready.
Registered system Id for the DRM system.
Indicates the result of the operation.
Used in:
A list of tracks and their PSSH and key data. If crypto_period_count was given in the request, then there will be a separate Track message in the response for each period.
Used in:
Track type. SD, HD, UHD1, UHD2 or AUDIO.
Used in:
Contains only PSSH data, i.e. no PSSH box header. Can be omitted if |boxes| is present. This field should become deprecated as it may not be populated when entitlement licenses become more widely used.
Contains full PSSH boxes (there can be more than one PSSH box). Always populated.
Note that DASH IOP v3.0 explicitly mentions that a segment should only have one {video, audio, text} track.
This is set if the content is protected with a content protection, i.e. encrypted.
This is the reference time scale if there are multiple VideoInfo and/or AudioInfo.
VOD only.
END VOD only.
VOD and static LIVE.
LIVE only.
This value is the user input “segment duration”. This value is not necessarily the same as the value passed to MpdNotifier::NotifyNewSegment().
END LIVE only.
URL fields for the corresponding file_name fields above. The file names are adjusted to be relative to DASH MPD or HLS media playlist, or with base url prepended.
HLS only. Defines CHARACTERISTICS attribute of the stream.
DASH only. Defines Accessibility elements of the stream. It should be in the format: scheme_id_uri=value.
DASH only. Defines Role elements of the stream. The value can be a valid Role value defined in "urn:mpeg:dash:role:2011" scheme or in the format: scheme_id_uri=value (to be implemented).
LOW LATENCY DASH only. Defines the availabilityTimeOffset in seconds. Equal to the segment time minus the chunk duration.
LOW LATENCY DASH only. Defines the segment duration with respect to the reference time scale. Equal to the target segment duration times the reference time scale.
Marks stream as a Forced Narrative subtitle stream, indicated using forced-subtitle role in DASH and FORCED=YES in HLS
stream index for consistent ordering of streams
DASH only. Label element.
Used in:
EC3 Channel map bit fields, encoded based on ETSI TS 102 366 V1.3.1 Digital Audio Compression (AC-3, Enhanced AC-3) Standard E.1.3.1.8. Or AC4 Channel mask bit fields, encoded based on ETSI TS 103 190-2 V1.2.1 Digital Audio Compression (AC-4) Standard; Part 2: Immersive and personalized audio E.10.14.
EC3 Channel configuration descriptor with MPEG scheme fields, encoded based on ETSI TS 102 366 V1.4.1 Digital Audio Compression (AC-3, Enhanced AC-3) Standard I.1.2.1. Or AC4 Channel configuration descriptor with MPEG scheme fields, encoded based on ETSI TS 103 190-2 V1.2.1 Digital Audio Compression (AC-4) Standard; Part 2: Immersive and personalized audio G.3.2.
Dolby Digital Plus JOC decoding complexity fields, ETSI TS 103 420 v1.2.1 Backwards-compatible object audio carriage using Enhanced AC-3 Standard C.3.2.3.
AC4 Immersive stereo flag field, based on Dolby AC-4 in MPEG-DASH for Online Delivery Specification 2.5.3. https://developer.dolby.com/tools-media/online-delivery-kits/dolby-ac-4/
AC4 Channel-based audio (CBI) flag field, encoded based on ETSI TS 103 190-2 Digital Audio Compression (AC-4) Standard; Part 2: Immersive and personalized audio 4.3.
Used in:
Used in:
TODO(rkuroiwa): Remove this. <ContentProtection> element that must be added should be done by directly using the MpdBuilder interface. Use this to specify ContentProtection elements that should be set in the MPD, if ContentProtectionEntry is not sufficient.
Used in:
These two string fields are specified by the MPD spec. Just for clarification, the string set in |value| is the rhs of 'value' field in <ContentProtection>.
Used in:
,Used in:
Used in:
The default key ID for the encrypted media.
Specifies the protection scheme: 'cenc', 'cens', 'cbc1', 'cbcs'. "cbca" is also valid which is a place holder for SAMPLE-AES encryption.
Used in:
Human readable UUID of the DRM.
Human readable DRM name and version string. e.g. "My Content Protection v1.0"
The raw 'pssh' box for the media.
Used in:
Used in:
Used in:
The width and height of the actual number of pixels. This will not be the same as the visual width and height if the sample aspect ratio (sar) is not 1:1.
Relative to |time_scale|. IOW |time_scale| / |frame_duration| is the framerate.
pixel_width:pixel_height is the the sample aspect ratio (sar) of the video. Note that (pixel_width * width):(pixel_height * height) is the picture aspect ratio, or the @par attribute set on AdaptationSet element.
playback_rate: the playout capability (e.g., 4x, 8x, 16x fast foward) of the trick play stream.
Transfer characteristics. Useful to determine the VIDEO-RANGE for HLS, i.e. whether it is SDR or HDR.
Fro Dolby Vision back compatiable content.
Used in:
, ,Used in:
A generic protobuf used as the request format of various Modular DRM APIs.
Identifies the entity sending / signing the request.