shaka-packager/docs/d8/daf/namespaceshaka.html

840 lines
64 KiB
HTML

<!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/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Shaka Packager SDK: shaka Namespace Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Shaka Packager SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">shaka Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>All the methods that are virtual are virtual for mocking.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d8e/classshaka_1_1AdaptationSet.html">AdaptationSet</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dfd/structshaka_1_1AdCueGeneratorParams.html">AdCueGeneratorParams</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="../../de/deb/structshaka_1_1Cuepoint.html">Cuepoint</a> generator related parameters. <a href="../../dd/dfd/structshaka_1_1AdCueGeneratorParams.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d2c/classshaka_1_1BandwidthEstimator.html">BandwidthEstimator</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/da8/structshaka_1_1BufferCallbackParams.html">BufferCallbackParams</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer callback params. <a href="../../d9/da8/structshaka_1_1BufferCallbackParams.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d40/classshaka_1_1CallbackFile.html">CallbackFile</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d1f/structshaka_1_1ChunkingParams.html">ChunkingParams</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Chunking (segmentation) related parameters. <a href="../../d2/d1f/structshaka_1_1ChunkingParams.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d43/structshaka_1_1ContentProtectionElement.html">ContentProtectionElement</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/deb/structshaka_1_1Cuepoint.html">Cuepoint</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d4f/structshaka_1_1DecryptionParams.html">DecryptionParams</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decryption parameters. <a href="../../d1/d4f/structshaka_1_1DecryptionParams.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/da9/structshaka_1_1Element.html">Element</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da0/structshaka_1_1EncryptionParams.html">EncryptionParams</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encryption parameters. <a href="../../dc/da0/structshaka_1_1EncryptionParams.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d73/classshaka_1_1File.html">File</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define an abstract file interface. <a href="../../d3/d73/classshaka_1_1File.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/de2/structshaka_1_1FileCloser.html">FileCloser</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/da8/structshaka_1_1HlsParams.html">HlsParams</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">HLS related parameters. <a href="../../d0/da8/structshaka_1_1HlsParams.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d4e/classshaka_1_1IoCache.html">IoCache</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Declaration of class which implements a thread-safe circular buffer. <a href="../../df/d4e/classshaka_1_1IoCache.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/dbd/classshaka_1_1LocalFile.html">LocalFile</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implement <a class="el" href="../../d7/dbd/classshaka_1_1LocalFile.html" title="Implement LocalFile which deals with local storage. ">LocalFile</a> which deals with local storage. <a href="../../d7/dbd/classshaka_1_1LocalFile.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dad/classshaka_1_1MemoryFile.html">MemoryFile</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d4b/classshaka_1_1MockAdaptationSet.html">MockAdaptationSet</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d60/classshaka_1_1MockMpdBuilder.html">MockMpdBuilder</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d5c/classshaka_1_1MockMpdNotifier.html">MockMpdNotifier</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d02/classshaka_1_1MockPeriod.html">MockPeriod</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d33/classshaka_1_1MockRepresentation.html">MockRepresentation</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d43/structshaka_1_1Mp4OutputParams.html">Mp4OutputParams</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">MP4 (ISO-BMFF) output related parameters. <a href="../../d0/d43/structshaka_1_1Mp4OutputParams.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/da1/classshaka_1_1MpdBuilder.html">MpdBuilder</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This class generates DASH MPDs (Media Presentation Descriptions). <a href="../../dc/da1/classshaka_1_1MpdBuilder.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dd0/classshaka_1_1MpdNotifier.html">MpdNotifier</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/db4/classshaka_1_1MpdNotifierFactory.html">MpdNotifierFactory</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/df3/structshaka_1_1MpdOptions.html">MpdOptions</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines Mpd Options. <a href="../../d1/df3/structshaka_1_1MpdOptions.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/ddc/structshaka_1_1MpdParams.html">MpdParams</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">DASH MPD related parameters. <a href="../../df/ddc/structshaka_1_1MpdParams.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/dcd/classshaka_1_1MpdWriter.html">MpdWriter</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/dd0/classshaka_1_1Packager.html">Packager</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/de3/structshaka_1_1PackagingParams.html">PackagingParams</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Packaging parameters. <a href="../../d5/de3/structshaka_1_1PackagingParams.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/de1/classshaka_1_1Period.html">Period</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d47/structshaka_1_1PlayReadyEncryptionParams.html">PlayReadyEncryptionParams</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/db4/structshaka_1_1RawKeyParams.html">RawKeyParams</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Raw key encryption/decryption parameters, i.e. with key parameters provided. <a href="../../d0/db4/structshaka_1_1RawKeyParams.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d52/classshaka_1_1Representation.html">Representation</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d94/classshaka_1_1RepresentationStateChangeListener.html">RepresentationStateChangeListener</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/de1/structshaka_1_1SegmentInfo.html">SegmentInfo</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/de1/classshaka_1_1SimpleMpdNotifier.html">SimpleMpdNotifier</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d20/classshaka_1_1Status.html">Status</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d7b/structshaka_1_1StreamDescriptor.html">StreamDescriptor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines a single input/output stream. <a href="../../d2/d7b/structshaka_1_1StreamDescriptor.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d62/structshaka_1_1TestParams.html">TestParams</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters used for testing. <a href="../../d6/d62/structshaka_1_1TestParams.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d0c/classshaka_1_1ThreadedIoFile.html">ThreadedIoFile</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Declaration of class which implements a thread-safe circular buffer. <a href="../../dd/d0c/classshaka_1_1ThreadedIoFile.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dcb/classshaka_1_1UdpFile.html">UdpFile</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements <a class="el" href="../../d4/dcb/classshaka_1_1UdpFile.html" title="Implements UdpFile, which receives UDP unicast and multicast streams. ">UdpFile</a>, which receives UDP unicast and multicast streams. <a href="../../d4/dcb/classshaka_1_1UdpFile.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/dfe/classshaka_1_1UdpOptions.html">UdpOptions</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Options parsed from UDP url string of the form: udp://ip:port[?options]. <a href="../../d9/dfe/classshaka_1_1UdpOptions.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d48/structshaka_1_1WidevineDecryptionParams.html">WidevineDecryptionParams</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Widevine decryption parameters. <a href="../../d8/d48/structshaka_1_1WidevineDecryptionParams.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/dd2/structshaka_1_1WidevineEncryptionParams.html">WidevineEncryptionParams</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Widevine encryption parameters. <a href="../../d9/dd2/structshaka_1_1WidevineEncryptionParams.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d22/structshaka_1_1WidevineSigner.html">WidevineSigner</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signer credential for Widevine license server. <a href="../../df/d22/structshaka_1_1WidevineSigner.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a7c39fc9bf2181b82700a265fd7fdcf1c"><td class="memItemLeft" align="right" valign="top"><a id="a7c39fc9bf2181b82700a265fd7fdcf1c"></a>
typedef MediaInfo::AudioInfo&#160;</td><td class="memItemRight" valign="bottom"><b>AudioInfo</b></td></tr>
<tr class="separator:a7c39fc9bf2181b82700a265fd7fdcf1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba63e9fe19757e84e44f9ed11935fcc0"><td class="memItemLeft" align="right" valign="top"><a id="aba63e9fe19757e84e44f9ed11935fcc0"></a>
typedef MediaInfo::VideoInfo&#160;</td><td class="memItemRight" valign="bottom"><b>VideoInfo</b></td></tr>
<tr class="separator:aba63e9fe19757e84e44f9ed11935fcc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ab63a3c00cdbf61cfb6dd7a2497b26f8d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/daf/namespaceshaka.html#ab63a3c00cdbf61cfb6dd7a2497b26f8d">HlsPlaylistType</a> { <b>kVod</b>,
<b>kEvent</b>,
<b>kLive</b>
}</td></tr>
<tr class="separator:ab63a3c00cdbf61cfb6dd7a2497b26f8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a539b99ce5c34193e294bc544437e9185"><td class="memItemLeft" align="right" valign="top"><a id="a539b99ce5c34193e294bc544437e9185"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/daf/namespaceshaka.html#a539b99ce5c34193e294bc544437e9185">KeyProvider</a> { <b>kNone</b> = 0,
<b>kWidevine</b> = 1,
<b>kPlayReady</b> = 2,
<b>kRawKey</b> = 3
}<tr class="memdesc:a539b99ce5c34193e294bc544437e9185"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encryption / decryption key providers. <br /></td></tr>
</td></tr>
<tr class="separator:a539b99ce5c34193e294bc544437e9185"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1f8ac59ccce6300a04ae6269e5042d3"><td class="memItemLeft" align="right" valign="top"><a id="ad1f8ac59ccce6300a04ae6269e5042d3"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>ContentType</b> { <b>kContentTypeUnknown</b>,
<b>kContentTypeVideo</b>,
<b>kContentTypeAudio</b>,
<b>kContentTypeText</b>
}</td></tr>
<tr class="separator:ad1f8ac59ccce6300a04ae6269e5042d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42a71cc75fe6d63c7d7cd68575d91183"><td class="memItemLeft" align="right" valign="top"><a id="a42a71cc75fe6d63c7d7cd68575d91183"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>DashProfile</b> { <b>kUnknown</b>,
<b>kOnDemand</b>,
<b>kLive</b>
}</td></tr>
<tr class="separator:a42a71cc75fe6d63c7d7cd68575d91183"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48cb646cc281e5d640ba6e74ed81f22f"><td class="memItemLeft" align="right" valign="top"><a id="a48cb646cc281e5d640ba6e74ed81f22f"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>MpdType</b> { <b>kStatic</b>,
<b>kDynamic</b>
}</td></tr>
<tr class="separator:a48cb646cc281e5d640ba6e74ed81f22f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a0716b27e9bc27f752b3c2bfbc3209787"><td class="memItemLeft" align="right" valign="top"><a id="a0716b27e9bc27f752b3c2bfbc3209787"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>ValidateHexString</b> (const char *flagname, const std::string &amp;value, std::vector&lt; uint8_t &gt; *value_bytes)</td></tr>
<tr class="separator:a0716b27e9bc27f752b3c2bfbc3209787"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b6212ccc4b98e5fdb72f84acf252c6b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/daf/namespaceshaka.html#a8b6212ccc4b98e5fdb72f84acf252c6b">ValidatePRCryptoFlags</a> ()</td></tr>
<tr class="separator:a8b6212ccc4b98e5fdb72f84acf252c6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab611f8e843f4834b9d7c30db212a946e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/daf/namespaceshaka.html#ab611f8e843f4834b9d7c30db212a946e">ValidateRawKeyCryptoFlags</a> ()</td></tr>
<tr class="separator:ab611f8e843f4834b9d7c30db212a946e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d03e8120932485c8fa0c686e1e32dac"><td class="memItemLeft" align="right" valign="top">base::Optional&lt; <a class="el" href="../../d2/d7b/structshaka_1_1StreamDescriptor.html">StreamDescriptor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/daf/namespaceshaka.html#a8d03e8120932485c8fa0c686e1e32dac">ParseStreamDescriptor</a> (const std::string &amp;descriptor_string)</td></tr>
<tr class="separator:a8d03e8120932485c8fa0c686e1e32dac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54fadd9c7ef14b39cd0355a5c269c772"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/daf/namespaceshaka.html#a54fadd9c7ef14b39cd0355a5c269c772">PrintError</a> (const std::string &amp;error_message)</td></tr>
<tr class="separator:a54fadd9c7ef14b39cd0355a5c269c772"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42273d2ca4220d3de00a759a711e385e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/daf/namespaceshaka.html#a42273d2ca4220d3de00a759a711e385e">PrintWarning</a> (const std::string &amp;warning_message)</td></tr>
<tr class="separator:a42273d2ca4220d3de00a759a711e385e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a952293a7213f285843f28b7363ee14d6"><td class="memTemplParams" colspan="2">template&lt;class FlagType &gt; </td></tr>
<tr class="memitem:a952293a7213f285843f28b7363ee14d6"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d8/daf/namespaceshaka.html#a952293a7213f285843f28b7363ee14d6">ValidateFlag</a> (const char *flag_name, const FlagType &amp;flag_value, bool condition, bool optional, const char *label)</td></tr>
<tr class="separator:a952293a7213f285843f28b7363ee14d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade3cbb360c0dcaacc5667676af885008"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/daf/namespaceshaka.html#ade3cbb360c0dcaacc5667676af885008">ValidateWidevineCryptoFlags</a> ()</td></tr>
<tr class="separator:ade3cbb360c0dcaacc5667676af885008"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66e7e156c1f83435fb6c130803e48f62"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/daf/namespaceshaka.html#a66e7e156c1f83435fb6c130803e48f62">TempFilePath</a> (const std::string &amp;temp_dir, std::string *temp_file_path)</td></tr>
<tr class="separator:a66e7e156c1f83435fb6c130803e48f62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f657931280fdf63cae2ed8a8f891288"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/daf/namespaceshaka.html#a5f657931280fdf63cae2ed8a8f891288">LanguageToShortestForm</a> (const std::string &amp;language)</td></tr>
<tr class="separator:a5f657931280fdf63cae2ed8a8f891288"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05a31cd741e2ee18f1399284e921e527"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/daf/namespaceshaka.html#a05a31cd741e2ee18f1399284e921e527">LanguageToISO_639_2</a> (const std::string &amp;language)</td></tr>
<tr class="separator:a05a31cd741e2ee18f1399284e921e527"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e940cda37fa0dbefef3b3cc9c802ab8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/daf/namespaceshaka.html#a7e940cda37fa0dbefef3b3cc9c802ab8">WriteMpdToFile</a> (const std::string &amp;output_path, <a class="el" href="../../dc/da1/classshaka_1_1MpdBuilder.html">MpdBuilder</a> *mpd_builder)</td></tr>
<tr class="separator:a7e940cda37fa0dbefef3b3cc9c802ab8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ea880937da26d677ff6a48c0219d090"><td class="memItemLeft" align="right" valign="top">ContentType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/daf/namespaceshaka.html#a5ea880937da26d677ff6a48c0219d090">GetContentType</a> (const MediaInfo &amp;media_info)</td></tr>
<tr class="separator:a5ea880937da26d677ff6a48c0219d090"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c7f8f964fec2bb9543e7ee8da9cd994"><td class="memItemLeft" align="right" valign="top"><a id="a4c7f8f964fec2bb9543e7ee8da9cd994"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/daf/namespaceshaka.html#a4c7f8f964fec2bb9543e7ee8da9cd994">Uint8VectorToBase64</a> (const std::vector&lt; uint8_t &gt; &amp;input)</td></tr>
<tr class="memdesc:a4c7f8f964fec2bb9543e7ee8da9cd994"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts uint8 vector into base64 encoded string. <br /></td></tr>
<tr class="separator:a4c7f8f964fec2bb9543e7ee8da9cd994"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fd5545638d9a2c06c7f5e4294f5361c"><td class="memItemLeft" align="right" valign="top"><a id="a6fd5545638d9a2c06c7f5e4294f5361c"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>HasVODOnlyFields</b> (const MediaInfo &amp;media_info)</td></tr>
<tr class="separator:a6fd5545638d9a2c06c7f5e4294f5361c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97fb9cf1de5b815776fb44847bb8f6fd"><td class="memItemLeft" align="right" valign="top"><a id="a97fb9cf1de5b815776fb44847bb8f6fd"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>HasLiveOnlyFields</b> (const MediaInfo &amp;media_info)</td></tr>
<tr class="separator:a97fb9cf1de5b815776fb44847bb8f6fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf06375f1ca0df087129ec5356b26f31"><td class="memItemLeft" align="right" valign="top"><a id="aaf06375f1ca0df087129ec5356b26f31"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>RemoveDuplicateAttributes</b> (<a class="el" href="../../da/d43/structshaka_1_1ContentProtectionElement.html">ContentProtectionElement</a> *content_protection_element)</td></tr>
<tr class="separator:aaf06375f1ca0df087129ec5356b26f31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adca279e7366ce36b971098e691956705"><td class="memItemLeft" align="right" valign="top"><a id="adca279e7366ce36b971098e691956705"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>GetLanguage</b> (const MediaInfo &amp;media_info)</td></tr>
<tr class="separator:adca279e7366ce36b971098e691956705"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae45d1e96a8543384c3562e72615c3c3a"><td class="memItemLeft" align="right" valign="top"><a id="ae45d1e96a8543384c3562e72615c3c3a"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>GetCodecs</b> (const MediaInfo &amp;media_info)</td></tr>
<tr class="separator:ae45d1e96a8543384c3562e72615c3c3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50676d7dbec7a1140af6b7f45d5f1405"><td class="memItemLeft" align="right" valign="top"><a id="a50676d7dbec7a1140af6b7f45d5f1405"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>GetBaseCodec</b> (const MediaInfo &amp;media_info)</td></tr>
<tr class="separator:a50676d7dbec7a1140af6b7f45d5f1405"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b38ac967acc176f7d5989eeee343ceb"><td class="memItemLeft" align="right" valign="top"><a id="a8b38ac967acc176f7d5989eeee343ceb"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>GetAdaptationSetKey</b> (const MediaInfo &amp;media_info)</td></tr>
<tr class="separator:a8b38ac967acc176f7d5989eeee343ceb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adafaa111be5c5217e3b0d432f7aab035"><td class="memItemLeft" align="right" valign="top"><a id="adafaa111be5c5217e3b0d432f7aab035"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>SecondsToXmlDuration</b> (double seconds)</td></tr>
<tr class="separator:adafaa111be5c5217e3b0d432f7aab035"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f5f36907f2cdaeb1f94a38e29804e0e"><td class="memItemLeft" align="right" valign="top"><a id="a5f5f36907f2cdaeb1f94a38e29804e0e"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>GetDurationAttribute</b> (xmlNodePtr node, float *duration)</td></tr>
<tr class="separator:a5f5f36907f2cdaeb1f94a38e29804e0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afac5d8109fcf39e73f7327c4711b2fe3"><td class="memItemLeft" align="right" valign="top"><a id="afac5d8109fcf39e73f7327c4711b2fe3"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>MoreThanOneTrue</b> (bool b1, bool b2, bool b3)</td></tr>
<tr class="separator:afac5d8109fcf39e73f7327c4711b2fe3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f857ca1e3d6c3769b4dac1531f33c31"><td class="memItemLeft" align="right" valign="top"><a id="a0f857ca1e3d6c3769b4dac1531f33c31"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>AtLeastOneTrue</b> (bool b1, bool b2, bool b3)</td></tr>
<tr class="separator:a0f857ca1e3d6c3769b4dac1531f33c31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bcee6af421b1475706656f20706cf42"><td class="memItemLeft" align="right" valign="top"><a id="a4bcee6af421b1475706656f20706cf42"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>OnlyOneTrue</b> (bool b1, bool b2, bool b3)</td></tr>
<tr class="separator:a4bcee6af421b1475706656f20706cf42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c2ea2c3e7055657ca68a6b8e285d4d6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/daf/namespaceshaka.html#a4c2ea2c3e7055657ca68a6b8e285d4d6">HexToUUID</a> (const std::string &amp;data, std::string *uuid_format)</td></tr>
<tr class="separator:a4c2ea2c3e7055657ca68a6b8e285d4d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59fa73d86d8dfdfa58b6f1e52833a361"><td class="memItemLeft" align="right" valign="top"><a id="a59fa73d86d8dfdfa58b6f1e52833a361"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>UpdateContentProtectionPsshHelper</b> (const std::string &amp;drm_uuid, const std::string &amp;pssh, std::list&lt; <a class="el" href="../../da/d43/structshaka_1_1ContentProtectionElement.html">ContentProtectionElement</a> &gt; *content_protection_elements)</td></tr>
<tr class="separator:a59fa73d86d8dfdfa58b6f1e52833a361"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfd977a0dfb051a942d1694442692814"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/daf/namespaceshaka.html#abfd977a0dfb051a942d1694442692814">AddContentProtectionElements</a> (const MediaInfo &amp;media_info, <a class="el" href="../../de/d52/classshaka_1_1Representation.html">Representation</a> *parent)</td></tr>
<tr class="separator:abfd977a0dfb051a942d1694442692814"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac917945d578a03ce53b902f6c1bc4e33"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/daf/namespaceshaka.html#ac917945d578a03ce53b902f6c1bc4e33">AddContentProtectionElements</a> (const MediaInfo &amp;media_info, <a class="el" href="../../d8/d8e/classshaka_1_1AdaptationSet.html">AdaptationSet</a> *parent)</td></tr>
<tr class="separator:ac917945d578a03ce53b902f6c1bc4e33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2560fc47e4880d671ef2c86454d0b92c"><td class="memItemLeft" align="right" valign="top"><a id="a2560fc47e4880d671ef2c86454d0b92c"></a>
std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (std::ostream &amp;os, const <a class="el" href="../../d2/d20/classshaka_1_1Status.html">Status</a> &amp;x)</td></tr>
<tr class="separator:a2560fc47e4880d671ef2c86454d0b92c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a6de0261820562880bd1f2716a0b24d04"><td class="memItemLeft" align="right" valign="top"><a id="a6de0261820562880bd1f2716a0b24d04"></a>
const char *&#160;</td><td class="memItemRight" valign="bottom"><b>kCallbackFilePrefix</b> = &quot;callback://&quot;</td></tr>
<tr class="separator:a6de0261820562880bd1f2716a0b24d04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23fe98e1824627eb457aab24afb5bb09"><td class="memItemLeft" align="right" valign="top"><a id="a23fe98e1824627eb457aab24afb5bb09"></a>
const char *&#160;</td><td class="memItemRight" valign="bottom"><b>kLocalFilePrefix</b> = &quot;file://&quot;</td></tr>
<tr class="separator:a23fe98e1824627eb457aab24afb5bb09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76af1c27f0eebb00ac4c5aaedb210a85"><td class="memItemLeft" align="right" valign="top"><a id="a76af1c27f0eebb00ac4c5aaedb210a85"></a>
const char *&#160;</td><td class="memItemRight" valign="bottom"><b>kMemoryFilePrefix</b> = &quot;memory://&quot;</td></tr>
<tr class="separator:a76af1c27f0eebb00ac4c5aaedb210a85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70813ff7846e043e45730948629555d2"><td class="memItemLeft" align="right" valign="top"><a id="a70813ff7846e043e45730948629555d2"></a>
const char *&#160;</td><td class="memItemRight" valign="bottom"><b>kUdpFilePrefix</b> = &quot;udp://&quot;</td></tr>
<tr class="separator:a70813ff7846e043e45730948629555d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8dd687345e367e2398d36cbe35bcab6"><td class="memItemLeft" align="right" valign="top"><a id="af8dd687345e367e2398d36cbe35bcab6"></a>
const int64_t&#160;</td><td class="memItemRight" valign="bottom"><b>kWholeFile</b> = -1</td></tr>
<tr class="separator:af8dd687345e367e2398d36cbe35bcab6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3484dadeeb343ea30c52f92a2fe5c5dd"><td class="memItemLeft" align="right" valign="top"><a id="a3484dadeeb343ea30c52f92a2fe5c5dd"></a>
const char&#160;</td><td class="memItemRight" valign="bottom"><b>kAdditionalFileMode</b> [] = &quot;b&quot;</td></tr>
<tr class="separator:a3484dadeeb343ea30c52f92a2fe5c5dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c0e2b9cf79d49c93b9dfee6b90579cd"><td class="memItemLeft" align="right" valign="top"><a id="a8c0e2b9cf79d49c93b9dfee6b90579cd"></a>
const char&#160;</td><td class="memItemRight" valign="bottom"><b>kEncryptedMp4Scheme</b> [] = &quot;urn:mpeg:dash:mp4protection:2011&quot;</td></tr>
<tr class="separator:a8c0e2b9cf79d49c93b9dfee6b90579cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef562479520fb514f899f4a2da76c4b5"><td class="memItemLeft" align="right" valign="top"><a id="aef562479520fb514f899f4a2da76c4b5"></a>
const char&#160;</td><td class="memItemRight" valign="bottom"><b>kPsshElementName</b> [] = &quot;cenc:pssh&quot;</td></tr>
<tr class="separator:aef562479520fb514f899f4a2da76c4b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>All the methods that are virtual are virtual for mocking. </p>
<p>NOTE: Inclusion of this module will cause curl_global_init and curl_global_cleanup to be called at static initialization / deinitialization time.</p>
<p>All the methods that are virtual are virtual for mocking. NOTE: Inclusion of this module will cause xmlInitParser and xmlCleanupParser to be called at static initialization / deinitialization time.</p>
<p>This file contains helper functions and enums for <a class="el" href="../../d3/dd0/classshaka_1_1MpdNotifier.html">MpdNotifier</a> implementations. </p>
</div><h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ab63a3c00cdbf61cfb6dd7a2497b26f8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab63a3c00cdbf61cfb6dd7a2497b26f8d">&#9670;&nbsp;</a></span>HlsPlaylistType</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="../../d8/daf/namespaceshaka.html#ab63a3c00cdbf61cfb6dd7a2497b26f8d">shaka::HlsPlaylistType</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Defines the EXT-X-PLAYLIST-TYPE in the HLS specification. For HlsPlaylistType of kLive, EXT-X-PLAYLIST-TYPE tag is omitted. </p>
<p class="definition">Definition at line <a class="el" href="../../d6/d47/hls__params_8h_source.html#l00016">16</a> of file <a class="el" href="../../d6/d47/hls__params_8h_source.html">hls_params.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="abfd977a0dfb051a942d1694442692814"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abfd977a0dfb051a942d1694442692814">&#9670;&nbsp;</a></span>AddContentProtectionElements() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void shaka::AddContentProtectionElements </td>
<td>(</td>
<td class="paramtype">const MediaInfo &amp;&#160;</td>
<td class="paramname"><em>media_info</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../de/d52/classshaka_1_1Representation.html">Representation</a> *&#160;</td>
<td class="paramname"><em>parent</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds &lt;ContentProtection&gt; elements specified by <em>media_info</em> to <em>adaptation_set</em>. Note that this will add the elements as direct chlidren of <a class="el" href="../../d8/d8e/classshaka_1_1AdaptationSet.html">AdaptationSet</a>. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">media_info</td><td>may or may not have protected_content field. </td></tr>
<tr><td class="paramname">adaptation_set</td><td>is the parent element that owns the ContentProtection elements. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="../../db/dfb/mpd__utils_8cc_source.html#l00380">380</a> of file <a class="el" href="../../db/dfb/mpd__utils_8cc_source.html">mpd_utils.cc</a>.</p>
</div>
</div>
<a id="ac917945d578a03ce53b902f6c1bc4e33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac917945d578a03ce53b902f6c1bc4e33">&#9670;&nbsp;</a></span>AddContentProtectionElements() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void shaka::AddContentProtectionElements </td>
<td>(</td>
<td class="paramtype">const MediaInfo &amp;&#160;</td>
<td class="paramname"><em>media_info</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d8/d8e/classshaka_1_1AdaptationSet.html">AdaptationSet</a> *&#160;</td>
<td class="paramname"><em>parent</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds &lt;ContentProtection&gt; elements specified by <em>media_info</em> to <em>representation</em>. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">media_info</td><td>may or may not have protected_content field. </td></tr>
<tr><td class="paramname">representation</td><td>is the parent element that owns the ContentProtection elements. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="../../db/dfb/mpd__utils_8cc_source.html#l00385">385</a> of file <a class="el" href="../../db/dfb/mpd__utils_8cc_source.html">mpd_utils.cc</a>.</p>
</div>
</div>
<a id="a5ea880937da26d677ff6a48c0219d090"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ea880937da26d677ff6a48c0219d090">&#9670;&nbsp;</a></span>GetContentType()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ContentType shaka::GetContentType </td>
<td>(</td>
<td class="paramtype">const MediaInfo &amp;&#160;</td>
<td class="paramname"><em>media_info</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Determines the content type of |media_info|. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">media_info</td><td>is the information about the media. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>content type of the <em>media_info</em>. </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d6/d2e/mpd__notifier__util_8cc_source.html#l00032">32</a> of file <a class="el" href="../../d6/d2e/mpd__notifier__util_8cc_source.html">mpd_notifier_util.cc</a>.</p>
</div>
</div>
<a id="a4c2ea2c3e7055657ca68a6b8e285d4d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c2ea2c3e7055657ca68a6b8e285d4d6">&#9670;&nbsp;</a></span>HexToUUID()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool shaka::HexToUUID </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::string *&#160;</td>
<td class="paramname"><em>uuid_format</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Converts hex data to UUID format. Hex data must be size 16. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>input hex data. </td></tr>
<tr><td class="paramname">uuid_format</td><td>is the UUID format of the input. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="../../db/dfb/mpd__utils_8cc_source.html#l00216">216</a> of file <a class="el" href="../../db/dfb/mpd__utils_8cc_source.html">mpd_utils.cc</a>.</p>
</div>
</div>
<a id="a05a31cd741e2ee18f1399284e921e527"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05a31cd741e2ee18f1399284e921e527">&#9670;&nbsp;</a></span>LanguageToISO_639_2()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string shaka::LanguageToISO_639_2 </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>language</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert a language tag to a 3-letter ISO-639-2 code, as required by the ISO BMFF spec. The input is assumed to be a valid ISO-639-2 or ISO-639-1 language code. Regions and variants are not supported. </p>
<p class="definition">Definition at line <a class="el" href="../../d1/d72/language__utils_8cc_source.html#l00117">117</a> of file <a class="el" href="../../d1/d72/language__utils_8cc_source.html">language_utils.cc</a>.</p>
</div>
</div>
<a id="a5f657931280fdf63cae2ed8a8f891288"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f657931280fdf63cae2ed8a8f891288">&#9670;&nbsp;</a></span>LanguageToShortestForm()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string shaka::LanguageToShortestForm </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>language</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert a language tag to its shortest form, as required by RFC 5646 indicated in the MPD and HLS specs. Assumes the input is a valid ISO-639-2 or ISO-639-1 language tag, or an empty string. Regions and variants are preserved in the conversion. </p>
<p class="definition">Definition at line <a class="el" href="../../d1/d72/language__utils_8cc_source.html#l00089">89</a> of file <a class="el" href="../../d1/d72/language__utils_8cc_source.html">language_utils.cc</a>.</p>
</div>
</div>
<a id="a8d03e8120932485c8fa0c686e1e32dac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d03e8120932485c8fa0c686e1e32dac">&#9670;&nbsp;</a></span>ParseStreamDescriptor()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">base::Optional&lt; <a class="el" href="../../d2/d7b/structshaka_1_1StreamDescriptor.html">StreamDescriptor</a> &gt; shaka::ParseStreamDescriptor </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>descriptor_string</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Parses a descriptor string, and inserts into sorted list of stream descriptors. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">descriptor_string</td><td>contains comma separate name-value pairs describing the stream. </td></tr>
<tr><td class="paramname">descriptor_list</td><td>is a pointer to the sorted descriptor list into which the new descriptor should be inserted. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if successful, false otherwise. May print error messages. </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d0/da6/stream__descriptor_8cc_source.html#l00078">78</a> of file <a class="el" href="../../d0/da6/stream__descriptor_8cc_source.html">stream_descriptor.cc</a>.</p>
</div>
</div>
<a id="a54fadd9c7ef14b39cd0355a5c269c772"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54fadd9c7ef14b39cd0355a5c269c772">&#9670;&nbsp;</a></span>PrintError()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void shaka::PrintError </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>error_message</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Format and print error message. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">error_message</td><td>specifies the error message. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="../../de/dad/validate__flag_8cc_source.html#l00015">15</a> of file <a class="el" href="../../de/dad/validate__flag_8cc_source.html">validate_flag.cc</a>.</p>
</div>
</div>
<a id="a42273d2ca4220d3de00a759a711e385e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42273d2ca4220d3de00a759a711e385e">&#9670;&nbsp;</a></span>PrintWarning()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void shaka::PrintWarning </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>warning_message</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Format and print warning message. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">warning_message</td><td>specifies the warning message. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="../../de/dad/validate__flag_8cc_source.html#l00019">19</a> of file <a class="el" href="../../de/dad/validate__flag_8cc_source.html">validate_flag.cc</a>.</p>
</div>
</div>
<a id="a66e7e156c1f83435fb6c130803e48f62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66e7e156c1f83435fb6c130803e48f62">&#9670;&nbsp;</a></span>TempFilePath()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool shaka::TempFilePath </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>temp_dir</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::string *&#160;</td>
<td class="paramname"><em>temp_file_path</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a temp file name in directory <em>temp_dir</em>. Generate the temp file in os specific temporary directory if <em>temp_dir</em> is empty. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">temp_dir</td><td>specifies the directory where the file should go. </td></tr>
<tr><td class="paramname">temp_file_path</td><td>is the result temp file path on success. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on success, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d1/d2b/file__util_8cc_source.html#l00038">38</a> of file <a class="el" href="../../d1/d2b/file__util_8cc_source.html">file_util.cc</a>.</p>
</div>
</div>
<a id="a952293a7213f285843f28b7363ee14d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a952293a7213f285843f28b7363ee14d6">&#9670;&nbsp;</a></span>ValidateFlag()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class FlagType &gt; </div>
<table class="memname">
<tr>
<td class="memname">bool shaka::ValidateFlag </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>flag_name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const FlagType &amp;&#160;</td>
<td class="paramname"><em>flag_value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>condition</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>optional</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>label</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Validate a flag against the given condition. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">flag_name</td><td>is the name of the flag. </td></tr>
<tr><td class="paramname">flag_value</td><td>is the value of the flag. </td></tr>
<tr><td class="paramname">condition,optional</td><td>determines how the flag should be validated. If condition is true and optional is false, then this flag is required </td></tr>
<tr><td class="paramname">label</td><td>specifies the label associated with the condition. It is used to generate the error message on validation failure. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on success, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../df/d22/validate__flag_8h_source.html#l00037">37</a> of file <a class="el" href="../../df/d22/validate__flag_8h_source.html">validate_flag.h</a>.</p>
</div>
</div>
<a id="a8b6212ccc4b98e5fdb72f84acf252c6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b6212ccc4b98e5fdb72f84acf252c6b">&#9670;&nbsp;</a></span>ValidatePRCryptoFlags()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool shaka::ValidatePRCryptoFlags </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Validate PlayReady encryption flags. </p><dl class="section return"><dt>Returns</dt><dd>true on success, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../df/dfc/playready__key__encryption__flags_8cc_source.html#l00034">34</a> of file <a class="el" href="../../df/dfc/playready__key__encryption__flags_8cc_source.html">playready_key_encryption_flags.cc</a>.</p>
</div>
</div>
<a id="ab611f8e843f4834b9d7c30db212a946e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab611f8e843f4834b9d7c30db212a946e">&#9670;&nbsp;</a></span>ValidateRawKeyCryptoFlags()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool shaka::ValidateRawKeyCryptoFlags </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Validate raw encryption/decryption flags. </p><dl class="section return"><dt>Returns</dt><dd>true on success, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../dc/d08/raw__key__encryption__flags_8cc_source.html#l00051">51</a> of file <a class="el" href="../../dc/d08/raw__key__encryption__flags_8cc_source.html">raw_key_encryption_flags.cc</a>.</p>
</div>
</div>
<a id="ade3cbb360c0dcaacc5667676af885008"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade3cbb360c0dcaacc5667676af885008">&#9670;&nbsp;</a></span>ValidateWidevineCryptoFlags()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool shaka::ValidateWidevineCryptoFlags </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Validate widevine encryption/decryption flags. </p><dl class="section return"><dt>Returns</dt><dd>true on success, false otherwise. </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d0/d42/widevine__encryption__flags_8cc_source.html#l00071">71</a> of file <a class="el" href="../../d0/d42/widevine__encryption__flags_8cc_source.html">widevine_encryption_flags.cc</a>.</p>
</div>
</div>
<a id="a7e940cda37fa0dbefef3b3cc9c802ab8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e940cda37fa0dbefef3b3cc9c802ab8">&#9670;&nbsp;</a></span>WriteMpdToFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool shaka::WriteMpdToFile </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>output_path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dc/da1/classshaka_1_1MpdBuilder.html">MpdBuilder</a> *&#160;</td>
<td class="paramname"><em>mpd_builder</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs MPD to <em>output_path</em>. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">output_path</td><td>is the path to the MPD output location. </td></tr>
<tr><td class="paramname">mpd_builder</td><td>is the MPD builder instance. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="../../d6/d2e/mpd__notifier__util_8cc_source.html#l00016">16</a> of file <a class="el" href="../../d6/d2e/mpd__notifier__util_8cc_source.html">mpd_notifier_util.cc</a>.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Aug 20 2018 10:46:50 for Shaka Packager SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>