shaka-packager/html/library_details.html

926 lines
80 KiB
HTML
Raw Normal View History

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Shaka Packager Library (Continued) &#8212; Shaka Packager documentation</title>
<link rel="stylesheet" href="_static/sphinxdoc_new.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/table_styling.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Media Encoding" href="tutorials/encoding.html" />
<link rel="prev" title="Using Docker" href="docker_instructions.html" />
</head>
<body role="document">
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="tutorials/encoding.html" title="Media Encoding"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="docker_instructions.html" title="Using Docker"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">Shaka Packager documentation</a> &#187;</li>
</ul>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h4>Previous topic</h4>
<p class="topless"><a href="docker_instructions.html"
title="previous chapter">Using Docker</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="tutorials/encoding.html"
title="next chapter">Media Encoding</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/library_details.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<div><input type="text" name="q" /></div>
<div><input type="submit" value="Go" /></div>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="shaka-packager-library-continued">
<h1>Shaka Packager Library (Continued)<a class="headerlink" href="#shaka-packager-library-continued" title="Permalink to this headline"></a></h1>
<dl class="class">
<dt id="_CPPv2N5shaka15PackagingParamsE">
<span id="shaka::PackagingParams"></span><span class="target" id="shakad5/de3/structshaka_1_1PackagingParams"></span><em class="property">struct </em><code class="descclassname">shaka::</code><code class="descname">PackagingParams</code><a class="headerlink" href="#_CPPv2N5shaka15PackagingParamsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Packaging parameters. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="member">
<dt id="_CPPv2N5shaka15PackagingParams8temp_dirE">
<span id="shaka::PackagingParams::temp_dir__ss"></span><span class="target" id="shakad5/de3/structshaka_1_1PackagingParams_1ae179e88ad853856b0e006326ff445f6e"></span>std::string <code class="descname">temp_dir</code><a class="headerlink" href="#_CPPv2N5shaka15PackagingParams8temp_dirE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Specify temporary directory for intermediate temporary files. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka15PackagingParams17mp4_output_paramsE">
<span id="shaka::PackagingParams::mp4_output_params__Mp4OutputParams"></span><span class="target" id="shakad5/de3/structshaka_1_1PackagingParams_1a794072e13c04de6b98e5d1e7cc5b57d6"></span><a class="reference internal" href="#_CPPv2N5shaka15Mp4OutputParamsE" title="shaka::Mp4OutputParams">Mp4OutputParams</a> <code class="descname">mp4_output_params</code><a class="headerlink" href="#_CPPv2N5shaka15PackagingParams17mp4_output_paramsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>MP4 (ISO-BMFF) output related parameters. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka15PackagingParams15chunking_paramsE">
<span id="shaka::PackagingParams::chunking_params__ChunkingParams"></span><span class="target" id="shakad5/de3/structshaka_1_1PackagingParams_1ac992ff58f67ad9b737dfc62d517be8ed"></span><a class="reference internal" href="#_CPPv2N5shaka14ChunkingParamsE" title="shaka::ChunkingParams">ChunkingParams</a> <code class="descname">chunking_params</code><a class="headerlink" href="#_CPPv2N5shaka15PackagingParams15chunking_paramsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Chunking (segmentation) related parameters. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka15PackagingParams17output_media_infoE">
<span id="shaka::PackagingParams::output_media_info__b"></span><span class="target" id="shakad5/de3/structshaka_1_1PackagingParams_1a9206160a0fb92a9e9ee27fd8e9725ea1"></span>bool <code class="descname">output_media_info</code> = false<a class="headerlink" href="#_CPPv2N5shaka15PackagingParams17output_media_infoE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Manifest generation related parameters. Right now only one of <code class="docutils literal"><span class="pre">output_media_info</span></code>, <code class="docutils literal"><span class="pre">mpd_params</span></code> and <code class="docutils literal"><span class="pre">hls_params</span></code> should be set. Create a human readable format of MediaInfo. The output file name will be the name specified by output flag, suffixed with <code class="docutils literal"><span class="pre">.media_info</span></code>. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka15PackagingParams10mpd_paramsE">
<span id="shaka::PackagingParams::mpd_params__MpdParams"></span><span class="target" id="shakad5/de3/structshaka_1_1PackagingParams_1acfa10a8e9c877a3c2baf83525837a254"></span><a class="reference internal" href="#_CPPv2N5shaka9MpdParamsE" title="shaka::MpdParams">MpdParams</a> <code class="descname">mpd_params</code><a class="headerlink" href="#_CPPv2N5shaka15PackagingParams10mpd_paramsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>DASH MPD related parameters. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka15PackagingParams10hls_paramsE">
<span id="shaka::PackagingParams::hls_params__HlsParams"></span><span class="target" id="shakad5/de3/structshaka_1_1PackagingParams_1a88e4e2cc444fb79b8e35075dd5a20fbe"></span><a class="reference internal" href="#_CPPv2N5shaka9HlsParamsE" title="shaka::HlsParams">HlsParams</a> <code class="descname">hls_params</code><a class="headerlink" href="#_CPPv2N5shaka15PackagingParams10hls_paramsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>HLS related parameters. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka15PackagingParams17encryption_paramsE">
<span id="shaka::PackagingParams::encryption_params__EncryptionParams"></span><span class="target" id="shakad5/de3/structshaka_1_1PackagingParams_1a7792bf4a71a35d2a3f99d8b4806a3913"></span><a class="reference internal" href="#_CPPv2N5shaka16EncryptionParamsE" title="shaka::EncryptionParams">EncryptionParams</a> <code class="descname">encryption_params</code><a class="headerlink" href="#_CPPv2N5shaka15PackagingParams17encryption_paramsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Encryption and Decryption Parameters. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka15PackagingParams22buffer_callback_paramsE">
<span id="shaka::PackagingParams::buffer_callback_params__BufferCallbackParams"></span><span class="target" id="shakad5/de3/structshaka_1_1PackagingParams_1aaaf233248e46b6ff3285bbac87857f81"></span>BufferCallbackParams <code class="descname">buffer_callback_params</code><a class="headerlink" href="#_CPPv2N5shaka15PackagingParams22buffer_callback_paramsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Buffer callback params. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="class">
<dt id="_CPPv2N5shaka16StreamDescriptorE">
<span id="shaka::StreamDescriptor"></span><span class="target" id="shakad2/d7b/structshaka_1_1StreamDescriptor"></span><em class="property">struct </em><code class="descclassname">shaka::</code><code class="descname">StreamDescriptor</code><a class="headerlink" href="#_CPPv2N5shaka16StreamDescriptorE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Defines a single input/output stream. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="member">
<dt id="_CPPv2N5shaka16StreamDescriptor5inputE">
<span id="shaka::StreamDescriptor::input__ss"></span><span class="target" id="shakad2/d7b/structshaka_1_1StreamDescriptor_1ae86324b838baa66dbab9a3d35352e200"></span>std::string <code class="descname">input</code><a class="headerlink" href="#_CPPv2N5shaka16StreamDescriptor5inputE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Input/source media file path or network stream URL. Required. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka16StreamDescriptor15stream_selectorE">
<span id="shaka::StreamDescriptor::stream_selector__ss"></span><span class="target" id="shakad2/d7b/structshaka_1_1StreamDescriptor_1a386c5e3717b5f982f72698abba09df2c"></span>std::string <code class="descname">stream_selector</code><a class="headerlink" href="#_CPPv2N5shaka16StreamDescriptor15stream_selectorE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Stream selector, can be <code class="docutils literal"><span class="pre">audio</span></code>, <code class="docutils literal"><span class="pre">video</span></code>, <code class="docutils literal"><span class="pre">text</span></code> or a zero based stream index. Required. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka16StreamDescriptor6outputE">
<span id="shaka::StreamDescriptor::output__ss"></span><span class="target" id="shakad2/d7b/structshaka_1_1StreamDescriptor_1a08ce812991297de47354b99cdaec5415"></span>std::string <code class="descname">output</code><a class="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>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka16StreamDescriptor16segment_templateE">
<span id="shaka::StreamDescriptor::segment_template__ss"></span><span class="target" id="shakad2/d7b/structshaka_1_1StreamDescriptor_1af3e55c8970e8a7604ca79a98f4642872"></span>std::string <code class="descname">segment_template</code><a class="headerlink" href="#_CPPv2N5shaka16StreamDescriptor16segment_templateE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Specifies segment template. Can be empty. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka16StreamDescriptor13output_formatE">
<span id="shaka::StreamDescriptor::output_format__ss"></span><span class="target" id="shakad2/d7b/structshaka_1_1StreamDescriptor_1a025d9a9a1612654da2b0c99fe81378db"></span>std::string <code class="descname">output_format</code><a class="headerlink" href="#_CPPv2N5shaka16StreamDescriptor13output_formatE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Optional value which specifies output container format, e.g. &#8220;mp4&#8221;. If not specified, will detect from output / segment template name. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka16StreamDescriptor15skip_encryptionE">
<span id="shaka::StreamDescriptor::skip_encryption__b"></span><span class="target" id="shakad2/d7b/structshaka_1_1StreamDescriptor_1abbaf07b1faa84803478f89bc6dd8cb4a"></span>bool <code class="descname">skip_encryption</code> = false<a class="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>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka16StreamDescriptor17trick_play_factorE">
<span id="shaka::StreamDescriptor::trick_play_factor__uint32_t"></span><span class="target" id="shakad2/d7b/structshaka_1_1StreamDescriptor_1a5cc00f367691729460e0b75b8ec6c512"></span>uint32_t <code class="descname">trick_play_factor</code> = 0<a class="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. <code class="docutils literal"><span class="pre">trick_play_factor</span></code> defines the sampling rate. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka16StreamDescriptor9bandwidthE">
<span id="shaka::StreamDescriptor::bandwidth__uint32_t"></span><span class="target" id="shakad2/d7b/structshaka_1_1StreamDescriptor_1a9bcce2ca86a33f41803f7a6417a2758c"></span>uint32_t <code class="descname">bandwidth</code> = 0<a class="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 <code class="docutils literal"><span class="pre">$Bandwidth$</span></code> template parameter for segment names. If not specified, its value may be estimated. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka16StreamDescriptor8languageE">
<span id="shaka::StreamDescriptor::language__ss"></span><span class="target" id="shakad2/d7b/structshaka_1_1StreamDescriptor_1af2e3479d90070a03a801ecc5a3d35d7e"></span>std::string <code class="descname">language</code><a class="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>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka16StreamDescriptor8hls_nameE">
<span id="shaka::StreamDescriptor::hls_name__ss"></span><span class="target" id="shakad2/d7b/structshaka_1_1StreamDescriptor_1a92efcc01f52430f3d3ec030beb8c65c7"></span>std::string <code class="descname">hls_name</code><a class="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 <code class="docutils literal"><span class="pre">NAME</span></code> attribute for EXT-X-MEDIA. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka16StreamDescriptor12hls_group_idE">
<span id="shaka::StreamDescriptor::hls_group_id__ss"></span><span class="target" id="shakad2/d7b/structshaka_1_1StreamDescriptor_1a25764b4ffa8cb0da3b88cc251928ad96"></span>std::string <code class="descname">hls_group_id</code><a class="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>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka16StreamDescriptor17hls_playlist_nameE">
<span id="shaka::StreamDescriptor::hls_playlist_name__ss"></span><span class="target" id="shakad2/d7b/structshaka_1_1StreamDescriptor_1aa0d36cf55c46def14bc2fa6c293859ef"></span>std::string <code class="descname">hls_playlist_name</code><a class="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 <code class="docutils literal"><span class="pre">.m3u8</span></code>. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="class">
<dt id="_CPPv2N5shaka15Mp4OutputParamsE">
<span id="shaka::Mp4OutputParams"></span><span class="target" id="shakad0/d43/structshaka_1_1Mp4OutputParams"></span><em class="property">struct </em><code class="descclassname">shaka::</code><code class="descname">Mp4OutputParams</code><a class="headerlink" href="#_CPPv2N5shaka15Mp4OutputParamsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>MP4 (ISO-BMFF) output related parameters. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="member">
<dt id="_CPPv2N5shaka15Mp4OutputParams34use_decoding_timestamp_in_timelineE">
<span id="shaka::Mp4OutputParams::use_decoding_timestamp_in_timeline__b"></span><span class="target" id="shakad0/d43/structshaka_1_1Mp4OutputParams_1a4e0de7f58e0a83896e14e5603e2f965f"></span>bool <code class="descname">use_decoding_timestamp_in_timeline</code> = false<a class="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, <a class="reference external" href="https://crbug.com/398130">https://crbug.com/398130</a>. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Static Attributes</p>
<dl class="member">
<dt id="_CPPv2N5shaka15Mp4OutputParams19kNoSidxBoxInSegmentE">
<span id="shaka::Mp4OutputParams::kNoSidxBoxInSegment__i"></span><span class="target" id="shakad0/d43/structshaka_1_1Mp4OutputParams_1a41ff299070f75fd0dca96d83706d32ff"></span><em class="property">constexpr</em> int <code class="descname">kNoSidxBoxInSegment</code> = -1<a class="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>
<dl class="class">
<dt id="_CPPv2N5shaka14ChunkingParamsE">
<span id="shaka::ChunkingParams"></span><span class="target" id="shakad2/d1f/structshaka_1_1ChunkingParams"></span><em class="property">struct </em><code class="descclassname">shaka::</code><code class="descname">ChunkingParams</code><a class="headerlink" href="#_CPPv2N5shaka14ChunkingParamsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Chunking (segmentation) related parameters. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="member">
<dt id="_CPPv2N5shaka14ChunkingParams27segment_duration_in_secondsE">
<span id="shaka::ChunkingParams::segment_duration_in_seconds__double"></span><span class="target" id="shakad2/d1f/structshaka_1_1ChunkingParams_1a01414f1502775576d68e45d172029358"></span>double <code class="descname">segment_duration_in_seconds</code> = 0<a class="headerlink" href="#_CPPv2N5shaka14ChunkingParams27segment_duration_in_secondsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Segment duration in seconds. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka14ChunkingParams30subsegment_duration_in_secondsE">
<span id="shaka::ChunkingParams::subsegment_duration_in_seconds__double"></span><span class="target" id="shakad2/d1f/structshaka_1_1ChunkingParams_1ae303f5bf58edbb231b0cfbbf9c4e05d7"></span>double <code class="descname">subsegment_duration_in_seconds</code> = 0<a class="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>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka14ChunkingParams19segment_sap_alignedE">
<span id="shaka::ChunkingParams::segment_sap_aligned__b"></span><span class="target" id="shakad2/d1f/structshaka_1_1ChunkingParams_1a1ab10c82260dc073fb3830efcdabb171"></span>bool <code class="descname">segment_sap_aligned</code> = true<a class="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>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka14ChunkingParams22subsegment_sap_alignedE">
<span id="shaka::ChunkingParams::subsegment_sap_aligned__b"></span><span class="target" id="shakad2/d1f/structshaka_1_1ChunkingParams_1afcde8cc6cf9646c78f5bf13181022aa7"></span>bool <code class="descname">subsegment_sap_aligned</code> = true<a class="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>
<dl class="class">
<dt id="_CPPv2N5shaka9MpdParamsE">
<span id="shaka::MpdParams"></span><span class="target" id="shakadf/ddc/structshaka_1_1MpdParams"></span><em class="property">struct </em><code class="descclassname">shaka::</code><code class="descname">MpdParams</code><a class="headerlink" href="#_CPPv2N5shaka9MpdParamsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>DASH MPD related parameters. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="member">
<dt id="_CPPv2N5shaka9MpdParams10mpd_outputE">
<span id="shaka::MpdParams::mpd_output__ss"></span><span class="target" id="shakadf/ddc/structshaka_1_1MpdParams_1aa6ca18997bb307d3b5fe1c9ced161ff6"></span>std::string <code class="descname">mpd_output</code><a class="headerlink" href="#_CPPv2N5shaka9MpdParams10mpd_outputE" title="Permalink to this definition"></a><br /></dt>
<dd><p>MPD output file path. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka9MpdParams9base_urlsE">
<span id="shaka::MpdParams::base_urls__std::vector:ss:"></span><span class="target" id="shakadf/ddc/structshaka_1_1MpdParams_1a9fe508f9c56a6424fd857d43a4a69e7c"></span>std::vector&lt;std::string&gt; <code class="descname">base_urls</code><a class="headerlink" href="#_CPPv2N5shaka9MpdParams9base_urlsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>BaseURLs for the MPD. The values will be added as &lt;BaseURL&gt; element(s) under the &lt;MPD&gt; element. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka9MpdParams15min_buffer_timeE">
<span id="shaka::MpdParams::min_buffer_time__double"></span><span class="target" id="shakadf/ddc/structshaka_1_1MpdParams_1aee1510b64b9acbc17b8bfccac2e132a3"></span>double <code class="descname">min_buffer_time</code> = 2.0<a class="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>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka9MpdParams24generate_static_live_mpdE">
<span id="shaka::MpdParams::generate_static_live_mpd__b"></span><span class="target" id="shakadf/ddc/structshaka_1_1MpdParams_1ab5a09b17ee41a0960e813bd0c72bf4f6"></span>bool <code class="descname">generate_static_live_mpd</code> = false<a class="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>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka9MpdParams23time_shift_buffer_depthE">
<span id="shaka::MpdParams::time_shift_buffer_depth__double"></span><span class="target" id="shakadf/ddc/structshaka_1_1MpdParams_1a95e4824708c8de4b882b86772f680032"></span>double <code class="descname">time_shift_buffer_depth</code> = 0<a class="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 &#8216;dynamic&#8217; media presentations, in seconds. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka9MpdParams21minimum_update_periodE">
<span id="shaka::MpdParams::minimum_update_period__double"></span><span class="target" id="shakadf/ddc/structshaka_1_1MpdParams_1a4a5dafe570fd7e35749ce12d83ca9559"></span>double <code class="descname">minimum_update_period</code> = 0<a class="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>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka9MpdParams16default_languageE">
<span id="shaka::MpdParams::default_language__ss"></span><span class="target" id="shakadf/ddc/structshaka_1_1MpdParams_1a74df80bd74635090e97837f3a5941d73"></span>std::string <code class="descname">default_language</code><a class="headerlink" href="#_CPPv2N5shaka9MpdParams16default_languageE" title="Permalink to this definition"></a><br /></dt>
<dd><p>The tracks tagged with this language will have &lt;Role ... value=&#8221;main&#8221; /&gt; in the manifest. This allows the player to choose the correct default language for the content. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka9MpdParams34generate_dash_if_iop_compliant_mpdE">
<span id="shaka::MpdParams::generate_dash_if_iop_compliant_mpd__b"></span><span class="target" id="shakadf/ddc/structshaka_1_1MpdParams_1aa1b2ec6746586d4981655cee62669ba2"></span>bool <code class="descname">generate_dash_if_iop_compliant_mpd</code> = true<a class="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>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Static Attributes</p>
<dl class="member">
<dt id="_CPPv2N5shaka9MpdParams33kSuggestedPresentationDelayNotSetE">
<span id="shaka::MpdParams::kSuggestedPresentationDelayNotSet__double"></span><span class="target" id="shakadf/ddc/structshaka_1_1MpdParams_1a13705544aac44c5d2065b8a842744bf0"></span><em class="property">constexpr</em> double <code class="descname">kSuggestedPresentationDelayNotSet</code> = 0<a class="headerlink" href="#_CPPv2N5shaka9MpdParams33kSuggestedPresentationDelayNotSetE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Set MPD attribute. For &#8216;dynamic&#8217; 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>
<dl class="class">
<dt id="_CPPv2N5shaka9HlsParamsE">
<span id="shaka::HlsParams"></span><span class="target" id="shakad0/da8/structshaka_1_1HlsParams"></span><em class="property">struct </em><code class="descclassname">shaka::</code><code class="descname">HlsParams</code><a class="headerlink" href="#_CPPv2N5shaka9HlsParamsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>HLS related parameters. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="member">
<dt id="_CPPv2N5shaka9HlsParams13playlist_typeE">
<span id="shaka::HlsParams::playlist_type__HlsPlaylistType"></span><span class="target" id="shakad0/da8/structshaka_1_1HlsParams_1a9bfeae8a0c112ca82830dd3f228438e6"></span><a class="reference internal" href="#_CPPv2N5shaka15HlsPlaylistTypeE" title="shaka::HlsPlaylistType">HlsPlaylistType</a> <code class="descname">playlist_type</code> = HlsPlaylistType::kVod<a class="headerlink" href="#_CPPv2N5shaka9HlsParams13playlist_typeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>HLS playlist type. See HLS specification for details. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka9HlsParams22master_playlist_outputE">
<span id="shaka::HlsParams::master_playlist_output__ss"></span><span class="target" id="shakad0/da8/structshaka_1_1HlsParams_1ae3706891d39f8da72ed59d8fb13f2e30"></span>std::string <code class="descname">master_playlist_output</code><a class="headerlink" href="#_CPPv2N5shaka9HlsParams22master_playlist_outputE" title="Permalink to this definition"></a><br /></dt>
<dd><p>HLS master playlist output path. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka9HlsParams8base_urlE">
<span id="shaka::HlsParams::base_url__ss"></span><span class="target" id="shakad0/da8/structshaka_1_1HlsParams_1a546dcdf68c8a0a5e188f84b5c9fca9dd"></span>std::string <code class="descname">base_url</code><a class="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>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka9HlsParams23time_shift_buffer_depthE">
<span id="shaka::HlsParams::time_shift_buffer_depth__double"></span><span class="target" id="shakad0/da8/structshaka_1_1HlsParams_1adc19a9eebbfe20c3f9fe03dd452e4b1b"></span>double <code class="descname">time_shift_buffer_depth</code> = 0<a class="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 &#8216;live&#8217; playlists. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="type">
<dt id="_CPPv2N5shaka15HlsPlaylistTypeE">
<span id="shaka::HlsPlaylistType"></span><span class="target" id="shakad8/daf/namespaceshaka_1ab63a3c00cdbf61cfb6dd7a2497b26f8d"></span><em class="property">enum </em><code class="descclassname">shaka::</code><code class="descname">HlsPlaylistType</code><a class="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>
<dl class="member">
<dt id="_CPPv2N5shaka4kVodE">
<span id="shaka::kVod"></span><span class="target" id="shakad8/daf/namespaceshaka_1ab63a3c00cdbf61cfb6dd7a2497b26f8da1e17bc9cc968c62f2424715e2f57b7d1"></span><code class="descname">kVod</code><a class="headerlink" href="#_CPPv2N5shaka4kVodE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka6kEventE">
<span id="shaka::kEvent"></span><span class="target" id="shakad8/daf/namespaceshaka_1ab63a3c00cdbf61cfb6dd7a2497b26f8dab38bfe9b7b9eafa5a368e22761e21c41"></span><code class="descname">kEvent</code><a class="headerlink" href="#_CPPv2N5shaka6kEventE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka5kLiveE">
<span id="shaka::kLive"></span><span class="target" id="shakad8/daf/namespaceshaka_1ab63a3c00cdbf61cfb6dd7a2497b26f8da691aa15e9e6b889f9f400cddfdd194b6"></span><code class="descname">kLive</code><a class="headerlink" href="#_CPPv2N5shaka5kLiveE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</dd></dl>
<dl class="type">
<dt id="_CPPv2N5shaka11KeyProviderE">
<span id="shaka::KeyProvider"></span><span class="target" id="shakad8/daf/namespaceshaka_1a539b99ce5c34193e294bc544437e9185"></span><em class="property">enum </em><code class="descclassname">shaka::</code><code class="descname">KeyProvider</code><a class="headerlink" href="#_CPPv2N5shaka11KeyProviderE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Encryption / decryption key providers. </p>
<p><em>Values:</em></p>
<dl class="member">
<dt id="_CPPv2N5shaka5kNoneE">
<span id="shaka::kNone"></span><span class="target" id="shakad8/daf/namespaceshaka_1a539b99ce5c34193e294bc544437e9185a35c3ace1970663a16e5c65baa5941b13"></span><code class="descname">kNone</code> = 0<a class="headerlink" href="#_CPPv2N5shaka5kNoneE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka9kWidevineE">
<span id="shaka::kWidevine"></span><span class="target" id="shakad8/daf/namespaceshaka_1a539b99ce5c34193e294bc544437e9185a2b4c92d0a1dbc3a696c509b0bdde12eb"></span><code class="descname">kWidevine</code> = 1<a class="headerlink" href="#_CPPv2N5shaka9kWidevineE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka10kPlayreadyE">
<span id="shaka::kPlayready"></span><span class="target" id="shakad8/daf/namespaceshaka_1a539b99ce5c34193e294bc544437e9185a0ccb03800e1b8279005477c90719197f"></span><code class="descname">kPlayready</code> = 2<a class="headerlink" href="#_CPPv2N5shaka10kPlayreadyE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka7kRawKeyE">
<span id="shaka::kRawKey"></span><span class="target" id="shakad8/daf/namespaceshaka_1a539b99ce5c34193e294bc544437e9185a1537564eae41fe408316528882a721cf"></span><code class="descname">kRawKey</code> = 3<a class="headerlink" href="#_CPPv2N5shaka7kRawKeyE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="_CPPv2N5shaka14WidevineSignerE">
<span id="shaka::WidevineSigner"></span><span class="target" id="shakadf/d22/structshaka_1_1WidevineSigner"></span><em class="property">struct </em><code class="descclassname">shaka::</code><code class="descname">WidevineSigner</code><a class="headerlink" href="#_CPPv2N5shaka14WidevineSignerE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Signer credential for Widevine license server. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="member">
<dt id="_CPPv2N5shaka14WidevineSigner11signer_nameE">
<span id="shaka::WidevineSigner::signer_name__ss"></span><span class="target" id="shakadf/d22/structshaka_1_1WidevineSigner_1a6768d5addb3c90f33ce5f241705c827e"></span>std::string <code class="descname">signer_name</code><a class="headerlink" href="#_CPPv2N5shaka14WidevineSigner11signer_nameE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Name of the signer / content provider. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka14WidevineSigner16signing_key_typeE">
<span id="shaka::WidevineSigner::signing_key_type__SigningKeyType"></span><span class="target" id="shakadf/d22/structshaka_1_1WidevineSigner_1a656fbc14799c96fa8b822e3917070cf6"></span><a class="reference internal" href="#_CPPv2N5shaka14WidevineSigner14SigningKeyTypeE" title="shaka::WidevineSigner::SigningKeyType">SigningKeyType</a> <code class="descname">signing_key_type</code> = SigningKeyType::kNone<a class="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 &#8216;kNone&#8217; is invalid. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka14WidevineSigner3keyE">
<span id="shaka::WidevineSigner::key__std::vector:uint8_t:"></span><span class="target" id="shakadf/d22/structshaka_1_1WidevineSigner_1ad5c378d29df509280d8697f986163324"></span>std::vector&lt;uint8_t&gt; <code class="descname">key</code><a class="headerlink" href="#_CPPv2N5shaka14WidevineSigner3keyE" title="Permalink to this definition"></a><br /></dt>
<dd><p>AES signing key. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka14WidevineSigner2ivE">
<span id="shaka::WidevineSigner::iv__std::vector:uint8_t:"></span><span class="target" id="shakadf/d22/structshaka_1_1WidevineSigner_1a6db96d4c3f1189bbd09515732bec94d9"></span>std::vector&lt;uint8_t&gt; <code class="descname">iv</code><a class="headerlink" href="#_CPPv2N5shaka14WidevineSigner2ivE" title="Permalink to this definition"></a><br /></dt>
<dd><p>AES signing IV. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka14WidevineSigner3keyE">
<span id="shaka::WidevineSigner::key__ss"></span><span class="target" id="shakadf/d22/structshaka_1_1WidevineSigner_1a25bb558aa06563d24c3d7f9733ff8898"></span>std::string <code class="descname">key</code><a class="headerlink" href="#_CPPv2N5shaka14WidevineSigner3keyE" title="Permalink to this definition"></a><br /></dt>
<dd><p>RSA signing private key. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="type">
<dt id="_CPPv2N5shaka14WidevineSigner14SigningKeyTypeE">
<span id="shaka::WidevineSigner::SigningKeyType"></span><span class="target" id="shakadf/d22/structshaka_1_1WidevineSigner_1a4f118f7b3a763c9f81b22be37d851313"></span><em class="property">enum </em><code class="descclassname">shaka::WidevineSigner::</code><code class="descname">SigningKeyType</code><a class="headerlink" href="#_CPPv2N5shaka14WidevineSigner14SigningKeyTypeE" title="Permalink to this definition"></a><br /></dt>
<dd><p><em>Values:</em></p>
<dl class="member">
<dt id="_CPPv2N5shaka14WidevineSigner5kNoneE">
<span id="shaka::WidevineSigner::kNone"></span><span class="target" id="shakadf/d22/structshaka_1_1WidevineSigner_1a4f118f7b3a763c9f81b22be37d851313a35c3ace1970663a16e5c65baa5941b13"></span><code class="descname">kNone</code><a class="headerlink" href="#_CPPv2N5shaka14WidevineSigner5kNoneE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka14WidevineSigner4kAesE">
<span id="shaka::WidevineSigner::kAes"></span><span class="target" id="shakadf/d22/structshaka_1_1WidevineSigner_1a4f118f7b3a763c9f81b22be37d851313aa71c96d1cd0362bf95fb3bd419048129"></span><code class="descname">kAes</code><a class="headerlink" href="#_CPPv2N5shaka14WidevineSigner4kAesE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka14WidevineSigner4kRsaE">
<span id="shaka::WidevineSigner::kRsa"></span><span class="target" id="shakadf/d22/structshaka_1_1WidevineSigner_1a4f118f7b3a763c9f81b22be37d851313a57693b7d41958c8db30e208b02faf71c"></span><code class="descname">kRsa</code><a class="headerlink" href="#_CPPv2N5shaka14WidevineSigner4kRsaE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="_CPPv2N5shaka24WidevineEncryptionParamsE">
<span id="shaka::WidevineEncryptionParams"></span><span class="target" id="shakad9/dd2/structshaka_1_1WidevineEncryptionParams"></span><em class="property">struct </em><code class="descclassname">shaka::</code><code class="descname">WidevineEncryptionParams</code><a class="headerlink" href="#_CPPv2N5shaka24WidevineEncryptionParamsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Widevine encryption parameters. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="member">
<dt id="_CPPv2N5shaka24WidevineEncryptionParams14key_server_urlE">
<span id="shaka::WidevineEncryptionParams::key_server_url__ss"></span><span class="target" id="shakad9/dd2/structshaka_1_1WidevineEncryptionParams_1ac222c5bd0620e5a6f9bf5e9fec534fb9"></span>std::string <code class="descname">key_server_url</code><a class="headerlink" href="#_CPPv2N5shaka24WidevineEncryptionParams14key_server_urlE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Widevine license / key server URL. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka24WidevineEncryptionParams19include_common_psshE">
<span id="shaka::WidevineEncryptionParams::include_common_pssh__b"></span><span class="target" id="shakad9/dd2/structshaka_1_1WidevineEncryptionParams_1a5985f2d6fbe33273654695050757d0b0"></span>bool <code class="descname">include_common_pssh</code> = false<a class="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: <a class="reference external" href="https://goo.gl/s8RIhr">https://goo.gl/s8RIhr</a>. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka24WidevineEncryptionParams10content_idE">
<span id="shaka::WidevineEncryptionParams::content_id__std::vector:uint8_t:"></span><span class="target" id="shakad9/dd2/structshaka_1_1WidevineEncryptionParams_1a6b9770524a9507d0a9a3606ceef23075"></span>std::vector&lt;uint8_t&gt; <code class="descname">content_id</code><a class="headerlink" href="#_CPPv2N5shaka24WidevineEncryptionParams10content_idE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Content identifier. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka24WidevineEncryptionParams6policyE">
<span id="shaka::WidevineEncryptionParams::policy__ss"></span><span class="target" id="shakad9/dd2/structshaka_1_1WidevineEncryptionParams_1a469f3db91b42af20f270a280c4d42b4f"></span>std::string <code class="descname">policy</code><a class="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>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka24WidevineEncryptionParams6signerE">
<span id="shaka::WidevineEncryptionParams::signer__WidevineSigner"></span><span class="target" id="shakad9/dd2/structshaka_1_1WidevineEncryptionParams_1a233141ad4baf2f2afce30f96adf340ae"></span><a class="reference internal" href="#_CPPv2N5shaka14WidevineSignerE" title="shaka::WidevineSigner">WidevineSigner</a> <code class="descname">signer</code><a class="headerlink" href="#_CPPv2N5shaka24WidevineEncryptionParams6signerE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Signer credential for Widevine license / key server. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka24WidevineEncryptionParams8group_idE">
<span id="shaka::WidevineEncryptionParams::group_id__std::vector:uint8_t:"></span><span class="target" id="shakad9/dd2/structshaka_1_1WidevineEncryptionParams_1a6d69402cd4c66d546be180c7800e6d09"></span>std::vector&lt;uint8_t&gt; <code class="descname">group_id</code><a class="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>
</dd></dl>
</div>
</dd></dl>
<dl class="class">
<dt id="_CPPv2N5shaka25PlayreadyEncryptionParamsE">
<span id="shaka::PlayreadyEncryptionParams"></span><span class="target" id="shakad3/df5/structshaka_1_1PlayreadyEncryptionParams"></span><em class="property">struct </em><code class="descclassname">shaka::</code><code class="descname">PlayreadyEncryptionParams</code><a class="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. <code class="docutils literal"><span class="pre">key_server_url</span></code> and <code class="docutils literal"><span class="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 <code class="docutils literal"><span class="pre">key_id</span></code> and <code class="docutils literal"><span class="pre">key</span></code> are required. We are planning to merge this mode with <code class="docutils literal"><a class="reference internal" href="#shakad0/d5d/structshaka_1_1RawKeyEncryptionParams"><span class="std std-ref"><span class="pre">RawKeyEncryptionParams</span></span></a></code>. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="member">
<dt id="_CPPv2N5shaka25PlayreadyEncryptionParams14key_server_urlE">
<span id="shaka::PlayreadyEncryptionParams::key_server_url__ss"></span><span class="target" id="shakad3/df5/structshaka_1_1PlayreadyEncryptionParams_1a3a31b3002f86834b1799279bf5b5fc11"></span>std::string <code class="descname">key_server_url</code><a class="headerlink" href="#_CPPv2N5shaka25PlayreadyEncryptionParams14key_server_urlE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Playready license / key server URL. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka25PlayreadyEncryptionParams18program_identifierE">
<span id="shaka::PlayreadyEncryptionParams::program_identifier__ss"></span><span class="target" id="shakad3/df5/structshaka_1_1PlayreadyEncryptionParams_1a74199b0293ca77eaac30aea53a9ec2aa"></span>std::string <code class="descname">program_identifier</code><a class="headerlink" href="#_CPPv2N5shaka25PlayreadyEncryptionParams18program_identifierE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Playready program identifier. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka25PlayreadyEncryptionParams7ca_fileE">
<span id="shaka::PlayreadyEncryptionParams::ca_file__ss"></span><span class="target" id="shakad3/df5/structshaka_1_1PlayreadyEncryptionParams_1a745d002043a10ae7c01983fe5fe93846"></span>std::string <code class="descname">ca_file</code><a class="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>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka25PlayreadyEncryptionParams16client_cert_fileE">
<span id="shaka::PlayreadyEncryptionParams::client_cert_file__ss"></span><span class="target" id="shakad3/df5/structshaka_1_1PlayreadyEncryptionParams_1afdc9477270b8a626163940cddff4fa8c"></span>std::string <code class="descname">client_cert_file</code><a class="headerlink" href="#_CPPv2N5shaka25PlayreadyEncryptionParams16client_cert_fileE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Absolute path to client certificate file. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka25PlayreadyEncryptionParams28client_cert_private_key_fileE">
<span id="shaka::PlayreadyEncryptionParams::client_cert_private_key_file__ss"></span><span class="target" id="shakad3/df5/structshaka_1_1PlayreadyEncryptionParams_1af6f3b909425a27e17a7d6e473d7eb8ac"></span>std::string <code class="descname">client_cert_private_key_file</code><a class="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>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka25PlayreadyEncryptionParams32client_cert_private_key_passwordE">
<span id="shaka::PlayreadyEncryptionParams::client_cert_private_key_password__ss"></span><span class="target" id="shakad3/df5/structshaka_1_1PlayreadyEncryptionParams_1a2d492f0c28b5d291ef512aa0248dc8ba"></span>std::string <code class="descname">client_cert_private_key_password</code><a class="headerlink" href="#_CPPv2N5shaka25PlayreadyEncryptionParams32client_cert_private_key_passwordE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Password to the private key file. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka25PlayreadyEncryptionParams6key_idE">
<span id="shaka::PlayreadyEncryptionParams::key_id__std::vector:uint8_t:"></span><span class="target" id="shakad3/df5/structshaka_1_1PlayreadyEncryptionParams_1a872107e40137be5a6c1f932db67c2a9d"></span>std::vector&lt;uint8_t&gt; <code class="descname">key_id</code><a class="headerlink" href="#_CPPv2N5shaka25PlayreadyEncryptionParams6key_idE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Provides a raw Playready KeyId. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka25PlayreadyEncryptionParams3keyE">
<span id="shaka::PlayreadyEncryptionParams::key__std::vector:uint8_t:"></span><span class="target" id="shakad3/df5/structshaka_1_1PlayreadyEncryptionParams_1a2ba545b465d64da1ac9458ba45338f76"></span>std::vector&lt;uint8_t&gt; <code class="descname">key</code><a class="headerlink" href="#_CPPv2N5shaka25PlayreadyEncryptionParams3keyE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Provides a raw Playready Key. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="class">
<dt id="_CPPv2N5shaka22RawKeyEncryptionParamsE">
<span id="shaka::RawKeyEncryptionParams"></span><span class="target" id="shakad0/d5d/structshaka_1_1RawKeyEncryptionParams"></span><em class="property">struct </em><code class="descclassname">shaka::</code><code class="descname">RawKeyEncryptionParams</code><a class="headerlink" href="#_CPPv2N5shaka22RawKeyEncryptionParamsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Raw key encryption parameters, i.e. with key parameters provided. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="member">
<dt id="_CPPv2N5shaka22RawKeyEncryptionParams2ivE">
<span id="shaka::RawKeyEncryptionParams::iv__std::vector:uint8_t:"></span><span class="target" id="shakad0/d5d/structshaka_1_1RawKeyEncryptionParams_1a2b8b36d5dd357a6b354de194bc3fb702"></span>std::vector&lt;uint8_t&gt; <code class="descname">iv</code><a class="headerlink" href="#_CPPv2N5shaka22RawKeyEncryptionParams2ivE" title="Permalink to this definition"></a><br /></dt>
<dd><p>An optional initialization vector. If not provided, a random <code class="docutils literal"><span class="pre">iv</span></code> will be generated. Note that this parameter should only be used during testing. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka22RawKeyEncryptionParams4psshE">
<span id="shaka::RawKeyEncryptionParams::pssh__std::vector:uint8_t:"></span><span class="target" id="shakad0/d5d/structshaka_1_1RawKeyEncryptionParams_1add60228a75eee66b051e2cc7ceeb4b01"></span>std::vector&lt;uint8_t&gt; <code class="descname">pssh</code><a class="headerlink" href="#_CPPv2N5shaka22RawKeyEncryptionParams4psshE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Inject a custom <code class="docutils literal"><span class="pre">pssh</span></code> or multiple concatenated <code class="docutils literal"><span class="pre">psshs</span></code>. If not provided, a common system pssh will be generated. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka22RawKeyEncryptionParams7key_mapE">
<span id="shaka::RawKeyEncryptionParams::key_map__std::map:StreamLabel.KeyPair:"></span><span class="target" id="shakad0/d5d/structshaka_1_1RawKeyEncryptionParams_1a70893a2ff3b6fc74fd53e9b00f2a023d"></span>std::map&lt;StreamLabel, <a class="reference internal" href="#_CPPv2N5shaka22RawKeyEncryptionParams7KeyPairE" title="shaka::RawKeyEncryptionParams::KeyPair">KeyPair</a>&gt; <code class="descname">key_map</code><a class="headerlink" href="#_CPPv2N5shaka22RawKeyEncryptionParams7key_mapE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Defines the <a class="reference internal" href="#shakadf/d5d/structshaka_1_1RawKeyEncryptionParams_1_1KeyPair"><span class="std std-ref">KeyPair</span></a> for the streams. An empty <code class="docutils literal"><span class="pre">StreamLabel</span></code> indicates the default <code class="docutils literal"><a class="reference internal" href="#shakadf/d5d/structshaka_1_1RawKeyEncryptionParams_1_1KeyPair"><span class="std std-ref"><span class="pre">KeyPair</span></span></a></code>, which applies to all the <code class="docutils literal"><span class="pre">StreamLabels</span></code> not present in <code class="docutils literal"><span class="pre">key_map</span></code>. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="class">
<dt id="_CPPv2N5shaka22RawKeyEncryptionParams7KeyPairE">
<span id="shaka::RawKeyEncryptionParams::KeyPair"></span><span class="target" id="shakadf/d5d/structshaka_1_1RawKeyEncryptionParams_1_1KeyPair"></span><em class="property">struct </em><code class="descclassname">shaka::RawKeyEncryptionParams::</code><code class="descname">KeyPair</code><a class="headerlink" href="#_CPPv2N5shaka22RawKeyEncryptionParams7KeyPairE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="class">
<dt id="_CPPv2N5shaka16EncryptionParamsE">
<span id="shaka::EncryptionParams"></span><span class="target" id="shakadc/da0/structshaka_1_1EncryptionParams"></span><em class="property">struct </em><code class="descclassname">shaka::</code><code class="descname">EncryptionParams</code><a class="headerlink" href="#_CPPv2N5shaka16EncryptionParamsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Encryption parameters. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="member">
<dt id="_CPPv2N5shaka16EncryptionParams12key_providerE">
<span id="shaka::EncryptionParams::key_provider__KeyProvider"></span><span class="target" id="shakadc/da0/structshaka_1_1EncryptionParams_1adcf61ebf8d129a5bcf3f159b9b076eed"></span><a class="reference internal" href="#_CPPv2N5shaka11KeyProviderE" title="shaka::KeyProvider">KeyProvider</a> <code class="descname">key_provider</code> = KeyProvider::kNone<a class="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. &#8216;kNone&#8217; means not to encrypt the streams. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka16EncryptionParams21clear_lead_in_secondsE">
<span id="shaka::EncryptionParams::clear_lead_in_seconds__double"></span><span class="target" id="shakadc/da0/structshaka_1_1EncryptionParams_1a1ad46963dc926aa4b72813dccb3f6a45"></span>double <code class="descname">clear_lead_in_seconds</code> = 0<a class="headerlink" href="#_CPPv2N5shaka16EncryptionParams21clear_lead_in_secondsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Clear lead duration in seconds. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka16EncryptionParams24vp9_subsample_encryptionE">
<span id="shaka::EncryptionParams::vp9_subsample_encryption__b"></span><span class="target" id="shakadc/da0/structshaka_1_1EncryptionParams_1a48d415f17d51306ce7e1931fd954c37c"></span>bool <code class="descname">vp9_subsample_encryption</code> = true<a class="headerlink" href="#_CPPv2N5shaka16EncryptionParams24vp9_subsample_encryptionE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Enable/disable subsample encryption for VP9. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka16EncryptionParams17stream_label_funcE">
<span class="target" id="shakadc/da0/structshaka_1_1EncryptionParams_1a7686a6aca6a7c3d077a5d7215c39fc51"></span>std::function&lt;std::string<span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv2N5shaka16EncryptionParams25EncryptedStreamAttributesE" title="shaka::EncryptionParams::EncryptedStreamAttributes">EncryptedStreamAttributes</a> &amp;stream_attributes<span class="sig-paren">)</span>&gt; <code class="descname">stream_label_func</code><a class="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>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Static Attributes</p>
<dl class="member">
<dt id="_CPPv2N5shaka16EncryptionParams21kProtectionSchemeCencE">
<span id="shaka::EncryptionParams::kProtectionSchemeCenc__uint32_t"></span><span class="target" id="shakadc/da0/structshaka_1_1EncryptionParams_1a1d7a8c6b5e46b51ccadcaef3f9cf9cb0"></span><em class="property">constexpr</em> uint32_t <code class="descname">kProtectionSchemeCenc</code> = 0x63656E63<a class="headerlink" href="#_CPPv2N5shaka16EncryptionParams21kProtectionSchemeCencE" title="Permalink to this definition"></a><br /></dt>
<dd><p>The protection scheme: &#8220;cenc&#8221;, &#8220;cens&#8221;, &#8220;cbc1&#8221;, &#8220;cbcs&#8221;. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka16EncryptionParams14kNoKeyRotationE">
<span id="shaka::EncryptionParams::kNoKeyRotation__double"></span><span class="target" id="shakadc/da0/structshaka_1_1EncryptionParams_1a92ad4ca8e1ccb7d6b5fa2ee0b1b196fa"></span><em class="property">constexpr</em> double <code class="descname">kNoKeyRotation</code> = 0<a class="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>
</dd></dl>
</div>
<dl class="class">
<dt id="_CPPv2N5shaka16EncryptionParams25EncryptedStreamAttributesE">
<span id="shaka::EncryptionParams::EncryptedStreamAttributes"></span><span class="target" id="shakad7/d6d/structshaka_1_1EncryptionParams_1_1EncryptedStreamAttributes"></span><em class="property">struct </em><code class="descname">EncryptedStreamAttributes</code><a class="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>
<dl class="class">
<dt id="_CPPv2N5shaka24WidevineDecryptionParamsE">
<span id="shaka::WidevineDecryptionParams"></span><span class="target" id="shakad8/d48/structshaka_1_1WidevineDecryptionParams"></span><em class="property">struct </em><code class="descclassname">shaka::</code><code class="descname">WidevineDecryptionParams</code><a class="headerlink" href="#_CPPv2N5shaka24WidevineDecryptionParamsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Widevine decryption parameters. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="member">
<dt id="_CPPv2N5shaka24WidevineDecryptionParams14key_server_urlE">
<span id="shaka::WidevineDecryptionParams::key_server_url__ss"></span><span class="target" id="shakad8/d48/structshaka_1_1WidevineDecryptionParams_1adb765979bcc7f63ce46c9ed6ead1ee5b"></span>std::string <code class="descname">key_server_url</code><a class="headerlink" href="#_CPPv2N5shaka24WidevineDecryptionParams14key_server_urlE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Widevine license / key server URL. </p>
</dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka24WidevineDecryptionParams6signerE">
<span id="shaka::WidevineDecryptionParams::signer__WidevineSigner"></span><span class="target" id="shakad8/d48/structshaka_1_1WidevineDecryptionParams_1acf84772bb9787f61110e388490412939"></span><a class="reference internal" href="#_CPPv2N5shaka14WidevineSignerE" title="shaka::WidevineSigner">WidevineSigner</a> <code class="descname">signer</code><a class="headerlink" href="#_CPPv2N5shaka24WidevineDecryptionParams6signerE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Signer credential for Widevine license / key server. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="class">
<dt id="_CPPv2N5shaka22RawKeyDecryptionParamsE">
<span id="shaka::RawKeyDecryptionParams"></span><span class="target" id="shakad9/da8/structshaka_1_1RawKeyDecryptionParams"></span><em class="property">struct </em><code class="descclassname">shaka::</code><code class="descname">RawKeyDecryptionParams</code><a class="headerlink" href="#_CPPv2N5shaka22RawKeyDecryptionParamsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Raw key decryption parameters, i.e. with key parameters provided. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="member">
<dt id="_CPPv2N5shaka22RawKeyDecryptionParams7key_mapE">
<span id="shaka::RawKeyDecryptionParams::key_map__std::map:StreamLabel.KeyPair:"></span><span class="target" id="shakad9/da8/structshaka_1_1RawKeyDecryptionParams_1a1ed59af3d5fe891e05acb4ee59ff6dc1"></span>std::map&lt;StreamLabel, <a class="reference internal" href="#_CPPv2N5shaka22RawKeyDecryptionParams7KeyPairE" title="shaka::RawKeyDecryptionParams::KeyPair">KeyPair</a>&gt; <code class="descname">key_map</code><a class="headerlink" href="#_CPPv2N5shaka22RawKeyDecryptionParams7key_mapE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Defines the <a class="reference internal" href="#shakad8/d8b/structshaka_1_1RawKeyDecryptionParams_1_1KeyPair"><span class="std std-ref">KeyPair</span></a> for the streams. An empty <code class="docutils literal"><span class="pre">StreamLabel</span></code> indicates the default <code class="docutils literal"><a class="reference internal" href="#shakad8/d8b/structshaka_1_1RawKeyDecryptionParams_1_1KeyPair"><span class="std std-ref"><span class="pre">KeyPair</span></span></a></code>, which applies to all the <code class="docutils literal"><span class="pre">StreamLabels</span></code> not present in <code class="docutils literal"><span class="pre">key_map</span></code>. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="class">
<dt id="_CPPv2N5shaka22RawKeyDecryptionParams7KeyPairE">
<span id="shaka::RawKeyDecryptionParams::KeyPair"></span><span class="target" id="shakad8/d8b/structshaka_1_1RawKeyDecryptionParams_1_1KeyPair"></span><em class="property">struct </em><code class="descclassname">shaka::RawKeyDecryptionParams::</code><code class="descname">KeyPair</code><a class="headerlink" href="#_CPPv2N5shaka22RawKeyDecryptionParams7KeyPairE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="class">
<dt id="_CPPv2N5shaka16DecryptionParamsE">
<span id="shaka::DecryptionParams"></span><span class="target" id="shakad1/d4f/structshaka_1_1DecryptionParams"></span><em class="property">struct </em><code class="descclassname">shaka::</code><code class="descname">DecryptionParams</code><a class="headerlink" href="#_CPPv2N5shaka16DecryptionParamsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Decryption parameters. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Members</p>
<dl class="member">
<dt id="_CPPv2N5shaka16DecryptionParams12key_providerE">
<span id="shaka::DecryptionParams::key_provider__KeyProvider"></span><span class="target" id="shakad1/d4f/structshaka_1_1DecryptionParams_1ad93d153f9e777cccb6404611d5b4d339"></span><a class="reference internal" href="#_CPPv2N5shaka11KeyProviderE" title="shaka::KeyProvider">KeyProvider</a> <code class="descname">key_provider</code> = KeyProvider::kNone<a class="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. &#8216;kNone&#8217; means not to decrypt the streams. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="class">
<dt id="_CPPv2N5shaka6StatusE">
<span id="shaka::Status"></span><span class="target" id="shakad2/d20/classshaka_1_1Status"></span><em class="property">class </em><code class="descclassname">shaka::</code><code class="descname">Status</code><a class="headerlink" href="#_CPPv2N5shaka6StatusE" title="Permalink to this definition"></a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric">Public Functions</p>
<dl class="function">
<dt id="_CPPv2N5shaka6Status6StatusEv">
<span id="shaka::Status::Status"></span><span class="target" id="shakad2/d20/classshaka_1_1Status_1a12c04257e2480e0ce87cd16b944921d0"></span><code class="descname">Status</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv2N5shaka6Status6StatusEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Creates a &#8220;successful&#8221; status. </p>
</dd></dl>
<dl class="function">
<dt id="_CPPv2N5shaka6Status6StatusEN5error4CodeERKNSt6stringE">
<span id="shaka::Status::Status__error::Code.ssCR"></span><span class="target" id="shakad2/d20/classshaka_1_1Status_1a2fa2116c9e12215a4e3430b362ba622b"></span><code class="descname">Status</code><span class="sig-paren">(</span>error::<a class="reference internal" href="#_CPPv2N5shaka5error4CodeE" title="shaka::error::Code">Code</a> <em>error_code</em>, <em class="property">const</em> std::string &amp;<em>error_message</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv2N5shaka6Status6StatusEN5error4CodeERKNSt6stringE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create a status with the specified code, and error message. If &#8220;error_code == error::OK&#8221;, error_message is ignored and a <a class="reference internal" href="#shakad2/d20/classshaka_1_1Status"><span class="std std-ref">Status</span></a> object identical to Status::OK is constructed. </p>
</dd></dl>
<dl class="function">
<dt id="_CPPv2N5shaka6Status8SetErrorEN5error4CodeERKNSt6stringE">
<span id="shaka::Status::SetError__error::Code.ssCR"></span><span class="target" id="shakad2/d20/classshaka_1_1Status_1ac5a0cbdf79d591ae56af4913ec33f250"></span>void <code class="descname">SetError</code><span class="sig-paren">(</span>error::<a class="reference internal" href="#_CPPv2N5shaka5error4CodeE" title="shaka::error::Code">Code</a> <em>error_code</em>, <em class="property">const</em> std::string &amp;<em>error_message</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv2N5shaka6Status8SetErrorEN5error4CodeERKNSt6stringE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Store the specified error in this <a class="reference internal" href="#shakad2/d20/classshaka_1_1Status"><span class="std std-ref">Status</span></a> object. If &#8220;error_code == error::OK&#8221;, error_message is ignored and a <a class="reference internal" href="#shakad2/d20/classshaka_1_1Status"><span class="std std-ref">Status</span></a> object identical to Status::OK is constructed. </p>
</dd></dl>
<dl class="function">
<dt id="_CPPv2N5shaka6Status6UpdateERK6Status">
<span id="shaka::Status::Update__StatusCR"></span><span class="target" id="shakad2/d20/classshaka_1_1Status_1a073aa1a10d4d005af861079e7319d3fa"></span>void <code class="descname">Update</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv2N5shaka6StatusE" title="shaka::Status">Status</a> &amp;<em>new_status</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv2N5shaka6Status6UpdateERK6Status" title="Permalink to this definition"></a><br /></dt>
<dd><p>If &#8220;ok()&#8221;, stores &#8220;new_status&#8221; into *this. If &#8221;!ok()&#8221;, preserves the current &#8220;error_code()/error_message()&#8221;,</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>
<dl class="function">
<dt id="_CPPv2N5shaka6Status5ClearEv">
<span id="shaka::Status::Clear"></span><span class="target" id="shakad2/d20/classshaka_1_1Status_1a022f6fc5d4756ce2cb2b586d8c40f145"></span>void <code class="descname">Clear</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="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>
<dl class="function">
<dt id="_CPPv2NK5shaka6Status7MatchesERK6Status">
<span id="shaka::Status::Matches__StatusCRC"></span><span class="target" id="shakad2/d20/classshaka_1_1Status_1a8a87de3b647b2eb6fb5dcd61efbca5cd"></span>bool <code class="descname">Matches</code><span class="sig-paren">(</span><em class="property">const</em> <a class="reference internal" href="#_CPPv2N5shaka6StatusE" title="shaka::Status">Status</a> &amp;<em>x</em><span class="sig-paren">)</span> <em class="property">const</em><a class="headerlink" href="#_CPPv2NK5shaka6Status7MatchesERK6Status" title="Permalink to this definition"></a><br /></dt>
<dd><p><dl class="docutils">
<dt><strong>Return</strong></dt>
<dd>true iff this has the same error_code as &#8220;x&#8221;, i.e., the two <a class="reference internal" href="#shakad2/d20/classshaka_1_1Status"><span class="std std-ref">Status</span></a> objects are identical except possibly for the error message. </dd>
</dl>
</p>
</dd></dl>
<dl class="function">
<dt id="_CPPv2NK5shaka6Status8ToStringEv">
<span id="shaka::Status::ToStringC"></span><span class="target" id="shakad2/d20/classshaka_1_1Status_1a5b9c6f6e38d23dc6839bd275b0d15500"></span>std::string <code class="descname">ToString</code><span class="sig-paren">(</span><span class="sig-paren">)</span> <em class="property">const</em><a class="headerlink" href="#_CPPv2NK5shaka6Status8ToStringEv" title="Permalink to this definition"></a><br /></dt>
<dd><p><dl class="docutils">
<dt><strong>Return</strong></dt>
<dd>A combination of the error code name and message. </dd>
</dl>
</p>
</dd></dl>
</div>
</dd></dl>
<dl class="type">
<dt id="_CPPv2N5shaka5error4CodeE">
<span id="shaka::error::Code"></span><span class="target" id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202"></span><em class="property">enum </em><code class="descclassname">shaka::error::</code><code class="descname">Code</code><a class="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>
<dl class="member">
<dt id="_CPPv2N5shaka5error2OKE">
<span id="shaka::error::OK"></span><span class="target" id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a3e25f9aa2cf1b8f59c41295b3ee41241"></span><code class="descname">OK</code><a class="headerlink" href="#_CPPv2N5shaka5error2OKE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka5error7UNKNOWNE">
<span id="shaka::error::UNKNOWN"></span><span class="target" id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a7319bbf317137520ba7bdd71f623ef9a"></span><code class="descname">UNKNOWN</code><a class="headerlink" href="#_CPPv2N5shaka5error7UNKNOWNE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka5error9CANCELLEDE">
<span id="shaka::error::CANCELLED"></span><span class="target" id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a5bde48d63183f485d225b1cb21b0805b"></span><code class="descname">CANCELLED</code><a class="headerlink" href="#_CPPv2N5shaka5error9CANCELLEDE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka5error16INVALID_ARGUMENTE">
<span id="shaka::error::INVALID_ARGUMENT"></span><span class="target" id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a396b9de39f7b02f8fc745de9f9f65ffe"></span><code class="descname">INVALID_ARGUMENT</code><a class="headerlink" href="#_CPPv2N5shaka5error16INVALID_ARGUMENTE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka5error13UNIMPLEMENTEDE">
<span id="shaka::error::UNIMPLEMENTED"></span><span class="target" id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a64bd43a603c04a99ca138e95c8f37cf9"></span><code class="descname">UNIMPLEMENTED</code><a class="headerlink" href="#_CPPv2N5shaka5error13UNIMPLEMENTEDE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka5error12FILE_FAILUREE">
<span id="shaka::error::FILE_FAILURE"></span><span class="target" id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a52af57d1c33d9624f9bf793eda21bacf"></span><code class="descname">FILE_FAILURE</code><a class="headerlink" href="#_CPPv2N5shaka5error12FILE_FAILUREE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka5error13END_OF_STREAME">
<span id="shaka::error::END_OF_STREAM"></span><span class="target" id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a489d8a0c2c7f87212c1f37151fab8741"></span><code class="descname">END_OF_STREAM</code><a class="headerlink" href="#_CPPv2N5shaka5error13END_OF_STREAME" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka5error12HTTP_FAILUREE">
<span id="shaka::error::HTTP_FAILURE"></span><span class="target" id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a52c5964c464dd70217363e515f95de7f"></span><code class="descname">HTTP_FAILURE</code><a class="headerlink" href="#_CPPv2N5shaka5error12HTTP_FAILUREE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka5error14PARSER_FAILUREE">
<span id="shaka::error::PARSER_FAILURE"></span><span class="target" id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a5854e8b94884dba436f9fd3532b2f1dd"></span><code class="descname">PARSER_FAILURE</code><a class="headerlink" href="#_CPPv2N5shaka5error14PARSER_FAILUREE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka5error18ENCRYPTION_FAILUREE">
<span id="shaka::error::ENCRYPTION_FAILURE"></span><span class="target" id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202af0c9eb427366e84fb675f6c42215de9e"></span><code class="descname">ENCRYPTION_FAILURE</code><a class="headerlink" href="#_CPPv2N5shaka5error18ENCRYPTION_FAILUREE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka5error14CHUNKING_ERRORE">
<span id="shaka::error::CHUNKING_ERROR"></span><span class="target" id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202aef7aafb9097e6eaa166e400a1fedfce1"></span><code class="descname">CHUNKING_ERROR</code><a class="headerlink" href="#_CPPv2N5shaka5error14CHUNKING_ERRORE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka5error13MUXER_FAILUREE">
<span id="shaka::error::MUXER_FAILURE"></span><span class="target" id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a745fa5e68f07bab311b99027bfd78ace"></span><code class="descname">MUXER_FAILURE</code><a class="headerlink" href="#_CPPv2N5shaka5error13MUXER_FAILUREE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka5error18FRAGMENT_FINALIZEDE">
<span id="shaka::error::FRAGMENT_FINALIZED"></span><span class="target" id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a40d8f27644d86fe3353ab11e3d203410"></span><code class="descname">FRAGMENT_FINALIZED</code><a class="headerlink" href="#_CPPv2N5shaka5error18FRAGMENT_FINALIZEDE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka5error12SERVER_ERRORE">
<span id="shaka::error::SERVER_ERROR"></span><span class="target" id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a98e2156719ef2baa18d4bf2ff71b6070"></span><code class="descname">SERVER_ERROR</code><a class="headerlink" href="#_CPPv2N5shaka5error12SERVER_ERRORE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka5error14INTERNAL_ERRORE">
<span id="shaka::error::INTERNAL_ERROR"></span><span class="target" id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a0a392809478e3c1d71391a10775c8928"></span><code class="descname">INTERNAL_ERROR</code><a class="headerlink" href="#_CPPv2N5shaka5error14INTERNAL_ERRORE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka5error7STOPPEDE">
<span id="shaka::error::STOPPED"></span><span class="target" id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a993b12bd092d9eba0632be6e8554705e"></span><code class="descname">STOPPED</code><a class="headerlink" href="#_CPPv2N5shaka5error7STOPPEDE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka5error8TIME_OUTE">
<span id="shaka::error::TIME_OUT"></span><span class="target" id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a3dabebb3d7b17ea708aeaf53818554e1"></span><code class="descname">TIME_OUT</code><a class="headerlink" href="#_CPPv2N5shaka5error8TIME_OUTE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka5error9NOT_FOUNDE">
<span id="shaka::error::NOT_FOUND"></span><span class="target" id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202afa648960bdde267d5c7ca2a656587c38"></span><code class="descname">NOT_FOUND</code><a class="headerlink" href="#_CPPv2N5shaka5error9NOT_FOUNDE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka5error14ALREADY_EXISTSE">
<span id="shaka::error::ALREADY_EXISTS"></span><span class="target" id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a904de325c12b4fd80fbdad4fb6648ab1"></span><code class="descname">ALREADY_EXISTS</code><a class="headerlink" href="#_CPPv2N5shaka5error14ALREADY_EXISTSE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="member">
<dt id="_CPPv2N5shaka5error16TRICK_PLAY_ERRORE">
<span id="shaka::error::TRICK_PLAY_ERROR"></span><span class="target" id="shakad4/d0a/namespaceshaka_1_1error_1a792f290a20d02dd2876d806006fca202a82bdf348d48e12f7d62ca6754a6137cc"></span><code class="descname">TRICK_PLAY_ERROR</code><a class="headerlink" href="#_CPPv2N5shaka5error16TRICK_PLAY_ERRORE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</dd></dl>
</div>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="tutorials/encoding.html" title="Media Encoding"
>next</a> |</li>
<li class="right" >
<a href="docker_instructions.html" title="Using Docker"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">Shaka Packager documentation</a> &#187;</li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2017, Google.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.3.
</div>
</body>
</html>