<h1>Shaka Packager Library (Continued)<aclass="headerlink"href="#shaka-packager-library-continued"title="Permalink to this headline">¶</a></h1>
<dlclass="class">
<dtid="_CPPv2N5shaka15PackagingParamsE">
<spanid="shaka::PackagingParams"></span><spanclass="target"id="shakad5/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="shakad5/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>
<dd><p>Specify temporary directory for intermediate temporary files. </p>
<spanid="shaka::PackagingParams::mp4_output_params__Mp4OutputParams"></span><spanclass="target"id="shakad5/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>
<dd><p>MP4 (ISO-BMFF) output related parameters. </p>
<spanid="shaka::PackagingParams::chunking_params__ChunkingParams"></span><spanclass="target"id="shakad5/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>
<dd><p>Chunking (segmentation) related parameters. </p>
<spanid="shaka::PackagingParams::output_media_info__b"></span><spanclass="target"id="shakad5/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="shakad5/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="shakad5/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="shakad5/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="shakad5/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>
<dd><p>Buffer callback params. </p>
</dd></dl>
</div>
</dd></dl>
<dlclass="class">
<dtid="_CPPv2N5shaka16StreamDescriptorE">
<spanid="shaka::StreamDescriptor"></span><spanclass="target"id="shakad2/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="shakad2/d7b/structshaka_1_1StreamDescriptor_1ae86324b838baa66dbab9a3d35352e200"></span>std::string <codeclass="descname">input</code><aclass="headerlink"href="#_CPPv2N5shaka16StreamDescriptor5inputE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Input/source media file path or network stream URL. Required. </p>
<spanid="shaka::StreamDescriptor::stream_selector__ss"></span><spanclass="target"id="shakad2/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>
</dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka16StreamDescriptor6outputE">
<spanid="shaka::StreamDescriptor::output__ss"></span><spanclass="target"id="shakad2/d7b/structshaka_1_1StreamDescriptor_1a08ce812991297de47354b99cdaec5415"></span>std::string <codeclass="descname">output</code><aclass="headerlink"href="#_CPPv2N5shaka16StreamDescriptor6outputE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Specifies output file path or init segment path (if segment template is specified). Can be empty for self initialization media segments. </p>
<spanid="shaka::StreamDescriptor::segment_template__ss"></span><spanclass="target"id="shakad2/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>
<dd><p>Specifies segment template. Can be empty. </p>
<spanid="shaka::StreamDescriptor::output_format__ss"></span><spanclass="target"id="shakad2/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="shakad2/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>
<dd><p>If set to true, the stream will not be encrypted. This is useful, e.g. to encrypt only video streams. </p>
<spanid="shaka::StreamDescriptor::drm_label__ss"></span><spanclass="target"id="shakad2/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="shakad2/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="shakad2/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="shakad2/d7b/structshaka_1_1StreamDescriptor_1af2e3479d90070a03a801ecc5a3d35d7e"></span>std::string <codeclass="descname">language</code><aclass="headerlink"href="#_CPPv2N5shaka16StreamDescriptor8languageE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Optional value which contains a user-specified language tag. If specified, this value overrides any language metadata in the input stream. </p>
<spanid="shaka::StreamDescriptor::hls_name__ss"></span><spanclass="target"id="shakad2/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="shakad2/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="shakad2/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>
</dd></dl>
</div>
</dd></dl>
<dlclass="class">
<dtid="_CPPv2N5shaka15Mp4OutputParamsE">
<spanid="shaka::Mp4OutputParams"></span><spanclass="target"id="shakad0/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>
<dd><p>MP4 (ISO-BMFF) output related parameters. </p>
<spanid="shaka::Mp4OutputParams::use_decoding_timestamp_in_timeline__b"></span><spanclass="target"id="shakad0/d43/structshaka_1_1Mp4OutputParams_1a4e0de7f58e0a83896e14e5603e2f965f"></span>bool <codeclass="descname">use_decoding_timestamp_in_timeline</code> = false<aclass="headerlink"href="#_CPPv2N5shaka15Mp4OutputParams34use_decoding_timestamp_in_timelineE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Set the flag use_decoding_timestamp_in_timeline, which if set to true, use decoding timestamp instead of presentation timestamp in media timeline, which is needed to workaround a Chromium bug that decoding timestamp is used in buffered range, <aclass="reference external"href="https://crbug.com/398130">https://crbug.com/398130</a>. </p>
<spanid="shaka::Mp4OutputParams::kNoSidxBoxInSegment__i"></span><spanclass="target"id="shakad0/d43/structshaka_1_1Mp4OutputParams_1a41ff299070f75fd0dca96d83706d32ff"></span><emclass="property">constexpr</em> int <codeclass="descname">kNoSidxBoxInSegment</code> = -1<aclass="headerlink"href="#_CPPv2N5shaka15Mp4OutputParams19kNoSidxBoxInSegmentE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Set the number of subsegments in each SIDX box. If 0, a single SIDX box is used per segment. If -1, no SIDX box is used. Otherwise, the Muxer will pack N subsegments in the root SIDX of the segment, with segment_duration/N/subsegment_duration fragments per subsegment. This flag is ingored for DASH MPD with on-demand profile. </p>
</dd></dl>
</div>
</dd></dl>
<dlclass="class">
<dtid="_CPPv2N5shaka14ChunkingParamsE">
<spanid="shaka::ChunkingParams"></span><spanclass="target"id="shakad2/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>
<dd><p>Chunking (segmentation) related parameters. </p>
<spanid="shaka::ChunkingParams::segment_duration_in_seconds__double"></span><spanclass="target"id="shakad2/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="shakad2/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>
<dd><p>Subsegment duration in seconds. Should not be larger than the segment duration. </p>
<spanid="shaka::ChunkingParams::segment_sap_aligned__b"></span><spanclass="target"id="shakad2/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>
<dd><p>Force segments to begin with stream access points. Actual segment duration may not be exactly what is specified by segment_duration. </p>
<spanid="shaka::ChunkingParams::subsegment_sap_aligned__b"></span><spanclass="target"id="shakad2/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>
</dd></dl>
</div>
</dd></dl>
<dlclass="class">
<dtid="_CPPv2N5shaka9MpdParamsE">
<spanid="shaka::MpdParams"></span><spanclass="target"id="shakadf/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="shakadf/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>
<dd><p>MPD output file path. </p>
</dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka9MpdParams9base_urlsE">
<spanid="shaka::MpdParams::base_urls__std::vector:ss:"></span><spanclass="target"id="shakadf/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>
<dd><p>BaseURLs for the MPD. The values will be added as <BaseURL> element(s) under the <MPD> element. </p>
<spanid="shaka::MpdParams::min_buffer_time__double"></span><spanclass="target"id="shakadf/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::generate_static_live_mpd__b"></span><spanclass="target"id="shakadf/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::time_shift_buffer_depth__double"></span><spanclass="target"id="shakadf/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::minimum_update_period__double"></span><spanclass="target"id="shakadf/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::default_language__ss"></span><spanclass="target"id="shakadf/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_dash_if_iop_compliant_mpd__b"></span><spanclass="target"id="shakadf/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>
<dd><p>Try to generate DASH-IF IOP compliant MPD. </p>
<spanid="shaka::MpdParams::kSuggestedPresentationDelayNotSet__double"></span><spanclass="target"id="shakadf/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>
</dd></dl>
</div>
</dd></dl>
<dlclass="class">
<dtid="_CPPv2N5shaka9HlsParamsE">
<spanid="shaka::HlsParams"></span><spanclass="target"id="shakad0/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="shakad0/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>
<dd><p>HLS playlist type. See HLS specification for details. </p>
<spanid="shaka::HlsParams::master_playlist_output__ss"></span><spanclass="target"id="shakad0/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>
<dd><p>HLS master playlist output path. </p>
</dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka9HlsParams8base_urlE">
<spanid="shaka::HlsParams::base_url__ss"></span><spanclass="target"id="shakad0/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>
<dd><p>The base URL for the Media Playlists and media files listed in the playlists. This is the prefix for the files. </p>
<spanid="shaka::HlsParams::time_shift_buffer_depth__double"></span><spanclass="target"id="shakad0/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>
</dd></dl>
</div>
</dd></dl>
<dlclass="type">
<dtid="_CPPv2N5shaka15HlsPlaylistTypeE">
<spanid="shaka::HlsPlaylistType"></span><spanclass="target"id="shakad8/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>
<dd><p>Defines the EXT-X-PLAYLIST-TYPE in the HLS specification. For HlsPlaylistType of kLive, EXT-X-PLAYLIST-TYPE tag is omitted. </p>
<p><em>Values:</em></p>
<dlclass="member">
<dtid="_CPPv2N5shaka4kVodE">
<spanid="shaka::kVod"></span><spanclass="target"id="shakad8/daf/namespaceshaka_1ab63a3c00cdbf61cfb6dd7a2497b26f8da1e17bc9cc968c62f2424715e2f57b7d1"></span><codeclass="descname">kVod</code><aclass="headerlink"href="#_CPPv2N5shaka4kVodE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka6kEventE">
<spanid="shaka::kEvent"></span><spanclass="target"id="shakad8/daf/namespaceshaka_1ab63a3c00cdbf61cfb6dd7a2497b26f8dab38bfe9b7b9eafa5a368e22761e21c41"></span><codeclass="descname">kEvent</code><aclass="headerlink"href="#_CPPv2N5shaka6kEventE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka5kLiveE">
<spanid="shaka::kLive"></span><spanclass="target"id="shakad8/daf/namespaceshaka_1ab63a3c00cdbf61cfb6dd7a2497b26f8da691aa15e9e6b889f9f400cddfdd194b6"></span><codeclass="descname">kLive</code><aclass="headerlink"href="#_CPPv2N5shaka5kLiveE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
</dd></dl>
<dlclass="type">
<dtid="_CPPv2N5shaka11KeyProviderE">
<spanid="shaka::KeyProvider"></span><spanclass="target"id="shakad8/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>
<spanid="shaka::kNone"></span><spanclass="target"id="shakad8/daf/namespaceshaka_1a539b99ce5c34193e294bc544437e9185a35c3ace1970663a16e5c65baa5941b13"></span><codeclass="descname">kNone</code> = 0<aclass="headerlink"href="#_CPPv2N5shaka5kNoneE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka9kWidevineE">
<spanid="shaka::kWidevine"></span><spanclass="target"id="shakad8/daf/namespaceshaka_1a539b99ce5c34193e294bc544437e9185a2b4c92d0a1dbc3a696c509b0bdde12eb"></span><codeclass="descname">kWidevine</code> = 1<aclass="headerlink"href="#_CPPv2N5shaka9kWidevineE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka10kPlayreadyE">
<spanid="shaka::kPlayready"></span><spanclass="target"id="shakad8/daf/namespaceshaka_1a539b99ce5c34193e294bc544437e9185a0ccb03800e1b8279005477c90719197f"></span><codeclass="descname">kPlayready</code> = 2<aclass="headerlink"href="#_CPPv2N5shaka10kPlayreadyE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka7kRawKeyE">
<spanid="shaka::kRawKey"></span><spanclass="target"id="shakad8/daf/namespaceshaka_1a539b99ce5c34193e294bc544437e9185a1537564eae41fe408316528882a721cf"></span><codeclass="descname">kRawKey</code> = 3<aclass="headerlink"href="#_CPPv2N5shaka7kRawKeyE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
</dd></dl>
<dlclass="class">
<dtid="_CPPv2N5shaka14WidevineSignerE">
<spanid="shaka::WidevineSigner"></span><spanclass="target"id="shakadf/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>
<dd><p>Signer credential for Widevine license server. </p>
<spanid="shaka::WidevineSigner::signer_name__ss"></span><spanclass="target"id="shakadf/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>
<dd><p>Name of the signer / content provider. </p>
<spanid="shaka::WidevineSigner::signing_key_type__SigningKeyType"></span><spanclass="target"id="shakadf/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>
</dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka14WidevineSigner3keyE">
<spanid="shaka::WidevineSigner::key__std::vector:uint8_t:"></span><spanclass="target"id="shakadf/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>
<dd><p>AES signing key. </p>
</dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka14WidevineSigner2ivE">
<spanid="shaka::WidevineSigner::iv__std::vector:uint8_t:"></span><spanclass="target"id="shakadf/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>
<dd><p>AES signing IV. </p>
</dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka14WidevineSigner3keyE">
<spanid="shaka::WidevineSigner::key__ss"></span><spanclass="target"id="shakadf/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="shakadf/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>
<dd><p><em>Values:</em></p>
<dlclass="member">
<dtid="_CPPv2N5shaka14WidevineSigner5kNoneE">
<spanid="shaka::WidevineSigner::kNone"></span><spanclass="target"id="shakadf/d22/structshaka_1_1WidevineSigner_1a4f118f7b3a763c9f81b22be37d851313a35c3ace1970663a16e5c65baa5941b13"></span><codeclass="descname">kNone</code><aclass="headerlink"href="#_CPPv2N5shaka14WidevineSigner5kNoneE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka14WidevineSigner4kAesE">
<spanid="shaka::WidevineSigner::kAes"></span><spanclass="target"id="shakadf/d22/structshaka_1_1WidevineSigner_1a4f118f7b3a763c9f81b22be37d851313aa71c96d1cd0362bf95fb3bd419048129"></span><codeclass="descname">kAes</code><aclass="headerlink"href="#_CPPv2N5shaka14WidevineSigner4kAesE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka14WidevineSigner4kRsaE">
<spanid="shaka::WidevineSigner::kRsa"></span><spanclass="target"id="shakadf/d22/structshaka_1_1WidevineSigner_1a4f118f7b3a763c9f81b22be37d851313a57693b7d41958c8db30e208b02faf71c"></span><codeclass="descname">kRsa</code><aclass="headerlink"href="#_CPPv2N5shaka14WidevineSigner4kRsaE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
</dd></dl>
<dlclass="class">
<dtid="_CPPv2N5shaka24WidevineEncryptionParamsE">
<spanid="shaka::WidevineEncryptionParams"></span><spanclass="target"id="shakad9/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="shakad9/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::include_common_pssh__b"></span><spanclass="target"id="shakad9/dd2/structshaka_1_1WidevineEncryptionParams_1a5985f2d6fbe33273654695050757d0b0"></span>bool <codeclass="descname">include_common_pssh</code> = false<aclass="headerlink"href="#_CPPv2N5shaka24WidevineEncryptionParams19include_common_psshE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Generates and includes an additional v1 PSSH box for the common system ID. See: <aclass="reference external"href="https://goo.gl/s8RIhr">https://goo.gl/s8RIhr</a>. </p>
<spanid="shaka::WidevineEncryptionParams::content_id__std::vector:uint8_t:"></span><spanclass="target"id="shakad9/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="shakad9/dd2/structshaka_1_1WidevineEncryptionParams_1a469f3db91b42af20f270a280c4d42b4f"></span>std::string <codeclass="descname">policy</code><aclass="headerlink"href="#_CPPv2N5shaka24WidevineEncryptionParams6policyE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>The name of a stored policy, which specifies DRM content rights. </p>
<spanid="shaka::WidevineEncryptionParams::signer__WidevineSigner"></span><spanclass="target"id="shakad9/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>
<dd><p>Signer credential for Widevine license / key server. </p>
<spanid="shaka::WidevineEncryptionParams::group_id__std::vector:uint8_t:"></span><spanclass="target"id="shakad9/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>
<dd><p>Group identifier, if present licenses will belong to this group. </p>
<spanid="shaka::PlayreadyEncryptionParams"></span><spanclass="target"id="shakad3/df5/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. Two different modes of playready key acquisition is supported: (1) Fetch from a key server. <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. (2) Provide the raw key directly. Both <codeclass="docutils literal"><spanclass="pre">key_id</span></code> and <codeclass="docutils literal"><spanclass="pre">key</span></code> are required. We are planning to merge this mode with <codeclass="docutils literal"><spanclass="pre">RawKeyParams</span></code>. </p>
<spanid="shaka::PlayreadyEncryptionParams::key_server_url__ss"></span><spanclass="target"id="shakad3/df5/structshaka_1_1PlayreadyEncryptionParams_1a3a31b3002f86834b1799279bf5b5fc11"></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="shakad3/df5/structshaka_1_1PlayreadyEncryptionParams_1a74199b0293ca77eaac30aea53a9ec2aa"></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="shakad3/df5/structshaka_1_1PlayreadyEncryptionParams_1a745d002043a10ae7c01983fe5fe93846"></span>std::string <codeclass="descname">ca_file</code><aclass="headerlink"href="#_CPPv2N5shaka25PlayreadyEncryptionParams7ca_fileE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Absolute path to the Certificate Authority file for the server cert in PEM format. </p>
<spanid="shaka::PlayreadyEncryptionParams::client_cert_file__ss"></span><spanclass="target"id="shakad3/df5/structshaka_1_1PlayreadyEncryptionParams_1afdc9477270b8a626163940cddff4fa8c"></span>std::string <codeclass="descname">client_cert_file</code><aclass="headerlink"href="#_CPPv2N5shaka25PlayreadyEncryptionParams16client_cert_fileE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Absolute path to client certificate file. </p>
<spanid="shaka::PlayreadyEncryptionParams::client_cert_private_key_file__ss"></span><spanclass="target"id="shakad3/df5/structshaka_1_1PlayreadyEncryptionParams_1af6f3b909425a27e17a7d6e473d7eb8ac"></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>
<dd><p>Absolute path to the private key file. </p>
<spanid="shaka::PlayreadyEncryptionParams::client_cert_private_key_password__ss"></span><spanclass="target"id="shakad3/df5/structshaka_1_1PlayreadyEncryptionParams_1a2d492f0c28b5d291ef512aa0248dc8ba"></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::PlayreadyEncryptionParams::key_id__std::vector:uint8_t:"></span><spanclass="target"id="shakad3/df5/structshaka_1_1PlayreadyEncryptionParams_1a872107e40137be5a6c1f932db67c2a9d"></span>std::vector<uint8_t><codeclass="descname">key_id</code><aclass="headerlink"href="#_CPPv2N5shaka25PlayreadyEncryptionParams6key_idE"title="Permalink to this definition">¶</a><br/></dt>
<spanid="shaka::PlayreadyEncryptionParams::key__std::vector:uint8_t:"></span><spanclass="target"id="shakad3/df5/structshaka_1_1PlayreadyEncryptionParams_1a2ba545b465d64da1ac9458ba45338f76"></span>std::vector<uint8_t><codeclass="descname">key</code><aclass="headerlink"href="#_CPPv2N5shaka25PlayreadyEncryptionParams3keyE"title="Permalink to this definition">¶</a><br/></dt>
<pclass="last">doxygenstruct: Cannot find class “shaka::RawKeyEncryptionParams” in doxygen xml output for project “shaka” from directory: ../../out/doxygen/xml</p>
</div>
<divclass="admonition warning">
<pclass="first admonition-title">Warning</p>
<pclass="last">doxygenstruct: Cannot find class “shaka::RawKeyEncryptionParams::KeyPair” in doxygen xml output for project “shaka” from directory: ../../out/doxygen/xml</p>
<spanid="shaka::EncryptionParams"></span><spanclass="target"id="shakadc/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::key_provider__KeyProvider"></span><spanclass="target"id="shakadc/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::clear_lead_in_seconds__double"></span><spanclass="target"id="shakadc/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="shakadc/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>
<dd><p>Enable/disable subsample encryption for VP9. </p>
<spanclass="target"id="shakadc/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="shakadc/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="shakadc/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="shakad7/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>
<dd><p>Encrypted stream information that is used to determine stream label. </p>
</dd></dl>
</dd></dl>
<dlclass="class">
<dtid="_CPPv2N5shaka24WidevineDecryptionParamsE">
<spanid="shaka::WidevineDecryptionParams"></span><spanclass="target"id="shakad8/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="shakad8/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="shakad8/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>
<dd><p>Signer credential for Widevine license / key server. </p>
<pclass="last">doxygenstruct: Cannot find class “shaka::RawKeyDecryptionParams” in doxygen xml output for project “shaka” from directory: ../../out/doxygen/xml</p>
</div>
<divclass="admonition warning">
<pclass="first admonition-title">Warning</p>
<pclass="last">doxygenstruct: Cannot find class “shaka::RawKeyDecryptionParams::KeyPair” in doxygen xml output for project “shaka” from directory: ../../out/doxygen/xml</p>
<spanid="shaka::DecryptionParams"></span><spanclass="target"id="shakad1/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="shakad1/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>
</dd></dl>
</div>
</dd></dl>
<dlclass="class">
<dtid="_CPPv2N5shaka6StatusE">
<spanid="shaka::Status"></span><spanclass="target"id="shakad2/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="shakad2/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>
<dd><p>Creates a “successful” status. </p>
<spanid="shaka::Status::Status__error::Code.ssCR"></span><spanclass="target"id="shakad2/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="#shakad2/d20/classshaka_1_1Status"><spanclass="std std-ref">Status</span></a> object identical to Status::OK is constructed. </p>
<spanid="shaka::Status::SetError__error::Code.ssCR"></span><spanclass="target"id="shakad2/d20/classshaka_1_1Status_1ac5a0cbdf79d591ae56af4913ec33f250"></span>void <codeclass="descname">SetError</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="#_CPPv2N5shaka6Status8SetErrorEN5error4CodeERKNSt6stringE"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Store the specified error in this <aclass="reference internal"href="#shakad2/d20/classshaka_1_1Status"><spanclass="std std-ref">Status</span></a> object. If “error_code == error::OK”, error_message is ignored and a <aclass="reference internal"href="#shakad2/d20/classshaka_1_1Status"><spanclass="std std-ref">Status</span></a> object identical to Status::OK is constructed. </p>
</dd></dl>
<dlclass="function">
<dtid="_CPPv2N5shaka6Status6UpdateERK6Status">
<spanid="shaka::Status::Update__StatusCR"></span><spanclass="target"id="shakad2/d20/classshaka_1_1Status_1a073aa1a10d4d005af861079e7319d3fa"></span>void <codeclass="descname">Update</code><spanclass="sig-paren">(</span><emclass="property">const</em><aclass="reference internal"href="#_CPPv2N5shaka6StatusE"title="shaka::Status">Status</a>&<em>new_status</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv2N5shaka6Status6UpdateERK6Status"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>
</dd></dl>
<dlclass="function">
<dtid="_CPPv2N5shaka6Status5ClearEv">
<spanid="shaka::Status::Clear"></span><spanclass="target"id="shakad2/d20/classshaka_1_1Status_1a022f6fc5d4756ce2cb2b586d8c40f145"></span>void <codeclass="descname">Clear</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv2N5shaka6Status5ClearEv"title="Permalink to this definition">¶</a><br/></dt>
<dd><p>Clear this status object to contain the OK code and no error message. </p>
</dd></dl>
<dlclass="function">
<dtid="_CPPv2NK5shaka6Status7MatchesERK6Status">
<spanid="shaka::Status::Matches__StatusCRC"></span><spanclass="target"id="shakad2/d20/classshaka_1_1Status_1a8a87de3b647b2eb6fb5dcd61efbca5cd"></span>bool <codeclass="descname">Matches</code><spanclass="sig-paren">(</span><emclass="property">const</em><aclass="reference internal"href="#_CPPv2N5shaka6StatusE"title="shaka::Status">Status</a>&<em>x</em><spanclass="sig-paren">)</span><emclass="property">const</em><aclass="headerlink"href="#_CPPv2NK5shaka6Status7MatchesERK6Status"title="Permalink to this definition">¶</a><br/></dt>
<dd><p><dlclass="docutils">
<dt><strong>Return</strong></dt>
<dd>true iff this has the same error_code as “x”, i.e., the two <aclass="reference internal"href="#shakad2/d20/classshaka_1_1Status"><spanclass="std std-ref">Status</span></a> objects are identical except possibly for the error message. </dd>
</dl>
</p>
</dd></dl>
<dlclass="function">
<dtid="_CPPv2NK5shaka6Status8ToStringEv">
<spanid="shaka::Status::ToStringC"></span><spanclass="target"id="shakad2/d20/classshaka_1_1Status_1a5b9c6f6e38d23dc6839bd275b0d15500"></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>
<dd><p><dlclass="docutils">
<dt><strong>Return</strong></dt>
<dd>A combination of the error code name and message. </dd>
</dl>
</p>
</dd></dl>
</div>
</dd></dl>
<dlclass="type">
<dtid="_CPPv2N5shaka5error4CodeE">
<spanid="shaka::error::Code"></span><spanclass="target"id="shakad4/d0a/namespaceshaka_1_1error_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>
<dd><p>Error codes for the packager APIs. </p>
<p><em>Values:</em></p>
<dlclass="member">
<dtid="_CPPv2N5shaka5error2OKE">
<spanid="shaka::error::OK"></span><spanclass="target"id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a3e25f9aa2cf1b8f59c41295b3ee41241"></span><codeclass="descname">OK</code><aclass="headerlink"href="#_CPPv2N5shaka5error2OKE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka5error7UNKNOWNE">
<spanid="shaka::error::UNKNOWN"></span><spanclass="target"id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a7319bbf317137520ba7bdd71f623ef9a"></span><codeclass="descname">UNKNOWN</code><aclass="headerlink"href="#_CPPv2N5shaka5error7UNKNOWNE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka5error9CANCELLEDE">
<spanid="shaka::error::CANCELLED"></span><spanclass="target"id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a5bde48d63183f485d225b1cb21b0805b"></span><codeclass="descname">CANCELLED</code><aclass="headerlink"href="#_CPPv2N5shaka5error9CANCELLEDE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka5error16INVALID_ARGUMENTE">
<spanid="shaka::error::INVALID_ARGUMENT"></span><spanclass="target"id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a396b9de39f7b02f8fc745de9f9f65ffe"></span><codeclass="descname">INVALID_ARGUMENT</code><aclass="headerlink"href="#_CPPv2N5shaka5error16INVALID_ARGUMENTE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka5error13UNIMPLEMENTEDE">
<spanid="shaka::error::UNIMPLEMENTED"></span><spanclass="target"id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a64bd43a603c04a99ca138e95c8f37cf9"></span><codeclass="descname">UNIMPLEMENTED</code><aclass="headerlink"href="#_CPPv2N5shaka5error13UNIMPLEMENTEDE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka5error12FILE_FAILUREE">
<spanid="shaka::error::FILE_FAILURE"></span><spanclass="target"id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a52af57d1c33d9624f9bf793eda21bacf"></span><codeclass="descname">FILE_FAILURE</code><aclass="headerlink"href="#_CPPv2N5shaka5error12FILE_FAILUREE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka5error13END_OF_STREAME">
<spanid="shaka::error::END_OF_STREAM"></span><spanclass="target"id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a489d8a0c2c7f87212c1f37151fab8741"></span><codeclass="descname">END_OF_STREAM</code><aclass="headerlink"href="#_CPPv2N5shaka5error13END_OF_STREAME"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka5error12HTTP_FAILUREE">
<spanid="shaka::error::HTTP_FAILURE"></span><spanclass="target"id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a52c5964c464dd70217363e515f95de7f"></span><codeclass="descname">HTTP_FAILURE</code><aclass="headerlink"href="#_CPPv2N5shaka5error12HTTP_FAILUREE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka5error14PARSER_FAILUREE">
<spanid="shaka::error::PARSER_FAILURE"></span><spanclass="target"id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a5854e8b94884dba436f9fd3532b2f1dd"></span><codeclass="descname">PARSER_FAILURE</code><aclass="headerlink"href="#_CPPv2N5shaka5error14PARSER_FAILUREE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka5error18ENCRYPTION_FAILUREE">
<spanid="shaka::error::ENCRYPTION_FAILURE"></span><spanclass="target"id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202af0c9eb427366e84fb675f6c42215de9e"></span><codeclass="descname">ENCRYPTION_FAILURE</code><aclass="headerlink"href="#_CPPv2N5shaka5error18ENCRYPTION_FAILUREE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka5error14CHUNKING_ERRORE">
<spanid="shaka::error::CHUNKING_ERROR"></span><spanclass="target"id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202aef7aafb9097e6eaa166e400a1fedfce1"></span><codeclass="descname">CHUNKING_ERROR</code><aclass="headerlink"href="#_CPPv2N5shaka5error14CHUNKING_ERRORE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka5error13MUXER_FAILUREE">
<spanid="shaka::error::MUXER_FAILURE"></span><spanclass="target"id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a745fa5e68f07bab311b99027bfd78ace"></span><codeclass="descname">MUXER_FAILURE</code><aclass="headerlink"href="#_CPPv2N5shaka5error13MUXER_FAILUREE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka5error18FRAGMENT_FINALIZEDE">
<spanid="shaka::error::FRAGMENT_FINALIZED"></span><spanclass="target"id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a40d8f27644d86fe3353ab11e3d203410"></span><codeclass="descname">FRAGMENT_FINALIZED</code><aclass="headerlink"href="#_CPPv2N5shaka5error18FRAGMENT_FINALIZEDE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka5error12SERVER_ERRORE">
<spanid="shaka::error::SERVER_ERROR"></span><spanclass="target"id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a98e2156719ef2baa18d4bf2ff71b6070"></span><codeclass="descname">SERVER_ERROR</code><aclass="headerlink"href="#_CPPv2N5shaka5error12SERVER_ERRORE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka5error14INTERNAL_ERRORE">
<spanid="shaka::error::INTERNAL_ERROR"></span><spanclass="target"id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a0a392809478e3c1d71391a10775c8928"></span><codeclass="descname">INTERNAL_ERROR</code><aclass="headerlink"href="#_CPPv2N5shaka5error14INTERNAL_ERRORE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka5error7STOPPEDE">
<spanid="shaka::error::STOPPED"></span><spanclass="target"id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a993b12bd092d9eba0632be6e8554705e"></span><codeclass="descname">STOPPED</code><aclass="headerlink"href="#_CPPv2N5shaka5error7STOPPEDE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka5error8TIME_OUTE">
<spanid="shaka::error::TIME_OUT"></span><spanclass="target"id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a3dabebb3d7b17ea708aeaf53818554e1"></span><codeclass="descname">TIME_OUT</code><aclass="headerlink"href="#_CPPv2N5shaka5error8TIME_OUTE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka5error9NOT_FOUNDE">
<spanid="shaka::error::NOT_FOUND"></span><spanclass="target"id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202afa648960bdde267d5c7ca2a656587c38"></span><codeclass="descname">NOT_FOUND</code><aclass="headerlink"href="#_CPPv2N5shaka5error9NOT_FOUNDE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka5error14ALREADY_EXISTSE">
<spanid="shaka::error::ALREADY_EXISTS"></span><spanclass="target"id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a904de325c12b4fd80fbdad4fb6648ab1"></span><codeclass="descname">ALREADY_EXISTS</code><aclass="headerlink"href="#_CPPv2N5shaka5error14ALREADY_EXISTSE"title="Permalink to this definition">¶</a><br/></dt>
<dd></dd></dl>
<dlclass="member">
<dtid="_CPPv2N5shaka5error16TRICK_PLAY_ERRORE">
<spanid="shaka::error::TRICK_PLAY_ERROR"></span><spanclass="target"id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a82bdf348d48e12f7d62ca6754a6137cc"></span><codeclass="descname">TRICK_PLAY_ERROR</code><aclass="headerlink"href="#_CPPv2N5shaka5error16TRICK_PLAY_ERRORE"title="Permalink to this definition">¶</a><br/></dt>