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

941 lines
73 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.9.1"/>
<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.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</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="../../d8/daf/namespaceshaka.html#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="../../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">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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dc7/classshaka_1_1HttpFile.html">HttpFile</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/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">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/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="../../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">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="../../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">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="../../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>
<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/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">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">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="../../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="../../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="../../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">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="../../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="../../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">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="../../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="../../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="../../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">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="../../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">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">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">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">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">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">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="../../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">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">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">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">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">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">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>
</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:aed0af2ed71c9c0496d75435ee5eedbd6"><td class="memItemLeft" align="right" valign="top"><a id="aed0af2ed71c9c0496d75435ee5eedbd6"></a>enum class &#160;</td><td class="memItemRight" valign="bottom"><b>HttpMethod</b> { <b>kGet</b>
, <b>kPost</b>
, <b>kPut</b>
}</td></tr>
<tr class="separator:aed0af2ed71c9c0496d75435ee5eedbd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab63a3c00cdbf61cfb6dd7a2497b26f8d"><td class="memItemLeft" align="right" valign="top">enum class &#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">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/daf/namespaceshaka.html#a539b99ce5c34193e294bc544437e9185">KeyProvider</a> { <b>kNone</b>
, <b>kRawKey</b>
, <b>kWidevine</b>
, <b>kPlayReady</b>
}</td></tr>
<tr class="separator:a539b99ce5c34193e294bc544437e9185"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadc0cc211185374c4bf219da325673ac"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/daf/namespaceshaka.html#aadc0cc211185374c4bf219da325673ac">ProtectionSystem</a> : uint16_t { <br />
&#160;&#160;<b>kNone</b> = 0
, <a class="el" href="../../d8/daf/namespaceshaka.html#aadc0cc211185374c4bf219da325673aca4a8a926ca6c8454f8249deec51b47e66">kCommon</a> = (1 &lt;&lt; 0)
, <b>kWidevine</b> = (1 &lt;&lt; 1)
, <b>kPlayReady</b> = (1 &lt;&lt; 2)
, <br />
&#160;&#160;<b>kFairPlay</b> = (1 &lt;&lt; 3)
, <b>kMarlin</b> = (1 &lt;&lt; 4)
<br />
}</td></tr>
<tr class="separator:aadc0cc211185374c4bf219da325673ac"><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 class &#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 class &#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:a0f71b542ae07e72743da45d804e5f014"><td class="memItemLeft" align="right" valign="top"><a id="a0f71b542ae07e72743da45d804e5f014"></a>
<a class="el" href="../../d8/daf/namespaceshaka.html#aadc0cc211185374c4bf219da325673ac">ProtectionSystem</a>&#160;</td><td class="memItemRight" valign="bottom"><b>operator|</b> (<a class="el" href="../../d8/daf/namespaceshaka.html#aadc0cc211185374c4bf219da325673ac">ProtectionSystem</a> a, <a class="el" href="../../d8/daf/namespaceshaka.html#aadc0cc211185374c4bf219da325673ac">ProtectionSystem</a> b)</td></tr>
<tr class="separator:a0f71b542ae07e72743da45d804e5f014"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc3b062c0c931fbd5bc44fdecaff3e26"><td class="memItemLeft" align="right" valign="top"><a id="afc3b062c0c931fbd5bc44fdecaff3e26"></a>
<a class="el" href="../../d8/daf/namespaceshaka.html#aadc0cc211185374c4bf219da325673ac">ProtectionSystem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator|=</b> (<a class="el" href="../../d8/daf/namespaceshaka.html#aadc0cc211185374c4bf219da325673ac">ProtectionSystem</a> &amp;a, <a class="el" href="../../d8/daf/namespaceshaka.html#aadc0cc211185374c4bf219da325673ac">ProtectionSystem</a> b)</td></tr>
<tr class="separator:afc3b062c0c931fbd5bc44fdecaff3e26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80635a9bec979a0f1310760cac29d3db"><td class="memItemLeft" align="right" valign="top"><a id="a80635a9bec979a0f1310760cac29d3db"></a>
<a class="el" href="../../d8/daf/namespaceshaka.html#aadc0cc211185374c4bf219da325673ac">ProtectionSystem</a>&#160;</td><td class="memItemRight" valign="bottom"><b>operator&amp;</b> (<a class="el" href="../../d8/daf/namespaceshaka.html#aadc0cc211185374c4bf219da325673ac">ProtectionSystem</a> a, <a class="el" href="../../d8/daf/namespaceshaka.html#aadc0cc211185374c4bf219da325673ac">ProtectionSystem</a> b)</td></tr>
<tr class="separator:a80635a9bec979a0f1310760cac29d3db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a992dde24bfc28b909bca3aafcf9f344e"><td class="memItemLeft" align="right" valign="top"><a id="a992dde24bfc28b909bca3aafcf9f344e"></a>
<a class="el" href="../../d8/daf/namespaceshaka.html#aadc0cc211185374c4bf219da325673ac">ProtectionSystem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&amp;=</b> (<a class="el" href="../../d8/daf/namespaceshaka.html#aadc0cc211185374c4bf219da325673ac">ProtectionSystem</a> &amp;a, <a class="el" href="../../d8/daf/namespaceshaka.html#aadc0cc211185374c4bf219da325673ac">ProtectionSystem</a> b)</td></tr>
<tr class="separator:a992dde24bfc28b909bca3aafcf9f344e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a552744fc29eccfc13f2bdfd0c704cef0"><td class="memItemLeft" align="right" valign="top"><a id="a552744fc29eccfc13f2bdfd0c704cef0"></a>
<a class="el" href="../../d8/daf/namespaceshaka.html#aadc0cc211185374c4bf219da325673ac">ProtectionSystem</a>&#160;</td><td class="memItemRight" valign="bottom"><b>operator~</b> (<a class="el" href="../../d8/daf/namespaceshaka.html#aadc0cc211185374c4bf219da325673ac">ProtectionSystem</a> a)</td></tr>
<tr class="separator:a552744fc29eccfc13f2bdfd0c704cef0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f2cc5e606f0422902f4098e8b539e42"><td class="memItemLeft" align="right" valign="top"><a id="a1f2cc5e606f0422902f4098e8b539e42"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_flag</b> (<a class="el" href="../../d8/daf/namespaceshaka.html#aadc0cc211185374c4bf219da325673ac">ProtectionSystem</a> value, <a class="el" href="../../d8/daf/namespaceshaka.html#aadc0cc211185374c4bf219da325673ac">ProtectionSystem</a> flag)</td></tr>
<tr class="separator:a1f2cc5e606f0422902f4098e8b539e42"><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:a9251564063020200854d2347a489d649"><td class="memItemLeft" align="right" valign="top"><a id="a9251564063020200854d2347a489d649"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>GetAdaptationSetKey</b> (const MediaInfo &amp;media_info, bool ignore_codec)</td></tr>
<tr class="separator:a9251564063020200854d2347a489d649"><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:a1ebcf5c3aa5eb414144f45fe68e3512f"><td class="memItemLeft" align="right" valign="top"><a id="a1ebcf5c3aa5eb414144f45fe68e3512f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>XmlEqual</b> (const std::string &amp;xml1, const <a class="el" href="../../d1/d31/classshaka_1_1xml_1_1XmlNode.html">xml::XmlNode</a> &amp;xml2)</td></tr>
<tr class="separator:a1ebcf5c3aa5eb414144f45fe68e3512f"><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:a851739abd9d38ce138281f642c1b8f91"><td class="memItemLeft" align="right" valign="top"><a id="a851739abd9d38ce138281f642c1b8f91"></a>
const char *&#160;</td><td class="memItemRight" valign="bottom"><b>kHttpFilePrefix</b> = &quot;http://&quot;</td></tr>
<tr class="separator:a851739abd9d38ce138281f642c1b8f91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2c86416c699d87aa994aae55ee17af5"><td class="memItemLeft" align="right" valign="top"><a id="af2c86416c699d87aa994aae55ee17af5"></a>
const char *&#160;</td><td class="memItemRight" valign="bottom"><b>kHttpsFilePrefix</b> = &quot;https://&quot;</td></tr>
<tr class="separator:af2c86416c699d87aa994aae55ee17af5"><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>
<tr class="memitem:a4b2f6dd18ab94baa7a75e169812bf0b8"><td class="memItemLeft" align="right" valign="top"><a id="a4b2f6dd18ab94baa7a75e169812bf0b8"></a>
const char&#160;</td><td class="memItemRight" valign="bottom"><b>kMsproElementName</b> [] = &quot;mspr:pro&quot;</td></tr>
<tr class="separator:a4b2f6dd18ab94baa7a75e169812bf0b8"><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>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>
<a id="a539b99ce5c34193e294bc544437e9185"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a539b99ce5c34193e294bc544437e9185">&#9670;&nbsp;</a></span>KeyProvider</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#a539b99ce5c34193e294bc544437e9185">shaka::KeyProvider</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>Encryption key providers. These provide keys to decrypt the content if the source content is encrypted, or used to encrypt the content. </p>
<p class="definition">Definition at line <a class="el" href="../../dd/d58/crypto__params_8h_source.html#l00021">21</a> of file <a class="el" href="../../dd/d58/crypto__params_8h_source.html">crypto_params.h</a>.</p>
</div>
</div>
<a id="aadc0cc211185374c4bf219da325673ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadc0cc211185374c4bf219da325673ac">&#9670;&nbsp;</a></span>ProtectionSystem</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#aadc0cc211185374c4bf219da325673ac">shaka::ProtectionSystem</a> : uint16_t</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>Protection systems that handle decryption during playback. This affects the protection info that is stored in the content. Multiple protection systems can be combined using OR. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aadc0cc211185374c4bf219da325673aca4a8a926ca6c8454f8249deec51b47e66"></a>kCommon&#160;</td><td class="fielddoc"><p>The common key system from EME: <a href="https://goo.gl/s8RIhr">https://goo.gl/s8RIhr</a>. </p>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="../../dd/d58/crypto__params_8h_source.html#l00031">31</a> of file <a class="el" href="../../dd/d58/crypto__params_8h_source.html">crypto_params.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ac917945d578a03ce53b902f6c1bc4e33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac917945d578a03ce53b902f6c1bc4e33">&#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="../../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#l00478">478</a> of file <a class="el" href="../../db/dfb/mpd__utils_8cc_source.html">mpd_utils.cc</a>.</p>
</div>
</div>
<a id="abfd977a0dfb051a942d1694442692814"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abfd977a0dfb051a942d1694442692814">&#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="../../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#l00473">473</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#l00232">232</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#l00098">98</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#l00025">25</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 Thu Jun 10 2021 21:44:26 for Shaka Packager SDK by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>