<spanid="shaka::PackagingParams"></span><spanclass="target"id="d5/de3/structshaka_1_1PackagingParams"></span><emclass="property">struct </em><codeclass="descclassname">shaka::</code><codeclass="descname">PackagingParams</code><aclass="headerlink"href="#_CPPv2N5shaka15PackagingParamsE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::PackagingParams::temp_dir__ss"></span><spanclass="target"id="d5/de3/structshaka_1_1PackagingParams_1ae179e88ad853856b0e006326ff445f6e"></span>std::string <codeclass="descname">temp_dir</code><aclass="headerlink"href="#_CPPv2N5shaka15PackagingParams8temp_dirE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::PackagingParams::mp4_output_params__Mp4OutputParams"></span><spanclass="target"id="d5/de3/structshaka_1_1PackagingParams_1a794072e13c04de6b98e5d1e7cc5b57d6"></span><aclass="reference internal"href="#_CPPv2N5shaka15Mp4OutputParamsE"title="shaka::Mp4OutputParams">Mp4OutputParams</a><codeclass="descname">mp4_output_params</code><aclass="headerlink"href="#_CPPv2N5shaka15PackagingParams17mp4_output_paramsE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::PackagingParams::transport_stream_timestamp_offset_ms__uint32_t"></span><spanclass="target"id="d5/de3/structshaka_1_1PackagingParams_1aa2c8c5254f14048368edb652dd329556"></span>uint32_t <codeclass="descname">transport_stream_timestamp_offset_ms</code> = 0<aclass="headerlink"href="#_CPPv2N5shaka15PackagingParams36transport_stream_timestamp_offset_msE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>The offset to be applied to transport stream (e.g. MPEG2-TS, HLS packed audio) timestamps to compensate for possible negative timestamps in the input. </p>
<spanid="shaka::PackagingParams::chunking_params__ChunkingParams"></span><spanclass="target"id="d5/de3/structshaka_1_1PackagingParams_1ac992ff58f67ad9b737dfc62d517be8ed"></span><aclass="reference internal"href="#_CPPv2N5shaka14ChunkingParamsE"title="shaka::ChunkingParams">ChunkingParams</a><codeclass="descname">chunking_params</code><aclass="headerlink"href="#_CPPv2N5shaka15PackagingParams15chunking_paramsE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::PackagingParams::ad_cue_generator_params__AdCueGeneratorParams"></span><spanclass="target"id="d5/de3/structshaka_1_1PackagingParams_1aa52d546c86b3b36234bcfc0cd50ef083"></span>AdCueGeneratorParams <codeclass="descname">ad_cue_generator_params</code><aclass="headerlink"href="#_CPPv2N5shaka15PackagingParams23ad_cue_generator_paramsE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::PackagingParams::output_media_info__b"></span><spanclass="target"id="d5/de3/structshaka_1_1PackagingParams_1a9206160a0fb92a9e9ee27fd8e9725ea1"></span>bool <codeclass="descname">output_media_info</code> = false<aclass="headerlink"href="#_CPPv2N5shaka15PackagingParams17output_media_infoE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Create a human readable format of MediaInfo. The output file name will be the name specified by output flag, suffixed with <codeclass="docutils literal"><spanclass="pre">.media_info</span></code>. </p>
<spanid="shaka::PackagingParams::mpd_params__MpdParams"></span><spanclass="target"id="d5/de3/structshaka_1_1PackagingParams_1acfa10a8e9c877a3c2baf83525837a254"></span><aclass="reference internal"href="#_CPPv2N5shaka9MpdParamsE"title="shaka::MpdParams">MpdParams</a><codeclass="descname">mpd_params</code><aclass="headerlink"href="#_CPPv2N5shaka15PackagingParams10mpd_paramsE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::PackagingParams::hls_params__HlsParams"></span><spanclass="target"id="d5/de3/structshaka_1_1PackagingParams_1a88e4e2cc444fb79b8e35075dd5a20fbe"></span><aclass="reference internal"href="#_CPPv2N5shaka9HlsParamsE"title="shaka::HlsParams">HlsParams</a><codeclass="descname">hls_params</code><aclass="headerlink"href="#_CPPv2N5shaka15PackagingParams10hls_paramsE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::PackagingParams::encryption_params__EncryptionParams"></span><spanclass="target"id="d5/de3/structshaka_1_1PackagingParams_1a7792bf4a71a35d2a3f99d8b4806a3913"></span><aclass="reference internal"href="#_CPPv2N5shaka16EncryptionParamsE"title="shaka::EncryptionParams">EncryptionParams</a><codeclass="descname">encryption_params</code><aclass="headerlink"href="#_CPPv2N5shaka15PackagingParams17encryption_paramsE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::PackagingParams::buffer_callback_params__BufferCallbackParams"></span><spanclass="target"id="d5/de3/structshaka_1_1PackagingParams_1aaaf233248e46b6ff3285bbac87857f81"></span>BufferCallbackParams <codeclass="descname">buffer_callback_params</code><aclass="headerlink"href="#_CPPv2N5shaka15PackagingParams22buffer_callback_paramsE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::StreamDescriptor"></span><spanclass="target"id="d2/d7b/structshaka_1_1StreamDescriptor"></span><emclass="property">struct </em><codeclass="descclassname">shaka::</code><codeclass="descname">StreamDescriptor</code><aclass="headerlink"href="#_CPPv2N5shaka16StreamDescriptorE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::StreamDescriptor::input__ss"></span><spanclass="target"id="d2/d7b/structshaka_1_1StreamDescriptor_1ae86324b838baa66dbab9a3d35352e200"></span>std::string <codeclass="descname">input</code><aclass="headerlink"href="#_CPPv2N5shaka16StreamDescriptor5inputE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::StreamDescriptor::stream_selector__ss"></span><spanclass="target"id="d2/d7b/structshaka_1_1StreamDescriptor_1a386c5e3717b5f982f72698abba09df2c"></span>std::string <codeclass="descname">stream_selector</code><aclass="headerlink"href="#_CPPv2N5shaka16StreamDescriptor15stream_selectorE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Stream selector, can be <codeclass="docutils literal"><spanclass="pre">audio</span></code>, <codeclass="docutils literal"><spanclass="pre">video</span></code>, <codeclass="docutils literal"><spanclass="pre">text</span></code> or a zero based stream index. Required. </p>
<spanid="shaka::StreamDescriptor::output__ss"></span><spanclass="target"id="d2/d7b/structshaka_1_1StreamDescriptor_1a08ce812991297de47354b99cdaec5415"></span>std::string <codeclass="descname">output</code><aclass="headerlink"href="#_CPPv2N5shaka16StreamDescriptor6outputE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::StreamDescriptor::segment_template__ss"></span><spanclass="target"id="d2/d7b/structshaka_1_1StreamDescriptor_1af3e55c8970e8a7604ca79a98f4642872"></span>std::string <codeclass="descname">segment_template</code><aclass="headerlink"href="#_CPPv2N5shaka16StreamDescriptor16segment_templateE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::StreamDescriptor::output_format__ss"></span><spanclass="target"id="d2/d7b/structshaka_1_1StreamDescriptor_1a025d9a9a1612654da2b0c99fe81378db"></span>std::string <codeclass="descname">output_format</code><aclass="headerlink"href="#_CPPv2N5shaka16StreamDescriptor13output_formatE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Optional value which specifies output container format, e.g. “mp4”. If not specified, will detect from output / segment template name. </p>
<spanid="shaka::StreamDescriptor::skip_encryption__b"></span><spanclass="target"id="d2/d7b/structshaka_1_1StreamDescriptor_1abbaf07b1faa84803478f89bc6dd8cb4a"></span>bool <codeclass="descname">skip_encryption</code> = false<aclass="headerlink"href="#_CPPv2N5shaka16StreamDescriptor15skip_encryptionE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::StreamDescriptor::drm_label__ss"></span><spanclass="target"id="d2/d7b/structshaka_1_1StreamDescriptor_1a8f2a517450433cf69bbc87cef17d05cf"></span>std::string <codeclass="descname">drm_label</code><aclass="headerlink"href="#_CPPv2N5shaka16StreamDescriptor9drm_labelE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Specifies a custom DRM stream label, which can be a DRM label defined by the DRM system. Typically values include AUDIO, SD, HD, UHD1, UHD2. If not provided, the DRM stream label is derived from stream type (video, audio), resolutions etc. </p>
<spanid="shaka::StreamDescriptor::trick_play_factor__uint32_t"></span><spanclass="target"id="d2/d7b/structshaka_1_1StreamDescriptor_1a5cc00f367691729460e0b75b8ec6c512"></span>uint32_t <codeclass="descname">trick_play_factor</code> = 0<aclass="headerlink"href="#_CPPv2N5shaka16StreamDescriptor17trick_play_factorE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>If set to a non-zero value, will generate a trick play / trick mode stream with frames sampled from the key frames in the original stream. <codeclass="docutils literal"><spanclass="pre">trick_play_factor</span></code> defines the sampling rate. </p>
<spanid="shaka::StreamDescriptor::bandwidth__uint32_t"></span><spanclass="target"id="d2/d7b/structshaka_1_1StreamDescriptor_1a9bcce2ca86a33f41803f7a6417a2758c"></span>uint32_t <codeclass="descname">bandwidth</code> = 0<aclass="headerlink"href="#_CPPv2N5shaka16StreamDescriptor9bandwidthE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Optional user-specified content bit rate for the stream, in bits/sec. If specified, this value is propagated to the <codeclass="docutils literal"><spanclass="pre">$Bandwidth$</span></code> template parameter for segment names. If not specified, its value may be estimated. </p>
<spanid="shaka::StreamDescriptor::language__ss"></span><spanclass="target"id="d2/d7b/structshaka_1_1StreamDescriptor_1af2e3479d90070a03a801ecc5a3d35d7e"></span>std::string <codeclass="descname">language</code><aclass="headerlink"href="#_CPPv2N5shaka16StreamDescriptor8languageE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::StreamDescriptor::hls_name__ss"></span><spanclass="target"id="d2/d7b/structshaka_1_1StreamDescriptor_1a92efcc01f52430f3d3ec030beb8c65c7"></span>std::string <codeclass="descname">hls_name</code><aclass="headerlink"href="#_CPPv2N5shaka16StreamDescriptor8hls_nameE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Required for audio when outputting HLS. It defines the name of the output stream, which is not necessarily the same as output. This is used as the <codeclass="docutils literal"><spanclass="pre">NAME</span></code> attribute for EXT-X-MEDIA. </p>
<spanid="shaka::StreamDescriptor::hls_group_id__ss"></span><spanclass="target"id="d2/d7b/structshaka_1_1StreamDescriptor_1a25764b4ffa8cb0da3b88cc251928ad96"></span>std::string <codeclass="descname">hls_group_id</code><aclass="headerlink"href="#_CPPv2N5shaka16StreamDescriptor12hls_group_idE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Required for audio when outputting HLS. It defines the group ID for the output stream. This is used as the GROUP-ID attribute for EXT-X-MEDIA. </p>
<spanid="shaka::StreamDescriptor::hls_playlist_name__ss"></span><spanclass="target"id="d2/d7b/structshaka_1_1StreamDescriptor_1aa0d36cf55c46def14bc2fa6c293859ef"></span>std::string <codeclass="descname">hls_playlist_name</code><aclass="headerlink"href="#_CPPv2N5shaka16StreamDescriptor17hls_playlist_nameE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Required for HLS output. It defines the name of the playlist for the stream. Usually ends with <codeclass="docutils literal"><spanclass="pre">.m3u8</span></code>. </p>
<spanid="shaka::StreamDescriptor::hls_iframe_playlist_name__ss"></span><spanclass="target"id="d2/d7b/structshaka_1_1StreamDescriptor_1a05f0489a76ea049bc8c9f144b4189591"></span>std::string <codeclass="descname">hls_iframe_playlist_name</code><aclass="headerlink"href="#_CPPv2N5shaka16StreamDescriptor24hls_iframe_playlist_nameE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Optional for HLS output. It defines the name of the I-Frames only playlist for the stream. For Video only. Usually ends with <codeclass="docutils literal"><spanclass="pre">.m3u8</span></code>. </p>
<spanid="shaka::Mp4OutputParams"></span><spanclass="target"id="d0/d43/structshaka_1_1Mp4OutputParams"></span><emclass="property">struct </em><codeclass="descclassname">shaka::</code><codeclass="descname">Mp4OutputParams</code><aclass="headerlink"href="#_CPPv2N5shaka15Mp4OutputParamsE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::Mp4OutputParams::include_pssh_in_stream__b"></span><spanclass="target"id="d0/d43/structshaka_1_1Mp4OutputParams_1abdff0b6ab552e27e275d8d23cc2f60b1"></span>bool <codeclass="descname">include_pssh_in_stream</code> = true<aclass="headerlink"href="#_CPPv2N5shaka15Mp4OutputParams22include_pssh_in_streamE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Include pssh in the encrypted stream. CMAF and DASH-IF recommends carrying license acquisition information in the manifest and not duplicate the information in the stream. (This is not a hard requirement so we are still CMAF compatible even if pssh is included in the stream.) </p>
<spanid="shaka::Mp4OutputParams::generate_sidx_in_media_segments__b"></span><spanclass="target"id="d0/d43/structshaka_1_1Mp4OutputParams_1a26b0505cea21a43ca4ce963f8fa84cf3"></span>bool <codeclass="descname">generate_sidx_in_media_segments</code> = true<aclass="headerlink"href="#_CPPv2N5shaka15Mp4OutputParams31generate_sidx_in_media_segmentsE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Indicates whether a ‘sidx’ box should be generated in the media segments. Note that it is required by spec if segment_template contains $Times$ specifier. </p>
<spanid="shaka::ChunkingParams"></span><spanclass="target"id="d2/d1f/structshaka_1_1ChunkingParams"></span><emclass="property">struct </em><codeclass="descclassname">shaka::</code><codeclass="descname">ChunkingParams</code><aclass="headerlink"href="#_CPPv2N5shaka14ChunkingParamsE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::ChunkingParams::segment_duration_in_seconds__double"></span><spanclass="target"id="d2/d1f/structshaka_1_1ChunkingParams_1a01414f1502775576d68e45d172029358"></span>double <codeclass="descname">segment_duration_in_seconds</code> = 0<aclass="headerlink"href="#_CPPv2N5shaka14ChunkingParams27segment_duration_in_secondsE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::ChunkingParams::subsegment_duration_in_seconds__double"></span><spanclass="target"id="d2/d1f/structshaka_1_1ChunkingParams_1ae303f5bf58edbb231b0cfbbf9c4e05d7"></span>double <codeclass="descname">subsegment_duration_in_seconds</code> = 0<aclass="headerlink"href="#_CPPv2N5shaka14ChunkingParams30subsegment_duration_in_secondsE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::ChunkingParams::segment_sap_aligned__b"></span><spanclass="target"id="d2/d1f/structshaka_1_1ChunkingParams_1a1ab10c82260dc073fb3830efcdabb171"></span>bool <codeclass="descname">segment_sap_aligned</code> = true<aclass="headerlink"href="#_CPPv2N5shaka14ChunkingParams19segment_sap_alignedE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::ChunkingParams::subsegment_sap_aligned__b"></span><spanclass="target"id="d2/d1f/structshaka_1_1ChunkingParams_1afcde8cc6cf9646c78f5bf13181022aa7"></span>bool <codeclass="descname">subsegment_sap_aligned</code> = true<aclass="headerlink"href="#_CPPv2N5shaka14ChunkingParams22subsegment_sap_alignedE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Force subsegments to begin with stream access points. Actual subsegment duration may not be exactly what is specified by subsegment_duration. Setting to subsegment_sap_aligned to true but segment_sap_aligned to false is not allowed. </p>
<spanid="shaka::MpdParams"></span><spanclass="target"id="df/ddc/structshaka_1_1MpdParams"></span><emclass="property">struct </em><codeclass="descclassname">shaka::</code><codeclass="descname">MpdParams</code><aclass="headerlink"href="#_CPPv2N5shaka9MpdParamsE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::MpdParams::mpd_output__ss"></span><spanclass="target"id="df/ddc/structshaka_1_1MpdParams_1aa6ca18997bb307d3b5fe1c9ced161ff6"></span>std::string <codeclass="descname">mpd_output</code><aclass="headerlink"href="#_CPPv2N5shaka9MpdParams10mpd_outputE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::MpdParams::base_urls__std::vector:ss:"></span><spanclass="target"id="df/ddc/structshaka_1_1MpdParams_1a9fe508f9c56a6424fd857d43a4a69e7c"></span>std::vector<std::string><codeclass="descname">base_urls</code><aclass="headerlink"href="#_CPPv2N5shaka9MpdParams9base_urlsE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::MpdParams::min_buffer_time__double"></span><spanclass="target"id="df/ddc/structshaka_1_1MpdParams_1aee1510b64b9acbc17b8bfccac2e132a3"></span>double <codeclass="descname">min_buffer_time</code> = 2.0<aclass="headerlink"href="#_CPPv2N5shaka9MpdParams15min_buffer_timeE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Set MPD attribute, which specifies, in seconds, a common duration used in the definition of the MPD representation data rate. A client can be assured of having enough data for continous playout providing playout begins at min_buffer_time after the first bit is received. </p>
<spanid="shaka::MpdParams::minimum_update_period__double"></span><spanclass="target"id="df/ddc/structshaka_1_1MpdParams_1a4a5dafe570fd7e35749ce12d83ca9559"></span>double <codeclass="descname">minimum_update_period</code> = 0<aclass="headerlink"href="#_CPPv2N5shaka9MpdParams21minimum_update_periodE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Set MPD attribute, which indicates to the player how often to refresh the MPD in seconds. For dynamic MPD only. </p>
<spanid="shaka::MpdParams::time_shift_buffer_depth__double"></span><spanclass="target"id="df/ddc/structshaka_1_1MpdParams_1a95e4824708c8de4b882b86772f680032"></span>double <codeclass="descname">time_shift_buffer_depth</code> = 0<aclass="headerlink"href="#_CPPv2N5shaka9MpdParams23time_shift_buffer_depthE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Set MPD attribute, which is the guaranteed duration of the time shifting buffer for ‘dynamic’ media presentations, in seconds. </p>
<spanid="shaka::MpdParams::preserved_segments_outside_live_window__s"></span><spanclass="target"id="df/ddc/structshaka_1_1MpdParams_1a84378ed480ed2e9b8915afd9c349b458"></span>size_t <codeclass="descname">preserved_segments_outside_live_window</code> = 0<aclass="headerlink"href="#_CPPv2N5shaka9MpdParams38preserved_segments_outside_live_windowE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Segments outside the live window (defined by ‘time_shift_buffer_depth’ above) are automatically removed except for the most recent X segments defined by this parameter. This is needed to accommodate latencies in various stages of content serving pipeline, so that the segments stay accessible as they may still be accessed by the player. The segments are not removed if the value is zero. </p>
<spanid="shaka::MpdParams::default_language__ss"></span><spanclass="target"id="df/ddc/structshaka_1_1MpdParams_1a74df80bd74635090e97837f3a5941d73"></span>std::string <codeclass="descname">default_language</code><aclass="headerlink"href="#_CPPv2N5shaka9MpdParams16default_languageE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>The tracks tagged with this language will have <Role … value=”main” /> in the manifest. This allows the player to choose the correct default language for the content. </p>
<spanid="shaka::MpdParams::generate_static_live_mpd__b"></span><spanclass="target"id="df/ddc/structshaka_1_1MpdParams_1ab5a09b17ee41a0960e813bd0c72bf4f6"></span>bool <codeclass="descname">generate_static_live_mpd</code> = false<aclass="headerlink"href="#_CPPv2N5shaka9MpdParams24generate_static_live_mpdE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Generate static MPD for live profile. Note that this flag has no effect for on-demand profile, in which case static MPD is always used. </p>
<spanid="shaka::MpdParams::generate_dash_if_iop_compliant_mpd__b"></span><spanclass="target"id="df/ddc/structshaka_1_1MpdParams_1aa1b2ec6746586d4981655cee62669ba2"></span>bool <codeclass="descname">generate_dash_if_iop_compliant_mpd</code> = true<aclass="headerlink"href="#_CPPv2N5shaka9MpdParams34generate_dash_if_iop_compliant_mpdE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::MpdParams::allow_approximate_segment_timeline__b"></span><spanclass="target"id="df/ddc/structshaka_1_1MpdParams_1af4424dc23f81ff4000584db2866f24c9"></span>bool <codeclass="descname">allow_approximate_segment_timeline</code> = false<aclass="headerlink"href="#_CPPv2N5shaka9MpdParams34allow_approximate_segment_timelineE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>For live profile only. If enabled, segments with close duration (i.e. with difference less than one sample) are considered to have the same duration. This enables MPD generator to generate less SegmentTimeline entries. If all segments are of the same duration except the last one, we will do further optimization to use SegmentTemplate instead and omit SegmentTimeline completely. Ignored if $Time$ is used in segment template, since $Time$ requires accurate Segment Timeline. </p>
<spanid="shaka::MpdParams::kSuggestedPresentationDelayNotSet__double"></span><spanclass="target"id="df/ddc/structshaka_1_1MpdParams_1a13705544aac44c5d2065b8a842744bf0"></span><emclass="property">constexpr</em> double <codeclass="descname">kSuggestedPresentationDelayNotSet</code> = 0<aclass="headerlink"href="#_CPPv2N5shaka9MpdParams33kSuggestedPresentationDelayNotSetE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Set MPD attribute. For ‘dynamic’ media presentations, it specifies a delay, in seconds, to be added to the media presentation time. The attribute is not set if the value is 0; the client is expected to choose a suitable value in this case. </p>
<spanid="shaka::MpdParams::UtcTiming"></span><spanclass="target"id="d3/d6e/structshaka_1_1MpdParams_1_1UtcTiming"></span><emclass="property">struct </em><codeclass="descname">UtcTiming</code><aclass="headerlink"href="#_CPPv2N5shaka9MpdParams9UtcTimingE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::HlsParams"></span><spanclass="target"id="d0/da8/structshaka_1_1HlsParams"></span><emclass="property">struct </em><codeclass="descclassname">shaka::</code><codeclass="descname">HlsParams</code><aclass="headerlink"href="#_CPPv2N5shaka9HlsParamsE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::HlsParams::playlist_type__HlsPlaylistType"></span><spanclass="target"id="d0/da8/structshaka_1_1HlsParams_1a9bfeae8a0c112ca82830dd3f228438e6"></span><aclass="reference internal"href="#_CPPv2N5shaka15HlsPlaylistTypeE"title="shaka::HlsPlaylistType">HlsPlaylistType</a><codeclass="descname">playlist_type</code> = HlsPlaylistType::kVod<aclass="headerlink"href="#_CPPv2N5shaka9HlsParams13playlist_typeE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::HlsParams::master_playlist_output__ss"></span><spanclass="target"id="d0/da8/structshaka_1_1HlsParams_1ae3706891d39f8da72ed59d8fb13f2e30"></span>std::string <codeclass="descname">master_playlist_output</code><aclass="headerlink"href="#_CPPv2N5shaka9HlsParams22master_playlist_outputE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::HlsParams::base_url__ss"></span><spanclass="target"id="d0/da8/structshaka_1_1HlsParams_1a546dcdf68c8a0a5e188f84b5c9fca9dd"></span>std::string <codeclass="descname">base_url</code><aclass="headerlink"href="#_CPPv2N5shaka9HlsParams8base_urlE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::HlsParams::time_shift_buffer_depth__double"></span><spanclass="target"id="d0/da8/structshaka_1_1HlsParams_1adc19a9eebbfe20c3f9fe03dd452e4b1b"></span>double <codeclass="descname">time_shift_buffer_depth</code> = 0<aclass="headerlink"href="#_CPPv2N5shaka9HlsParams23time_shift_buffer_depthE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Defines the live window, or the guaranteed duration of the time shifting buffer for ‘live’ playlists. </p>
<spanid="shaka::HlsParams::preserved_segments_outside_live_window__s"></span><spanclass="target"id="d0/da8/structshaka_1_1HlsParams_1aa471aaa93cb7c95996902648e376c2e6"></span>size_t <codeclass="descname">preserved_segments_outside_live_window</code> = 0<aclass="headerlink"href="#_CPPv2N5shaka9HlsParams38preserved_segments_outside_live_windowE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Segments outside the live window (defined by ‘time_shift_buffer_depth’ above) are automatically removed except for the most recent X segments defined by this parameter. This is needed to accommodate latencies in various stages of content serving pipeline, so that the segments stay accessible as they may still be accessed by the player. The segments are not removed if the value is zero. </p>
<spanid="shaka::HlsParams::key_uri__ss"></span><spanclass="target"id="d0/da8/structshaka_1_1HlsParams_1a68414aff0f65059c2d05c8d168aadf5f"></span>std::string <codeclass="descname">key_uri</code><aclass="headerlink"href="#_CPPv2N5shaka9HlsParams7key_uriE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Defines the key uri for “identity” and “com.apple.streamingkeydelivery” key formats. Ignored if the playlist is not encrypted or not using the above key formats. </p>
<spanid="shaka::HlsParams::default_language__ss"></span><spanclass="target"id="d0/da8/structshaka_1_1HlsParams_1abeea3a7ebfe7b2d1e29b3e4445bfd113"></span>std::string <codeclass="descname">default_language</code><aclass="headerlink"href="#_CPPv2N5shaka9HlsParams16default_languageE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>The renditions tagged with this language will have ‘DEFAULT’ set to ‘YES’ in ‘EXT-X-MEDIA’ tag. This allows the player to choose the correct default language for the content. </p>
<spanid="shaka::HlsPlaylistType"></span><spanclass="target"id="d8/daf/namespaceshaka_1ab63a3c00cdbf61cfb6dd7a2497b26f8d"></span><emclass="property">enum </em><codeclass="descclassname">shaka::</code><codeclass="descname">HlsPlaylistType</code><aclass="headerlink"href="#_CPPv2N5shaka15HlsPlaylistTypeE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d8/daf/namespaceshaka_1ab63a3c00cdbf61cfb6dd7a2497b26f8da1e17bc9cc968c62f2424715e2f57b7d1"></span><codeclass="descname">kVod</code><aclass="headerlink"href="#_CPPv2N5shaka4kVodE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d8/daf/namespaceshaka_1ab63a3c00cdbf61cfb6dd7a2497b26f8dab38bfe9b7b9eafa5a368e22761e21c41"></span><codeclass="descname">kEvent</code><aclass="headerlink"href="#_CPPv2N5shaka6kEventE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d8/daf/namespaceshaka_1ab63a3c00cdbf61cfb6dd7a2497b26f8da691aa15e9e6b889f9f400cddfdd194b6"></span><codeclass="descname">kLive</code><aclass="headerlink"href="#_CPPv2N5shaka5kLiveE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::KeyProvider"></span><spanclass="target"id="d8/daf/namespaceshaka_1a539b99ce5c34193e294bc544437e9185"></span><emclass="property">enum </em><codeclass="descclassname">shaka::</code><codeclass="descname">KeyProvider</code><aclass="headerlink"href="#_CPPv2N5shaka11KeyProviderE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d8/daf/namespaceshaka_1a539b99ce5c34193e294bc544437e9185a35c3ace1970663a16e5c65baa5941b13"></span><codeclass="descname">kNone</code> = 0<aclass="headerlink"href="#_CPPv2N5shaka5kNoneE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d8/daf/namespaceshaka_1a539b99ce5c34193e294bc544437e9185a2b4c92d0a1dbc3a696c509b0bdde12eb"></span><codeclass="descname">kWidevine</code> = 1<aclass="headerlink"href="#_CPPv2N5shaka9kWidevineE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d8/daf/namespaceshaka_1a539b99ce5c34193e294bc544437e9185abb168dc0fb1aa1f4aca8a756f711e51f"></span><codeclass="descname">kPlayReady</code> = 2<aclass="headerlink"href="#_CPPv2N5shaka10kPlayReadyE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d8/daf/namespaceshaka_1a539b99ce5c34193e294bc544437e9185a1537564eae41fe408316528882a721cf"></span><codeclass="descname">kRawKey</code> = 3<aclass="headerlink"href="#_CPPv2N5shaka7kRawKeyE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::WidevineSigner"></span><spanclass="target"id="df/d22/structshaka_1_1WidevineSigner"></span><emclass="property">struct </em><codeclass="descclassname">shaka::</code><codeclass="descname">WidevineSigner</code><aclass="headerlink"href="#_CPPv2N5shaka14WidevineSignerE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::WidevineSigner::signer_name__ss"></span><spanclass="target"id="df/d22/structshaka_1_1WidevineSigner_1a6768d5addb3c90f33ce5f241705c827e"></span>std::string <codeclass="descname">signer_name</code><aclass="headerlink"href="#_CPPv2N5shaka14WidevineSigner11signer_nameE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::WidevineSigner::signing_key_type__SigningKeyType"></span><spanclass="target"id="df/d22/structshaka_1_1WidevineSigner_1a656fbc14799c96fa8b822e3917070cf6"></span><aclass="reference internal"href="#_CPPv2N5shaka14WidevineSigner14SigningKeyTypeE"title="shaka::WidevineSigner::SigningKeyType">SigningKeyType</a><codeclass="descname">signing_key_type</code> = SigningKeyType::kNone<aclass="headerlink"href="#_CPPv2N5shaka14WidevineSigner16signing_key_typeE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Specifies the signing key type, which determines whether AES or RSA key are used to authenticate the signer. A type of ‘kNone’ is invalid. </p>
<spanid="shaka::WidevineSigner::key__std::vector:uint8_t:"></span><spanclass="target"id="df/d22/structshaka_1_1WidevineSigner_1ad5c378d29df509280d8697f986163324"></span>std::vector<uint8_t><codeclass="descname">key</code><aclass="headerlink"href="#_CPPv2N5shaka14WidevineSigner3keyE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::WidevineSigner::iv__std::vector:uint8_t:"></span><spanclass="target"id="df/d22/structshaka_1_1WidevineSigner_1a6db96d4c3f1189bbd09515732bec94d9"></span>std::vector<uint8_t><codeclass="descname">iv</code><aclass="headerlink"href="#_CPPv2N5shaka14WidevineSigner2ivE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::WidevineSigner::key__ss"></span><spanclass="target"id="df/d22/structshaka_1_1WidevineSigner_1a25bb558aa06563d24c3d7f9733ff8898"></span>std::string <codeclass="descname">key</code><aclass="headerlink"href="#_CPPv2N5shaka14WidevineSigner3keyE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::WidevineSigner::SigningKeyType"></span><spanclass="target"id="df/d22/structshaka_1_1WidevineSigner_1a4f118f7b3a763c9f81b22be37d851313"></span><emclass="property">enum </em><codeclass="descclassname">shaka::WidevineSigner::</code><codeclass="descname">SigningKeyType</code><aclass="headerlink"href="#_CPPv2N5shaka14WidevineSigner14SigningKeyTypeE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="df/d22/structshaka_1_1WidevineSigner_1a4f118f7b3a763c9f81b22be37d851313a35c3ace1970663a16e5c65baa5941b13"></span><codeclass="descname">kNone</code><aclass="headerlink"href="#_CPPv2N5shaka14WidevineSigner5kNoneE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="df/d22/structshaka_1_1WidevineSigner_1a4f118f7b3a763c9f81b22be37d851313aa71c96d1cd0362bf95fb3bd419048129"></span><codeclass="descname">kAes</code><aclass="headerlink"href="#_CPPv2N5shaka14WidevineSigner4kAesE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="df/d22/structshaka_1_1WidevineSigner_1a4f118f7b3a763c9f81b22be37d851313a57693b7d41958c8db30e208b02faf71c"></span><codeclass="descname">kRsa</code><aclass="headerlink"href="#_CPPv2N5shaka14WidevineSigner4kRsaE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::WidevineEncryptionParams"></span><spanclass="target"id="d9/dd2/structshaka_1_1WidevineEncryptionParams"></span><emclass="property">struct </em><codeclass="descclassname">shaka::</code><codeclass="descname">WidevineEncryptionParams</code><aclass="headerlink"href="#_CPPv2N5shaka24WidevineEncryptionParamsE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::WidevineEncryptionParams::key_server_url__ss"></span><spanclass="target"id="d9/dd2/structshaka_1_1WidevineEncryptionParams_1ac222c5bd0620e5a6f9bf5e9fec534fb9"></span>std::string <codeclass="descname">key_server_url</code><aclass="headerlink"href="#_CPPv2N5shaka24WidevineEncryptionParams14key_server_urlE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::WidevineEncryptionParams::content_id__std::vector:uint8_t:"></span><spanclass="target"id="d9/dd2/structshaka_1_1WidevineEncryptionParams_1a6b9770524a9507d0a9a3606ceef23075"></span>std::vector<uint8_t><codeclass="descname">content_id</code><aclass="headerlink"href="#_CPPv2N5shaka24WidevineEncryptionParams10content_idE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::WidevineEncryptionParams::policy__ss"></span><spanclass="target"id="d9/dd2/structshaka_1_1WidevineEncryptionParams_1a469f3db91b42af20f270a280c4d42b4f"></span>std::string <codeclass="descname">policy</code><aclass="headerlink"href="#_CPPv2N5shaka24WidevineEncryptionParams6policyE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::WidevineEncryptionParams::signer__WidevineSigner"></span><spanclass="target"id="d9/dd2/structshaka_1_1WidevineEncryptionParams_1a233141ad4baf2f2afce30f96adf340ae"></span><aclass="reference internal"href="#_CPPv2N5shaka14WidevineSignerE"title="shaka::WidevineSigner">WidevineSigner</a><codeclass="descname">signer</code><aclass="headerlink"href="#_CPPv2N5shaka24WidevineEncryptionParams6signerE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::WidevineEncryptionParams::group_id__std::vector:uint8_t:"></span><spanclass="target"id="d9/dd2/structshaka_1_1WidevineEncryptionParams_1a6d69402cd4c66d546be180c7800e6d09"></span>std::vector<uint8_t><codeclass="descname">group_id</code><aclass="headerlink"href="#_CPPv2N5shaka24WidevineEncryptionParams8group_idE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::WidevineEncryptionParams::enable_entitlement_license__b"></span><spanclass="target"id="d9/dd2/structshaka_1_1WidevineEncryptionParams_1a47239bcc571757930ba89e8831013234"></span>bool <codeclass="descname">enable_entitlement_license</code><aclass="headerlink"href="#_CPPv2N5shaka24WidevineEncryptionParams26enable_entitlement_licenseE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Enables entitlement license when set to true. </p>
<spanid="shaka::PlayReadyEncryptionParams"></span><spanclass="target"id="df/d47/structshaka_1_1PlayReadyEncryptionParams"></span><emclass="property">struct </em><codeclass="descclassname">shaka::</code><codeclass="descname">PlayReadyEncryptionParams</code><aclass="headerlink"href="#_CPPv2N5shaka25PlayReadyEncryptionParamsE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>PlayReady encryption parameters. <codeclass="docutils literal"><spanclass="pre">key_server_url</span></code> and <codeclass="docutils literal"><spanclass="pre">program_identifier</span></code> are required. The presence of other parameters may be necessary depends on server configuration. </p>
<spanid="shaka::PlayReadyEncryptionParams::key_server_url__ss"></span><spanclass="target"id="df/d47/structshaka_1_1PlayReadyEncryptionParams_1ac5298ee04e36296e8dd4b7a56e8bc464"></span>std::string <codeclass="descname">key_server_url</code><aclass="headerlink"href="#_CPPv2N5shaka25PlayReadyEncryptionParams14key_server_urlE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::PlayReadyEncryptionParams::program_identifier__ss"></span><spanclass="target"id="df/d47/structshaka_1_1PlayReadyEncryptionParams_1a8716552505d244227bf93c4878071f2d"></span>std::string <codeclass="descname">program_identifier</code><aclass="headerlink"href="#_CPPv2N5shaka25PlayReadyEncryptionParams18program_identifierE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::PlayReadyEncryptionParams::ca_file__ss"></span><spanclass="target"id="df/d47/structshaka_1_1PlayReadyEncryptionParams_1aff3107b2636f730056c6c5a673376226"></span>std::string <codeclass="descname">ca_file</code><aclass="headerlink"href="#_CPPv2N5shaka25PlayReadyEncryptionParams7ca_fileE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::PlayReadyEncryptionParams::client_cert_file__ss"></span><spanclass="target"id="df/d47/structshaka_1_1PlayReadyEncryptionParams_1a8e3c7d3b038b602e09589e0fda0aad66"></span>std::string <codeclass="descname">client_cert_file</code><aclass="headerlink"href="#_CPPv2N5shaka25PlayReadyEncryptionParams16client_cert_fileE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::PlayReadyEncryptionParams::client_cert_private_key_file__ss"></span><spanclass="target"id="df/d47/structshaka_1_1PlayReadyEncryptionParams_1a63e0f55b12ef1a0305bd51315322b153"></span>std::string <codeclass="descname">client_cert_private_key_file</code><aclass="headerlink"href="#_CPPv2N5shaka25PlayReadyEncryptionParams28client_cert_private_key_fileE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::PlayReadyEncryptionParams::client_cert_private_key_password__ss"></span><spanclass="target"id="df/d47/structshaka_1_1PlayReadyEncryptionParams_1a672dbcea4caa427b3fd83e1a2e329859"></span>std::string <codeclass="descname">client_cert_private_key_password</code><aclass="headerlink"href="#_CPPv2N5shaka25PlayReadyEncryptionParams32client_cert_private_key_passwordE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::RawKeyParams"></span><spanclass="target"id="d0/db4/structshaka_1_1RawKeyParams"></span><emclass="property">struct </em><codeclass="descclassname">shaka::</code><codeclass="descname">RawKeyParams</code><aclass="headerlink"href="#_CPPv2N5shaka12RawKeyParamsE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Raw key encryption/decryption parameters, i.e. with key parameters provided. </p>
<spanid="shaka::RawKeyParams::iv__std::vector:uint8_t:"></span><spanclass="target"id="d0/db4/structshaka_1_1RawKeyParams_1aab733ab6920dd8fbed523810e64ea3f1"></span>std::vector<uint8_t><codeclass="descname">iv</code><aclass="headerlink"href="#_CPPv2N5shaka12RawKeyParams2ivE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>An optional initialization vector. If not provided, a random <codeclass="docutils literal"><spanclass="pre">iv</span></code> will be generated. Note that this parameter should only be used during testing. Not needed for decryption. </p>
</dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka12RawKeyParams4psshE">
<spanid="shaka::RawKeyParams::pssh__std::vector:uint8_t:"></span><spanclass="target"id="d0/db4/structshaka_1_1RawKeyParams_1a448b8c435fc86d4fbc85214e523f2ac5"></span>std::vector<uint8_t><codeclass="descname">pssh</code><aclass="headerlink"href="#_CPPv2N5shaka12RawKeyParams4psshE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Inject a custom <codeclass="docutils literal"><spanclass="pre">pssh</span></code> or multiple concatenated <codeclass="docutils literal"><spanclass="pre">psshs</span></code>. If not provided, a common system pssh will be generated. Not needed for decryption. </p>
</dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka12RawKeyParams7key_mapE">
<spanid="shaka::RawKeyParams::key_map__std::map:StreamLabel.KeyInfo:"></span><spanclass="target"id="d0/db4/structshaka_1_1RawKeyParams_1a14e44fed95583d0bb319c082fb1ddb84"></span>std::map<StreamLabel, KeyInfo><codeclass="descname">key_map</code><aclass="headerlink"href="#_CPPv2N5shaka12RawKeyParams7key_mapE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Defines the KeyInfo for the streams. An empty <codeclass="docutils literal"><spanclass="pre">StreamLabel</span></code> indicates the default <codeclass="docutils literal"><spanclass="pre">KeyInfo</span></code>, which applies to all the <codeclass="docutils literal"><spanclass="pre">StreamLabels</span></code> not present in <codeclass="docutils literal"><spanclass="pre">key_map</span></code>. </p>
<spanid="shaka::EncryptionParams"></span><spanclass="target"id="dc/da0/structshaka_1_1EncryptionParams"></span><emclass="property">struct </em><codeclass="descclassname">shaka::</code><codeclass="descname">EncryptionParams</code><aclass="headerlink"href="#_CPPv2N5shaka16EncryptionParamsE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::EncryptionParams::ProtectionSystem"></span><spanclass="target"id="dc/da0/structshaka_1_1EncryptionParams_1afe99d2343ace64763249893a4fef6eb9"></span><emclass="property">enum </em><codeclass="descname">ProtectionSystem</code><aclass="headerlink"href="#_CPPv2N5shaka16EncryptionParams16ProtectionSystemE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="dc/da0/structshaka_1_1EncryptionParams_1afe99d2343ace64763249893a4fef6eb9af3a6cfd02e70e988e7fc8749bd807a9f"></span><codeclass="descname">kCommonSystem</code><aclass="headerlink"href="#_CPPv2N5shaka16EncryptionParams13kCommonSystemE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="dc/da0/structshaka_1_1EncryptionParams_1afe99d2343ace64763249893a4fef6eb9a51a26bec7d39600d282361571e71a27c"></span><codeclass="descname">kFairPlay</code><aclass="headerlink"href="#_CPPv2N5shaka16EncryptionParams9kFairPlayE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="dc/da0/structshaka_1_1EncryptionParams_1afe99d2343ace64763249893a4fef6eb9abb168dc0fb1aa1f4aca8a756f711e51f"></span><codeclass="descname">kPlayReady</code><aclass="headerlink"href="#_CPPv2N5shaka16EncryptionParams10kPlayReadyE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="dc/da0/structshaka_1_1EncryptionParams_1afe99d2343ace64763249893a4fef6eb9a2b4c92d0a1dbc3a696c509b0bdde12eb"></span><codeclass="descname">kWidevine</code><aclass="headerlink"href="#_CPPv2N5shaka16EncryptionParams9kWidevineE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::EncryptionParams::key_provider__KeyProvider"></span><spanclass="target"id="dc/da0/structshaka_1_1EncryptionParams_1adcf61ebf8d129a5bcf3f159b9b076eed"></span><aclass="reference internal"href="#_CPPv2N5shaka11KeyProviderE"title="shaka::KeyProvider">KeyProvider</a><codeclass="descname">key_provider</code> = KeyProvider::kNone<aclass="headerlink"href="#_CPPv2N5shaka16EncryptionParams12key_providerE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Specifies the key provider, which determines which key provider is used and which encryption params is valid. ‘kNone’ means not to encrypt the streams. </p>
<spanid="shaka::EncryptionParams::protection_systems__std::vector:ProtectionSystem:"></span><spanclass="target"id="dc/da0/structshaka_1_1EncryptionParams_1a3c5d11615ce906ce4420f873986db81c"></span>std::vector<<aclass="reference internal"href="#_CPPv2N5shaka16EncryptionParams16ProtectionSystemE"title="shaka::EncryptionParams::ProtectionSystem">ProtectionSystem</a>><codeclass="descname">protection_systems</code><aclass="headerlink"href="#_CPPv2N5shaka16EncryptionParams18protection_systemsE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::EncryptionParams::clear_lead_in_seconds__double"></span><spanclass="target"id="dc/da0/structshaka_1_1EncryptionParams_1a1ad46963dc926aa4b72813dccb3f6a45"></span>double <codeclass="descname">clear_lead_in_seconds</code> = 0<aclass="headerlink"href="#_CPPv2N5shaka16EncryptionParams21clear_lead_in_secondsE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::EncryptionParams::vp9_subsample_encryption__b"></span><spanclass="target"id="dc/da0/structshaka_1_1EncryptionParams_1a48d415f17d51306ce7e1931fd954c37c"></span>bool <codeclass="descname">vp9_subsample_encryption</code> = true<aclass="headerlink"href="#_CPPv2N5shaka16EncryptionParams24vp9_subsample_encryptionE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="dc/da0/structshaka_1_1EncryptionParams_1a7686a6aca6a7c3d077a5d7215c39fc51"></span>std::function<std::string<spanclass="sig-paren">(</span><emclass="property">const</em><aclass="reference internal"href="#_CPPv2N5shaka16EncryptionParams25EncryptedStreamAttributesE"title="shaka::EncryptionParams::EncryptedStreamAttributes">EncryptedStreamAttributes</a>&stream_attributes<spanclass="sig-paren">)</span>><codeclass="descname">stream_label_func</code><aclass="headerlink"href="#_CPPv2N5shaka16EncryptionParams17stream_label_funcE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Stream label function assigns a stream label to the stream to be encrypted. Stream label is used to associate KeyPair with streams. Streams with the same stream label always uses the same keyPair; Streams with different stream label could use the same or different KeyPairs. A default stream label function will be generated if not set. </p>
<spanid="shaka::EncryptionParams::kProtectionSchemeCenc__uint32_t"></span><spanclass="target"id="dc/da0/structshaka_1_1EncryptionParams_1a1d7a8c6b5e46b51ccadcaef3f9cf9cb0"></span><emclass="property">constexpr</em> uint32_t <codeclass="descname">kProtectionSchemeCenc</code> = 0x63656E63<aclass="headerlink"href="#_CPPv2N5shaka16EncryptionParams21kProtectionSchemeCencE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::EncryptionParams::kNoKeyRotation__double"></span><spanclass="target"id="dc/da0/structshaka_1_1EncryptionParams_1a92ad4ca8e1ccb7d6b5fa2ee0b1b196fa"></span><emclass="property">constexpr</em> double <codeclass="descname">kNoKeyRotation</code> = 0<aclass="headerlink"href="#_CPPv2N5shaka16EncryptionParams14kNoKeyRotationE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Crypto period duration in seconds. A positive value means key rotation is enabled, the key provider must support key rotation in this case. </p>
<spanid="shaka::EncryptionParams::EncryptedStreamAttributes"></span><spanclass="target"id="d7/d6d/structshaka_1_1EncryptionParams_1_1EncryptedStreamAttributes"></span><emclass="property">struct </em><codeclass="descname">EncryptedStreamAttributes</code><aclass="headerlink"href="#_CPPv2N5shaka16EncryptionParams25EncryptedStreamAttributesE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::WidevineDecryptionParams"></span><spanclass="target"id="d8/d48/structshaka_1_1WidevineDecryptionParams"></span><emclass="property">struct </em><codeclass="descclassname">shaka::</code><codeclass="descname">WidevineDecryptionParams</code><aclass="headerlink"href="#_CPPv2N5shaka24WidevineDecryptionParamsE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::WidevineDecryptionParams::key_server_url__ss"></span><spanclass="target"id="d8/d48/structshaka_1_1WidevineDecryptionParams_1adb765979bcc7f63ce46c9ed6ead1ee5b"></span>std::string <codeclass="descname">key_server_url</code><aclass="headerlink"href="#_CPPv2N5shaka24WidevineDecryptionParams14key_server_urlE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::WidevineDecryptionParams::signer__WidevineSigner"></span><spanclass="target"id="d8/d48/structshaka_1_1WidevineDecryptionParams_1acf84772bb9787f61110e388490412939"></span><aclass="reference internal"href="#_CPPv2N5shaka14WidevineSignerE"title="shaka::WidevineSigner">WidevineSigner</a><codeclass="descname">signer</code><aclass="headerlink"href="#_CPPv2N5shaka24WidevineDecryptionParams6signerE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::DecryptionParams"></span><spanclass="target"id="d1/d4f/structshaka_1_1DecryptionParams"></span><emclass="property">struct </em><codeclass="descclassname">shaka::</code><codeclass="descname">DecryptionParams</code><aclass="headerlink"href="#_CPPv2N5shaka16DecryptionParamsE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::DecryptionParams::key_provider__KeyProvider"></span><spanclass="target"id="d1/d4f/structshaka_1_1DecryptionParams_1ad93d153f9e777cccb6404611d5b4d339"></span><aclass="reference internal"href="#_CPPv2N5shaka11KeyProviderE"title="shaka::KeyProvider">KeyProvider</a><codeclass="descname">key_provider</code> = KeyProvider::kNone<aclass="headerlink"href="#_CPPv2N5shaka16DecryptionParams12key_providerE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Specifies the key provider, which determines which key provider is used and which encryption params is valid. ‘kNone’ means not to decrypt the streams. </p>
<spanid="shaka::Status"></span><spanclass="target"id="d2/d20/classshaka_1_1Status"></span><emclass="property">class </em><codeclass="descclassname">shaka::</code><codeclass="descname">Status</code><aclass="headerlink"href="#_CPPv2N5shaka6StatusE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::Status::Status"></span><spanclass="target"id="d2/d20/classshaka_1_1Status_1a12c04257e2480e0ce87cd16b944921d0"></span><codeclass="descname">Status</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv2N5shaka6Status6StatusEv"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::Status::Status__error::Code.ssCR"></span><spanclass="target"id="d2/d20/classshaka_1_1Status_1a2fa2116c9e12215a4e3430b362ba622b"></span><codeclass="descname">Status</code><spanclass="sig-paren">(</span>error::<aclass="reference internal"href="#_CPPv2N5shaka5error4CodeE"title="shaka::error::Code">Code</a><em>error_code</em>, <emclass="property">const</em> std::string &<em>error_message</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv2N5shaka6Status6StatusEN5error4CodeERKNSt6stringE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Create a status with the specified code, and error message. If “error_code == error::OK”, error_message is ignored and a <aclass="reference internal"href="#d2/d20/classshaka_1_1Status"><spanclass="std std-ref">Status</span></a> object identical to Status::OK is constructed. </p>
<spanid="shaka::Status::Update__Status"></span><spanclass="target"id="d2/d20/classshaka_1_1Status_1a9c0536749c9abc21c1111e622de6b7c8"></span>void <codeclass="descname">Update</code><spanclass="sig-paren">(</span><aclass="reference internal"href="#_CPPv2N5shaka6StatusE"title="shaka::Status">Status</a><em>new_status</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv2N5shaka6Status6UpdateE6Status"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>If “ok()”, stores “new_status” into *this. If “!ok()”, preserves the current “error_code()/error_message()”,</p>
<p>Convenient way of keeping track of the first error encountered. Instead of: if (overall_status.ok()) overall_status = new_status Use: overall_status.Update(new_status); </p>
<spanid="shaka::Status::ToStringC"></span><spanclass="target"id="d2/d20/classshaka_1_1Status_1a6c5c3c528296f2cb0dec56506cb8d3c3"></span>std::string <codeclass="descname">ToString</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><emclass="property">const</em><aclass="headerlink"href="#_CPPv2NK5shaka6Status8ToStringEv"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::error::Code"></span><spanclass="target"id="d1/d13/status_8h_1a792f290a20d02dd2876d806006fca202"></span><emclass="property">enum </em><codeclass="descclassname">shaka::error::</code><codeclass="descname">Code</code><aclass="headerlink"href="#_CPPv2N5shaka5error4CodeE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d1/d13/status_8h_1a792f290a20d02dd2876d806006fca202a3e25f9aa2cf1b8f59c41295b3ee41241"></span><codeclass="descname">OK</code><aclass="headerlink"href="#_CPPv2N5shaka5error2OKE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d1/d13/status_8h_1a792f290a20d02dd2876d806006fca202a7319bbf317137520ba7bdd71f623ef9a"></span><codeclass="descname">UNKNOWN</code><aclass="headerlink"href="#_CPPv2N5shaka5error7UNKNOWNE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d1/d13/status_8h_1a792f290a20d02dd2876d806006fca202a5bde48d63183f485d225b1cb21b0805b"></span><codeclass="descname">CANCELLED</code><aclass="headerlink"href="#_CPPv2N5shaka5error9CANCELLEDE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d1/d13/status_8h_1a792f290a20d02dd2876d806006fca202a396b9de39f7b02f8fc745de9f9f65ffe"></span><codeclass="descname">INVALID_ARGUMENT</code><aclass="headerlink"href="#_CPPv2N5shaka5error16INVALID_ARGUMENTE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d1/d13/status_8h_1a792f290a20d02dd2876d806006fca202a64bd43a603c04a99ca138e95c8f37cf9"></span><codeclass="descname">UNIMPLEMENTED</code><aclass="headerlink"href="#_CPPv2N5shaka5error13UNIMPLEMENTEDE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d1/d13/status_8h_1a792f290a20d02dd2876d806006fca202a52af57d1c33d9624f9bf793eda21bacf"></span><codeclass="descname">FILE_FAILURE</code><aclass="headerlink"href="#_CPPv2N5shaka5error12FILE_FAILUREE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d1/d13/status_8h_1a792f290a20d02dd2876d806006fca202a489d8a0c2c7f87212c1f37151fab8741"></span><codeclass="descname">END_OF_STREAM</code><aclass="headerlink"href="#_CPPv2N5shaka5error13END_OF_STREAME"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d1/d13/status_8h_1a792f290a20d02dd2876d806006fca202a52c5964c464dd70217363e515f95de7f"></span><codeclass="descname">HTTP_FAILURE</code><aclass="headerlink"href="#_CPPv2N5shaka5error12HTTP_FAILUREE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d1/d13/status_8h_1a792f290a20d02dd2876d806006fca202a5854e8b94884dba436f9fd3532b2f1dd"></span><codeclass="descname">PARSER_FAILURE</code><aclass="headerlink"href="#_CPPv2N5shaka5error14PARSER_FAILUREE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d1/d13/status_8h_1a792f290a20d02dd2876d806006fca202af0c9eb427366e84fb675f6c42215de9e"></span><codeclass="descname">ENCRYPTION_FAILURE</code><aclass="headerlink"href="#_CPPv2N5shaka5error18ENCRYPTION_FAILUREE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d1/d13/status_8h_1a792f290a20d02dd2876d806006fca202aef7aafb9097e6eaa166e400a1fedfce1"></span><codeclass="descname">CHUNKING_ERROR</code><aclass="headerlink"href="#_CPPv2N5shaka5error14CHUNKING_ERRORE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d1/d13/status_8h_1a792f290a20d02dd2876d806006fca202a745fa5e68f07bab311b99027bfd78ace"></span><codeclass="descname">MUXER_FAILURE</code><aclass="headerlink"href="#_CPPv2N5shaka5error13MUXER_FAILUREE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d1/d13/status_8h_1a792f290a20d02dd2876d806006fca202a40d8f27644d86fe3353ab11e3d203410"></span><codeclass="descname">FRAGMENT_FINALIZED</code><aclass="headerlink"href="#_CPPv2N5shaka5error18FRAGMENT_FINALIZEDE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d1/d13/status_8h_1a792f290a20d02dd2876d806006fca202a98e2156719ef2baa18d4bf2ff71b6070"></span><codeclass="descname">SERVER_ERROR</code><aclass="headerlink"href="#_CPPv2N5shaka5error12SERVER_ERRORE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d1/d13/status_8h_1a792f290a20d02dd2876d806006fca202a0a392809478e3c1d71391a10775c8928"></span><codeclass="descname">INTERNAL_ERROR</code><aclass="headerlink"href="#_CPPv2N5shaka5error14INTERNAL_ERRORE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d1/d13/status_8h_1a792f290a20d02dd2876d806006fca202a993b12bd092d9eba0632be6e8554705e"></span><codeclass="descname">STOPPED</code><aclass="headerlink"href="#_CPPv2N5shaka5error7STOPPEDE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d1/d13/status_8h_1a792f290a20d02dd2876d806006fca202a3dabebb3d7b17ea708aeaf53818554e1"></span><codeclass="descname">TIME_OUT</code><aclass="headerlink"href="#_CPPv2N5shaka5error8TIME_OUTE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d1/d13/status_8h_1a792f290a20d02dd2876d806006fca202afa648960bdde267d5c7ca2a656587c38"></span><codeclass="descname">NOT_FOUND</code><aclass="headerlink"href="#_CPPv2N5shaka5error9NOT_FOUNDE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d1/d13/status_8h_1a792f290a20d02dd2876d806006fca202a904de325c12b4fd80fbdad4fb6648ab1"></span><codeclass="descname">ALREADY_EXISTS</code><aclass="headerlink"href="#_CPPv2N5shaka5error14ALREADY_EXISTSE"title="Permalink to this definition">¶</a><br/></dt>
<spanclass="target"id="d1/d13/status_8h_1a792f290a20d02dd2876d806006fca202a82bdf348d48e12f7d62ca6754a6137cc"></span><codeclass="descname">TRICK_PLAY_ERROR</code><aclass="headerlink"href="#_CPPv2N5shaka5error16TRICK_PLAY_ERRORE"title="Permalink to this definition">¶</a><br/></dt>