shaka-packager/docs/db/d09/namespaceedash__packager.html

559 lines
36 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.6"/>
<title>DASH Media Packaging SDK: edash_packager 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/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">DASH Media Packaging SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li><a href="../../files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../namespaces.html"><span>Namespace&#160;List</span></a></li>
<li><a href="../../namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a></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="#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">edash_packager Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<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">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d7a/structedash__packager_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="../../d0/d96/structedash__packager_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="../../da/d49/classedash__packager_1_1DashIopMpdNotifier.html">DashIopMpdNotifier</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/d2e/classedash__packager_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/d78/classedash__packager_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/da9/classedash__packager_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="../../d7/d44/classedash__packager_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="../../d3/dfa/classedash__packager_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="../../d3/dfa/classedash__packager_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="../../db/de4/classedash__packager_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="../../d2/dfa/classedash__packager_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="../../d7/d15/classedash__packager_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="../../da/d38/classedash__packager_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/d5d/structedash__packager_1_1MpdOptions.html">MpdOptions</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines Mpd Options. <a href="../../d1/d5d/structedash__packager_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="../../d9/d9b/structedash__packager_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="../../db/d56/classedash__packager_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="../../dd/dcb/classedash__packager_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="../../dc/d81/classedash__packager_1_1MpdWriter.html">MpdWriter</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="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:aac946d3811862a8a2e7b11b0e5c8d460"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><b>DashProfile</b> { <b>kUnknownProfile</b>,
<b>kOnDemandProfile</b>,
<b>kLiveProfile</b>
}</td></tr>
<tr class="separator:aac946d3811862a8a2e7b11b0e5c8d460"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a272778a31ae2fd3f813d6323f54872ca"><td class="memItemLeft" align="right" valign="top">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:a272778a31ae2fd3f813d6323f54872ca"><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:a87cbb414bc89b31dc8ba8de91ac9c438"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d09/namespaceedash__packager.html#a87cbb414bc89b31dc8ba8de91ac9c438">ValidateFixedCryptoFlags</a> ()</td></tr>
<tr class="separator:a87cbb414bc89b31dc8ba8de91ac9c438"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5836ddf029d56f4a8dd43a7b4d8dbaff"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d09/namespaceedash__packager.html#a5836ddf029d56f4a8dd43a7b4d8dbaff">ValidateFlag</a> (const char *flag_name, const std::string &amp;flag_value, bool condition, bool optional, const char *label)</td></tr>
<tr class="separator:a5836ddf029d56f4a8dd43a7b4d8dbaff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64d35a221086349dfbd1acefee2aaef1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d09/namespaceedash__packager.html#a64d35a221086349dfbd1acefee2aaef1">PrintError</a> (const std::string &amp;error_message)</td></tr>
<tr class="separator:a64d35a221086349dfbd1acefee2aaef1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95bb52262b99e97fd7f8f9f0075fe1e6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d09/namespaceedash__packager.html#a95bb52262b99e97fd7f8f9f0075fe1e6">ValidateWidevineCryptoFlags</a> ()</td></tr>
<tr class="separator:a95bb52262b99e97fd7f8f9f0075fe1e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f8cf77ef5242943e88811962c2870e5"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d09/namespaceedash__packager.html#a4f8cf77ef5242943e88811962c2870e5">LanguageToShortestForm</a> (const std::string &amp;language)</td></tr>
<tr class="separator:a4f8cf77ef5242943e88811962c2870e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1082a6ff7615e61946ce7d6616f21dde"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d09/namespaceedash__packager.html#a1082a6ff7615e61946ce7d6616f21dde">LanguageToISO_639_2</a> (const std::string &amp;language)</td></tr>
<tr class="separator:a1082a6ff7615e61946ce7d6616f21dde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ecf0fb529eaf5ab21310d309bb9f9e9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d09/namespaceedash__packager.html#a2ecf0fb529eaf5ab21310d309bb9f9e9">WriteMpdToFile</a> (const std::string &amp;output_path, <a class="el" href="../../d3/dfa/classedash__packager_1_1MpdBuilder.html">MpdBuilder</a> *mpd_builder)</td></tr>
<tr class="separator:a2ecf0fb529eaf5ab21310d309bb9f9e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f479c5670e5c9f721772e0bd316bff9"><td class="memItemLeft" align="right" valign="top">ContentType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d09/namespaceedash__packager.html#a7f479c5670e5c9f721772e0bd316bff9">GetContentType</a> (const MediaInfo &amp;media_info)</td></tr>
<tr class="separator:a7f479c5670e5c9f721772e0bd316bff9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac77ba3cf9242f2a678ec0ba7c61e5d0a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac77ba3cf9242f2a678ec0ba7c61e5d0a"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d09/namespaceedash__packager.html#ac77ba3cf9242f2a678ec0ba7c61e5d0a">Uint8VectorToBase64</a> (const std::vector&lt; uint8_t &gt; &amp;input)</td></tr>
<tr class="memdesc:ac77ba3cf9242f2a678ec0ba7c61e5d0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts uint8 vector into base64 encoded string. <br/></td></tr>
<tr class="separator:ac77ba3cf9242f2a678ec0ba7c61e5d0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c5385b724b43aa1c445543fe5f20543"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c5385b724b43aa1c445543fe5f20543"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>HasVODOnlyFields</b> (const MediaInfo &amp;media_info)</td></tr>
<tr class="separator:a5c5385b724b43aa1c445543fe5f20543"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a698b8f186b5fd1819e395223d31d7094"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a698b8f186b5fd1819e395223d31d7094"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>HasLiveOnlyFields</b> (const MediaInfo &amp;media_info)</td></tr>
<tr class="separator:a698b8f186b5fd1819e395223d31d7094"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a827da27b3c6d1ecd4c212ccc26b125d5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a827da27b3c6d1ecd4c212ccc26b125d5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>RemoveDuplicateAttributes</b> (<a class="el" href="../../d0/d96/structedash__packager_1_1ContentProtectionElement.html">ContentProtectionElement</a> *content_protection_element)</td></tr>
<tr class="separator:a827da27b3c6d1ecd4c212ccc26b125d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fb6c907659aafa2e2920753f42daf3a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2fb6c907659aafa2e2920753f42daf3a"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>GetCodecs</b> (const MediaInfo &amp;media_info)</td></tr>
<tr class="separator:a2fb6c907659aafa2e2920753f42daf3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42331ad50f16c2a5f3b11555e3d0f797"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42331ad50f16c2a5f3b11555e3d0f797"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>SecondsToXmlDuration</b> (double seconds)</td></tr>
<tr class="separator:a42331ad50f16c2a5f3b11555e3d0f797"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a7581827c60277272903f0d96d4c3ce"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a7581827c60277272903f0d96d4c3ce"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>GetDurationAttribute</b> (xmlNodePtr node, float *duration)</td></tr>
<tr class="separator:a5a7581827c60277272903f0d96d4c3ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9194da69b9384b3742c6c09ebb62572"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa9194da69b9384b3742c6c09ebb62572"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>MoreThanOneTrue</b> (bool b1, bool b2, bool b3)</td></tr>
<tr class="separator:aa9194da69b9384b3742c6c09ebb62572"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ca3c1c2d78b6697f3eaef48a8c9ccdb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1ca3c1c2d78b6697f3eaef48a8c9ccdb"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>AtLeastOneTrue</b> (bool b1, bool b2, bool b3)</td></tr>
<tr class="separator:a1ca3c1c2d78b6697f3eaef48a8c9ccdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19957937a36b58ecea9d32794a982c49"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19957937a36b58ecea9d32794a982c49"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>OnlyOneTrue</b> (bool b1, bool b2, bool b3)</td></tr>
<tr class="separator:a19957937a36b58ecea9d32794a982c49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7015ba137f31c7ae734dc7abb254be64"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d09/namespaceedash__packager.html#a7015ba137f31c7ae734dc7abb254be64">HexToUUID</a> (const std::string &amp;data, std::string *uuid_format)</td></tr>
<tr class="separator:a7015ba137f31c7ae734dc7abb254be64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6f68e31d705c9c2b36fcfe61ec05f66"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae6f68e31d705c9c2b36fcfe61ec05f66"></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="../../d0/d96/structedash__packager_1_1ContentProtectionElement.html">ContentProtectionElement</a> &gt; *content_protection_elements)</td></tr>
<tr class="separator:ae6f68e31d705c9c2b36fcfe61ec05f66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f62cefcc7cf1a95f19bbea3b310fbab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d09/namespaceedash__packager.html#a6f62cefcc7cf1a95f19bbea3b310fbab">AddContentProtectionElements</a> (const MediaInfo &amp;media_info, <a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html">Representation</a> *parent)</td></tr>
<tr class="separator:a6f62cefcc7cf1a95f19bbea3b310fbab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63896c3ea3c207506f18095624f2ed84"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d09/namespaceedash__packager.html#a63896c3ea3c207506f18095624f2ed84">AddContentProtectionElements</a> (const MediaInfo &amp;media_info, <a class="el" href="../../db/de4/classedash__packager_1_1AdaptationSet.html">AdaptationSet</a> *parent)</td></tr>
<tr class="separator:a63896c3ea3c207506f18095624f2ed84"><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:a30090c55a8bbe92f3a1ccd6878cb413e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a30090c55a8bbe92f3a1ccd6878cb413e"></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:a30090c55a8bbe92f3a1ccd6878cb413e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb8c0d38c37b4635a6b07ba3ab7249a1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeb8c0d38c37b4635a6b07ba3ab7249a1"></a>
const char&#160;</td><td class="memItemRight" valign="bottom"><b>kPsshElementName</b> [] = &quot;cenc:pssh&quot;</td></tr>
<tr class="separator:aeb8c0d38c37b4635a6b07ba3ab7249a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff9c36325f78da0534dc2e705f0ff3f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aff9c36325f78da0534dc2e705f0ff3f4"></a>
const char&#160;</td><td class="memItemRight" valign="bottom"><b>kEncryptedMp4Value</b> [] = &quot;cenc&quot;</td></tr>
<tr class="separator:aff9c36325f78da0534dc2e705f0ff3f4"><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>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="../../da/d38/classedash__packager_1_1MpdNotifier.html">MpdNotifier</a> implementations. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a6f62cefcc7cf1a95f19bbea3b310fbab"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void edash_packager::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">Representation *&#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="../../db/de4/classedash__packager_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>Definition at line <a class="el" href="../../db/dfb/mpd__utils_8cc_source.html#l00287">287</a> of file <a class="el" href="../../db/dfb/mpd__utils_8cc_source.html">mpd_utils.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a63896c3ea3c207506f18095624f2ed84"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void edash_packager::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">AdaptationSet *&#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>Definition at line <a class="el" href="../../db/dfb/mpd__utils_8cc_source.html#l00292">292</a> of file <a class="el" href="../../db/dfb/mpd__utils_8cc_source.html">mpd_utils.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a7f479c5670e5c9f721772e0bd316bff9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ContentType edash_packager::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>Definition at line <a class="el" href="../../d6/d2e/mpd__notifier__util_8cc_source.html#l00051">51</a> of file <a class="el" href="../../d6/d2e/mpd__notifier__util_8cc_source.html">mpd_notifier_util.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a7015ba137f31c7ae734dc7abb254be64"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool edash_packager::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>Definition at line <a class="el" href="../../db/dfb/mpd__utils_8cc_source.html#l00124">124</a> of file <a class="el" href="../../db/dfb/mpd__utils_8cc_source.html">mpd_utils.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a1082a6ff7615e61946ce7d6616f21dde"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string edash_packager::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>Definition at line <a class="el" href="../../d1/d72/language__utils_8cc_source.html#l00096">96</a> of file <a class="el" href="../../d1/d72/language__utils_8cc_source.html">language_utils.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a4f8cf77ef5242943e88811962c2870e5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string edash_packager::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 spec. Assumes the input is a valid ISO-639-2 or ISO-639-1 language tag. Regions and variants are not supported. </p>
<p>Definition at line <a class="el" href="../../d1/d72/language__utils_8cc_source.html#l00077">77</a> of file <a class="el" href="../../d1/d72/language__utils_8cc_source.html">language_utils.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a64d35a221086349dfbd1acefee2aaef1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void edash_packager::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>Definition at line <a class="el" href="../../de/dad/validate__flag_8cc_source.html#l00036">36</a> of file <a class="el" href="../../de/dad/validate__flag_8cc_source.html">validate_flag.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a87cbb414bc89b31dc8ba8de91ac9c438"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool edash_packager::ValidateFixedCryptoFlags </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Validate fixed encryption/decryption flags. </p>
<dl class="section return"><dt>Returns</dt><dd>true on success, false otherwise. </dd></dl>
<p>Definition at line <a class="el" href="../../dc/d3b/fixed__key__encryption__flags_8cc_source.html#l00029">29</a> of file <a class="el" href="../../dc/d3b/fixed__key__encryption__flags_8cc_source.html">fixed_key_encryption_flags.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a5836ddf029d56f4a8dd43a7b4d8dbaff"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool edash_packager::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 std::string &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>Definition at line <a class="el" href="../../de/dad/validate__flag_8cc_source.html#l00017">17</a> of file <a class="el" href="../../de/dad/validate__flag_8cc_source.html">validate_flag.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a95bb52262b99e97fd7f8f9f0075fe1e6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool edash_packager::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>Definition at line <a class="el" href="../../d0/d42/widevine__encryption__flags_8cc_source.html#l00056">56</a> of file <a class="el" href="../../d0/d42/widevine__encryption__flags_8cc_source.html">widevine_encryption_flags.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a2ecf0fb529eaf5ab21310d309bb9f9e9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool edash_packager::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">MpdBuilder *&#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>Definition at line <a class="el" href="../../d6/d2e/mpd__notifier__util_8cc_source.html#l00020">20</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 Mar 7 2016 18:17:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>