Add SDK documents

Change-Id: Ie3e4cbb93b44bbcf97e050f112f58578e17ca04f
This commit is contained in:
KongQun Yang 2015-10-15 17:33:37 -07:00
commit 54c5dfffd4
940 changed files with 132483 additions and 0 deletions

289
sdk/annotated.html Normal file
View File

@ -0,0 +1,289 @@
<!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: Class List</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><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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 class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- 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></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 class="header">
<div class="headertitle">
<div class="title">Class List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="db/d09/namespaceedash__packager.html" target="_self">edash_packager</a></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>media</b></td><td class="desc"></td></tr>
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_0_" class="arrow" onclick="toggleFolder('0_0_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>mp2t</b></td><td class="desc"></td></tr>
<tr id="row_0_0_0_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html" target="_self">AdtsHeader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_1_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/df2/classedash__packager_1_1media_1_1mp2t_1_1EsParser.html" target="_self">EsParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_2_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/d59/classedash__packager_1_1media_1_1mp2t_1_1EsParserAdts.html" target="_self">EsParserAdts</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_3_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d0e/classedash__packager_1_1media_1_1mp2t_1_1EsParserH264.html" target="_self">EsParserH264</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_4_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/dab/classedash__packager_1_1media_1_1mp2t_1_1Mp2tMediaParser.html" target="_self">Mp2tMediaParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_5_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d4b/classedash__packager_1_1media_1_1mp2t_1_1TsPacket.html" target="_self">TsPacket</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_6_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/d8e/classedash__packager_1_1media_1_1mp2t_1_1TsSection.html" target="_self">TsSection</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_7_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d0e/classedash__packager_1_1media_1_1mp2t_1_1TsSectionPat.html" target="_self">TsSectionPat</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_8_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/d8b/classedash__packager_1_1media_1_1mp2t_1_1TsSectionPes.html" target="_self">TsSectionPes</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_9_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d5b/classedash__packager_1_1media_1_1mp2t_1_1TsSectionPmt.html" target="_self">TsSectionPmt</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_10_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/d4e/classedash__packager_1_1media_1_1mp2t_1_1TsSectionPsi.html" target="_self">TsSectionPsi</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_1_" class="arrow" onclick="toggleFolder('0_0_1_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>mp4</b></td><td class="desc"></td></tr>
<tr id="row_0_0_1_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/dc6/classedash__packager_1_1media_1_1mp4_1_1AACAudioSpecificConfig.html" target="_self">AACAudioSpecificConfig</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_1_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html" target="_self">Box</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_2_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html" target="_self">FullBox</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_3_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html" target="_self">BoxBuffer</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_4_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/dcd/structedash__packager_1_1media_1_1mp4_1_1FileType.html" target="_self">FileType</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_5_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/da6/structedash__packager_1_1media_1_1mp4_1_1SegmentType.html" target="_self">SegmentType</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_6_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d2a/structedash__packager_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html" target="_self">ProtectionSystemSpecificHeader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_7_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/dc4/structedash__packager_1_1media_1_1mp4_1_1SampleAuxiliaryInformationOffset.html" target="_self">SampleAuxiliaryInformationOffset</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_8_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d51/structedash__packager_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize.html" target="_self">SampleAuxiliaryInformationSize</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_9_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d4b/structedash__packager_1_1media_1_1mp4_1_1OriginalFormat.html" target="_self">OriginalFormat</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_10_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/dcc/structedash__packager_1_1media_1_1mp4_1_1SchemeType.html" target="_self">SchemeType</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_11_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/d44/structedash__packager_1_1media_1_1mp4_1_1TrackEncryption.html" target="_self">TrackEncryption</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_12_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d6f/structedash__packager_1_1media_1_1mp4_1_1SchemeInfo.html" target="_self">SchemeInfo</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_13_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/dc9/structedash__packager_1_1media_1_1mp4_1_1ProtectionSchemeInfo.html" target="_self">ProtectionSchemeInfo</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_14_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d14/structedash__packager_1_1media_1_1mp4_1_1MovieHeader.html" target="_self">MovieHeader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_15_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d15/structedash__packager_1_1media_1_1mp4_1_1TrackHeader.html" target="_self">TrackHeader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_16_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/d0d/structedash__packager_1_1media_1_1mp4_1_1EditListEntry.html" target="_self">EditListEntry</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_17_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/d4a/structedash__packager_1_1media_1_1mp4_1_1EditList.html" target="_self">EditList</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_18_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/d4f/structedash__packager_1_1media_1_1mp4_1_1Edit.html" target="_self">Edit</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_19_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/dbd/structedash__packager_1_1media_1_1mp4_1_1HandlerReference.html" target="_self">HandlerReference</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_20_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/dbb/structedash__packager_1_1media_1_1mp4_1_1AVCDecoderConfigurationRecord.html" target="_self">AVCDecoderConfigurationRecord</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_21_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.html" target="_self">PixelAspectRatioBox</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_22_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html" target="_self">VideoSampleEntry</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_23_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/dcc/structedash__packager_1_1media_1_1mp4_1_1ElementaryStreamDescriptor.html" target="_self">ElementaryStreamDescriptor</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_24_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html" target="_self">AudioSampleEntry</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_25_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/d74/structedash__packager_1_1media_1_1mp4_1_1SampleDescription.html" target="_self">SampleDescription</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_26_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/d1c/structedash__packager_1_1media_1_1mp4_1_1DecodingTime.html" target="_self">DecodingTime</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_27_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/db7/structedash__packager_1_1media_1_1mp4_1_1DecodingTimeToSample.html" target="_self">DecodingTimeToSample</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_28_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/dfe/structedash__packager_1_1media_1_1mp4_1_1CompositionOffset.html" target="_self">CompositionOffset</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_29_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d54/structedash__packager_1_1media_1_1mp4_1_1CompositionTimeToSample.html" target="_self">CompositionTimeToSample</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_30_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/d21/structedash__packager_1_1media_1_1mp4_1_1ChunkInfo.html" target="_self">ChunkInfo</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_31_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="df/d76/structedash__packager_1_1media_1_1mp4_1_1SampleToChunk.html" target="_self">SampleToChunk</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_32_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/da5/structedash__packager_1_1media_1_1mp4_1_1SampleSize.html" target="_self">SampleSize</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_33_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/d89/structedash__packager_1_1media_1_1mp4_1_1CompactSampleSize.html" target="_self">CompactSampleSize</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_34_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d81/structedash__packager_1_1media_1_1mp4_1_1ChunkLargeOffset.html" target="_self">ChunkLargeOffset</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_35_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/d79/structedash__packager_1_1media_1_1mp4_1_1ChunkOffset.html" target="_self">ChunkOffset</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_36_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d18/structedash__packager_1_1media_1_1mp4_1_1SyncSample.html" target="_self">SyncSample</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_37_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html" target="_self">SampleTable</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_38_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html" target="_self">MediaHeader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_39_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/df7/structedash__packager_1_1media_1_1mp4_1_1VideoMediaHeader.html" target="_self">VideoMediaHeader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_40_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/db0/structedash__packager_1_1media_1_1mp4_1_1SoundMediaHeader.html" target="_self">SoundMediaHeader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_41_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/d6c/structedash__packager_1_1media_1_1mp4_1_1DataEntryUrl.html" target="_self">DataEntryUrl</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_42_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/d0d/structedash__packager_1_1media_1_1mp4_1_1DataReference.html" target="_self">DataReference</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_43_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/d59/structedash__packager_1_1media_1_1mp4_1_1DataInformation.html" target="_self">DataInformation</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_44_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html" target="_self">MediaInformation</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_45_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/de7/structedash__packager_1_1media_1_1mp4_1_1Media.html" target="_self">Media</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_46_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/de1/structedash__packager_1_1media_1_1mp4_1_1Track.html" target="_self">Track</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_47_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d17/structedash__packager_1_1media_1_1mp4_1_1MovieExtendsHeader.html" target="_self">MovieExtendsHeader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_48_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html" target="_self">TrackExtends</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_49_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/d8b/structedash__packager_1_1media_1_1mp4_1_1MovieExtends.html" target="_self">MovieExtends</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_50_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/dec/structedash__packager_1_1media_1_1mp4_1_1Movie.html" target="_self">Movie</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_51_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/d92/structedash__packager_1_1media_1_1mp4_1_1TrackFragmentDecodeTime.html" target="_self">TrackFragmentDecodeTime</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_52_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="df/d86/structedash__packager_1_1media_1_1mp4_1_1MovieFragmentHeader.html" target="_self">MovieFragmentHeader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_53_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d47/structedash__packager_1_1media_1_1mp4_1_1TrackFragmentHeader.html" target="_self">TrackFragmentHeader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_54_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="df/d21/structedash__packager_1_1media_1_1mp4_1_1TrackFragmentRun.html" target="_self">TrackFragmentRun</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_55_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/dab/structedash__packager_1_1media_1_1mp4_1_1SampleToGroupEntry.html" target="_self">SampleToGroupEntry</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_56_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html" target="_self">SampleToGroup</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_57_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/d55/structedash__packager_1_1media_1_1mp4_1_1CencSampleEncryptionInfoEntry.html" target="_self">CencSampleEncryptionInfoEntry</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_58_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d26/structedash__packager_1_1media_1_1mp4_1_1SampleGroupDescription.html" target="_self">SampleGroupDescription</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_59_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/dd9/structedash__packager_1_1media_1_1mp4_1_1TrackFragment.html" target="_self">TrackFragment</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_60_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/da2/structedash__packager_1_1media_1_1mp4_1_1MovieFragment.html" target="_self">MovieFragment</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_61_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/dce/structedash__packager_1_1media_1_1mp4_1_1SegmentReference.html" target="_self">SegmentReference</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_62_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d81/structedash__packager_1_1media_1_1mp4_1_1SegmentIndex.html" target="_self">SegmentIndex</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_63_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/d92/structedash__packager_1_1media_1_1mp4_1_1MediaData.html" target="_self">MediaData</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_64_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/d6c/classedash__packager_1_1media_1_1mp4_1_1BoxReader.html" target="_self">BoxReader</a></td><td class="desc">Class for reading MP4 boxes </td></tr>
<tr id="row_0_0_1_65_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/ddf/classedash__packager_1_1media_1_1mp4_1_1FrameCENCInfo.html" target="_self">FrameCENCInfo</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_66_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/d71/classedash__packager_1_1media_1_1mp4_1_1ChunkInfoIterator.html" target="_self">ChunkInfoIterator</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_67_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/de5/classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator.html" target="_self">CompositionOffsetIterator</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_68_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/d90/classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator.html" target="_self">DecodingTimeIterator</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_69_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html" target="_self">EncryptingFragmenter</a></td><td class="desc"><a class="el" href="d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html" title="EncryptingFragmenter generates MP4 fragments with sample encrypted. ">EncryptingFragmenter</a> generates MP4 fragments with sample encrypted </td></tr>
<tr id="row_0_0_1_70_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/db1/classedash__packager_1_1media_1_1mp4_1_1ESDescriptor.html" target="_self">ESDescriptor</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_71_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/dae/classedash__packager_1_1media_1_1mp4_1_1Fragmenter.html" target="_self">Fragmenter</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_72_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/d8a/classedash__packager_1_1media_1_1mp4_1_1KeyRotationFragmenter.html" target="_self">KeyRotationFragmenter</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_73_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/d0d/classedash__packager_1_1media_1_1mp4_1_1MP4MediaParser.html" target="_self">MP4MediaParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_74_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d78/classedash__packager_1_1media_1_1mp4_1_1MP4Muxer.html" target="_self">MP4Muxer</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_75_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html" target="_self">MultiSegmentSegmenter</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_76_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html" target="_self">Segmenter</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_77_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d75/classedash__packager_1_1media_1_1mp4_1_1SingleSegmentSegmenter.html" target="_self">SingleSegmentSegmenter</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_78_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/d01/classedash__packager_1_1media_1_1mp4_1_1SyncSampleIterator.html" target="_self">SyncSampleIterator</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_79_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/d26/classedash__packager_1_1media_1_1mp4_1_1TrackRunIterator.html" target="_self">TrackRunIterator</a></td><td class="desc"></td></tr>
<tr id="row_0_0_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_2_" class="arrow" onclick="toggleFolder('0_0_2_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><b>wvm</b></td><td class="desc"></td></tr>
<tr id="row_0_0_2_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/dfa/structedash__packager_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html" target="_self">DemuxStreamIdMediaSample</a></td><td class="desc"></td></tr>
<tr id="row_0_0_2_1_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d7b/structedash__packager_1_1media_1_1wvm_1_1PrevSampleData.html" target="_self">PrevSampleData</a></td><td class="desc"></td></tr>
<tr id="row_0_0_2_2_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/da0/classedash__packager_1_1media_1_1wvm_1_1WvmMediaParser.html" target="_self">WvmMediaParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/de9/classedash__packager_1_1media_1_1LibcryptoThreading.html" target="_self">LibcryptoThreading</a></td><td class="desc">Convenience class which initializes and terminates libcrypto threading </td></tr>
<tr id="row_0_0_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/d1f/structedash__packager_1_1media_1_1StreamDescriptor.html" target="_self">StreamDescriptor</a></td><td class="desc"></td></tr>
<tr id="row_0_0_5_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d7d/classedash__packager_1_1media_1_1StreamDescriptorCompareFn.html" target="_self">StreamDescriptorCompareFn</a></td><td class="desc"></td></tr>
<tr id="row_0_0_6_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d79/classedash__packager_1_1media_1_1AesCtrEncryptor.html" target="_self">AesCtrEncryptor</a></td><td class="desc"></td></tr>
<tr id="row_0_0_7_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/dc4/classedash__packager_1_1media_1_1AesCbcPkcs5Encryptor.html" target="_self">AesCbcPkcs5Encryptor</a></td><td class="desc"></td></tr>
<tr id="row_0_0_8_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/dfe/classedash__packager_1_1media_1_1AesCbcPkcs5Decryptor.html" target="_self">AesCbcPkcs5Decryptor</a></td><td class="desc"></td></tr>
<tr id="row_0_0_9_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/da2/classedash__packager_1_1media_1_1AesCbcCtsEncryptor.html" target="_self">AesCbcCtsEncryptor</a></td><td class="desc"></td></tr>
<tr id="row_0_0_10_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d96/classedash__packager_1_1media_1_1AesCbcCtsDecryptor.html" target="_self">AesCbcCtsDecryptor</a></td><td class="desc"></td></tr>
<tr id="row_0_0_11_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d27/classedash__packager_1_1media_1_1AudioStreamInfo.html" target="_self">AudioStreamInfo</a></td><td class="desc">Holds audio stream information </td></tr>
<tr id="row_0_0_12_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/de4/classedash__packager_1_1media_1_1AudioTimestampHelper.html" target="_self">AudioTimestampHelper</a></td><td class="desc"></td></tr>
<tr id="row_0_0_13_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="df/db4/classedash__packager_1_1media_1_1BitReader.html" target="_self">BitReader</a></td><td class="desc">A class to read bit streams </td></tr>
<tr id="row_0_0_14_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d46/classedash__packager_1_1media_1_1BufferReader.html" target="_self">BufferReader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_15_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="df/dde/classedash__packager_1_1media_1_1BufferWriter.html" target="_self">BufferWriter</a></td><td class="desc"></td></tr>
<tr id="row_0_0_16_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/d2e/classedash__packager_1_1media_1_1ByteQueue.html" target="_self">ByteQueue</a></td><td class="desc"></td></tr>
<tr id="row_0_0_17_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d2b/classedash__packager_1_1media_1_1ClosureThread.html" target="_self">ClosureThread</a></td><td class="desc"></td></tr>
<tr id="row_0_0_18_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/de4/structedash__packager_1_1media_1_1SubsampleEntry.html" target="_self">SubsampleEntry</a></td><td class="desc"></td></tr>
<tr id="row_0_0_19_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/da1/classedash__packager_1_1media_1_1DecryptConfig.html" target="_self">DecryptConfig</a></td><td class="desc"></td></tr>
<tr id="row_0_0_20_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/df1/classedash__packager_1_1media_1_1DecryptorSource.html" target="_self">DecryptorSource</a></td><td class="desc"><a class="el" href="dc/df1/classedash__packager_1_1media_1_1DecryptorSource.html" title="DecryptorSource is responsible for decryption key acquisition. ">DecryptorSource</a> is responsible for decryption key acquisition </td></tr>
<tr id="row_0_0_21_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/dce/classedash__packager_1_1media_1_1Demuxer.html" target="_self">Demuxer</a></td><td class="desc"></td></tr>
<tr id="row_0_0_22_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/d3e/classedash__packager_1_1media_1_1HttpKeyFetcher.html" target="_self">HttpKeyFetcher</a></td><td class="desc"></td></tr>
<tr id="row_0_0_23_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/d43/classedash__packager_1_1media_1_1KeyFetcher.html" target="_self">KeyFetcher</a></td><td class="desc">Base class for fetching keys from the license service </td></tr>
<tr id="row_0_0_24_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/d86/structedash__packager_1_1media_1_1EncryptionKey.html" target="_self">EncryptionKey</a></td><td class="desc"></td></tr>
<tr id="row_0_0_25_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d8b/classedash__packager_1_1media_1_1KeySource.html" target="_self">KeySource</a></td><td class="desc"><a class="el" href="d9/d8b/classedash__packager_1_1media_1_1KeySource.html" title="KeySource is responsible for encryption key acquisition. ">KeySource</a> is responsible for encryption key acquisition </td></tr>
<tr id="row_0_0_26_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/d48/classedash__packager_1_1media_1_1MediaParser.html" target="_self">MediaParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_27_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/d6c/classedash__packager_1_1media_1_1MediaSample.html" target="_self">MediaSample</a></td><td class="desc">Class to hold a media sample </td></tr>
<tr id="row_0_0_28_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/dfd/classedash__packager_1_1media_1_1MediaStream.html" target="_self">MediaStream</a></td><td class="desc"></td></tr>
<tr id="row_0_0_29_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/d1d/classedash__packager_1_1media_1_1Muxer.html" target="_self">Muxer</a></td><td class="desc"></td></tr>
<tr id="row_0_0_30_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/d57/structedash__packager_1_1media_1_1MuxerOptions.html" target="_self">MuxerOptions</a></td><td class="desc">This structure contains the list of configuration options for <a class="el" href="d4/d1d/classedash__packager_1_1media_1_1Muxer.html">Muxer</a> </td></tr>
<tr id="row_0_0_31_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d92/classedash__packager_1_1media_1_1OffsetByteQueue.html" target="_self">OffsetByteQueue</a></td><td class="desc"></td></tr>
<tr id="row_0_0_32_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/d02/classedash__packager_1_1media_1_1ProducerConsumerQueue.html" target="_self">ProducerConsumerQueue</a></td><td class="desc"></td></tr>
<tr id="row_0_0_33_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/d73/classedash__packager_1_1media_1_1RequestSigner.html" target="_self">RequestSigner</a></td><td class="desc">Abstract class used for signature generation </td></tr>
<tr id="row_0_0_34_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/dcc/classedash__packager_1_1media_1_1AesRequestSigner.html" target="_self">AesRequestSigner</a></td><td class="desc"><a class="el" href="d8/dcc/classedash__packager_1_1media_1_1AesRequestSigner.html" title="AesRequestSigner uses AES-CBC signing. ">AesRequestSigner</a> uses AES-CBC signing </td></tr>
<tr id="row_0_0_35_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/da8/classedash__packager_1_1media_1_1RsaRequestSigner.html" target="_self">RsaRequestSigner</a></td><td class="desc"><a class="el" href="dd/da8/classedash__packager_1_1media_1_1RsaRequestSigner.html" title="RsaRequestSigner uses RSA-PSS signing. ">RsaRequestSigner</a> uses RSA-PSS signing </td></tr>
<tr id="row_0_0_36_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/d62/classedash__packager_1_1media_1_1RsaPrivateKey.html" target="_self">RsaPrivateKey</a></td><td class="desc">Rsa private key, used for message signing and decryption </td></tr>
<tr id="row_0_0_37_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d86/classedash__packager_1_1media_1_1RsaPublicKey.html" target="_self">RsaPublicKey</a></td><td class="desc">Rsa public key, used for signature verification and encryption </td></tr>
<tr id="row_0_0_38_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d90/classedash__packager_1_1media_1_1Status.html" target="_self">Status</a></td><td class="desc"></td></tr>
<tr id="row_0_0_39_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/d06/classedash__packager_1_1media_1_1StreamInfo.html" target="_self">StreamInfo</a></td><td class="desc">Abstract class holds stream information </td></tr>
<tr id="row_0_0_40_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/d9e/classedash__packager_1_1media_1_1TextTrack.html" target="_self">TextTrack</a></td><td class="desc"></td></tr>
<tr id="row_0_0_41_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/d3a/classedash__packager_1_1media_1_1VideoStreamInfo.html" target="_self">VideoStreamInfo</a></td><td class="desc">Holds video stream information </td></tr>
<tr id="row_0_0_42_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/da4/classedash__packager_1_1media_1_1WidevineKeySource.html" target="_self">WidevineKeySource</a></td><td class="desc"></td></tr>
<tr id="row_0_0_43_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/d0e/classedash__packager_1_1media_1_1MpdNotifyMuxerListener.html" target="_self">MpdNotifyMuxerListener</a></td><td class="desc"></td></tr>
<tr id="row_0_0_44_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="df/de7/classedash__packager_1_1media_1_1MuxerListener.html" target="_self">MuxerListener</a></td><td class="desc"></td></tr>
<tr id="row_0_0_45_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/dd9/structedash__packager_1_1media_1_1VideoStreamInfoParameters.html" target="_self">VideoStreamInfoParameters</a></td><td class="desc"></td></tr>
<tr id="row_0_0_46_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/de7/structedash__packager_1_1media_1_1OnMediaEndParameters.html" target="_self">OnMediaEndParameters</a></td><td class="desc"></td></tr>
<tr id="row_0_0_47_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d2c/classedash__packager_1_1media_1_1ProgressListener.html" target="_self">ProgressListener</a></td><td class="desc">This class listens to progress updates events </td></tr>
<tr id="row_0_0_48_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/db4/classedash__packager_1_1media_1_1VodMediaInfoDumpMuxerListener.html" target="_self">VodMediaInfoDumpMuxerListener</a></td><td class="desc"></td></tr>
<tr id="row_0_0_49_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/d19/classedash__packager_1_1media_1_1File.html" target="_self">File</a></td><td class="desc">Define an abstract file interface </td></tr>
<tr id="row_0_0_50_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/ddc/structedash__packager_1_1media_1_1FileCloser.html" target="_self">FileCloser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_51_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/d6b/classedash__packager_1_1media_1_1IoCache.html" target="_self">IoCache</a></td><td class="desc">Declaration of class which implements a thread-safe circular buffer </td></tr>
<tr id="row_0_0_52_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d98/classedash__packager_1_1media_1_1LocalFile.html" target="_self">LocalFile</a></td><td class="desc">Implement <a class="el" href="dd/d98/classedash__packager_1_1media_1_1LocalFile.html" title="Implement LocalFile which deals with local storage. ">LocalFile</a> which deals with local storage </td></tr>
<tr id="row_0_0_53_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html" target="_self">ThreadedIoFile</a></td><td class="desc">Declaration of class which implements a thread-safe circular buffer </td></tr>
<tr id="row_0_0_54_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/dc7/classedash__packager_1_1media_1_1UdpFile.html" target="_self">UdpFile</a></td><td class="desc">Implements <a class="el" href="d8/dc7/classedash__packager_1_1media_1_1UdpFile.html" title="Implements UdpFile, which receives UDP unicast and multicast streams. ">UdpFile</a>, which receives UDP unicast and multicast streams </td></tr>
<tr id="row_0_0_55_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/d55/classedash__packager_1_1media_1_1H264BitReader.html" target="_self">H264BitReader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_56_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/d30/classedash__packager_1_1media_1_1H264ByteToUnitStreamConverter.html" target="_self">H264ByteToUnitStreamConverter</a></td><td class="desc"></td></tr>
<tr id="row_0_0_57_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d41/structedash__packager_1_1media_1_1H264NALU.html" target="_self">H264NALU</a></td><td class="desc"></td></tr>
<tr id="row_0_0_58_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/db0/structedash__packager_1_1media_1_1H264SPS.html" target="_self">H264SPS</a></td><td class="desc"></td></tr>
<tr id="row_0_0_59_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/dcf/structedash__packager_1_1media_1_1H264PPS.html" target="_self">H264PPS</a></td><td class="desc"></td></tr>
<tr id="row_0_0_60_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d76/structedash__packager_1_1media_1_1H264ModificationOfPicNum.html" target="_self">H264ModificationOfPicNum</a></td><td class="desc"></td></tr>
<tr id="row_0_0_61_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/dbc/structedash__packager_1_1media_1_1H264WeightingFactors.html" target="_self">H264WeightingFactors</a></td><td class="desc"></td></tr>
<tr id="row_0_0_62_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d50/structedash__packager_1_1media_1_1H264DecRefPicMarking.html" target="_self">H264DecRefPicMarking</a></td><td class="desc"></td></tr>
<tr id="row_0_0_63_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/d8d/structedash__packager_1_1media_1_1H264SliceHeader.html" target="_self">H264SliceHeader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_64_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/dca/structedash__packager_1_1media_1_1H264SEIRecoveryPoint.html" target="_self">H264SEIRecoveryPoint</a></td><td class="desc"></td></tr>
<tr id="row_0_0_65_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/d93/structedash__packager_1_1media_1_1H264SEIMessage.html" target="_self">H264SEIMessage</a></td><td class="desc"></td></tr>
<tr id="row_0_0_66_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/da3/classedash__packager_1_1media_1_1H264Parser.html" target="_self">H264Parser</a></td><td class="desc"></td></tr>
<tr id="row_0_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_1_" class="arrow" onclick="toggleFolder('0_1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>xml</b></td><td class="desc"></td></tr>
<tr id="row_0_1_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/de3/structedash__packager_1_1xml_1_1XmlDeleter.html" target="_self">XmlDeleter</a></td><td class="desc"></td></tr>
<tr id="row_0_1_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/df3/structedash__packager_1_1xml_1_1ScopedXmlPtr.html" target="_self">ScopedXmlPtr</a></td><td class="desc">Scoped_ptr for libxml2 resources </td></tr>
<tr id="row_0_1_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d85/classedash__packager_1_1xml_1_1XmlNode.html" target="_self">XmlNode</a></td><td class="desc"></td></tr>
<tr id="row_0_1_3_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/dd5/classedash__packager_1_1xml_1_1RepresentationBaseXmlNode.html" target="_self">RepresentationBaseXmlNode</a></td><td class="desc"></td></tr>
<tr id="row_0_1_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/d37/classedash__packager_1_1xml_1_1AdaptationSetXmlNode.html" target="_self">AdaptationSetXmlNode</a></td><td class="desc">AdaptationSetType specified in MPD </td></tr>
<tr id="row_0_1_5_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/d05/classedash__packager_1_1xml_1_1RepresentationXmlNode.html" target="_self">RepresentationXmlNode</a></td><td class="desc">RepresentationType in MPD </td></tr>
<tr id="row_0_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/d7a/structedash__packager_1_1Element.html" target="_self">Element</a></td><td class="desc"></td></tr>
<tr id="row_0_3_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/d96/structedash__packager_1_1ContentProtectionElement.html" target="_self">ContentProtectionElement</a></td><td class="desc"></td></tr>
<tr id="row_0_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d49/classedash__packager_1_1DashIopMpdNotifier.html" target="_self">DashIopMpdNotifier</a></td><td class="desc"></td></tr>
<tr id="row_0_5_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/d2e/classedash__packager_1_1MockMpdBuilder.html" target="_self">MockMpdBuilder</a></td><td class="desc"></td></tr>
<tr id="row_0_6_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/d78/classedash__packager_1_1MockAdaptationSet.html" target="_self">MockAdaptationSet</a></td><td class="desc"></td></tr>
<tr id="row_0_7_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/da9/classedash__packager_1_1MockRepresentation.html" target="_self">MockRepresentation</a></td><td class="desc"></td></tr>
<tr id="row_0_8_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/d44/classedash__packager_1_1MockMpdNotifier.html" target="_self">MockMpdNotifier</a></td><td class="desc"></td></tr>
<tr id="row_0_9_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/dfa/classedash__packager_1_1MpdBuilder.html" target="_self">MpdBuilder</a></td><td class="desc">This class generates DASH MPDs (Media Presentation Descriptions) </td></tr>
<tr id="row_0_10_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/de4/classedash__packager_1_1AdaptationSet.html" target="_self">AdaptationSet</a></td><td class="desc"></td></tr>
<tr id="row_0_11_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/dfa/classedash__packager_1_1RepresentationStateChangeListener.html" target="_self">RepresentationStateChangeListener</a></td><td class="desc"></td></tr>
<tr id="row_0_12_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/d15/classedash__packager_1_1Representation.html" target="_self">Representation</a></td><td class="desc"></td></tr>
<tr id="row_0_13_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d38/classedash__packager_1_1MpdNotifier.html" target="_self">MpdNotifier</a></td><td class="desc"></td></tr>
<tr id="row_0_14_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d5d/structedash__packager_1_1MpdOptions.html" target="_self">MpdOptions</a></td><td class="desc">Defines Mpd Options </td></tr>
<tr id="row_0_15_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d9b/structedash__packager_1_1SegmentInfo.html" target="_self">SegmentInfo</a></td><td class="desc"></td></tr>
<tr id="row_0_16_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/d56/classedash__packager_1_1SimpleMpdNotifier.html" target="_self">SimpleMpdNotifier</a></td><td class="desc"></td></tr>
<tr id="row_0_17_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/dcb/classedash__packager_1_1MpdNotifierFactory.html" target="_self">MpdNotifierFactory</a></td><td class="desc"></td></tr>
<tr id="row_0_18_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/d81/classedash__packager_1_1MpdWriter.html" target="_self">MpdWriter</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d6f/classBandwidthEstimator.html" target="_self">BandwidthEstimator</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:31:04 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>

BIN
sdk/bc_s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 B

BIN
sdk/bdwn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

169
sdk/classes.html Normal file
View File

@ -0,0 +1,169 @@
<!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: Class Index</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><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="annotated.html"><span>Class&#160;List</span></a></li>
<li class="current"><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- 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></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 class="header">
<div class="headertitle">
<div class="title">Class Index</div> </div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_K">K</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_O">O</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a>&#160;|&#160;<a class="qindex" href="#letter_V">V</a>&#160;|&#160;<a class="qindex" href="#letter_W">W</a>&#160;|&#160;<a class="qindex" href="#letter_X">X</a></div>
<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr><td rowspan="2" valign="bottom"><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;A&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d7/d1c/structedash__packager_1_1media_1_1mp4_1_1DecodingTime.html">DecodingTime</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_K"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;K&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="da/d4b/structedash__packager_1_1media_1_1mp4_1_1OriginalFormat.html">OriginalFormat</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/de4/structedash__packager_1_1media_1_1SubsampleEntry.html">SubsampleEntry</a> (edash_packager::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d4/d90/classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator.html">DecodingTimeIterator</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;P&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d9/d18/structedash__packager_1_1media_1_1mp4_1_1SyncSample.html">SyncSample</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="dc/dc6/classedash__packager_1_1media_1_1mp4_1_1AACAudioSpecificConfig.html">AACAudioSpecificConfig</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/db7/structedash__packager_1_1media_1_1mp4_1_1DecodingTimeToSample.html">DecodingTimeToSample</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/d43/classedash__packager_1_1media_1_1KeyFetcher.html">KeyFetcher</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/d01/classedash__packager_1_1media_1_1mp4_1_1SyncSampleIterator.html">SyncSampleIterator</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="db/de4/classedash__packager_1_1AdaptationSet.html">AdaptationSet</a> (<a class="el" href="db/d09/namespaceedash__packager.html">edash_packager</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/da1/classedash__packager_1_1media_1_1DecryptConfig.html">DecryptConfig</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/d8a/classedash__packager_1_1media_1_1mp4_1_1KeyRotationFragmenter.html">KeyRotationFragmenter</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.html">PixelAspectRatioBox</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;T&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td valign="top"><a class="el" href="d6/d37/classedash__packager_1_1xml_1_1AdaptationSetXmlNode.html">AdaptationSetXmlNode</a> (edash_packager::xml)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/df1/classedash__packager_1_1media_1_1DecryptorSource.html">DecryptorSource</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/d8b/classedash__packager_1_1media_1_1KeySource.html">KeySource</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/d7b/structedash__packager_1_1media_1_1wvm_1_1PrevSampleData.html">PrevSampleData</a> (edash_packager::media::wvm)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html">AdtsHeader</a> (edash_packager::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/dce/classedash__packager_1_1media_1_1Demuxer.html">Demuxer</a> (edash_packager::media)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;L&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d5/d02/classedash__packager_1_1media_1_1ProducerConsumerQueue.html">ProducerConsumerQueue</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/d9e/classedash__packager_1_1media_1_1TextTrack.html">TextTrack</a> (edash_packager::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="dd/d96/classedash__packager_1_1media_1_1AesCbcCtsDecryptor.html">AesCbcCtsDecryptor</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/dfa/structedash__packager_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html">DemuxStreamIdMediaSample</a> (edash_packager::media::wvm)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/d2c/classedash__packager_1_1media_1_1ProgressListener.html">ProgressListener</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html">ThreadedIoFile</a> (edash_packager::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d6/da2/classedash__packager_1_1media_1_1AesCbcCtsEncryptor.html">AesCbcCtsEncryptor</a> (edash_packager::media)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;E&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="de/de9/classedash__packager_1_1media_1_1LibcryptoThreading.html">LibcryptoThreading</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/dc9/structedash__packager_1_1media_1_1mp4_1_1ProtectionSchemeInfo.html">ProtectionSchemeInfo</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/de1/structedash__packager_1_1media_1_1mp4_1_1Track.html">Track</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="db/dfe/classedash__packager_1_1media_1_1AesCbcPkcs5Decryptor.html">AesCbcPkcs5Decryptor</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/d98/classedash__packager_1_1media_1_1LocalFile.html">LocalFile</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/d2a/structedash__packager_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html">ProtectionSystemSpecificHeader</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/d44/structedash__packager_1_1media_1_1mp4_1_1TrackEncryption.html">TrackEncryption</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d6/dc4/classedash__packager_1_1media_1_1AesCbcPkcs5Encryptor.html">AesCbcPkcs5Encryptor</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/d4f/structedash__packager_1_1media_1_1mp4_1_1Edit.html">Edit</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;M&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;R&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html">TrackExtends</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="dd/d79/classedash__packager_1_1media_1_1AesCtrEncryptor.html">AesCtrEncryptor</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/d4a/structedash__packager_1_1media_1_1mp4_1_1EditList.html">EditList</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/dd9/structedash__packager_1_1media_1_1mp4_1_1TrackFragment.html">TrackFragment</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d8/dcc/classedash__packager_1_1media_1_1AesRequestSigner.html">AesRequestSigner</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/d0d/structedash__packager_1_1media_1_1mp4_1_1EditListEntry.html">EditListEntry</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/de7/structedash__packager_1_1media_1_1mp4_1_1Media.html">Media</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/d15/classedash__packager_1_1Representation.html">Representation</a> (<a class="el" href="db/d09/namespaceedash__packager.html">edash_packager</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d92/structedash__packager_1_1media_1_1mp4_1_1TrackFragmentDecodeTime.html">TrackFragmentDecodeTime</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">AudioSampleEntry</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/d7a/structedash__packager_1_1Element.html">Element</a> (<a class="el" href="db/d09/namespaceedash__packager.html">edash_packager</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/d92/structedash__packager_1_1media_1_1mp4_1_1MediaData.html">MediaData</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/dd5/classedash__packager_1_1xml_1_1RepresentationBaseXmlNode.html">RepresentationBaseXmlNode</a> (edash_packager::xml)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/d47/structedash__packager_1_1media_1_1mp4_1_1TrackFragmentHeader.html">TrackFragmentHeader</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="da/d27/classedash__packager_1_1media_1_1AudioStreamInfo.html">AudioStreamInfo</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/dcc/structedash__packager_1_1media_1_1mp4_1_1ElementaryStreamDescriptor.html">ElementaryStreamDescriptor</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html">MediaHeader</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/dfa/classedash__packager_1_1RepresentationStateChangeListener.html">RepresentationStateChangeListener</a> (<a class="el" href="db/d09/namespaceedash__packager.html">edash_packager</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/d21/structedash__packager_1_1media_1_1mp4_1_1TrackFragmentRun.html">TrackFragmentRun</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="da/de4/classedash__packager_1_1media_1_1AudioTimestampHelper.html">AudioTimestampHelper</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html">EncryptingFragmenter</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html">MediaInformation</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/d05/classedash__packager_1_1xml_1_1RepresentationXmlNode.html">RepresentationXmlNode</a> (edash_packager::xml)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/d15/structedash__packager_1_1media_1_1mp4_1_1TrackHeader.html">TrackHeader</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d8/dbb/structedash__packager_1_1media_1_1mp4_1_1AVCDecoderConfigurationRecord.html">AVCDecoderConfigurationRecord</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d86/structedash__packager_1_1media_1_1EncryptionKey.html">EncryptionKey</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/d48/classedash__packager_1_1media_1_1MediaParser.html">MediaParser</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/d73/classedash__packager_1_1media_1_1RequestSigner.html">RequestSigner</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/d26/classedash__packager_1_1media_1_1mp4_1_1TrackRunIterator.html">TrackRunIterator</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;B&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="de/db1/classedash__packager_1_1media_1_1mp4_1_1ESDescriptor.html">ESDescriptor</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/d6c/classedash__packager_1_1media_1_1MediaSample.html">MediaSample</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/d62/classedash__packager_1_1media_1_1RsaPrivateKey.html">RsaPrivateKey</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d4b/classedash__packager_1_1media_1_1mp2t_1_1TsPacket.html">TsPacket</a> (edash_packager::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="db/df2/classedash__packager_1_1media_1_1mp2t_1_1EsParser.html">EsParser</a> (edash_packager::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/dfd/classedash__packager_1_1media_1_1MediaStream.html">MediaStream</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d86/classedash__packager_1_1media_1_1RsaPublicKey.html">RsaPublicKey</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/d8e/classedash__packager_1_1media_1_1mp2t_1_1TsSection.html">TsSection</a> (edash_packager::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d2/d6f/classBandwidthEstimator.html">BandwidthEstimator</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/d59/classedash__packager_1_1media_1_1mp2t_1_1EsParserAdts.html">EsParserAdts</a> (edash_packager::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/d78/classedash__packager_1_1MockAdaptationSet.html">MockAdaptationSet</a> (<a class="el" href="db/d09/namespaceedash__packager.html">edash_packager</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/da8/classedash__packager_1_1media_1_1RsaRequestSigner.html">RsaRequestSigner</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/d0e/classedash__packager_1_1media_1_1mp2t_1_1TsSectionPat.html">TsSectionPat</a> (edash_packager::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="df/db4/classedash__packager_1_1media_1_1BitReader.html">BitReader</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/d0e/classedash__packager_1_1media_1_1mp2t_1_1EsParserH264.html">EsParserH264</a> (edash_packager::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/d2e/classedash__packager_1_1MockMpdBuilder.html">MockMpdBuilder</a> (<a class="el" href="db/d09/namespaceedash__packager.html">edash_packager</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;S&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="de/d8b/classedash__packager_1_1media_1_1mp2t_1_1TsSectionPes.html">TsSectionPes</a> (edash_packager::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">Box</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;F&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d7/d44/classedash__packager_1_1MockMpdNotifier.html">MockMpdNotifier</a> (<a class="el" href="db/d09/namespaceedash__packager.html">edash_packager</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/d5b/classedash__packager_1_1media_1_1mp2t_1_1TsSectionPmt.html">TsSectionPmt</a> (edash_packager::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">BoxBuffer</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/da9/classedash__packager_1_1MockRepresentation.html">MockRepresentation</a> (<a class="el" href="db/d09/namespaceedash__packager.html">edash_packager</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/dc4/structedash__packager_1_1media_1_1mp4_1_1SampleAuxiliaryInformationOffset.html">SampleAuxiliaryInformationOffset</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/d4e/classedash__packager_1_1media_1_1mp2t_1_1TsSectionPsi.html">TsSectionPsi</a> (edash_packager::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="db/d6c/classedash__packager_1_1media_1_1mp4_1_1BoxReader.html">BoxReader</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/d19/classedash__packager_1_1media_1_1File.html">File</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/dec/structedash__packager_1_1media_1_1mp4_1_1Movie.html">Movie</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/d51/structedash__packager_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize.html">SampleAuxiliaryInformationSize</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;U&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td valign="top"><a class="el" href="d9/d46/classedash__packager_1_1media_1_1BufferReader.html">BufferReader</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/ddc/structedash__packager_1_1media_1_1FileCloser.html">FileCloser</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/d8b/structedash__packager_1_1media_1_1mp4_1_1MovieExtends.html">MovieExtends</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d74/structedash__packager_1_1media_1_1mp4_1_1SampleDescription.html">SampleDescription</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="df/dde/classedash__packager_1_1media_1_1BufferWriter.html">BufferWriter</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/dcd/structedash__packager_1_1media_1_1mp4_1_1FileType.html">FileType</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/d17/structedash__packager_1_1media_1_1mp4_1_1MovieExtendsHeader.html">MovieExtendsHeader</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/d26/structedash__packager_1_1media_1_1mp4_1_1SampleGroupDescription.html">SampleGroupDescription</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/dc7/classedash__packager_1_1media_1_1UdpFile.html">UdpFile</a> (edash_packager::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d8/d2e/classedash__packager_1_1media_1_1ByteQueue.html">ByteQueue</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/dae/classedash__packager_1_1media_1_1mp4_1_1Fragmenter.html">Fragmenter</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/da2/structedash__packager_1_1media_1_1mp4_1_1MovieFragment.html">MovieFragment</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/da5/structedash__packager_1_1media_1_1mp4_1_1SampleSize.html">SampleSize</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_V"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;V&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;C&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d5/ddf/classedash__packager_1_1media_1_1mp4_1_1FrameCENCInfo.html">FrameCENCInfo</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/d86/structedash__packager_1_1media_1_1mp4_1_1MovieFragmentHeader.html">MovieFragmentHeader</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">SampleTable</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">FullBox</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/d14/structedash__packager_1_1media_1_1mp4_1_1MovieHeader.html">MovieHeader</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/d76/structedash__packager_1_1media_1_1mp4_1_1SampleToChunk.html">SampleToChunk</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/df7/structedash__packager_1_1media_1_1mp4_1_1VideoMediaHeader.html">VideoMediaHeader</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d7/d55/structedash__packager_1_1media_1_1mp4_1_1CencSampleEncryptionInfoEntry.html">CencSampleEncryptionInfoEntry</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;H&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="dc/dab/classedash__packager_1_1media_1_1mp2t_1_1Mp2tMediaParser.html">Mp2tMediaParser</a> (edash_packager::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html">SampleToGroup</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">VideoSampleEntry</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d8/d21/structedash__packager_1_1media_1_1mp4_1_1ChunkInfo.html">ChunkInfo</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/d0d/classedash__packager_1_1media_1_1mp4_1_1MP4MediaParser.html">MP4MediaParser</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/dab/structedash__packager_1_1media_1_1mp4_1_1SampleToGroupEntry.html">SampleToGroupEntry</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/d3a/classedash__packager_1_1media_1_1VideoStreamInfo.html">VideoStreamInfo</a> (edash_packager::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d8/d71/classedash__packager_1_1media_1_1mp4_1_1ChunkInfoIterator.html">ChunkInfoIterator</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/d55/classedash__packager_1_1media_1_1H264BitReader.html">H264BitReader</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d78/classedash__packager_1_1media_1_1mp4_1_1MP4Muxer.html">MP4Muxer</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/d6f/structedash__packager_1_1media_1_1mp4_1_1SchemeInfo.html">SchemeInfo</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/dd9/structedash__packager_1_1media_1_1VideoStreamInfoParameters.html">VideoStreamInfoParameters</a> (edash_packager::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="da/d81/structedash__packager_1_1media_1_1mp4_1_1ChunkLargeOffset.html">ChunkLargeOffset</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/d30/classedash__packager_1_1media_1_1H264ByteToUnitStreamConverter.html">H264ByteToUnitStreamConverter</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/dfa/classedash__packager_1_1MpdBuilder.html">MpdBuilder</a> (<a class="el" href="db/d09/namespaceedash__packager.html">edash_packager</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/dcc/structedash__packager_1_1media_1_1mp4_1_1SchemeType.html">SchemeType</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/db4/classedash__packager_1_1media_1_1VodMediaInfoDumpMuxerListener.html">VodMediaInfoDumpMuxerListener</a> (edash_packager::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d6/d79/structedash__packager_1_1media_1_1mp4_1_1ChunkOffset.html">ChunkOffset</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/d50/structedash__packager_1_1media_1_1H264DecRefPicMarking.html">H264DecRefPicMarking</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/d38/classedash__packager_1_1MpdNotifier.html">MpdNotifier</a> (<a class="el" href="db/d09/namespaceedash__packager.html">edash_packager</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/df3/structedash__packager_1_1xml_1_1ScopedXmlPtr.html">ScopedXmlPtr</a> (edash_packager::xml)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_W"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;W&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td valign="top"><a class="el" href="dd/d2b/classedash__packager_1_1media_1_1ClosureThread.html">ClosureThread</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/d76/structedash__packager_1_1media_1_1H264ModificationOfPicNum.html">H264ModificationOfPicNum</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/dcb/classedash__packager_1_1MpdNotifierFactory.html">MpdNotifierFactory</a> (<a class="el" href="db/d09/namespaceedash__packager.html">edash_packager</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">Segmenter</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="db/d89/structedash__packager_1_1media_1_1mp4_1_1CompactSampleSize.html">CompactSampleSize</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/d41/structedash__packager_1_1media_1_1H264NALU.html">H264NALU</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d0e/classedash__packager_1_1media_1_1MpdNotifyMuxerListener.html">MpdNotifyMuxerListener</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d81/structedash__packager_1_1media_1_1mp4_1_1SegmentIndex.html">SegmentIndex</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/da4/classedash__packager_1_1media_1_1WidevineKeySource.html">WidevineKeySource</a> (edash_packager::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="da/dfe/structedash__packager_1_1media_1_1mp4_1_1CompositionOffset.html">CompositionOffset</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/da3/classedash__packager_1_1media_1_1H264Parser.html">H264Parser</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d5d/structedash__packager_1_1MpdOptions.html">MpdOptions</a> (<a class="el" href="db/d09/namespaceedash__packager.html">edash_packager</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/d9b/structedash__packager_1_1SegmentInfo.html">SegmentInfo</a> (<a class="el" href="db/d09/namespaceedash__packager.html">edash_packager</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/da0/classedash__packager_1_1media_1_1wvm_1_1WvmMediaParser.html">WvmMediaParser</a> (edash_packager::media::wvm)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d4/de5/classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator.html">CompositionOffsetIterator</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/dcf/structedash__packager_1_1media_1_1H264PPS.html">H264PPS</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/d81/classedash__packager_1_1MpdWriter.html">MpdWriter</a> (<a class="el" href="db/d09/namespaceedash__packager.html">edash_packager</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/dce/structedash__packager_1_1media_1_1mp4_1_1SegmentReference.html">SegmentReference</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_X"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;X&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td valign="top"><a class="el" href="da/d54/structedash__packager_1_1media_1_1mp4_1_1CompositionTimeToSample.html">CompositionTimeToSample</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/d93/structedash__packager_1_1media_1_1H264SEIMessage.html">H264SEIMessage</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html">MultiSegmentSegmenter</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/da6/structedash__packager_1_1media_1_1mp4_1_1SegmentType.html">SegmentType</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d0/d96/structedash__packager_1_1ContentProtectionElement.html">ContentProtectionElement</a> (<a class="el" href="db/d09/namespaceedash__packager.html">edash_packager</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/dca/structedash__packager_1_1media_1_1H264SEIRecoveryPoint.html">H264SEIRecoveryPoint</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/d1d/classedash__packager_1_1media_1_1Muxer.html">Muxer</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/d56/classedash__packager_1_1SimpleMpdNotifier.html">SimpleMpdNotifier</a> (<a class="el" href="db/d09/namespaceedash__packager.html">edash_packager</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/de3/structedash__packager_1_1xml_1_1XmlDeleter.html">XmlDeleter</a> (edash_packager::xml)&#160;&#160;&#160;</td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;D&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="de/d8d/structedash__packager_1_1media_1_1H264SliceHeader.html">H264SliceHeader</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/de7/classedash__packager_1_1media_1_1MuxerListener.html">MuxerListener</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/d75/classedash__packager_1_1media_1_1mp4_1_1SingleSegmentSegmenter.html">SingleSegmentSegmenter</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/d85/classedash__packager_1_1xml_1_1XmlNode.html">XmlNode</a> (edash_packager::xml)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d8/db0/structedash__packager_1_1media_1_1H264SPS.html">H264SPS</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/d57/structedash__packager_1_1media_1_1MuxerOptions.html">MuxerOptions</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/db0/structedash__packager_1_1media_1_1mp4_1_1SoundMediaHeader.html">SoundMediaHeader</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td></td></tr>
<tr><td valign="top"><a class="el" href="da/d49/classedash__packager_1_1DashIopMpdNotifier.html">DashIopMpdNotifier</a> (<a class="el" href="db/d09/namespaceedash__packager.html">edash_packager</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/dbc/structedash__packager_1_1media_1_1H264WeightingFactors.html">H264WeightingFactors</a> (edash_packager::media)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_O"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;O&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> (edash_packager::media)&#160;&#160;&#160;</td><td></td></tr>
<tr><td valign="top"><a class="el" href="d6/d6c/structedash__packager_1_1media_1_1mp4_1_1DataEntryUrl.html">DataEntryUrl</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/dbd/structedash__packager_1_1media_1_1mp4_1_1HandlerReference.html">HandlerReference</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/d1f/structedash__packager_1_1media_1_1StreamDescriptor.html">StreamDescriptor</a> (edash_packager::media)&#160;&#160;&#160;</td><td></td></tr>
<tr><td valign="top"><a class="el" href="d6/d59/structedash__packager_1_1media_1_1mp4_1_1DataInformation.html">DataInformation</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d3e/classedash__packager_1_1media_1_1HttpKeyFetcher.html">HttpKeyFetcher</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d92/classedash__packager_1_1media_1_1OffsetByteQueue.html">OffsetByteQueue</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/d7d/classedash__packager_1_1media_1_1StreamDescriptorCompareFn.html">StreamDescriptorCompareFn</a> (edash_packager::media)&#160;&#160;&#160;</td><td></td></tr>
<tr><td valign="top"><a class="el" href="d7/d0d/structedash__packager_1_1media_1_1mp4_1_1DataReference.html">DataReference</a> (edash_packager::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;I&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d3/de7/structedash__packager_1_1media_1_1OnMediaEndParameters.html">OnMediaEndParameters</a> (edash_packager::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/d06/classedash__packager_1_1media_1_1StreamInfo.html">StreamInfo</a> (edash_packager::media)&#160;&#160;&#160;</td><td></td></tr>
<tr><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td valign="top"><a class="el" href="d3/d6b/classedash__packager_1_1media_1_1IoCache.html">IoCache</a> (edash_packager::media)&#160;&#160;&#160;</td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_K">K</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_O">O</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a>&#160;|&#160;<a class="qindex" href="#letter_V">V</a>&#160;|&#160;<a class="qindex" href="#letter_W">W</a>&#160;|&#160;<a class="qindex" href="#letter_X">X</a></div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:31:04 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>

BIN
sdk/closed.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

View File

@ -0,0 +1,156 @@
<!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: app/mpd_flags.cc Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_d422163b96683743ed3963d4aac17747.html">app</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">mpd_flags.cc</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// Defines Mpd flags.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;packager/app/mpd_flags.h&quot;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// TODO(rkuroiwa, kqyang): Remove the &#39;Exclusive&#39; statements once</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// --output_media_info can work together with --mpd_output.</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;DEFINE_bool(output_media_info,</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; <span class="keyword">false</span>,</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <span class="stringliteral">&quot;Create a human readable format of MediaInfo. The output file name &quot;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <span class="stringliteral">&quot;will be the name specified by output flag, suffixed with &quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <span class="stringliteral">&quot;&#39;.media_info&#39;. Exclusive with --mpd_output.&quot;</span>);</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;DEFINE_string(mpd_output, <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <span class="stringliteral">&quot;MPD output file name. Exclusive with --output_media_info.&quot;</span>);</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;DEFINE_string(scheme_id_uri,</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="stringliteral">&quot;urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed&quot;</span>,</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="stringliteral">&quot;This flag only applies if output_media_info is true. This value &quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="stringliteral">&quot;will be set in MediaInfo if the stream is encrypted. &quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="stringliteral">&quot;If the stream is encrypted, MPD requires a &lt;ContentProtection&gt; &quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="stringliteral">&quot;element which requires the schemeIdUri attribute. &quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="stringliteral">&quot;Default value is Widevine PSSH system ID, and it is valid only &quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="stringliteral">&quot;for ISO BMFF.&quot;</span>);</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;DEFINE_string(base_urls,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="stringliteral">&quot;Comma separated BaseURLs for the MPD. The values will be added &quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="stringliteral">&quot;as &lt;BaseURL&gt; element(s) immediately under the &lt;MPD&gt; element.&quot;</span>);</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;DEFINE_double(min_buffer_time,</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; 2.0,</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="stringliteral">&quot;Specifies, in seconds, a common duration used in the definition &quot;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="stringliteral">&quot;of the MPD Representation data rate.&quot;</span>);</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;DEFINE_double(availability_time_offset,</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; 10.0,</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="stringliteral">&quot;Offset with respect to the wall clock time for MPD &quot;</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="stringliteral">&quot;availabilityStartTime and availabilityEndTime values, in &quot;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="stringliteral">&quot; seconds. This value is used for live profile only.&quot;</span>);</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;DEFINE_double(minimum_update_period,</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; 5.0,</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="stringliteral">&quot;Indicates to the player how often to refresh the media &quot;</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="stringliteral">&quot;presentation description in seconds. This value is used for &quot;</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="stringliteral">&quot;live profile only.&quot;</span>);</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;DEFINE_double(time_shift_buffer_depth,</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; 1800.0,</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="stringliteral">&quot;Guaranteed duration of the time shifting buffer for dynamic &quot;</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="stringliteral">&quot;media presentations, in seconds.&quot;</span>);</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;DEFINE_double(suggested_presentation_delay,</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; 0.0,</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="stringliteral">&quot;Specifies a delay, in seconds, to be added to the media &quot;</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="stringliteral">&quot;presentation time. This value is used for live profile only.&quot;</span>);</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;DEFINE_bool(generate_dash_if_iop_compliant_mpd,</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">false</span>,</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="stringliteral">&quot;Try to generate DASH-IF IOPv3 compliant MPD. This is best effort &quot;</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="stringliteral">&quot;and does not guarantee compliance. Off by default until players &quot;</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="stringliteral">&quot;support IOP MPDs.&quot;</span>);</div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,154 @@
<!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: media/base/muxer_options.h Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_c6ada2450b25ab5438a4dba6c9b890af.html">base</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">muxer_options.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#ifndef MEDIA_BASE_MUXER_OPTIONS_H_</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#define MEDIA_BASE_MUXER_OPTIONS_H_</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html"> 18</a></span>&#160;<span class="keyword">struct </span><a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html">MuxerOptions</a> {</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html">MuxerOptions</a>();</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; ~<a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html">MuxerOptions</a>();</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a7542af69b834f3a72e5c5b25f4f0f474"> 24</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a7542af69b834f3a72e5c5b25f4f0f474">single_segment</a>;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#ad6f281dfd832bd073f5fb5fc46342f9f"> 30</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#ad6f281dfd832bd073f5fb5fc46342f9f">segment_duration</a>;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a1754599c00fdf4c474d3072abf71c1de"> 34</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a1754599c00fdf4c474d3072abf71c1de">fragment_duration</a>;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#af0403298bf08392bb3009061cd8de2b0"> 38</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#af0403298bf08392bb3009061cd8de2b0">segment_sap_aligned</a>;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#ab70f1d41f9556fa793ec638762d1c584"> 43</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#ab70f1d41f9556fa793ec638762d1c584">fragment_sap_aligned</a>;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a93714f081569ea56ed626eb057c1761f"> 50</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a93714f081569ea56ed626eb057c1761f">num_subsegments_per_sidx</a>;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#addd401a47b287f3c18cbdc4bfa1a6963"> 55</a></span>&#160; std::string <a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#addd401a47b287f3c18cbdc4bfa1a6963">output_file_name</a>;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a1303b2f8efb19af4728513ba2eeea2d1"> 61</a></span>&#160; std::string <a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a1303b2f8efb19af4728513ba2eeea2d1">segment_template</a>;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a014464b78ba37f978da8290db2f2414e"> 64</a></span>&#160; std::string <a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a014464b78ba37f978da8290db2f2414e">temp_dir</a>;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a94fa00f788f9c39cba593004a1cd8849"> 68</a></span>&#160; uint32_t <a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a94fa00f788f9c39cba593004a1cd8849">bandwidth</a>;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;};</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="preprocessor">#endif // MEDIA_BASE_MUXER_OPTIONS_H_</span></div>
<div class="ttc" id="structedash__packager_1_1media_1_1MuxerOptions_html_addd401a47b287f3c18cbdc4bfa1a6963"><div class="ttname"><a href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#addd401a47b287f3c18cbdc4bfa1a6963">edash_packager::media::MuxerOptions::output_file_name</a></div><div class="ttdeci">std::string output_file_name</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d0e/muxer__options_8h_source.html#l00055">muxer_options.h:55</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1MuxerOptions_html_a014464b78ba37f978da8290db2f2414e"><div class="ttname"><a href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a014464b78ba37f978da8290db2f2414e">edash_packager::media::MuxerOptions::temp_dir</a></div><div class="ttdeci">std::string temp_dir</div><div class="ttdoc">Specify temporary directory for intermediate files. </div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d0e/muxer__options_8h_source.html#l00064">muxer_options.h:64</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1MuxerOptions_html_a7542af69b834f3a72e5c5b25f4f0f474"><div class="ttname"><a href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a7542af69b834f3a72e5c5b25f4f0f474">edash_packager::media::MuxerOptions::single_segment</a></div><div class="ttdeci">bool single_segment</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d0e/muxer__options_8h_source.html#l00024">muxer_options.h:24</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1MuxerOptions_html_a94fa00f788f9c39cba593004a1cd8849"><div class="ttname"><a href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a94fa00f788f9c39cba593004a1cd8849">edash_packager::media::MuxerOptions::bandwidth</a></div><div class="ttdeci">uint32_t bandwidth</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d0e/muxer__options_8h_source.html#l00068">muxer_options.h:68</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1MuxerOptions_html_a1754599c00fdf4c474d3072abf71c1de"><div class="ttname"><a href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a1754599c00fdf4c474d3072abf71c1de">edash_packager::media::MuxerOptions::fragment_duration</a></div><div class="ttdeci">double fragment_duration</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d0e/muxer__options_8h_source.html#l00034">muxer_options.h:34</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1MuxerOptions_html_ab70f1d41f9556fa793ec638762d1c584"><div class="ttname"><a href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#ab70f1d41f9556fa793ec638762d1c584">edash_packager::media::MuxerOptions::fragment_sap_aligned</a></div><div class="ttdeci">bool fragment_sap_aligned</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d0e/muxer__options_8h_source.html#l00043">muxer_options.h:43</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1MuxerOptions_html_af0403298bf08392bb3009061cd8de2b0"><div class="ttname"><a href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#af0403298bf08392bb3009061cd8de2b0">edash_packager::media::MuxerOptions::segment_sap_aligned</a></div><div class="ttdeci">bool segment_sap_aligned</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d0e/muxer__options_8h_source.html#l00038">muxer_options.h:38</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1MuxerOptions_html_a1303b2f8efb19af4728513ba2eeea2d1"><div class="ttname"><a href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a1303b2f8efb19af4728513ba2eeea2d1">edash_packager::media::MuxerOptions::segment_template</a></div><div class="ttdeci">std::string segment_template</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d0e/muxer__options_8h_source.html#l00061">muxer_options.h:61</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1MuxerOptions_html_a93714f081569ea56ed626eb057c1761f"><div class="ttname"><a href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a93714f081569ea56ed626eb057c1761f">edash_packager::media::MuxerOptions::num_subsegments_per_sidx</a></div><div class="ttdeci">int num_subsegments_per_sidx</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d0e/muxer__options_8h_source.html#l00050">muxer_options.h:50</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1MuxerOptions_html"><div class="ttname"><a href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html">edash_packager::media::MuxerOptions</a></div><div class="ttdoc">This structure contains the list of configuration options for Muxer. </div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d0e/muxer__options_8h_source.html#l00018">muxer_options.h:18</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1MuxerOptions_html_ad6f281dfd832bd073f5fb5fc46342f9f"><div class="ttname"><a href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#ad6f281dfd832bd073f5fb5fc46342f9f">edash_packager::media::MuxerOptions::segment_duration</a></div><div class="ttdeci">double segment_duration</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d0e/muxer__options_8h_source.html#l00030">muxer_options.h:30</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,112 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><a class="el" href="../../de/d1f/structedash__packager_1_1media_1_1StreamDescriptor.html">StreamDescriptor</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::StreamDescriptor Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../de/d1f/structedash__packager_1_1media_1_1StreamDescriptor.html">edash_packager::media::StreamDescriptor</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>bandwidth</b> (defined in <a class="el" href="../../de/d1f/structedash__packager_1_1media_1_1StreamDescriptor.html">edash_packager::media::StreamDescriptor</a>)</td><td class="entry"><a class="el" href="../../de/d1f/structedash__packager_1_1media_1_1StreamDescriptor.html">edash_packager::media::StreamDescriptor</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>input</b> (defined in <a class="el" href="../../de/d1f/structedash__packager_1_1media_1_1StreamDescriptor.html">edash_packager::media::StreamDescriptor</a>)</td><td class="entry"><a class="el" href="../../de/d1f/structedash__packager_1_1media_1_1StreamDescriptor.html">edash_packager::media::StreamDescriptor</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>language</b> (defined in <a class="el" href="../../de/d1f/structedash__packager_1_1media_1_1StreamDescriptor.html">edash_packager::media::StreamDescriptor</a>)</td><td class="entry"><a class="el" href="../../de/d1f/structedash__packager_1_1media_1_1StreamDescriptor.html">edash_packager::media::StreamDescriptor</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>output</b> (defined in <a class="el" href="../../de/d1f/structedash__packager_1_1media_1_1StreamDescriptor.html">edash_packager::media::StreamDescriptor</a>)</td><td class="entry"><a class="el" href="../../de/d1f/structedash__packager_1_1media_1_1StreamDescriptor.html">edash_packager::media::StreamDescriptor</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>segment_template</b> (defined in <a class="el" href="../../de/d1f/structedash__packager_1_1media_1_1StreamDescriptor.html">edash_packager::media::StreamDescriptor</a>)</td><td class="entry"><a class="el" href="../../de/d1f/structedash__packager_1_1media_1_1StreamDescriptor.html">edash_packager::media::StreamDescriptor</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>stream_selector</b> (defined in <a class="el" href="../../de/d1f/structedash__packager_1_1media_1_1StreamDescriptor.html">edash_packager::media::StreamDescriptor</a>)</td><td class="entry"><a class="el" href="../../de/d1f/structedash__packager_1_1media_1_1StreamDescriptor.html">edash_packager::media::StreamDescriptor</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>StreamDescriptor</b>() (defined in <a class="el" href="../../de/d1f/structedash__packager_1_1media_1_1StreamDescriptor.html">edash_packager::media::StreamDescriptor</a>)</td><td class="entry"><a class="el" href="../../de/d1f/structedash__packager_1_1media_1_1StreamDescriptor.html">edash_packager::media::StreamDescriptor</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~StreamDescriptor</b>() (defined in <a class="el" href="../../de/d1f/structedash__packager_1_1media_1_1StreamDescriptor.html">edash_packager::media::StreamDescriptor</a>)</td><td class="entry"><a class="el" href="../../de/d1f/structedash__packager_1_1media_1_1StreamDescriptor.html">edash_packager::media::StreamDescriptor</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:49 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>

View File

@ -0,0 +1,121 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../d6/d79/structedash__packager_1_1media_1_1mp4_1_1ChunkOffset.html">ChunkOffset</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::mp4::ChunkOffset Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d6/d79/structedash__packager_1_1media_1_1mp4_1_1ChunkOffset.html">edash_packager::media::mp4::ChunkOffset</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>BoxType</b>() const OVERRIDE (defined in <a class="el" href="../../d6/d79/structedash__packager_1_1media_1_1mp4_1_1ChunkOffset.html">edash_packager::media::mp4::ChunkOffset</a>)</td><td class="entry"><a class="el" href="../../d6/d79/structedash__packager_1_1media_1_1mp4_1_1ChunkOffset.html">edash_packager::media::mp4::ChunkOffset</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ChunkLargeOffset</b>() (defined in <a class="el" href="../../da/d81/structedash__packager_1_1media_1_1mp4_1_1ChunkLargeOffset.html">edash_packager::media::mp4::ChunkLargeOffset</a>)</td><td class="entry"><a class="el" href="../../da/d81/structedash__packager_1_1media_1_1mp4_1_1ChunkLargeOffset.html">edash_packager::media::mp4::ChunkLargeOffset</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ChunkOffset</b>() (defined in <a class="el" href="../../d6/d79/structedash__packager_1_1media_1_1mp4_1_1ChunkOffset.html">edash_packager::media::mp4::ChunkOffset</a>)</td><td class="entry"><a class="el" href="../../d6/d79/structedash__packager_1_1media_1_1mp4_1_1ChunkOffset.html">edash_packager::media::mp4::ChunkOffset</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d79/structedash__packager_1_1media_1_1mp4_1_1ChunkOffset.html#a11c731fb14147399cc0b41c6df86f420">ComputeSize</a>() OVERRIDE</td><td class="entry"><a class="el" href="../../d6/d79/structedash__packager_1_1media_1_1mp4_1_1ChunkOffset.html">edash_packager::media::mp4::ChunkOffset</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>flags</b> (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>FullBox</b>() (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>offsets</b> (defined in <a class="el" href="../../da/d81/structedash__packager_1_1media_1_1mp4_1_1ChunkLargeOffset.html">edash_packager::media::mp4::ChunkLargeOffset</a>)</td><td class="entry"><a class="el" href="../../da/d81/structedash__packager_1_1media_1_1mp4_1_1ChunkLargeOffset.html">edash_packager::media::mp4::ChunkLargeOffset</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a>(BoxReader *reader)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d79/structedash__packager_1_1media_1_1mp4_1_1ChunkOffset.html#a6fad7db4e1e37ea4e7580a24cba95f52">ReadWrite</a>(BoxBuffer *buffer) OVERRIDE</td><td class="entry"><a class="el" href="../../d6/d79/structedash__packager_1_1media_1_1mp4_1_1ChunkOffset.html">edash_packager::media::mp4::ChunkOffset</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>version</b> (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a>(BufferWriter *writer)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~ChunkLargeOffset</b>() (defined in <a class="el" href="../../da/d81/structedash__packager_1_1media_1_1mp4_1_1ChunkLargeOffset.html">edash_packager::media::mp4::ChunkLargeOffset</a>)</td><td class="entry"><a class="el" href="../../da/d81/structedash__packager_1_1media_1_1mp4_1_1ChunkLargeOffset.html">edash_packager::media::mp4::ChunkLargeOffset</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~ChunkOffset</b>() (defined in <a class="el" href="../../d6/d79/structedash__packager_1_1media_1_1mp4_1_1ChunkOffset.html">edash_packager::media::mp4::ChunkOffset</a>)</td><td class="entry"><a class="el" href="../../d6/d79/structedash__packager_1_1media_1_1mp4_1_1ChunkOffset.html">edash_packager::media::mp4::ChunkOffset</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~FullBox</b>() (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:58 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>

View File

@ -0,0 +1,109 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><a class="el" href="../../d2/d50/structedash__packager_1_1media_1_1H264DecRefPicMarking.html">H264DecRefPicMarking</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::H264DecRefPicMarking Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d2/d50/structedash__packager_1_1media_1_1H264DecRefPicMarking.html">edash_packager::media::H264DecRefPicMarking</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>difference_of_pic_nums_minus1</b> (defined in <a class="el" href="../../d2/d50/structedash__packager_1_1media_1_1H264DecRefPicMarking.html">edash_packager::media::H264DecRefPicMarking</a>)</td><td class="entry"><a class="el" href="../../d2/d50/structedash__packager_1_1media_1_1H264DecRefPicMarking.html">edash_packager::media::H264DecRefPicMarking</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>long_term_frame_idx</b> (defined in <a class="el" href="../../d2/d50/structedash__packager_1_1media_1_1H264DecRefPicMarking.html">edash_packager::media::H264DecRefPicMarking</a>)</td><td class="entry"><a class="el" href="../../d2/d50/structedash__packager_1_1media_1_1H264DecRefPicMarking.html">edash_packager::media::H264DecRefPicMarking</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>long_term_pic_num</b> (defined in <a class="el" href="../../d2/d50/structedash__packager_1_1media_1_1H264DecRefPicMarking.html">edash_packager::media::H264DecRefPicMarking</a>)</td><td class="entry"><a class="el" href="../../d2/d50/structedash__packager_1_1media_1_1H264DecRefPicMarking.html">edash_packager::media::H264DecRefPicMarking</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>max_long_term_frame_idx_plus1</b> (defined in <a class="el" href="../../d2/d50/structedash__packager_1_1media_1_1H264DecRefPicMarking.html">edash_packager::media::H264DecRefPicMarking</a>)</td><td class="entry"><a class="el" href="../../d2/d50/structedash__packager_1_1media_1_1H264DecRefPicMarking.html">edash_packager::media::H264DecRefPicMarking</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>memory_mgmnt_control_operation</b> (defined in <a class="el" href="../../d2/d50/structedash__packager_1_1media_1_1H264DecRefPicMarking.html">edash_packager::media::H264DecRefPicMarking</a>)</td><td class="entry"><a class="el" href="../../d2/d50/structedash__packager_1_1media_1_1H264DecRefPicMarking.html">edash_packager::media::H264DecRefPicMarking</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30: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>

View File

@ -0,0 +1,126 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html">MultiSegmentSegmenter</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::mp4::MultiSegmentSegmenter Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html">edash_packager::media::mp4::MultiSegmentSegmenter</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#a5c21059ee9a533caec81491bdb751c57">AddSample</a>(const MediaStream *stream, scoped_refptr&lt; MediaSample &gt; sample)</td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#ad1136a3e7c2e796267fbd3879d108c2a">Finalize</a>()</td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>fragment_buffer</b>() (defined in <a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a>)</td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ftyp</b>() (defined in <a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a>)</td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#a0e5e570d5f82c796ba015ca06c7a676c">GetDuration</a>() const </td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html#ac536e13f4e0940566ac1fe53fb7f4dc6">GetIndexRange</a>(size_t *offset, size_t *size) OVERRIDE</td><td class="entry"><a class="el" href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html">edash_packager::media::mp4::MultiSegmentSegmenter</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html#aa8a22b2a7e271abed76c25b531a919fd">GetInitRange</a>(size_t *offset, size_t *size) OVERRIDE</td><td class="entry"><a class="el" href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html">edash_packager::media::mp4::MultiSegmentSegmenter</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>GetReferenceTimeScale</b>() const (defined in <a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a>)</td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#ae977765092cab9a566b4a5a3e9184370">Initialize</a>(const std::vector&lt; MediaStream * &gt; &amp;streams, MuxerListener *muxer_listener, ProgressListener *progress_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds, double crypto_period_duration_in_seconds)</td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>moov</b>() (defined in <a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a>)</td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>MultiSegmentSegmenter</b>(const MuxerOptions &amp;options, scoped_ptr&lt; FileType &gt; ftyp, scoped_ptr&lt; Movie &gt; moov) (defined in <a class="el" href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html">edash_packager::media::mp4::MultiSegmentSegmenter</a>)</td><td class="entry"><a class="el" href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html">edash_packager::media::mp4::MultiSegmentSegmenter</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>muxer_listener</b>() (defined in <a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a>)</td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>options</b>() const (defined in <a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a>)</td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>progress_target</b>() (defined in <a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a>)</td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#ac2883a5eb0bd7abb50bc3968ac417901">sample_duration</a>() const </td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Segmenter</b>(const MuxerOptions &amp;options, scoped_ptr&lt; FileType &gt; ftyp, scoped_ptr&lt; Movie &gt; moov) (defined in <a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a>)</td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_progress_target</b>(uint64_t progress_target) (defined in <a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a>)</td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#a4e58a007d4daafe1b49a70d39e52e339">SetComplete</a>()</td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>sidx</b>() (defined in <a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a>)</td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#a287d51571c92704274550d9f1d246cf9">UpdateProgress</a>(uint64_t progress)</td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~MultiSegmentSegmenter</b>() (defined in <a class="el" href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html">edash_packager::media::mp4::MultiSegmentSegmenter</a>)</td><td class="entry"><a class="el" href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html">edash_packager::media::mp4::MultiSegmentSegmenter</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~Segmenter</b>() (defined in <a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a>)</td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:31:03 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>

View File

@ -0,0 +1,156 @@
<!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: mpd/base/mock_mpd_notifier.h Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_89dd766eb2df7d7257dbe806a34404af.html">mpd</a></li><li class="navelem"><a class="el" href="../../dir_2618cd273dea54f184e42d7a562af818.html">base</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">mock_mpd_notifier.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2015 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#ifndef MPD_BASE_MOCK_MPD_NOTIFIER_H_</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#define MPD_BASE_MOCK_MPD_NOTIFIER_H_</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;packager/mpd/base/mpd_notifier.h&quot;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &lt;gmock/gmock.h&gt;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;packager/mpd/base/content_protection_element.h&quot;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;packager/mpd/base/media_info.pb.h&quot;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="../../d7/d44/classedash__packager_1_1MockMpdNotifier.html"> 19</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../d7/d44/classedash__packager_1_1MockMpdNotifier.html">MockMpdNotifier</a> : <span class="keyword">public</span> <a class="code" href="../../da/d38/classedash__packager_1_1MpdNotifier.html">MpdNotifier</a> {</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <a class="code" href="../../d7/d44/classedash__packager_1_1MockMpdNotifier.html">MockMpdNotifier</a>(DashProfile profile);</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="../../d7/d44/classedash__packager_1_1MockMpdNotifier.html">MockMpdNotifier</a>();</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; MOCK_METHOD0(<a class="code" href="../../da/d38/classedash__packager_1_1MpdNotifier.html#ae7067d35133b0573a2919fb69195328e">Init</a>, <span class="keywordtype">bool</span>());</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; MOCK_METHOD2(<a class="code" href="../../da/d38/classedash__packager_1_1MpdNotifier.html#a09e6df8ea9ea8c260199449448d1ea62">NotifyNewContainer</a>,</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keywordtype">bool</span>(<span class="keyword">const</span> MediaInfo&amp; media_info, uint32_t* container_id));</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; MOCK_METHOD2(<a class="code" href="../../da/d38/classedash__packager_1_1MpdNotifier.html#ab4d97816ead500dc7cafac015f1f4979">NotifySampleDuration</a>,</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keywordtype">bool</span>(uint32_t container_id, uint32_t sample_duration));</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; MOCK_METHOD4(<a class="code" href="../../da/d38/classedash__packager_1_1MpdNotifier.html#a7bb9cce525d5a4f1076b8d58a7bd07ab">NotifyNewSegment</a>,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordtype">bool</span>(uint32_t container_id,</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; uint64_t start_time,</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; uint64_t duration,</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; uint64_t size));</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; MOCK_METHOD4(<a class="code" href="../../da/d38/classedash__packager_1_1MpdNotifier.html#a8eb441286be0f2cb96c4348ff88619c5">NotifyEncryptionUpdate</a>,</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keywordtype">bool</span>(uint32_t container_id,</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keyword">const</span> std::string&amp; drm_uuid,</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; new_key_id,</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; new_pssh));</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; MOCK_METHOD2(</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="../../da/d38/classedash__packager_1_1MpdNotifier.html#a56969f6d7c09e0aa131ba01d5c880773">AddContentProtectionElement</a>,</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordtype">bool</span>(uint32_t container_id,</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keyword">const</span> <a class="code" href="../../d0/d96/structedash__packager_1_1ContentProtectionElement.html">ContentProtectionElement</a>&amp; content_protection_element));</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; MOCK_METHOD0(<a class="code" href="../../da/d38/classedash__packager_1_1MpdNotifier.html#aaeba5920a9df8db366f8cf86d64e855c">Flush</a>, <span class="keywordtype">bool</span>());</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;};</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#endif // MPD_BASE_MOCK_MPD_NOTIFIER_H_</span></div>
<div class="ttc" id="classedash__packager_1_1MpdNotifier_html_a56969f6d7c09e0aa131ba01d5c880773"><div class="ttname"><a href="../../da/d38/classedash__packager_1_1MpdNotifier.html#a56969f6d7c09e0aa131ba01d5c880773">edash_packager::MpdNotifier::AddContentProtectionElement</a></div><div class="ttdeci">virtual bool AddContentProtectionElement(uint32_t container_id, const ContentProtectionElement &amp;content_protection_element)=0</div></div>
<div class="ttc" id="classedash__packager_1_1MpdNotifier_html_a09e6df8ea9ea8c260199449448d1ea62"><div class="ttname"><a href="../../da/d38/classedash__packager_1_1MpdNotifier.html#a09e6df8ea9ea8c260199449448d1ea62">edash_packager::MpdNotifier::NotifyNewContainer</a></div><div class="ttdeci">virtual bool NotifyNewContainer(const MediaInfo &amp;media_info, uint32_t *container_id)=0</div></div>
<div class="ttc" id="classedash__packager_1_1MpdNotifier_html_aaeba5920a9df8db366f8cf86d64e855c"><div class="ttname"><a href="../../da/d38/classedash__packager_1_1MpdNotifier.html#aaeba5920a9df8db366f8cf86d64e855c">edash_packager::MpdNotifier::Flush</a></div><div class="ttdeci">virtual bool Flush()=0</div></div>
<div class="ttc" id="classedash__packager_1_1MockMpdNotifier_html"><div class="ttname"><a href="../../d7/d44/classedash__packager_1_1MockMpdNotifier.html">edash_packager::MockMpdNotifier</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d30/mock__mpd__notifier_8h_source.html#l00019">mock_mpd_notifier.h:19</a></div></div>
<div class="ttc" id="classedash__packager_1_1MpdNotifier_html"><div class="ttname"><a href="../../da/d38/classedash__packager_1_1MpdNotifier.html">edash_packager::MpdNotifier</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d15/mpd__notifier_8h_source.html#l00032">mpd_notifier.h:32</a></div></div>
<div class="ttc" id="structedash__packager_1_1ContentProtectionElement_html"><div class="ttname"><a href="../../d0/d96/structedash__packager_1_1ContentProtectionElement.html">edash_packager::ContentProtectionElement</a></div><div class="ttdef"><b>Definition:</b> <a href="../../de/dd6/content__protection__element_8h_source.html#l00036">content_protection_element.h:36</a></div></div>
<div class="ttc" id="classedash__packager_1_1MpdNotifier_html_ab4d97816ead500dc7cafac015f1f4979"><div class="ttname"><a href="../../da/d38/classedash__packager_1_1MpdNotifier.html#ab4d97816ead500dc7cafac015f1f4979">edash_packager::MpdNotifier::NotifySampleDuration</a></div><div class="ttdeci">virtual bool NotifySampleDuration(uint32_t container_id, uint32_t sample_duration)=0</div></div>
<div class="ttc" id="classedash__packager_1_1MpdNotifier_html_a7bb9cce525d5a4f1076b8d58a7bd07ab"><div class="ttname"><a href="../../da/d38/classedash__packager_1_1MpdNotifier.html#a7bb9cce525d5a4f1076b8d58a7bd07ab">edash_packager::MpdNotifier::NotifyNewSegment</a></div><div class="ttdeci">virtual bool NotifyNewSegment(uint32_t container_id, uint64_t start_time, uint64_t duration, uint64_t size)=0</div></div>
<div class="ttc" id="classedash__packager_1_1MpdNotifier_html_a8eb441286be0f2cb96c4348ff88619c5"><div class="ttname"><a href="../../da/d38/classedash__packager_1_1MpdNotifier.html#a8eb441286be0f2cb96c4348ff88619c5">edash_packager::MpdNotifier::NotifyEncryptionUpdate</a></div><div class="ttdeci">virtual bool NotifyEncryptionUpdate(uint32_t container_id, const std::string &amp;drm_uuid, const std::vector&lt; uint8_t &gt; &amp;new_key_id, const std::vector&lt; uint8_t &gt; &amp;new_pssh)=0</div></div>
<div class="ttc" id="classedash__packager_1_1MpdNotifier_html_ae7067d35133b0573a2919fb69195328e"><div class="ttname"><a href="../../da/d38/classedash__packager_1_1MpdNotifier.html#ae7067d35133b0573a2919fb69195328e">edash_packager::MpdNotifier::Init</a></div><div class="ttdeci">virtual bool Init()=0</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,126 @@
<!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: media/formats/mp2t/mp2t_common.h Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_65f7acfa8cf3a5f1edc11faa2428b914.html">formats</a></li><li class="navelem"><a class="el" href="../../dir_f7dcbe7025bbacfc4b9a7dff6ad41d72.html">mp2t</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">mp2t_common.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 The Chromium Authors. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style license that can be</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// found in the LICENSE file.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;</div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#ifndef MEDIA_FORMATS_MP2T_MP2T_COMMON_H_</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#define MEDIA_FORMATS_MP2T_MP2T_COMMON_H_</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#define LOG_LEVEL_TS 5</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#define LOG_LEVEL_PES 4</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#define LOG_LEVEL_ES 3</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#define RCHECK(x) \</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor"> do { \</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor"> if (!(x)) { \</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor"> DLOG(WARNING) &lt;&lt; &quot;Failure while parsing Mpeg2TS: &quot; &lt;&lt; #x; \</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor"> return false; \</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor"> } \</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor"> } while (0)</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keyword">const</span> uint32_t kMpeg2Timescale = 90000;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,290 @@
<!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: media/formats/mp4/es_descriptor.cc Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_65f7acfa8cf3a5f1edc11faa2428b914.html">formats</a></li><li class="navelem"><a class="el" href="../../dir_3e9291fd7a18fdecc763294cb2628910.html">mp4</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">es_descriptor.cc</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright (c) 2012 The Chromium Authors. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style license that can be</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// found in the LICENSE file.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;</div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp4/es_descriptor.h&quot;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/bit_reader.h&quot;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/buffer_writer.h&quot;</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp4/rcheck.h&quot;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="keyword">namespace </span>{</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// ISO/IEC 14496-1:2004 Section 7.2.6.6 Table 6: StreamType values.</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="keyword">enum</span> StreamType {</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; kForbiddenStreamType = 0x00,</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; kObjectDescriptorStreamType = 0x01,</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; kClockReferenceStreamType = 0x02,</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; kSceneDescriptionStreamType = 0x03,</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; kVisualStreamType = 0x04,</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; kAudioStreamType = 0x05,</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; kMPEG7StreamType = 0x06,</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; kIPMPStreamType = 0x07,</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; kObjectContentInfoStreamType = 0x08,</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; kMPEGJStreamType = 0x09,</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; kInteractionStream = 0x0A,</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; kIPMPToolStreamType = 0x0B,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;};</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment">// ISO/IEC 14496-1:2004 Section 7.3.2.3 Table 12: ISO SL Config Descriptor.</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keyword">enum</span> SLPredefinedTags {</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; kSLPredefinedNull = 0x01,</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; kSLPredefinedMP4 = 0x02,</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;};</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="comment">// The elementary stream size is specific by up to 4 bytes.</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="comment">// The MSB of a byte indicates if there are more bytes for the size.</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keywordtype">bool</span> ReadESSize(BitReader* reader, uint32_t* size) {</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; uint8_t msb;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; uint8_t byte;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; *size = 0;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; 4; ++i) {</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; RCHECK(reader-&gt;ReadBits(1, &amp;msb));</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; RCHECK(reader-&gt;ReadBits(7, &amp;byte));</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; *size = (*size &lt;&lt; 7) + byte;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">if</span> (msb == 0)</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; }</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;}</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment">// Descryptor Header Size: 1 byte tag and 1 byte size (we don&#39;t support</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment">// multi-bytes size for now).</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="keyword">const</span> <span class="keywordtype">size_t</span> kHeaderSize = 2;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="keyword">const</span> <span class="keywordtype">size_t</span> kMaxDecoderSpecificInfoSize = 64;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;} <span class="comment">// namespace</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="keyword">namespace </span>mp4 {</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;ESDescriptor::ESDescriptor() : esid_(0), object_type_(kForbidden) {}</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;ESDescriptor::~ESDescriptor() {}</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="keywordtype">bool</span> ESDescriptor::Parse(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; data) {</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; BitReader reader(&amp;data[0], data.size());</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; uint8_t tag;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; uint32_t size;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; uint8_t stream_dependency_flag;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; uint8_t url_flag;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; uint8_t ocr_stream_flag;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; uint16_t dummy;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; RCHECK(reader.ReadBits(8, &amp;tag));</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; RCHECK(tag == kESDescrTag);</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; RCHECK(ReadESSize(&amp;reader, &amp;size));</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; RCHECK(reader.ReadBits(16, &amp;esid_)); <span class="comment">// ES_ID</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; RCHECK(reader.ReadBits(1, &amp;stream_dependency_flag));</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; RCHECK(reader.ReadBits(1, &amp;url_flag));</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; RCHECK(!url_flag); <span class="comment">// We don&#39;t support url flag</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; RCHECK(reader.ReadBits(1, &amp;ocr_stream_flag));</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; RCHECK(reader.ReadBits(5, &amp;dummy)); <span class="comment">// streamPriority</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">if</span> (stream_dependency_flag)</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; RCHECK(reader.ReadBits(16, &amp;dummy)); <span class="comment">// dependsOn_ES_ID</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">if</span> (ocr_stream_flag)</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; RCHECK(reader.ReadBits(16, &amp;dummy)); <span class="comment">// OCR_ES_Id</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; RCHECK(ParseDecoderConfigDescriptor(&amp;reader));</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;}</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="keywordtype">bool</span> ESDescriptor::ParseDecoderConfigDescriptor(BitReader* reader) {</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; uint8_t tag;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; uint32_t size;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; uint64_t dummy;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; RCHECK(reader-&gt;ReadBits(8, &amp;tag));</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; RCHECK(tag == kDecoderConfigDescrTag);</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; RCHECK(ReadESSize(reader, &amp;size));</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; RCHECK(reader-&gt;ReadBits(8, &amp;object_type_));</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; RCHECK(reader-&gt;ReadBits(64, &amp;dummy));</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; RCHECK(reader-&gt;ReadBits(32, &amp;dummy));</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; RCHECK(ParseDecoderSpecificInfo(reader));</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;}</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="keywordtype">bool</span> ESDescriptor::ParseDecoderSpecificInfo(BitReader* reader) {</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; DCHECK(reader);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; uint8_t tag;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; uint32_t size;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; RCHECK(reader-&gt;ReadBits(8, &amp;tag));</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; RCHECK(tag == kDecoderSpecificInfoTag);</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; RCHECK(ReadESSize(reader, &amp;size));</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; decoder_specific_info_.resize(size);</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">for</span> (uint32_t i = 0; i &lt; size; ++i)</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; RCHECK(reader-&gt;ReadBits(8, &amp;decoder_specific_info_[i]));</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;}</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="keywordtype">void</span> ESDescriptor::Write(BufferWriter* writer)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; DCHECK(writer);</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; CHECK_LT(decoder_specific_info_.size(), kMaxDecoderSpecificInfoSize);</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keyword">const</span> std::vector&lt;uint8_t&gt; kEmptyDecodingBufferSize(3, 0);</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keyword">const</span> uint32_t kUnknownBitrate = 0;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keyword">const</span> uint8_t kNoEsFlags = 0;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keyword">const</span> uint8_t decoder_specific_info_size = decoder_specific_info_.size();</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="comment">// 6 bit stream type. The last bit is reserved with 1.</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keyword">const</span> uint8_t stream_type = (kAudioStreamType &lt;&lt; 2) | 1;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keyword">const</span> uint8_t decoder_config_size = decoder_specific_info_size + kHeaderSize +</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keyword">sizeof</span>(uint8_t) + <span class="comment">// object_type_.</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keyword">sizeof</span>(stream_type) +</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; kEmptyDecodingBufferSize.size() +</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keyword">sizeof</span>(kUnknownBitrate) * 2;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keyword">const</span> uint8_t sl_config_size = <span class="keyword">sizeof</span>(uint8_t); <span class="comment">// predefined.</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keyword">const</span> uint8_t es_size = decoder_config_size + kHeaderSize + sl_config_size +</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; kHeaderSize + <span class="keyword">sizeof</span>(esid_) + <span class="keyword">sizeof</span>(kNoEsFlags);</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; writer-&gt;AppendInt(static_cast&lt;uint8_t&gt;(kESDescrTag));</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; writer-&gt;AppendInt(es_size);</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; writer-&gt;AppendInt(esid_);</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; writer-&gt;AppendInt(kNoEsFlags);</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; writer-&gt;AppendInt(static_cast&lt;uint8_t&gt;(kDecoderConfigDescrTag));</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; writer-&gt;AppendInt(decoder_config_size);</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; writer-&gt;AppendInt(static_cast&lt;uint8_t&gt;(object_type_));</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; writer-&gt;AppendInt(stream_type);</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; writer-&gt;AppendVector(kEmptyDecodingBufferSize);</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; writer-&gt;AppendInt(kUnknownBitrate); <span class="comment">// max_bitrate.</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; writer-&gt;AppendInt(kUnknownBitrate); <span class="comment">// avg_bitrate.</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; writer-&gt;AppendInt(static_cast&lt;uint8_t&gt;(kDecoderSpecificInfoTag));</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; writer-&gt;AppendInt(decoder_specific_info_size);</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; writer-&gt;AppendVector(decoder_specific_info_);</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; writer-&gt;AppendInt(static_cast&lt;uint8_t&gt;(kSLConfigTag));</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; writer-&gt;AppendInt(sl_config_size);</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; writer-&gt;AppendInt(static_cast&lt;uint8_t&gt;(kSLPredefinedMP4));</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;}</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="keywordtype">size_t</span> ESDescriptor::ComputeSize()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// A bit magical. Refer to ESDescriptor::Write for details.</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keyword">const</span> uint8_t decoder_specific_info_size = decoder_specific_info_.size();</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keyword">const</span> uint8_t decoder_config_size = decoder_specific_info_size + kHeaderSize +</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">sizeof</span>(uint8_t) * 5 +</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keyword">sizeof</span>(uint32_t) * 2;</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keyword">const</span> uint8_t sl_config_size = <span class="keyword">sizeof</span>(uint8_t);</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keyword">const</span> uint8_t es_size = decoder_config_size + kHeaderSize + sl_config_size +</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; kHeaderSize + <span class="keyword">sizeof</span>(esid_) + <span class="keyword">sizeof</span>(uint8_t);</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">return</span> es_size + kHeaderSize;</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;}</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;} <span class="comment">// namespace mp4</span></div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,119 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>xml</b></li><li class="navelem"><a class="el" href="../../d1/dd5/classedash__packager_1_1xml_1_1RepresentationBaseXmlNode.html">RepresentationBaseXmlNode</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::xml::RepresentationBaseXmlNode Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d1/dd5/classedash__packager_1_1xml_1_1RepresentationBaseXmlNode.html">edash_packager::xml::RepresentationBaseXmlNode</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#ab823db3ce661b4a967574f1534fc5b95">AddChild</a>(ScopedXmlPtr&lt; xmlNode &gt;::type child)</td><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html">edash_packager::xml::XmlNode</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>AddContentProtectionElements</b>(const std::list&lt; ContentProtectionElement &gt; &amp;content_protection_elements) (defined in <a class="el" href="../../d1/dd5/classedash__packager_1_1xml_1_1RepresentationBaseXmlNode.html">edash_packager::xml::RepresentationBaseXmlNode</a>)</td><td class="entry"><a class="el" href="../../d1/dd5/classedash__packager_1_1xml_1_1RepresentationBaseXmlNode.html">edash_packager::xml::RepresentationBaseXmlNode</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#a9d6fa2317a063fb69cfa00c0d5ff3ec7">AddElements</a>(const std::vector&lt; Element &gt; &amp;elements)</td><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html">edash_packager::xml::XmlNode</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#a05a6a89d477a5a59ed8081a2b1ee2d20">GetRawPtr</a>()</td><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html">edash_packager::xml::XmlNode</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#a07d40d8fe27a2d1c3470f16ef0df3864">PassScopedPtr</a>()</td><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html">edash_packager::xml::XmlNode</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#a0942bc721718b70b49fc9e91a6934513">Release</a>()</td><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html">edash_packager::xml::XmlNode</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>RepresentationBaseXmlNode</b>(const char *name) (defined in <a class="el" href="../../d1/dd5/classedash__packager_1_1xml_1_1RepresentationBaseXmlNode.html">edash_packager::xml::RepresentationBaseXmlNode</a>)</td><td class="entry"><a class="el" href="../../d1/dd5/classedash__packager_1_1xml_1_1RepresentationBaseXmlNode.html">edash_packager::xml::RepresentationBaseXmlNode</a></td><td class="entry"><span class="mlabel">explicit</span><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#a6eee68b8b44c092e0d923593bb1001d6">SetContent</a>(const std::string &amp;content)</td><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html">edash_packager::xml::XmlNode</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#af401948a6377cb12a37afca016f1a733">SetFloatingPointAttribute</a>(const char *attribute_name, double number)</td><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html">edash_packager::xml::XmlNode</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#ab2ce769958718ef73a580e87e296a470">SetId</a>(uint32_t id)</td><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html">edash_packager::xml::XmlNode</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#a54d635320973dec76f63cf696db3cf2a">SetIntegerAttribute</a>(const char *attribute_name, uint64_t number)</td><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html">edash_packager::xml::XmlNode</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#a13806def844e3fd8e8cc0e690f292aab">SetStringAttribute</a>(const char *attribute_name, const std::string &amp;attribute)</td><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html">edash_packager::xml::XmlNode</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#a7b66ce185c5b7841580cfc4357e0f0c2">XmlNode</a>(const char *name)</td><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html">edash_packager::xml::XmlNode</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~RepresentationBaseXmlNode</b>() (defined in <a class="el" href="../../d1/dd5/classedash__packager_1_1xml_1_1RepresentationBaseXmlNode.html">edash_packager::xml::RepresentationBaseXmlNode</a>)</td><td class="entry"><a class="el" href="../../d1/dd5/classedash__packager_1_1xml_1_1RepresentationBaseXmlNode.html">edash_packager::xml::RepresentationBaseXmlNode</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~XmlNode</b>() (defined in <a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html">edash_packager::xml::XmlNode</a>)</td><td class="entry"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html">edash_packager::xml::XmlNode</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:31:03 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>

View File

@ -0,0 +1,250 @@
<!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: app/widevine_encryption_flags.cc Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_d422163b96683743ed3963d4aac17747.html">app</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">widevine_encryption_flags.cc</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// Defines command line flags for widevine_encryption.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;packager/app/widevine_encryption_flags.h&quot;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;packager/app/validate_flag.h&quot;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;packager/base/logging.h&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;packager/base/strings/string_util.h&quot;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;DEFINE_bool(enable_widevine_encryption,</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <span class="keyword">false</span>,</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <span class="stringliteral">&quot;Enable encryption with Widevine license server/proxy. User should &quot;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <span class="stringliteral">&quot;provide either AES signing key (--aes_signing_key, &quot;</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <span class="stringliteral">&quot;--aes_signing_iv) or RSA signing key (--rsa_signing_key_path).&quot;</span>);</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;DEFINE_bool(enable_widevine_decryption,</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="keyword">false</span>,</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="stringliteral">&quot;Enable decryption with Widevine license server/proxy. User should &quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="stringliteral">&quot;provide either AES signing key (--aes_signing_key, &quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="stringliteral">&quot;--aes_signing_iv) or RSA signing key (--rsa_signing_key_path).&quot;</span>);</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;DEFINE_string(key_server_url, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Key server url. Required for encryption and &quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="stringliteral">&quot;decryption&quot;</span>);</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;DEFINE_string(content_id, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Content Id (hex).&quot;</span>);</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;DEFINE_string(policy,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="stringliteral">&quot;The name of a stored policy, which specifies DRM content &quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="stringliteral">&quot;rights.&quot;</span>);</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;DEFINE_int32(max_sd_pixels,</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; 768 * 576,</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="stringliteral">&quot;If the video track has more pixels per frame than max_sd_pixels, &quot;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="stringliteral">&quot;it is considered as HD, SD otherwise. Default: 768 * 576.&quot;</span>);</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;DEFINE_string(signer, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;The name of the signer.&quot;</span>);</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;DEFINE_string(aes_signing_key,</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="stringliteral">&quot;AES signing key in hex string. --aes_signing_iv is required. &quot;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="stringliteral">&quot;Exclusive with --rsa_signing_key_path.&quot;</span>);</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;DEFINE_string(aes_signing_iv,</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="stringliteral">&quot;AES signing iv in hex string.&quot;</span>);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;DEFINE_string(rsa_signing_key_path,</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="stringliteral">&quot;Stores PKCS#1 RSA private key for request signing. Exclusive &quot;</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="stringliteral">&quot;with --aes_signing_key.&quot;</span>);</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;DEFINE_int32(crypto_period_duration,</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; 0,</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="stringliteral">&quot;Crypto period duration in seconds. If it is non-zero, key &quot;</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="stringliteral">&quot;rotation is enabled.&quot;</span>);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="../../db/d09/namespaceedash__packager.html#a95bb52262b99e97fd7f8f9f0075fe1e6"> 55</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../db/d09/namespaceedash__packager.html#a95bb52262b99e97fd7f8f9f0075fe1e6">ValidateWidevineCryptoFlags</a>() {</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordtype">bool</span> success = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> widevine_crypto =</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; FLAGS_enable_widevine_encryption || FLAGS_enable_widevine_decryption;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> widevine_crypto_label[] =</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="stringliteral">&quot;--enable_widevine_encryption/decryption&quot;</span>;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="comment">// key_server_url and signer (optional) are associated with</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="comment">// enable_widevine_encryption and enable_widevine_descryption.</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="../../db/d09/namespaceedash__packager.html#a5836ddf029d56f4a8dd43a7b4d8dbaff">ValidateFlag</a>(<span class="stringliteral">&quot;key_server_url&quot;</span>,</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; FLAGS_key_server_url,</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; widevine_crypto,</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keyword">false</span>,</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; widevine_crypto_label)) {</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; success = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; }</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="../../db/d09/namespaceedash__packager.html#a5836ddf029d56f4a8dd43a7b4d8dbaff">ValidateFlag</a>(<span class="stringliteral">&quot;signer&quot;</span>,</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; FLAGS_signer,</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; widevine_crypto,</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keyword">true</span>,</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; widevine_crypto_label)) {</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; success = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">if</span> (widevine_crypto &amp;&amp; FLAGS_signer.empty() &amp;&amp;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; StartsWithASCII(FLAGS_key_server_url, <span class="stringliteral">&quot;http&quot;</span>, <span class="keyword">false</span>)) {</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; LOG(WARNING) &lt;&lt; <span class="stringliteral">&quot;--signer is likely required with &quot;</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="stringliteral">&quot;--enable_widevine_encryption/decryption.&quot;</span>;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; }</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> widevine_encryption_label[] = <span class="stringliteral">&quot;--enable_widevine_encryption&quot;</span>;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="comment">// content_id and policy (optional) are associated with</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="comment">// enable_widevine_encryption.</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="../../db/d09/namespaceedash__packager.html#a5836ddf029d56f4a8dd43a7b4d8dbaff">ValidateFlag</a>(<span class="stringliteral">&quot;content_id&quot;</span>,</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; FLAGS_content_id,</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; FLAGS_enable_widevine_encryption,</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keyword">false</span>,</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; widevine_encryption_label)) {</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; success = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="../../db/d09/namespaceedash__packager.html#a5836ddf029d56f4a8dd43a7b4d8dbaff">ValidateFlag</a>(<span class="stringliteral">&quot;policy&quot;</span>,</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; FLAGS_policy,</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; FLAGS_enable_widevine_encryption,</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keyword">true</span>,</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; widevine_encryption_label)) {</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; success = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; }</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">if</span> (FLAGS_max_sd_pixels &lt;= 0) {</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="../../db/d09/namespaceedash__packager.html#a64d35a221086349dfbd1acefee2aaef1">PrintError</a>(<span class="stringliteral">&quot;--max_sd_pixels must be positive.&quot;</span>);</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; success = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; }</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> aes = !FLAGS_signer.empty() &amp;&amp; FLAGS_rsa_signing_key_path.empty();</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> aes_label[] =</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="stringliteral">&quot;--signer is specified and exclusive with --rsa_signing_key_path&quot;</span>;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="comment">// aes_signer_key and aes_signing_iv are associated with aes signing.</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="../../db/d09/namespaceedash__packager.html#a5836ddf029d56f4a8dd43a7b4d8dbaff">ValidateFlag</a>(</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="stringliteral">&quot;aes_signing_key&quot;</span>, FLAGS_aes_signing_key, aes, <span class="keyword">true</span>, aes_label)) {</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; success = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="../../db/d09/namespaceedash__packager.html#a5836ddf029d56f4a8dd43a7b4d8dbaff">ValidateFlag</a>(</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="stringliteral">&quot;aes_signing_iv&quot;</span>, FLAGS_aes_signing_iv, aes, <span class="keyword">true</span>, aes_label)) {</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; success = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; }</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> rsa = !FLAGS_signer.empty() &amp;&amp; FLAGS_aes_signing_key.empty() &amp;&amp;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; FLAGS_aes_signing_iv.empty();</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> rsa_label[] =</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="stringliteral">&quot;--signer is specified and exclusive with --aes_signing_key/iv&quot;</span>;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="comment">// rsa_signing_key_path is associated with rsa_signing.</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="../../db/d09/namespaceedash__packager.html#a5836ddf029d56f4a8dd43a7b4d8dbaff">ValidateFlag</a>(<span class="stringliteral">&quot;rsa_signing_key_path&quot;</span>,</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; FLAGS_rsa_signing_key_path,</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; rsa,</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keyword">true</span>,</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; rsa_label)) {</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; success = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; }</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">if</span> (!FLAGS_signer.empty() &amp;&amp;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; (FLAGS_aes_signing_key.empty() || FLAGS_aes_signing_iv.empty()) &amp;&amp;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; FLAGS_rsa_signing_key_path.empty()) {</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="../../db/d09/namespaceedash__packager.html#a64d35a221086349dfbd1acefee2aaef1">PrintError</a>(</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="stringliteral">&quot;--aes_signing_key/iv or --rsa_signing_key_path is required with &quot;</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="stringliteral">&quot;--signer.&quot;</span>);</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; success = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; }</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">if</span> (FLAGS_crypto_period_duration &lt; 0) {</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="../../db/d09/namespaceedash__packager.html#a64d35a221086349dfbd1acefee2aaef1">PrintError</a>(<span class="stringliteral">&quot;--crypto_period_duration should not be negative.&quot;</span>);</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; success = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">return</span> success;</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;}</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="ttc" id="namespaceedash__packager_html_a95bb52262b99e97fd7f8f9f0075fe1e6"><div class="ttname"><a href="../../db/d09/namespaceedash__packager.html#a95bb52262b99e97fd7f8f9f0075fe1e6">edash_packager::ValidateWidevineCryptoFlags</a></div><div class="ttdeci">bool ValidateWidevineCryptoFlags()</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d42/widevine__encryption__flags_8cc_source.html#l00055">widevine_encryption_flags.cc:55</a></div></div>
<div class="ttc" id="namespaceedash__packager_html_a5836ddf029d56f4a8dd43a7b4d8dbaff"><div class="ttname"><a href="../../db/d09/namespaceedash__packager.html#a5836ddf029d56f4a8dd43a7b4d8dbaff">edash_packager::ValidateFlag</a></div><div class="ttdeci">bool ValidateFlag(const char *flag_name, const std::string &amp;flag_value, bool condition, bool optional, const char *label)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dad/validate__flag_8cc_source.html#l00017">validate_flag.cc:17</a></div></div>
<div class="ttc" id="namespaceedash__packager_html_a64d35a221086349dfbd1acefee2aaef1"><div class="ttname"><a href="../../db/d09/namespaceedash__packager.html#a64d35a221086349dfbd1acefee2aaef1">edash_packager::PrintError</a></div><div class="ttdeci">void PrintError(const std::string &amp;error_message)</div><div class="ttdef"><b>Definition:</b> <a href="../../de/dad/validate__flag_8cc_source.html#l00036">validate_flag.cc:36</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,150 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">H264SPS</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::H264SPS Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>bit_depth_chroma_minus8</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>bit_depth_luma_minus8</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>bitstream_restriction_flag</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>chroma_array_type</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>chroma_format_idc</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>constraint_set0_flag</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>constraint_set1_flag</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>constraint_set2_flag</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>constraint_set3_flag</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>constraint_set4_flag</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>constraint_set5_flag</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>delta_pic_order_always_zero_flag</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>direct_8x8_inference_flag</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>expected_delta_per_pic_order_cnt_cycle</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>frame_crop_bottom_offset</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>frame_crop_left_offset</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>frame_crop_right_offset</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>frame_crop_top_offset</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>frame_cropping_flag</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>frame_mbs_only_flag</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>gaps_in_frame_num_value_allowed_flag</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>H264SPS</b>() (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>level_idc</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>log2_max_frame_num_minus4</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>log2_max_pic_order_cnt_lsb_minus4</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>max_dec_frame_buffering</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>max_num_ref_frames</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>max_num_reorder_frames</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mb_adaptive_frame_field_flag</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>num_ref_frames_in_pic_order_cnt_cycle</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>offset_for_non_ref_pic</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>offset_for_ref_frame</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>offset_for_top_to_bottom_field</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>pic_height_in_map_units_minus1</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>pic_order_cnt_type</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>pic_width_in_mbs_minus1</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>profile_idc</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>qpprime_y_zero_transform_bypass_flag</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>sar_height</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>sar_width</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>scaling_list4x4</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>scaling_list8x8</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>separate_colour_plane_flag</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>seq_parameter_set_id</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>seq_scaling_matrix_present_flag</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>vui_parameters_present_flag</b> (defined in <a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a>)</td><td class="entry"><a class="el" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30: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>

View File

@ -0,0 +1,210 @@
<!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: media/formats/mp4/fourccs.h Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_65f7acfa8cf3a5f1edc11faa2428b914.html">formats</a></li><li class="navelem"><a class="el" href="../../dir_3e9291fd7a18fdecc763294cb2628910.html">mp4</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">fourccs.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright (c) 2012 The Chromium Authors. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style license that can be</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// found in the LICENSE file.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;</div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#ifndef MEDIA_FORMATS_MP4_FOURCCS_H_</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#define MEDIA_FORMATS_MP4_FOURCCS_H_</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="keyword">namespace </span>mp4 {</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keyword">enum</span> FourCC {</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; FOURCC_NULL = 0,</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; FOURCC_AVC1 = 0x61766331,</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; FOURCC_AVCC = 0x61766343,</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; FOURCC_BLOC = 0x626C6F63,</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; FOURCC_CENC = 0x63656e63,</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; FOURCC_CO64 = 0x636f3634,</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; FOURCC_CTTS = 0x63747473,</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; FOURCC_DASH = 0x64617368,</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; FOURCC_DINF = 0x64696e66,</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; FOURCC_DREF = 0x64726566,</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; FOURCC_EAC3 = 0x65632d33,</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; FOURCC_EDTS = 0x65647473,</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; FOURCC_ELST = 0x656c7374,</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; FOURCC_ENCA = 0x656e6361,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; FOURCC_ENCV = 0x656e6376,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; FOURCC_ESDS = 0x65736473,</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; FOURCC_FREE = 0x66726565,</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; FOURCC_FRMA = 0x66726d61,</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; FOURCC_FTYP = 0x66747970,</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; FOURCC_HDLR = 0x68646c72,</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; FOURCC_HINT = 0x68696e74,</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; FOURCC_ISO6 = 0x69736f36,</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; FOURCC_IODS = 0x696f6473,</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; FOURCC_MDAT = 0x6d646174,</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; FOURCC_MDHD = 0x6d646864,</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; FOURCC_MDIA = 0x6d646961,</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; FOURCC_MECO = 0x6d65636f,</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; FOURCC_MEHD = 0x6d656864,</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; FOURCC_META = 0x6d657461,</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; FOURCC_MFHD = 0x6d666864,</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; FOURCC_MFRA = 0x6d667261,</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; FOURCC_MINF = 0x6d696e66,</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; FOURCC_MOOF = 0x6d6f6f66,</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; FOURCC_MOOV = 0x6d6f6f76,</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; FOURCC_MP41 = 0x6d703431,</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; FOURCC_MP4A = 0x6d703461,</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; FOURCC_MP4V = 0x6d703476,</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; FOURCC_MVEX = 0x6d766578,</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; FOURCC_MVHD = 0x6d766864,</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; FOURCC_PASP = 0x70617370,</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; FOURCC_PDIN = 0x7064696e,</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; FOURCC_PRFT = 0x70726674,</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; FOURCC_PSSH = 0x70737368,</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; FOURCC_SAIO = 0x7361696f,</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; FOURCC_SAIZ = 0x7361697a,</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; FOURCC_SBGP = 0x73626770,</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; FOURCC_SCHI = 0x73636869,</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; FOURCC_SCHM = 0x7363686d,</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; FOURCC_SDTP = 0x73647470,</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; FOURCC_SEIG = 0x73656967,</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; FOURCC_SGPD = 0x73677064,</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; FOURCC_SIDX = 0x73696478,</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; FOURCC_SINF = 0x73696e66,</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; FOURCC_SKIP = 0x736b6970,</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; FOURCC_SMHD = 0x736d6864,</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; FOURCC_SOUN = 0x736f756e,</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; FOURCC_SSIX = 0x73736978,</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; FOURCC_STBL = 0x7374626c,</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; FOURCC_STCO = 0x7374636f,</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; FOURCC_STSC = 0x73747363,</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; FOURCC_STSD = 0x73747364,</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; FOURCC_STSS = 0x73747373,</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; FOURCC_STSZ = 0x7374737a,</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; FOURCC_STTS = 0x73747473,</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; FOURCC_STYP = 0x73747970,</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; FOURCC_STZ2 = 0x73747a32,</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; FOURCC_TENC = 0x74656e63,</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; FOURCC_TFDT = 0x74666474,</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; FOURCC_TFHD = 0x74666864,</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; FOURCC_TKHD = 0x746b6864,</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; FOURCC_TRAF = 0x74726166,</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; FOURCC_TRAK = 0x7472616b,</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; FOURCC_TREX = 0x74726578,</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; FOURCC_TRUN = 0x7472756e,</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; FOURCC_UDTA = 0x75647461,</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; FOURCC_URL = 0x75726c20,</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; FOURCC_URN = 0x75726e20,</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; FOURCC_UUID = 0x75756964,</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; FOURCC_VIDE = 0x76696465,</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; FOURCC_VMHD = 0x766d6864,</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; FOURCC_WIDE = 0x77696465,</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;};</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="keyword">const</span> <span class="keyword">inline</span> std::string FourCCToString(FourCC fourcc) {</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordtype">char</span> buf[5];</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; buf[0] = (fourcc &gt;&gt; 24) &amp; 0xff;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; buf[1] = (fourcc &gt;&gt; 16) &amp; 0xff;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; buf[2] = (fourcc &gt;&gt; 8) &amp; 0xff;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; buf[3] = (fourcc) &amp; 0xff;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; buf[4] = 0;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">return</span> std::string(buf);</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;}</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;} <span class="comment">// namespace mp4</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="preprocessor">#endif // MEDIA_FORMATS_MP4_FOURCCS_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,235 @@
<!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: media/event/vod_media_info_dump_muxer_listener.cc Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_aa73376d632f252584a1c0dfbefab2c4.html">event</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">vod_media_info_dump_muxer_listener.cc</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &quot;packager/media/event/vod_media_info_dump_muxer_listener.h&quot;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &lt;google/protobuf/text_format.h&gt;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;packager/base/logging.h&quot;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/muxer_options.h&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/stream_info.h&quot;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;packager/media/event/muxer_listener_internal.h&quot;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;packager/media/file/file.h&quot;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;packager/mpd/base/media_info.pb.h&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;VodMediaInfoDumpMuxerListener::VodMediaInfoDumpMuxerListener(</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="keyword">const</span> std::string&amp; output_file_name)</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; : output_file_name_(output_file_name), is_encrypted_(false) {}</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;VodMediaInfoDumpMuxerListener::~VodMediaInfoDumpMuxerListener() {}</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="../../d9/db4/classedash__packager_1_1media_1_1VodMediaInfoDumpMuxerListener.html#abd5d22401650155842d519bcd17cec5d"> 27</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d9/db4/classedash__packager_1_1media_1_1VodMediaInfoDumpMuxerListener.html#abd5d22401650155842d519bcd17cec5d">VodMediaInfoDumpMuxerListener::SetContentProtectionSchemeIdUri</a>(</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keyword">const</span> std::string&amp; scheme_id_uri) {</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; scheme_id_uri_ = scheme_id_uri;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;}</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keywordtype">void</span> VodMediaInfoDumpMuxerListener::OnEncryptionInfoReady(</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keywordtype">bool</span> is_initial_encryption_info,</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keyword">const</span> std::string&amp; content_protection_uuid,</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keyword">const</span> std::string&amp; content_protection_name_version,</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; default_key_id,</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; pssh) {</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; LOG_IF(WARNING, !is_initial_encryption_info)</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Updating (non initial) encryption info is not supported by &quot;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="stringliteral">&quot;this module.&quot;</span>;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; content_protection_uuid_ = content_protection_uuid;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; content_protection_name_version_ = content_protection_name_version;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; default_key_id_.assign(default_key_id.begin(), default_key_id.end());</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; pssh_.assign(pssh.begin(), pssh.end());</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; is_encrypted_ = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;}</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keywordtype">void</span> VodMediaInfoDumpMuxerListener::OnMediaStart(</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keyword">const</span> MuxerOptions&amp; muxer_options,</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keyword">const</span> StreamInfo&amp; stream_info,</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; uint32_t time_scale,</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; ContainerType container_type) {</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; DCHECK(muxer_options.single_segment);</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; media_info_.reset(<span class="keyword">new</span> MediaInfo());</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">if</span> (!internal::GenerateMediaInfo(muxer_options,</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; stream_info,</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; time_scale,</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; container_type,</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; media_info_.get())) {</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Failed to generate MediaInfo from input.&quot;</span>;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; }</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">if</span> (is_encrypted_) {</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; internal::SetContentProtectionFields(</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; content_protection_uuid_, content_protection_name_version_,</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; default_key_id_, pssh_, media_info_.get());</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;}</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="../../d9/db4/classedash__packager_1_1media_1_1VodMediaInfoDumpMuxerListener.html#a122af3cd678be6f82766ecdfd5b95467"> 71</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../d9/db4/classedash__packager_1_1media_1_1VodMediaInfoDumpMuxerListener.html#a122af3cd678be6f82766ecdfd5b95467">VodMediaInfoDumpMuxerListener::OnSampleDurationReady</a>(</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; uint32_t sample_duration) {</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="comment">// Assume one VideoInfo.</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">if</span> (media_info_-&gt;has_video_info()) {</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; media_info_-&gt;mutable_video_info()-&gt;set_frame_duration(sample_duration);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;}</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="keywordtype">void</span> VodMediaInfoDumpMuxerListener::OnMediaEnd(<span class="keywordtype">bool</span> has_init_range,</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; uint64_t init_range_start,</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; uint64_t init_range_end,</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordtype">bool</span> has_index_range,</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; uint64_t index_range_start,</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; uint64_t index_range_end,</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordtype">float</span> duration_seconds,</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; uint64_t file_size) {</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; DCHECK(media_info_);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">if</span> (!internal::SetVodInformation(has_init_range,</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; init_range_start,</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; init_range_end,</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; has_index_range,</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; index_range_start,</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; index_range_end,</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; duration_seconds,</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; file_size,</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; media_info_.get())) {</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Failed to generate VOD information from input.&quot;</span>;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; SerializeMediaInfoToFile();</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;}</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="keywordtype">void</span> VodMediaInfoDumpMuxerListener::OnNewSegment(uint64_t start_time,</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; uint64_t duration,</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; uint64_t segment_file_size) {</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;}</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="keywordtype">bool</span> VodMediaInfoDumpMuxerListener::SerializeMediaInfoToFile() {</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; std::string output_string;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">if</span> (!google::protobuf::TextFormat::PrintToString(*media_info_,</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; &amp;output_string)) {</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Failed to serialize MediaInfo to string.&quot;</span>;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; media::File* file = <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#a0933ccd7df76fcf8fbcfe12c15dbf6c5">File::Open</a>(output_file_name_.c_str(), <span class="stringliteral">&quot;w&quot;</span>);</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">if</span> (!file) {</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Failed to open &quot;</span> &lt;&lt; output_file_name_;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">if</span> (file-&gt;Write(output_string.data(), output_string.size()) &lt;= 0) {</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Failed to write MediaInfo to file.&quot;</span>;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; file-&gt;Close();</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">if</span> (!file-&gt;Close()) {</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Failed to close &quot;</span> &lt;&lt; output_file_name_;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;}</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="ttc" id="classedash__packager_1_1media_1_1File_html_a0933ccd7df76fcf8fbcfe12c15dbf6c5"><div class="ttname"><a href="../../de/d19/classedash__packager_1_1media_1_1File.html#a0933ccd7df76fcf8fbcfe12c15dbf6c5">edash_packager::media::File::Open</a></div><div class="ttdeci">virtual bool Open()=0</div><div class="ttdoc">Internal open. Should not be used directly. </div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1VodMediaInfoDumpMuxerListener_html_a122af3cd678be6f82766ecdfd5b95467"><div class="ttname"><a href="../../d9/db4/classedash__packager_1_1media_1_1VodMediaInfoDumpMuxerListener.html#a122af3cd678be6f82766ecdfd5b95467">edash_packager::media::VodMediaInfoDumpMuxerListener::OnSampleDurationReady</a></div><div class="ttdeci">virtual void OnSampleDurationReady(uint32_t sample_duration) OVERRIDE</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d49/vod__media__info__dump__muxer__listener_8cc_source.html#l00071">vod_media_info_dump_muxer_listener.cc:71</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1VodMediaInfoDumpMuxerListener_html_abd5d22401650155842d519bcd17cec5d"><div class="ttname"><a href="../../d9/db4/classedash__packager_1_1media_1_1VodMediaInfoDumpMuxerListener.html#abd5d22401650155842d519bcd17cec5d">edash_packager::media::VodMediaInfoDumpMuxerListener::SetContentProtectionSchemeIdUri</a></div><div class="ttdeci">void SetContentProtectionSchemeIdUri(const std::string &amp;scheme_id_uri)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d49/vod__media__info__dump__muxer__listener_8cc_source.html#l00027">vod_media_info_dump_muxer_listener.cc:27</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,121 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../d7/da5/structedash__packager_1_1media_1_1mp4_1_1SampleSize.html">SampleSize</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::mp4::SampleSize Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d7/da5/structedash__packager_1_1media_1_1mp4_1_1SampleSize.html">edash_packager::media::mp4::SampleSize</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>BoxType</b>() const OVERRIDE (defined in <a class="el" href="../../d7/da5/structedash__packager_1_1media_1_1mp4_1_1SampleSize.html">edash_packager::media::mp4::SampleSize</a>)</td><td class="entry"><a class="el" href="../../d7/da5/structedash__packager_1_1media_1_1mp4_1_1SampleSize.html">edash_packager::media::mp4::SampleSize</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/da5/structedash__packager_1_1media_1_1mp4_1_1SampleSize.html#aa70e74855b1f9376ca919224f756752d">ComputeSize</a>() OVERRIDE</td><td class="entry"><a class="el" href="../../d7/da5/structedash__packager_1_1media_1_1mp4_1_1SampleSize.html">edash_packager::media::mp4::SampleSize</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>flags</b> (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>FullBox</b>() (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a>(BoxReader *reader)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/da5/structedash__packager_1_1media_1_1mp4_1_1SampleSize.html#a6f6a998d4365581a882d6aa8dd985353">ReadWrite</a>(BoxBuffer *buffer) OVERRIDE</td><td class="entry"><a class="el" href="../../d7/da5/structedash__packager_1_1media_1_1mp4_1_1SampleSize.html">edash_packager::media::mp4::SampleSize</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>sample_count</b> (defined in <a class="el" href="../../d7/da5/structedash__packager_1_1media_1_1mp4_1_1SampleSize.html">edash_packager::media::mp4::SampleSize</a>)</td><td class="entry"><a class="el" href="../../d7/da5/structedash__packager_1_1media_1_1mp4_1_1SampleSize.html">edash_packager::media::mp4::SampleSize</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>sample_size</b> (defined in <a class="el" href="../../d7/da5/structedash__packager_1_1media_1_1mp4_1_1SampleSize.html">edash_packager::media::mp4::SampleSize</a>)</td><td class="entry"><a class="el" href="../../d7/da5/structedash__packager_1_1media_1_1mp4_1_1SampleSize.html">edash_packager::media::mp4::SampleSize</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SampleSize</b>() (defined in <a class="el" href="../../d7/da5/structedash__packager_1_1media_1_1mp4_1_1SampleSize.html">edash_packager::media::mp4::SampleSize</a>)</td><td class="entry"><a class="el" href="../../d7/da5/structedash__packager_1_1media_1_1mp4_1_1SampleSize.html">edash_packager::media::mp4::SampleSize</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>sizes</b> (defined in <a class="el" href="../../d7/da5/structedash__packager_1_1media_1_1mp4_1_1SampleSize.html">edash_packager::media::mp4::SampleSize</a>)</td><td class="entry"><a class="el" href="../../d7/da5/structedash__packager_1_1media_1_1mp4_1_1SampleSize.html">edash_packager::media::mp4::SampleSize</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>version</b> (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a>(BufferWriter *writer)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~FullBox</b>() (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~SampleSize</b>() (defined in <a class="el" href="../../d7/da5/structedash__packager_1_1media_1_1mp4_1_1SampleSize.html">edash_packager::media::mp4::SampleSize</a>)</td><td class="entry"><a class="el" href="../../d7/da5/structedash__packager_1_1media_1_1mp4_1_1SampleSize.html">edash_packager::media::mp4::SampleSize</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:58 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>

View File

@ -0,0 +1,151 @@
<!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: app/libcrypto_threading.cc Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_d422163b96683743ed3963d4aac17747.html">app</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">libcrypto_threading.cc</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &quot;packager/app/libcrypto_threading.h&quot;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &lt;openssl/crypto.h&gt;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;packager/base/logging.h&quot;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;packager/base/memory/scoped_ptr.h&quot;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;packager/base/synchronization/lock.h&quot;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;packager/base/threading/platform_thread.h&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keyword">namespace </span>{</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;scoped_ptr&lt;base::Lock[]&gt; global_locks;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keywordtype">void</span> LockFunction(<span class="keywordtype">int</span> mode, <span class="keywordtype">int</span> n, <span class="keyword">const</span> <span class="keywordtype">char</span>* file, <span class="keywordtype">int</span> line) {</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; VLOG(2) &lt;&lt; <span class="stringliteral">&quot;CryptoLock @ &quot;</span> &lt;&lt; file &lt;&lt; <span class="stringliteral">&quot;:&quot;</span> &lt;&lt; line;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keywordflow">if</span> (mode &amp; CRYPTO_LOCK)</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; global_locks[n].Acquire();</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; global_locks[n].Release();</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;}</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keywordtype">void</span> ThreadIdFunction(CRYPTO_THREADID* <span class="keywordtype">id</span>) {</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; CRYPTO_THREADID_set_numeric(</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keywordtype">id</span>, static_cast&lt;unsigned long&gt;(base::PlatformThread::CurrentId()));</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;}</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;} <span class="comment">// namespace</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;LibcryptoThreading::LibcryptoThreading() {</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; global_locks.reset(<span class="keyword">new</span> base::Lock[CRYPTO_num_locks()]);</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; CRYPTO_THREADID_set_callback(ThreadIdFunction);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; CRYPTO_set_locking_callback(LockFunction);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;}</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;LibcryptoThreading::~LibcryptoThreading() {</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; CRYPTO_THREADID_set_callback(NULL);</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; CRYPTO_set_locking_callback(NULL);</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; global_locks.reset();</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;}</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,116 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.html">PixelAspectRatioBox</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::mp4::PixelAspectRatioBox Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.html">edash_packager::media::mp4::PixelAspectRatioBox</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>BoxType</b>() const OVERRIDE (defined in <a class="el" href="../../d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.html">edash_packager::media::mp4::PixelAspectRatioBox</a>)</td><td class="entry"><a class="el" href="../../d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.html">edash_packager::media::mp4::PixelAspectRatioBox</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.html#acb770d7a721bf6134cd8430b17796f07">ComputeSize</a>() OVERRIDE</td><td class="entry"><a class="el" href="../../d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.html">edash_packager::media::mp4::PixelAspectRatioBox</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>h_spacing</b> (defined in <a class="el" href="../../d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.html">edash_packager::media::mp4::PixelAspectRatioBox</a>)</td><td class="entry"><a class="el" href="../../d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.html">edash_packager::media::mp4::PixelAspectRatioBox</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a>(BoxReader *reader)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>PixelAspectRatioBox</b>() (defined in <a class="el" href="../../d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.html">edash_packager::media::mp4::PixelAspectRatioBox</a>)</td><td class="entry"><a class="el" href="../../d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.html">edash_packager::media::mp4::PixelAspectRatioBox</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.html#aee984d288c1c2ab2217726309dff45f4">ReadWrite</a>(BoxBuffer *buffer) OVERRIDE</td><td class="entry"><a class="el" href="../../d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.html">edash_packager::media::mp4::PixelAspectRatioBox</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>v_spacing</b> (defined in <a class="el" href="../../d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.html">edash_packager::media::mp4::PixelAspectRatioBox</a>)</td><td class="entry"><a class="el" href="../../d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.html">edash_packager::media::mp4::PixelAspectRatioBox</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a>(BufferWriter *writer)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~PixelAspectRatioBox</b>() (defined in <a class="el" href="../../d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.html">edash_packager::media::mp4::PixelAspectRatioBox</a>)</td><td class="entry"><a class="el" href="../../d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.html">edash_packager::media::mp4::PixelAspectRatioBox</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:56 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>

View File

@ -0,0 +1,122 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">H264Parser</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::H264Parser Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AdvanceToNextNALU</b>(H264NALU *nalu) (defined in <a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a>)</td><td class="entry"><a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>FindStartCode</b>(const uint8_t *data, off_t data_size, off_t *offset, off_t *start_code_size) (defined in <a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a>)</td><td class="entry"><a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>GetPPS</b>(int pps_id) (defined in <a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a>)</td><td class="entry"><a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>GetSPS</b>(int sps_id) (defined in <a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a>)</td><td class="entry"><a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>H264Parser</b>() (defined in <a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a>)</td><td class="entry"><a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>kEOStream</b> enum value (defined in <a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a>)</td><td class="entry"><a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>kInvalidStream</b> enum value (defined in <a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a>)</td><td class="entry"><a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>kOk</b> enum value (defined in <a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a>)</td><td class="entry"><a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>kUnsupportedStream</b> enum value (defined in <a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a>)</td><td class="entry"><a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ParsePPS</b>(int *pps_id) (defined in <a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a>)</td><td class="entry"><a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ParseSEI</b>(H264SEIMessage *sei_msg) (defined in <a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a>)</td><td class="entry"><a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ParseSliceHeader</b>(const H264NALU &amp;nalu, H264SliceHeader *shdr) (defined in <a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a>)</td><td class="entry"><a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ParseSPS</b>(int *sps_id) (defined in <a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a>)</td><td class="entry"><a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ParseSPSFromArray</b>(const uint8_t *sps_data, size_t sps_data_size, int *sps_id) (defined in <a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a>)</td><td class="entry"><a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Reset</b>() (defined in <a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a>)</td><td class="entry"><a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Result</b> enum name (defined in <a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a>)</td><td class="entry"><a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SetStream</b>(const uint8_t *stream, off_t stream_size) (defined in <a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a>)</td><td class="entry"><a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~H264Parser</b>() (defined in <a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a>)</td><td class="entry"><a class="el" href="../../d6/da3/classedash__packager_1_1media_1_1H264Parser.html">edash_packager::media::H264Parser</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30: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>

View File

@ -0,0 +1,133 @@
<!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: media/base/decryptor_source.h Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_c6ada2450b25ab5438a4dba6c9b890af.html">base</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">decryptor_source.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#ifndef MEDIA_BASE_DECRYPTOR_SOURCE_H_</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#define MEDIA_BASE_DECRYPTOR_SOURCE_H_</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;packager/base/memory/scoped_ptr.h&quot;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/container_names.h&quot;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/status.h&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="../../dc/df1/classedash__packager_1_1media_1_1DecryptorSource.html"> 18</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../dc/df1/classedash__packager_1_1media_1_1DecryptorSource.html">DecryptorSource</a> {</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; <a class="code" href="../../dc/df1/classedash__packager_1_1media_1_1DecryptorSource.html">DecryptorSource</a>() {}</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="../../dc/df1/classedash__packager_1_1media_1_1DecryptorSource.html">DecryptorSource</a>() {}</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> <a class="code" href="../../dc/df1/classedash__packager_1_1media_1_1DecryptorSource.html#a635b0367a1903f3a0afb1ca931f1274a">OnNeedKey</a>(MediaContainerName container,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keyword">const</span> std::string&amp; init_data) = 0;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="../../dc/df1/classedash__packager_1_1media_1_1DecryptorSource.html">DecryptorSource</a>);</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;};</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#endif // MEDIA_BASE_DECRYPTOR_SOURCE_H_</span></div>
<div class="ttc" id="classedash__packager_1_1media_1_1DecryptorSource_html"><div class="ttname"><a href="../../dc/df1/classedash__packager_1_1media_1_1DecryptorSource.html">edash_packager::media::DecryptorSource</a></div><div class="ttdoc">DecryptorSource is responsible for decryption key acquisition. </div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d7d/decryptor__source_8h_source.html#l00018">decryptor_source.h:18</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1Status_html"><div class="ttname"><a href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">edash_packager::media::Status</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d13/status_8h_source.html#l00076">status.h:76</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1DecryptorSource_html_a635b0367a1903f3a0afb1ca931f1274a"><div class="ttname"><a href="../../dc/df1/classedash__packager_1_1media_1_1DecryptorSource.html#a635b0367a1903f3a0afb1ca931f1274a">edash_packager::media::DecryptorSource::OnNeedKey</a></div><div class="ttdeci">virtual Status OnNeedKey(MediaContainerName container, const std::string &amp;init_data)=0</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,127 @@
<!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::media::EncryptionKey Struct 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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><a class="el" href="../../d0/d86/structedash__packager_1_1media_1_1EncryptionKey.html">EncryptionKey</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../da/d60/structedash__packager_1_1media_1_1EncryptionKey-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">edash_packager::media::EncryptionKey Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:af01cd4961562be7e724bfd52fcdb2ca8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af01cd4961562be7e724bfd52fcdb2ca8"></a>
std::vector&lt; uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>key_id</b></td></tr>
<tr class="separator:af01cd4961562be7e724bfd52fcdb2ca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89d2bca5e1d0bab1299fa0c38ee8164d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a89d2bca5e1d0bab1299fa0c38ee8164d"></a>
std::vector&lt; uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>key</b></td></tr>
<tr class="separator:a89d2bca5e1d0bab1299fa0c38ee8164d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac51248e0f820edda35ce1e062aa6a3a5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac51248e0f820edda35ce1e062aa6a3a5"></a>
std::vector&lt; uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>pssh</b></td></tr>
<tr class="separator:ac51248e0f820edda35ce1e062aa6a3a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c3b55ada682ec4908ac08c761db9bdd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1c3b55ada682ec4908ac08c761db9bdd"></a>
std::vector&lt; uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>iv</b></td></tr>
<tr class="separator:a1c3b55ada682ec4908ac08c761db9bdd"><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>Definition at line <a class="el" href="../../dc/d3f/key__source_8h_source.html#l00018">18</a> of file <a class="el" href="../../dc/d3f/key__source_8h_source.html">key_source.h</a>.</p>
</div><hr/>The documentation for this struct was generated from the following files:<ul>
<li>media/base/<a class="el" href="../../dc/d3f/key__source_8h_source.html">key_source.h</a></li>
<li>media/base/<a class="el" href="../../d7/dd6/key__source_8cc_source.html">key_source.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:50 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>

View File

@ -0,0 +1,188 @@
<!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::media::mp4::TrackFragmentDecodeTime Struct 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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../d0/d92/structedash__packager_1_1media_1_1mp4_1_1TrackFragmentDecodeTime.html">TrackFragmentDecodeTime</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../df/d3c/structedash__packager_1_1media_1_1mp4_1_1TrackFragmentDecodeTime-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">edash_packager::media::mp4::TrackFragmentDecodeTime Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for edash_packager::media::mp4::TrackFragmentDecodeTime:</div>
<div class="dyncontent">
<div class="center">
<img src="../../d0/d92/structedash__packager_1_1media_1_1mp4_1_1TrackFragmentDecodeTime.png" usemap="#edash_packager::media::mp4::TrackFragmentDecodeTime_map" alt=""/>
<map id="edash_packager::media::mp4::TrackFragmentDecodeTime_map" name="edash_packager::media::mp4::TrackFragmentDecodeTime_map">
<area href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html" alt="edash_packager::media::mp4::FullBox" shape="rect" coords="0,56,335,80"/>
<area href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html" alt="edash_packager::media::mp4::Box" shape="rect" coords="0,0,335,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a561a7efedb5a44d431d297be675587a4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a561a7efedb5a44d431d297be675587a4"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d92/structedash__packager_1_1media_1_1mp4_1_1TrackFragmentDecodeTime.html#a561a7efedb5a44d431d297be675587a4">ReadWrite</a> (<a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">BoxBuffer</a> *buffer) OVERRIDE</td></tr>
<tr class="memdesc:a561a7efedb5a44d431d297be675587a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read/write the mp4 box from/to <a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">BoxBuffer</a>. <br/></td></tr>
<tr class="separator:a561a7efedb5a44d431d297be675587a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a175692a5811355fb86a9755a4a11ae01"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a175692a5811355fb86a9755a4a11ae01"></a>
virtual FourCC&#160;</td><td class="memItemRight" valign="bottom"><b>BoxType</b> () const OVERRIDE</td></tr>
<tr class="separator:a175692a5811355fb86a9755a4a11ae01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae12a6c2e4911ce32ef7329a57c73d6f4"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d92/structedash__packager_1_1media_1_1mp4_1_1TrackFragmentDecodeTime.html#ae12a6c2e4911ce32ef7329a57c73d6f4">ComputeSize</a> () OVERRIDE</td></tr>
<tr class="separator:ae12a6c2e4911ce32ef7329a57c73d6f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td></tr>
<tr class="memitem:a7b62a3983faafbea54a32486df60ed96 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a> (<a class="el" href="../../db/d6c/classedash__packager_1_1media_1_1mp4_1_1BoxReader.html">BoxReader</a> *reader)</td></tr>
<tr class="separator:a7b62a3983faafbea54a32486df60ed96 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7a756828b5514fcd3eaf16d86c413c0 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a> (<a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">BufferWriter</a> *writer)</td></tr>
<tr class="separator:aa7a756828b5514fcd3eaf16d86c413c0 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a4388856b743408d21c9d2a96d0bfc012"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4388856b743408d21c9d2a96d0bfc012"></a>
uint64_t&#160;</td><td class="memItemRight" valign="bottom"><b>decode_time</b></td></tr>
<tr class="separator:a4388856b743408d21c9d2a96d0bfc012"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox')"><img src="../../closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td></tr>
<tr class="memitem:a8504557a176cc9d6322a6d77fb9fba6f inherit pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8504557a176cc9d6322a6d77fb9fba6f"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>version</b></td></tr>
<tr class="separator:a8504557a176cc9d6322a6d77fb9fba6f inherit pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b051321ec82ca931fefd530f0e75ee4 inherit pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b051321ec82ca931fefd530f0e75ee4"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>flags</b></td></tr>
<tr class="separator:a7b051321ec82ca931fefd530f0e75ee4 inherit pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box')"><img src="../../closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td></tr>
<tr class="memitem:a767571cecbc37bedb05d1ea84716a005 inherit pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td></tr>
<tr class="separator:a767571cecbc37bedb05d1ea84716a005 inherit pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box"><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>Definition at line <a class="el" href="../../d5/d7b/box__definitions_8h_source.html#l00435">435</a> of file <a class="el" href="../../d5/d7b/box__definitions_8h_source.html">box_definitions.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ae12a6c2e4911ce32ef7329a57c73d6f4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t edash_packager::media::mp4::TrackFragmentDecodeTime::ComputeSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Compute the size of this box. The calculated size will be saved in |atom_size| for later consumption. </p>
<p>Implements <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a308081198b1fa9f9e4653ad976014a16">edash_packager::media::mp4::Box</a>.</p>
<p>Definition at line <a class="el" href="../../dd/dee/box__definitions_8cc_source.html#l01472">1472</a> of file <a class="el" href="../../dd/dee/box__definitions_8cc_source.html">box_definitions.cc</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>media/formats/mp4/<a class="el" href="../../d5/d7b/box__definitions_8h_source.html">box_definitions.h</a></li>
<li>media/formats/mp4/<a class="el" href="../../dd/dee/box__definitions_8cc_source.html">box_definitions.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:31:00 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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,121 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">SampleTable</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::mp4::SampleTable Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>BoxType</b>() const OVERRIDE (defined in <a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a>)</td><td class="entry"><a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>chunk_large_offset</b> (defined in <a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a>)</td><td class="entry"><a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>composition_time_to_sample</b> (defined in <a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a>)</td><td class="entry"><a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html#a9de5d55994064b02da1e15f67f463b8c">ComputeSize</a>() OVERRIDE</td><td class="entry"><a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>decoding_time_to_sample</b> (defined in <a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a>)</td><td class="entry"><a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>description</b> (defined in <a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a>)</td><td class="entry"><a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a>(BoxReader *reader)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html#af9e1e01aa6c5df02049947f860918fd4">ReadWrite</a>(BoxBuffer *buffer) OVERRIDE</td><td class="entry"><a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>sample_size</b> (defined in <a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a>)</td><td class="entry"><a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>sample_to_chunk</b> (defined in <a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a>)</td><td class="entry"><a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SampleTable</b>() (defined in <a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a>)</td><td class="entry"><a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>sync_sample</b> (defined in <a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a>)</td><td class="entry"><a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a>(BufferWriter *writer)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~SampleTable</b>() (defined in <a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a>)</td><td class="entry"><a class="el" href="../../d3/d77/structedash__packager_1_1media_1_1mp4_1_1SampleTable.html">edash_packager::media::mp4::SampleTable</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:58 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>

View File

@ -0,0 +1,131 @@
<!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::ContentProtectionElement Struct 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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><a class="el" href="../../d0/d96/structedash__packager_1_1ContentProtectionElement.html">ContentProtectionElement</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../d8/d97/structedash__packager_1_1ContentProtectionElement-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">edash_packager::ContentProtectionElement Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../de/dd6/content__protection__element_8h_source.html">content_protection_element.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a0def5a97d479cafc37c68dd845b1b68d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0def5a97d479cafc37c68dd845b1b68d"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>value</b></td></tr>
<tr class="separator:a0def5a97d479cafc37c68dd845b1b68d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bcd58444e7deea81d5406a92268b0b9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9bcd58444e7deea81d5406a92268b0b9"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>scheme_id_uri</b></td></tr>
<tr class="separator:a9bcd58444e7deea81d5406a92268b0b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90494f871ee87bf7c119d13602778683"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a90494f871ee87bf7c119d13602778683"></a>
std::map&lt; std::string, <br class="typebreak"/>
std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>additional_attributes</b></td></tr>
<tr class="separator:a90494f871ee87bf7c119d13602778683"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafb204ddf878e4c9763f28bf61e44b17"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aafb204ddf878e4c9763f28bf61e44b17"></a>
std::vector&lt; <a class="el" href="../../d5/d7a/structedash__packager_1_1Element.html">Element</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>subelements</b></td></tr>
<tr class="separator:aafb204ddf878e4c9763f28bf61e44b17"><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>Structure to represent &lt;ContentProtection&gt; element in DASH MPD spec (ISO 23009-1:2012 MPD and Segment Formats). </p>
<p>Definition at line <a class="el" href="../../de/dd6/content__protection__element_8h_source.html#l00036">36</a> of file <a class="el" href="../../de/dd6/content__protection__element_8h_source.html">content_protection_element.h</a>.</p>
</div><hr/>The documentation for this struct was generated from the following files:<ul>
<li>mpd/base/<a class="el" href="../../de/dd6/content__protection__element_8h_source.html">content_protection_element.h</a></li>
<li>mpd/base/<a class="el" href="../../d9/db9/content__protection__element_8cc_source.html">content_protection_element.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,237 @@
<!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: app/stream_descriptor.cc Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_d422163b96683743ed3963d4aac17747.html">app</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">stream_descriptor.cc</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &quot;packager/app/stream_descriptor.h&quot;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;packager/app/packager_util.h&quot;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;packager/base/logging.h&quot;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;packager/base/strings/string_number_conversions.h&quot;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;packager/base/strings/string_split.h&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;packager/mpd/base/language_utils.h&quot;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="keyword">namespace </span>{</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="keyword">enum</span> FieldType {</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; kUnknownField = 0,</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; kStreamSelectorField,</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; kInputField,</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; kOutputField,</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; kSegmentTemplateField,</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; kBandwidthField,</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; kLanguageField,</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;};</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="keyword">struct </span>FieldNameToTypeMapping {</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* field_name;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; FieldType field_type;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;};</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">const</span> FieldNameToTypeMapping kFieldNameTypeMappings[] = {</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; { <span class="stringliteral">&quot;stream_selector&quot;</span>, kStreamSelectorField },</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; { <span class="stringliteral">&quot;stream&quot;</span>, kStreamSelectorField },</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; { <span class="stringliteral">&quot;input&quot;</span>, kInputField },</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; { <span class="stringliteral">&quot;in&quot;</span>, kInputField },</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; { <span class="stringliteral">&quot;output&quot;</span>, kOutputField },</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; { <span class="stringliteral">&quot;out&quot;</span>, kOutputField },</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; { <span class="stringliteral">&quot;init_segment&quot;</span>, kOutputField },</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; { <span class="stringliteral">&quot;segment_template&quot;</span>, kSegmentTemplateField },</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; { <span class="stringliteral">&quot;template&quot;</span>, kSegmentTemplateField },</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; { <span class="stringliteral">&quot;bandwidth&quot;</span>, kBandwidthField },</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; { <span class="stringliteral">&quot;bw&quot;</span>, kBandwidthField },</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; { <span class="stringliteral">&quot;bitrate&quot;</span>, kBandwidthField },</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; { <span class="stringliteral">&quot;language&quot;</span>, kLanguageField },</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; { <span class="stringliteral">&quot;lang&quot;</span>, kLanguageField },</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;};</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;FieldType GetFieldType(<span class="keyword">const</span> std::string&amp; field_name) {</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> idx = 0; idx &lt; arraysize(kFieldNameTypeMappings); ++idx) {</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">if</span> (field_name == kFieldNameTypeMappings[idx].field_name)</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">return</span> kFieldNameTypeMappings[idx].field_type;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; }</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">return</span> kUnknownField;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;}</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;} <span class="comment">// anonymous namespace</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;StreamDescriptor::StreamDescriptor() : bandwidth(0) {}</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;StreamDescriptor::~StreamDescriptor() {}</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="keywordtype">bool</span> InsertStreamDescriptor(<span class="keyword">const</span> std::string&amp; descriptor_string,</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; StreamDescriptorList* descriptor_list) {</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; StreamDescriptor descriptor;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="comment">// Split descriptor string into name/value pairs.</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; base::StringPairs pairs;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">if</span> (!base::SplitStringIntoKeyValuePairs(descriptor_string,</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="charliteral">&#39;=&#39;</span>,</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="charliteral">&#39;,&#39;</span>,</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; &amp;pairs)) {</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Invalid stream descriptors name/value pairs.&quot;</span>;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">for</span> (base::StringPairs::const_iterator iter = pairs.begin();</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; iter != pairs.end(); ++iter) {</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">switch</span> (GetFieldType(iter-&gt;first)) {</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">case</span> kStreamSelectorField:</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; descriptor.stream_selector = iter-&gt;second;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">case</span> kInputField:</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; descriptor.input = iter-&gt;second;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">case</span> kOutputField:</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; descriptor.output = iter-&gt;second;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">case</span> kSegmentTemplateField:</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; descriptor.segment_template = iter-&gt;second;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">case</span> kBandwidthField: {</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordtype">unsigned</span> bw;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">if</span> (!base::StringToUint(iter-&gt;second, &amp;bw)) {</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Non-numeric bandwidth specified.&quot;</span>;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; descriptor.bandwidth = bw;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; }</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">case</span> kLanguageField: {</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; std::string language = <a class="code" href="../../db/d09/namespaceedash__packager.html#a1082a6ff7615e61946ce7d6616f21dde">LanguageToISO_639_2</a>(iter-&gt;second);</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">if</span> (language == <span class="stringliteral">&quot;und&quot;</span>) {</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Unknown/invalid language specified: &quot;</span> &lt;&lt; iter-&gt;second;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; DCHECK_EQ(3u, language.size());</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; descriptor.language = language;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Unknown field in stream descriptor (\&quot;&quot;</span> &lt;&lt; iter-&gt;first</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; &lt;&lt; <span class="stringliteral">&quot;\&quot;).&quot;</span>;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; }</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="comment">// Validate and insert the descriptor</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">if</span> (descriptor.input.empty()) {</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Stream input not specified.&quot;</span>;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; }</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">if</span> (!FLAGS_dump_stream_info &amp;&amp; descriptor.stream_selector.empty()) {</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Stream stream_selector not specified.&quot;</span>;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; }</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">if</span> (!FLAGS_dump_stream_info &amp;&amp; descriptor.output.empty()) {</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Stream output not specified.&quot;</span>;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; }</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; descriptor_list-&gt;insert(descriptor);</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;}</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="ttc" id="namespaceedash__packager_html_a1082a6ff7615e61946ce7d6616f21dde"><div class="ttname"><a href="../../db/d09/namespaceedash__packager.html#a1082a6ff7615e61946ce7d6616f21dde">edash_packager::LanguageToISO_639_2</a></div><div class="ttdeci">std::string LanguageToISO_639_2(const std::string &amp;language)</div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d72/language__utils_8cc_source.html#l00096">language_utils.cc:96</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,154 @@
<!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::MockRepresentation Class 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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><a class="el" href="../../d0/da9/classedash__packager_1_1MockRepresentation.html">MockRepresentation</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="../../d1/d38/classedash__packager_1_1MockRepresentation-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">edash_packager::MockRepresentation Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for edash_packager::MockRepresentation:</div>
<div class="dyncontent">
<div class="center">
<img src="../../d0/da9/classedash__packager_1_1MockRepresentation.png" usemap="#edash_packager::MockRepresentation_map" alt=""/>
<map id="edash_packager::MockRepresentation_map" name="edash_packager::MockRepresentation_map">
<area href="../../d7/d15/classedash__packager_1_1Representation.html" alt="edash_packager::Representation" shape="rect" coords="0,0,227,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a77e2cbe2b80d9a7f6c89381948aa19c2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a77e2cbe2b80d9a7f6c89381948aa19c2"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>MockRepresentation</b> (uint32_t representation_id)</td></tr>
<tr class="separator:a77e2cbe2b80d9a7f6c89381948aa19c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f456af8a09afdc9b86452df9e27b5d2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6f456af8a09afdc9b86452df9e27b5d2"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>MOCK_METHOD1</b> (<a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html#a8cb3729f52457e7df08cd05b8f19090e">AddContentProtectionElement</a>, void(const <a class="el" href="../../d0/d96/structedash__packager_1_1ContentProtectionElement.html">ContentProtectionElement</a> &amp;element))</td></tr>
<tr class="separator:a6f456af8a09afdc9b86452df9e27b5d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8103cacf90394d98d378de399fed6571"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8103cacf90394d98d378de399fed6571"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>MOCK_METHOD2</b> (<a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html#a7fc0e59f273082ccf654025486af79ae">UpdateContentProtectionPssh</a>, void(const std::string &amp;drm_uuid, const std::string &amp;pssh))</td></tr>
<tr class="separator:a8103cacf90394d98d378de399fed6571"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac47931f56ec944e56d97632b7b4ddb3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac47931f56ec944e56d97632b7b4ddb3"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>MOCK_METHOD3</b> (<a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html#ad40b7da1667aeb77c84958ec4ec0d9eb">AddNewSegment</a>, void(uint64_t start_time, uint64_t duration, uint64_t size))</td></tr>
<tr class="separator:aac47931f56ec944e56d97632b7b4ddb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1389dd2c3349db78fc9e84d012553f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae1389dd2c3349db78fc9e84d012553f2"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>MOCK_METHOD1</b> (<a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html#a4a81a2db7ec245892334ad927621909c">SetSampleDuration</a>, void(uint32_t sample_duration))</td></tr>
<tr class="separator:ae1389dd2c3349db78fc9e84d012553f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classedash__packager_1_1Representation"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classedash__packager_1_1Representation')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html">edash_packager::Representation</a></td></tr>
<tr class="memitem:aac7ad6e54e88b4d31196d54ad5fb4a9d inherit pub_methods_classedash__packager_1_1Representation"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html#aac7ad6e54e88b4d31196d54ad5fb4a9d">Init</a> ()</td></tr>
<tr class="separator:aac7ad6e54e88b4d31196d54ad5fb4a9d inherit pub_methods_classedash__packager_1_1Representation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cb3729f52457e7df08cd05b8f19090e inherit pub_methods_classedash__packager_1_1Representation"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html#a8cb3729f52457e7df08cd05b8f19090e">AddContentProtectionElement</a> (const <a class="el" href="../../d0/d96/structedash__packager_1_1ContentProtectionElement.html">ContentProtectionElement</a> &amp;element)</td></tr>
<tr class="separator:a8cb3729f52457e7df08cd05b8f19090e inherit pub_methods_classedash__packager_1_1Representation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fc0e59f273082ccf654025486af79ae inherit pub_methods_classedash__packager_1_1Representation"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html#a7fc0e59f273082ccf654025486af79ae">UpdateContentProtectionPssh</a> (const std::string &amp;drm_uuid, const std::string &amp;pssh)</td></tr>
<tr class="separator:a7fc0e59f273082ccf654025486af79ae inherit pub_methods_classedash__packager_1_1Representation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad40b7da1667aeb77c84958ec4ec0d9eb inherit pub_methods_classedash__packager_1_1Representation"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html#ad40b7da1667aeb77c84958ec4ec0d9eb">AddNewSegment</a> (uint64_t start_time, uint64_t duration, uint64_t size)</td></tr>
<tr class="separator:ad40b7da1667aeb77c84958ec4ec0d9eb inherit pub_methods_classedash__packager_1_1Representation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a81a2db7ec245892334ad927621909c inherit pub_methods_classedash__packager_1_1Representation"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html#a4a81a2db7ec245892334ad927621909c">SetSampleDuration</a> (uint32_t sample_duration)</td></tr>
<tr class="separator:a4a81a2db7ec245892334ad927621909c inherit pub_methods_classedash__packager_1_1Representation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eefc1cf0da6ff78806f8d1099cb01d1 inherit pub_methods_classedash__packager_1_1Representation"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d8/df3/structedash__packager_1_1xml_1_1ScopedXmlPtr.html">xml::ScopedXmlPtr</a>&lt; xmlNode &gt;::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html#a4eefc1cf0da6ff78806f8d1099cb01d1">GetXml</a> ()</td></tr>
<tr class="separator:a4eefc1cf0da6ff78806f8d1099cb01d1 inherit pub_methods_classedash__packager_1_1Representation"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a59920aa8a31f1fb2b30a2ee8cc4e95 inherit pub_methods_classedash__packager_1_1Representation"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html#a0a59920aa8a31f1fb2b30a2ee8cc4e95">id</a> () const </td></tr>
<tr class="separator:a0a59920aa8a31f1fb2b30a2ee8cc4e95 inherit pub_methods_classedash__packager_1_1Representation"><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>Definition at line <a class="el" href="../../d9/d08/mock__mpd__builder_8h_source.html#l00050">50</a> of file <a class="el" href="../../d9/d08/mock__mpd__builder_8h_source.html">mock_mpd_builder.h</a>.</p>
</div><hr/>The documentation for this class was generated from the following files:<ul>
<li>mpd/base/<a class="el" href="../../d9/d08/mock__mpd__builder_8h_source.html">mock_mpd_builder.h</a></li>
<li>mpd/base/<a class="el" href="../../da/de2/mock__mpd__builder_8cc_source.html">mock_mpd_builder.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:48 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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 889 B

View File

@ -0,0 +1,124 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">BufferWriter</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::BufferWriter Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AppendArray</b>(const uint8_t *buf, size_t size) (defined in <a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a>)</td><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>AppendBuffer</b>(const BufferWriter &amp;buffer) (defined in <a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a>)</td><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html#afd1449487750c41331a2d91ac417f115">AppendInt</a>(uint8_t v)</td><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>AppendInt</b>(uint16_t v) (defined in <a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a>)</td><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AppendInt</b>(uint32_t v) (defined in <a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a>)</td><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>AppendInt</b>(uint64_t v) (defined in <a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a>)</td><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AppendInt</b>(int16_t v) (defined in <a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a>)</td><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>AppendInt</b>(int32_t v) (defined in <a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a>)</td><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AppendInt</b>(int64_t v) (defined in <a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a>)</td><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html#ac929211fc97bc8ec880109775757bb81">AppendNBytes</a>(uint64_t v, size_t num_bytes)</td><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AppendVector</b>(const std::vector&lt; uint8_t &gt; &amp;v) (defined in <a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a>)</td><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html#a8849c495e9e5cb0c33d7633fecbe0643">Buffer</a>() const </td><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>BufferWriter</b>() (defined in <a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a>)</td><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html#abffefbaff39469927deaaa97fec636a4">BufferWriter</a>(size_t reserved_size_in_bytes)</td><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Clear</b>() (defined in <a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a>)</td><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Size</b>() const (defined in <a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a>)</td><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Swap</b>(BufferWriter *buffer) (defined in <a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a>)</td><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>SwapBuffer</b>(std::vector&lt; uint8_t &gt; *buffer) (defined in <a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a>)</td><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html#aa83fe945386e5a75d3c377904fdddce2">WriteToFile</a>(File *file)</td><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~BufferWriter</b>() (defined in <a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a>)</td><td class="entry"><a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:49 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>

View File

@ -0,0 +1,117 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html">SimpleMpdNotifier</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::SimpleMpdNotifier Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html">edash_packager::SimpleMpdNotifier</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html#a0fd697605b3ff2ffdb8c892af2fc2e0d">AddContentProtectionElement</a>(uint32_t id, const ContentProtectionElement &amp;content_protection_element) OVERRIDE</td><td class="entry"><a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html">edash_packager::SimpleMpdNotifier</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../da/d38/classedash__packager_1_1MpdNotifier.html#ad49d92e75fcbb2ad1d5e43cd3d0716f7">dash_profile</a>() const </td><td class="entry"><a class="el" href="../../da/d38/classedash__packager_1_1MpdNotifier.html">edash_packager::MpdNotifier</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html#a39ebf425f66423a336eeca00fbf0be5e">Flush</a>() OVERRIDE</td><td class="entry"><a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html">edash_packager::SimpleMpdNotifier</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html#a08979abd3c71bb40fa37d24989d84d19">Init</a>() OVERRIDE</td><td class="entry"><a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html">edash_packager::SimpleMpdNotifier</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>MpdNotifier</b>(DashProfile dash_profile) (defined in <a class="el" href="../../da/d38/classedash__packager_1_1MpdNotifier.html">edash_packager::MpdNotifier</a>)</td><td class="entry"><a class="el" href="../../da/d38/classedash__packager_1_1MpdNotifier.html">edash_packager::MpdNotifier</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html#a4b7fa0a53ac352a037247476129a8217">NotifyEncryptionUpdate</a>(uint32_t container_id, const std::string &amp;drm_uuid, const std::vector&lt; uint8_t &gt; &amp;new_key_id, const std::vector&lt; uint8_t &gt; &amp;new_pssh) OVERRIDE</td><td class="entry"><a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html">edash_packager::SimpleMpdNotifier</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html#a3097c09073328b112c75eb0dab4a1c31">NotifyNewContainer</a>(const MediaInfo &amp;media_info, uint32_t *id) OVERRIDE</td><td class="entry"><a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html">edash_packager::SimpleMpdNotifier</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html#a010adc825af58e2c2448505a261ad26c">NotifyNewSegment</a>(uint32_t id, uint64_t start_time, uint64_t duration, uint64_t size) OVERRIDE</td><td class="entry"><a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html">edash_packager::SimpleMpdNotifier</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html#a47dab0bc8d51b0e86369288b2b1ce967">NotifySampleDuration</a>(uint32_t container_id, uint32_t sample_duration) OVERRIDE</td><td class="entry"><a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html">edash_packager::SimpleMpdNotifier</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>SimpleMpdNotifier</b>(DashProfile dash_profile, const MpdOptions &amp;mpd_options, const std::vector&lt; std::string &gt; &amp;base_urls, const std::string &amp;output_path) (defined in <a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html">edash_packager::SimpleMpdNotifier</a>)</td><td class="entry"><a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html">edash_packager::SimpleMpdNotifier</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SimpleMpdNotifierTest</b> (defined in <a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html">edash_packager::SimpleMpdNotifier</a>)</td><td class="entry"><a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html">edash_packager::SimpleMpdNotifier</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~MpdNotifier</b>() (defined in <a class="el" href="../../da/d38/classedash__packager_1_1MpdNotifier.html">edash_packager::MpdNotifier</a>)</td><td class="entry"><a class="el" href="../../da/d38/classedash__packager_1_1MpdNotifier.html">edash_packager::MpdNotifier</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~SimpleMpdNotifier</b>() (defined in <a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html">edash_packager::SimpleMpdNotifier</a>)</td><td class="entry"><a class="el" href="../../db/d56/classedash__packager_1_1SimpleMpdNotifier.html">edash_packager::SimpleMpdNotifier</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:49 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>

View File

@ -0,0 +1,106 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><a class="el" href="../../d4/de4/structedash__packager_1_1media_1_1SubsampleEntry.html">SubsampleEntry</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::SubsampleEntry Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d4/de4/structedash__packager_1_1media_1_1SubsampleEntry.html">edash_packager::media::SubsampleEntry</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>cipher_bytes</b> (defined in <a class="el" href="../../d4/de4/structedash__packager_1_1media_1_1SubsampleEntry.html">edash_packager::media::SubsampleEntry</a>)</td><td class="entry"><a class="el" href="../../d4/de4/structedash__packager_1_1media_1_1SubsampleEntry.html">edash_packager::media::SubsampleEntry</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>clear_bytes</b> (defined in <a class="el" href="../../d4/de4/structedash__packager_1_1media_1_1SubsampleEntry.html">edash_packager::media::SubsampleEntry</a>)</td><td class="entry"><a class="el" href="../../d4/de4/structedash__packager_1_1media_1_1SubsampleEntry.html">edash_packager::media::SubsampleEntry</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:49 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>

View File

@ -0,0 +1,120 @@
<!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::media::FileCloser Struct 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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><a class="el" href="../../d0/ddc/structedash__packager_1_1media_1_1FileCloser.html">FileCloser</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="../../d2/d4b/structedash__packager_1_1media_1_1FileCloser-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">edash_packager::media::FileCloser Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../de/dcf/file__closer_8h_source.html">file_closer.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a8872cc16147c46c4436b3da904134e7e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8872cc16147c46c4436b3da904134e7e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>operator()</b> (<a class="el" href="../../de/d19/classedash__packager_1_1media_1_1File.html">File</a> *file) const </td></tr>
<tr class="separator:a8872cc16147c46c4436b3da904134e7e"><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>Used by scoped_ptr to automatically close the file when it goes out of scope. </p>
<p>Definition at line <a class="el" href="../../de/dcf/file__closer_8h_source.html#l00018">18</a> of file <a class="el" href="../../de/dcf/file__closer_8h_source.html">file_closer.h</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>media/file/<a class="el" href="../../de/dcf/file__closer_8h_source.html">file_closer.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30: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>

View File

@ -0,0 +1,121 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">VideoSampleEntry</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::mp4::VideoSampleEntry Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>avcc</b> (defined in <a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a>)</td><td class="entry"><a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>BoxType</b>() const OVERRIDE (defined in <a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a>)</td><td class="entry"><a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html#aa48cbdc2f85dd231ebff8545f1510246">ComputeSize</a>() OVERRIDE</td><td class="entry"><a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>data_reference_index</b> (defined in <a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a>)</td><td class="entry"><a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>format</b> (defined in <a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a>)</td><td class="entry"><a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>height</b> (defined in <a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a>)</td><td class="entry"><a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a>(BoxReader *reader)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>pixel_aspect</b> (defined in <a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a>)</td><td class="entry"><a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html#af7c0db7c32de77af9441c33adcdf7dc8">ReadWrite</a>(BoxBuffer *buffer) OVERRIDE</td><td class="entry"><a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>sinf</b> (defined in <a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a>)</td><td class="entry"><a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>VideoSampleEntry</b>() (defined in <a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a>)</td><td class="entry"><a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>width</b> (defined in <a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a>)</td><td class="entry"><a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a>(BufferWriter *writer)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~VideoSampleEntry</b>() (defined in <a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a>)</td><td class="entry"><a class="el" href="../../df/d6a/structedash__packager_1_1media_1_1mp4_1_1VideoSampleEntry.html">edash_packager::media::mp4::VideoSampleEntry</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:57 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>

View File

@ -0,0 +1,119 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../df/d86/structedash__packager_1_1media_1_1mp4_1_1MovieFragmentHeader.html">MovieFragmentHeader</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::mp4::MovieFragmentHeader Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../df/d86/structedash__packager_1_1media_1_1mp4_1_1MovieFragmentHeader.html">edash_packager::media::mp4::MovieFragmentHeader</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>BoxType</b>() const OVERRIDE (defined in <a class="el" href="../../df/d86/structedash__packager_1_1media_1_1mp4_1_1MovieFragmentHeader.html">edash_packager::media::mp4::MovieFragmentHeader</a>)</td><td class="entry"><a class="el" href="../../df/d86/structedash__packager_1_1media_1_1mp4_1_1MovieFragmentHeader.html">edash_packager::media::mp4::MovieFragmentHeader</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d86/structedash__packager_1_1media_1_1mp4_1_1MovieFragmentHeader.html#abfb490674198f191115062cc323301d9">ComputeSize</a>() OVERRIDE</td><td class="entry"><a class="el" href="../../df/d86/structedash__packager_1_1media_1_1mp4_1_1MovieFragmentHeader.html">edash_packager::media::mp4::MovieFragmentHeader</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>flags</b> (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>FullBox</b>() (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>MovieFragmentHeader</b>() (defined in <a class="el" href="../../df/d86/structedash__packager_1_1media_1_1mp4_1_1MovieFragmentHeader.html">edash_packager::media::mp4::MovieFragmentHeader</a>)</td><td class="entry"><a class="el" href="../../df/d86/structedash__packager_1_1media_1_1mp4_1_1MovieFragmentHeader.html">edash_packager::media::mp4::MovieFragmentHeader</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a>(BoxReader *reader)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d86/structedash__packager_1_1media_1_1mp4_1_1MovieFragmentHeader.html#ac94a4cb68ff87666c7836eb720581a33">ReadWrite</a>(BoxBuffer *buffer) OVERRIDE</td><td class="entry"><a class="el" href="../../df/d86/structedash__packager_1_1media_1_1mp4_1_1MovieFragmentHeader.html">edash_packager::media::mp4::MovieFragmentHeader</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>sequence_number</b> (defined in <a class="el" href="../../df/d86/structedash__packager_1_1media_1_1mp4_1_1MovieFragmentHeader.html">edash_packager::media::mp4::MovieFragmentHeader</a>)</td><td class="entry"><a class="el" href="../../df/d86/structedash__packager_1_1media_1_1mp4_1_1MovieFragmentHeader.html">edash_packager::media::mp4::MovieFragmentHeader</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>version</b> (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a>(BufferWriter *writer)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~FullBox</b>() (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~MovieFragmentHeader</b>() (defined in <a class="el" href="../../df/d86/structedash__packager_1_1media_1_1mp4_1_1MovieFragmentHeader.html">edash_packager::media::mp4::MovieFragmentHeader</a>)</td><td class="entry"><a class="el" href="../../df/d86/structedash__packager_1_1media_1_1mp4_1_1MovieFragmentHeader.html">edash_packager::media::mp4::MovieFragmentHeader</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:31:00 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>

View File

@ -0,0 +1,121 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../da/d2a/structedash__packager_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html">ProtectionSystemSpecificHeader</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::mp4::ProtectionSystemSpecificHeader Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../da/d2a/structedash__packager_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html">edash_packager::media::mp4::ProtectionSystemSpecificHeader</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>BoxType</b>() const OVERRIDE (defined in <a class="el" href="../../da/d2a/structedash__packager_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html">edash_packager::media::mp4::ProtectionSystemSpecificHeader</a>)</td><td class="entry"><a class="el" href="../../da/d2a/structedash__packager_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html">edash_packager::media::mp4::ProtectionSystemSpecificHeader</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../da/d2a/structedash__packager_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html#acb4b95a6f8281435b68ca2eeefb43497">ComputeSize</a>() OVERRIDE</td><td class="entry"><a class="el" href="../../da/d2a/structedash__packager_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html">edash_packager::media::mp4::ProtectionSystemSpecificHeader</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>data</b> (defined in <a class="el" href="../../da/d2a/structedash__packager_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html">edash_packager::media::mp4::ProtectionSystemSpecificHeader</a>)</td><td class="entry"><a class="el" href="../../da/d2a/structedash__packager_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html">edash_packager::media::mp4::ProtectionSystemSpecificHeader</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>flags</b> (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>FullBox</b>() (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a>(BoxReader *reader)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ProtectionSystemSpecificHeader</b>() (defined in <a class="el" href="../../da/d2a/structedash__packager_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html">edash_packager::media::mp4::ProtectionSystemSpecificHeader</a>)</td><td class="entry"><a class="el" href="../../da/d2a/structedash__packager_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html">edash_packager::media::mp4::ProtectionSystemSpecificHeader</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>raw_box</b> (defined in <a class="el" href="../../da/d2a/structedash__packager_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html">edash_packager::media::mp4::ProtectionSystemSpecificHeader</a>)</td><td class="entry"><a class="el" href="../../da/d2a/structedash__packager_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html">edash_packager::media::mp4::ProtectionSystemSpecificHeader</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../da/d2a/structedash__packager_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html#a8717c7108b80278d9d1b0a6997d370c8">ReadWrite</a>(BoxBuffer *buffer) OVERRIDE</td><td class="entry"><a class="el" href="../../da/d2a/structedash__packager_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html">edash_packager::media::mp4::ProtectionSystemSpecificHeader</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>system_id</b> (defined in <a class="el" href="../../da/d2a/structedash__packager_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html">edash_packager::media::mp4::ProtectionSystemSpecificHeader</a>)</td><td class="entry"><a class="el" href="../../da/d2a/structedash__packager_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html">edash_packager::media::mp4::ProtectionSystemSpecificHeader</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>version</b> (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a>(BufferWriter *writer)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~FullBox</b>() (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~ProtectionSystemSpecificHeader</b>() (defined in <a class="el" href="../../da/d2a/structedash__packager_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html">edash_packager::media::mp4::ProtectionSystemSpecificHeader</a>)</td><td class="entry"><a class="el" href="../../da/d2a/structedash__packager_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html">edash_packager::media::mp4::ProtectionSystemSpecificHeader</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:54 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>

View File

@ -0,0 +1,323 @@
<!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: app/packager_util.cc Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_d422163b96683743ed3963d4aac17747.html">app</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">packager_util.cc</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &quot;packager/app/packager_util.h&quot;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &lt;gflags/gflags.h&gt;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;packager/app/fixed_key_encryption_flags.h&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;packager/app/mpd_flags.h&quot;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;packager/app/muxer_flags.h&quot;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;packager/app/widevine_encryption_flags.h&quot;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;packager/base/logging.h&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &quot;packager/base/strings/string_number_conversions.h&quot;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/media_stream.h&quot;</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/muxer.h&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/muxer_options.h&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/request_signer.h&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/stream_info.h&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/widevine_key_source.h&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &quot;packager/media/file/file.h&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;packager/mpd/base/mpd_builder.h&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;DEFINE_bool(dump_stream_info, <span class="keyword">false</span>, <span class="stringliteral">&quot;Dump demuxed stream info.&quot;</span>);</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keywordtype">void</span> DumpStreamInfo(<span class="keyword">const</span> std::vector&lt;MediaStream*&gt;&amp; streams) {</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; printf(<span class="stringliteral">&quot;Found %zu stream(s).\n&quot;</span>, streams.size());</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; streams.size(); ++i)</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; printf(<span class="stringliteral">&quot;Stream [%zu] %s\n&quot;</span>, i, streams[i]-&gt;info()-&gt;ToString().c_str());</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;}</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;scoped_ptr&lt;RequestSigner&gt; CreateSigner() {</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; scoped_ptr&lt;RequestSigner&gt; signer;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordflow">if</span> (!FLAGS_aes_signing_key.empty()) {</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; signer.reset(<a class="code" href="../../d8/dcc/classedash__packager_1_1media_1_1AesRequestSigner.html#a1e43c2e7e3ab4f5e07d442ed59fc1278">AesRequestSigner::CreateSigner</a>(</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; FLAGS_signer, FLAGS_aes_signing_key, FLAGS_aes_signing_iv));</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">if</span> (!signer) {</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Cannot create an AES signer object from &#39;&quot;</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; &lt;&lt; FLAGS_aes_signing_key &lt;&lt; <span class="stringliteral">&quot;&#39;:&#39;&quot;</span> &lt;&lt; FLAGS_aes_signing_iv</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; &lt;&lt; <span class="stringliteral">&quot;&#39;.&quot;</span>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">return</span> scoped_ptr&lt;RequestSigner&gt;();</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; }</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!FLAGS_rsa_signing_key_path.empty()) {</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; std::string rsa_private_key;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#a9a4f45dcab338be2b6843e0de87ce8f1">File::ReadFileToString</a>(FLAGS_rsa_signing_key_path.c_str(),</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; &amp;rsa_private_key)) {</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Failed to read from &#39;&quot;</span> &lt;&lt; FLAGS_rsa_signing_key_path</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; &lt;&lt; <span class="stringliteral">&quot;&#39;.&quot;</span>;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">return</span> scoped_ptr&lt;RequestSigner&gt;();</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; }</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; signer.reset(<a class="code" href="../../dd/da8/classedash__packager_1_1media_1_1RsaRequestSigner.html#a51517907c457f9f991e1a72ce4355183">RsaRequestSigner::CreateSigner</a>(FLAGS_signer, rsa_private_key));</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">if</span> (!signer) {</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Cannot create a RSA signer object from &#39;&quot;</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; &lt;&lt; FLAGS_rsa_signing_key_path &lt;&lt; <span class="stringliteral">&quot;&#39;.&quot;</span>;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">return</span> scoped_ptr&lt;RequestSigner&gt;();</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; }</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">return</span> signer.Pass();</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;}</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;scoped_ptr&lt;KeySource&gt; CreateEncryptionKeySource() {</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; scoped_ptr&lt;KeySource&gt; encryption_key_source;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">if</span> (FLAGS_enable_widevine_encryption) {</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; scoped_ptr&lt;WidevineKeySource&gt; widevine_key_source(</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keyword">new</span> WidevineKeySource(FLAGS_key_server_url));</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">if</span> (!FLAGS_signer.empty()) {</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; scoped_ptr&lt;RequestSigner&gt; request_signer(CreateSigner());</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">if</span> (!request_signer)</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> scoped_ptr&lt;KeySource&gt;();</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; widevine_key_source-&gt;set_signer(request_signer.Pass());</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; std::vector&lt;uint8_t&gt; content_id;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">if</span> (!base::HexStringToBytes(FLAGS_content_id, &amp;content_id)) {</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Invalid content_id hex string specified.&quot;</span>;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">return</span> scoped_ptr&lt;KeySource&gt;();</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; }</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; Status status = widevine_key_source-&gt;FetchKeys(content_id, FLAGS_policy);</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">if</span> (!status.ok()) {</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Widevine encryption key source failed to fetch keys: &quot;</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; &lt;&lt; status.ToString();</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">return</span> scoped_ptr&lt;KeySource&gt;();</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; encryption_key_source = widevine_key_source.Pass();</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (FLAGS_enable_fixed_key_encryption) {</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; encryption_key_source = <a class="code" href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html#ab05172d89513c0d3627502c9cff4535f">KeySource::CreateFromHexStrings</a>(</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; FLAGS_key_id, FLAGS_key, FLAGS_pssh, FLAGS_iv);</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; }</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">return</span> encryption_key_source.Pass();</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;}</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;scoped_ptr&lt;KeySource&gt; CreateDecryptionKeySource() {</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; scoped_ptr&lt;KeySource&gt; decryption_key_source;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">if</span> (FLAGS_enable_widevine_decryption) {</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; scoped_ptr&lt;WidevineKeySource&gt; widevine_key_source(</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keyword">new</span> WidevineKeySource(FLAGS_key_server_url));</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">if</span> (!FLAGS_signer.empty()) {</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; scoped_ptr&lt;RequestSigner&gt; request_signer(CreateSigner());</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">if</span> (!request_signer)</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">return</span> scoped_ptr&lt;KeySource&gt;();</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; widevine_key_source-&gt;set_signer(request_signer.Pass());</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; }</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; decryption_key_source = widevine_key_source.Pass();</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (FLAGS_enable_fixed_key_decryption) {</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; decryption_key_source =</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html#ab05172d89513c0d3627502c9cff4535f">KeySource::CreateFromHexStrings</a>(FLAGS_key_id, FLAGS_key, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; }</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">return</span> decryption_key_source.Pass();</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;}</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="keywordtype">bool</span> AssignFlagsFromProfile() {</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordtype">bool</span> single_segment = FLAGS_single_segment;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">if</span> (FLAGS_profile == <span class="stringliteral">&quot;on-demand&quot;</span>) {</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; single_segment = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (FLAGS_profile == <span class="stringliteral">&quot;live&quot;</span>) {</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; single_segment = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (FLAGS_profile != <span class="stringliteral">&quot;&quot;</span>) {</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; fprintf(stderr, <span class="stringliteral">&quot;ERROR: --profile &#39;%s&#39; is not supported.\n&quot;</span>,</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; FLAGS_profile.c_str());</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">if</span> (FLAGS_single_segment != single_segment) {</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; FLAGS_single_segment = single_segment;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; fprintf(stdout, <span class="stringliteral">&quot;Profile %s: set --single_segment to %s.\n&quot;</span>,</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; FLAGS_profile.c_str(), single_segment ? <span class="stringliteral">&quot;true&quot;</span> : <span class="stringliteral">&quot;false&quot;</span>);</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; }</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;}</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="keywordtype">bool</span> GetMuxerOptions(MuxerOptions* muxer_options) {</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; DCHECK(muxer_options);</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; muxer_options-&gt;single_segment = FLAGS_single_segment;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; muxer_options-&gt;segment_duration = FLAGS_segment_duration;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; muxer_options-&gt;fragment_duration = FLAGS_fragment_duration;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; muxer_options-&gt;segment_sap_aligned = FLAGS_segment_sap_aligned;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; muxer_options-&gt;fragment_sap_aligned = FLAGS_fragment_sap_aligned;</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; muxer_options-&gt;num_subsegments_per_sidx = FLAGS_num_subsegments_per_sidx;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; muxer_options-&gt;temp_dir = FLAGS_temp_dir;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;}</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="keywordtype">bool</span> GetMpdOptions(MpdOptions* mpd_options) {</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; DCHECK(mpd_options);</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; mpd_options-&gt;availability_time_offset = FLAGS_availability_time_offset;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; mpd_options-&gt;minimum_update_period = FLAGS_minimum_update_period;</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; mpd_options-&gt;min_buffer_time = FLAGS_min_buffer_time;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; mpd_options-&gt;time_shift_buffer_depth = FLAGS_time_shift_buffer_depth;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; mpd_options-&gt;suggested_presentation_delay =</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; FLAGS_suggested_presentation_delay;</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;}</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;MediaStream* FindFirstStreamOfType(<span class="keyword">const</span> std::vector&lt;MediaStream*&gt;&amp; streams,</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; StreamType stream_type) {</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keyword">typedef</span> std::vector&lt;MediaStream*&gt;::const_iterator StreamIterator;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">for</span> (StreamIterator it = streams.begin(); it != streams.end(); ++it) {</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">if</span> ((*it)-&gt;info()-&gt;stream_type() == stream_type)</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">return</span> *it;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; }</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">return</span> NULL;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;}</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;MediaStream* FindFirstVideoStream(<span class="keyword">const</span> std::vector&lt;MediaStream*&gt;&amp; streams) {</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">return</span> FindFirstStreamOfType(streams, kStreamVideo);</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;}</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;MediaStream* FindFirstAudioStream(<span class="keyword">const</span> std::vector&lt;MediaStream*&gt;&amp; streams) {</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">return</span> FindFirstStreamOfType(streams, kStreamAudio);</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;}</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="keywordtype">bool</span> AddStreamToMuxer(<span class="keyword">const</span> std::vector&lt;MediaStream*&gt;&amp; streams,</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">const</span> std::string&amp; stream_selector,</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keyword">const</span> std::string&amp; language_override,</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; Muxer* muxer) {</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; DCHECK(muxer);</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; MediaStream* stream = NULL;</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">if</span> (stream_selector == <span class="stringliteral">&quot;video&quot;</span>) {</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; stream = FindFirstVideoStream(streams);</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (stream_selector == <span class="stringliteral">&quot;audio&quot;</span>) {</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; stream = FindFirstAudioStream(streams);</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="comment">// Expect stream_selector to be a zero based stream id.</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordtype">size_t</span> stream_id;</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">if</span> (!base::StringToSizeT(stream_selector, &amp;stream_id) ||</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; stream_id &gt;= streams.size()) {</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Invalid argument --stream=&quot;</span> &lt;&lt; stream_selector &lt;&lt; <span class="stringliteral">&quot;; &quot;</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; &lt;&lt; <span class="stringliteral">&quot;should be &#39;audio&#39;, &#39;video&#39;, or a number within [0, &quot;</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; &lt;&lt; streams.size() - 1 &lt;&lt; <span class="stringliteral">&quot;].&quot;</span>;</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; }</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; stream = streams[stream_id];</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; DCHECK(stream);</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; }</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="comment">// This could occur only if stream_selector=audio|video and the corresponding</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="comment">// stream does not exist in the input.</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">if</span> (!stream) {</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;No &quot;</span> &lt;&lt; stream_selector &lt;&lt; <span class="stringliteral">&quot; stream found in the input.&quot;</span>;</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; }</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">if</span> (!language_override.empty()) {</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; stream-&gt;info()-&gt;set_language(language_override);</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; }</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; muxer-&gt;AddStream(stream);</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;}</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="ttc" id="classedash__packager_1_1media_1_1File_html_a9a4f45dcab338be2b6843e0de87ce8f1"><div class="ttname"><a href="../../de/d19/classedash__packager_1_1media_1_1File.html#a9a4f45dcab338be2b6843e0de87ce8f1">edash_packager::media::File::ReadFileToString</a></div><div class="ttdeci">static bool ReadFileToString(const char *file_name, std::string *contents)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/dfc/file_8cc_source.html#l00160">file.cc:160</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesRequestSigner_html_a1e43c2e7e3ab4f5e07d442ed59fc1278"><div class="ttname"><a href="../../d8/dcc/classedash__packager_1_1media_1_1AesRequestSigner.html#a1e43c2e7e3ab4f5e07d442ed59fc1278">edash_packager::media::AesRequestSigner::CreateSigner</a></div><div class="ttdeci">static AesRequestSigner * CreateSigner(const std::string &amp;signer_name, const std::string &amp;aes_key_hex, const std::string &amp;iv_hex)</div><div class="ttdef"><b>Definition:</b> <a href="../../d4/df5/request__signer_8cc_source.html#l00028">request_signer.cc:28</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1RsaRequestSigner_html_a51517907c457f9f991e1a72ce4355183"><div class="ttname"><a href="../../dd/da8/classedash__packager_1_1media_1_1RsaRequestSigner.html#a51517907c457f9f991e1a72ce4355183">edash_packager::media::RsaRequestSigner::CreateSigner</a></div><div class="ttdeci">static RsaRequestSigner * CreateSigner(const std::string &amp;signer_name, const std::string &amp;pkcs1_rsa_key)</div><div class="ttdef"><b>Definition:</b> <a href="../../d4/df5/request__signer_8cc_source.html#l00061">request_signer.cc:61</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1KeySource_html_ab05172d89513c0d3627502c9cff4535f"><div class="ttname"><a href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html#ab05172d89513c0d3627502c9cff4535f">edash_packager::media::KeySource::CreateFromHexStrings</a></div><div class="ttdeci">static scoped_ptr&lt; KeySource &gt; CreateFromHexStrings(const std::string &amp;key_id_hex, const std::string &amp;key_hex, const std::string &amp;pssh_data_hex, const std::string &amp;iv_hex)</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/dd6/key__source_8cc_source.html#l00100">key_source.cc:100</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,116 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../d6/d8b/structedash__packager_1_1media_1_1mp4_1_1MovieExtends.html">MovieExtends</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::mp4::MovieExtends Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d6/d8b/structedash__packager_1_1media_1_1mp4_1_1MovieExtends.html">edash_packager::media::mp4::MovieExtends</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>BoxType</b>() const OVERRIDE (defined in <a class="el" href="../../d6/d8b/structedash__packager_1_1media_1_1mp4_1_1MovieExtends.html">edash_packager::media::mp4::MovieExtends</a>)</td><td class="entry"><a class="el" href="../../d6/d8b/structedash__packager_1_1media_1_1mp4_1_1MovieExtends.html">edash_packager::media::mp4::MovieExtends</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d8b/structedash__packager_1_1media_1_1mp4_1_1MovieExtends.html#a46d5b4563b2bc9ab0bec8c01dfaf8d9e">ComputeSize</a>() OVERRIDE</td><td class="entry"><a class="el" href="../../d6/d8b/structedash__packager_1_1media_1_1mp4_1_1MovieExtends.html">edash_packager::media::mp4::MovieExtends</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>header</b> (defined in <a class="el" href="../../d6/d8b/structedash__packager_1_1media_1_1mp4_1_1MovieExtends.html">edash_packager::media::mp4::MovieExtends</a>)</td><td class="entry"><a class="el" href="../../d6/d8b/structedash__packager_1_1media_1_1mp4_1_1MovieExtends.html">edash_packager::media::mp4::MovieExtends</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>MovieExtends</b>() (defined in <a class="el" href="../../d6/d8b/structedash__packager_1_1media_1_1mp4_1_1MovieExtends.html">edash_packager::media::mp4::MovieExtends</a>)</td><td class="entry"><a class="el" href="../../d6/d8b/structedash__packager_1_1media_1_1mp4_1_1MovieExtends.html">edash_packager::media::mp4::MovieExtends</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a>(BoxReader *reader)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d8b/structedash__packager_1_1media_1_1mp4_1_1MovieExtends.html#a0f4cf9ffc7038d41a80286f78dac0e0e">ReadWrite</a>(BoxBuffer *buffer) OVERRIDE</td><td class="entry"><a class="el" href="../../d6/d8b/structedash__packager_1_1media_1_1mp4_1_1MovieExtends.html">edash_packager::media::mp4::MovieExtends</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>tracks</b> (defined in <a class="el" href="../../d6/d8b/structedash__packager_1_1media_1_1mp4_1_1MovieExtends.html">edash_packager::media::mp4::MovieExtends</a>)</td><td class="entry"><a class="el" href="../../d6/d8b/structedash__packager_1_1media_1_1mp4_1_1MovieExtends.html">edash_packager::media::mp4::MovieExtends</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a>(BufferWriter *writer)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~MovieExtends</b>() (defined in <a class="el" href="../../d6/d8b/structedash__packager_1_1media_1_1mp4_1_1MovieExtends.html">edash_packager::media::mp4::MovieExtends</a>)</td><td class="entry"><a class="el" href="../../d6/d8b/structedash__packager_1_1media_1_1mp4_1_1MovieExtends.html">edash_packager::media::mp4::MovieExtends</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:31:00 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>

View File

@ -0,0 +1,124 @@
<!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::media::wvm::DemuxStreamIdMediaSample Struct 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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>wvm</b></li><li class="navelem"><a class="el" href="../../d0/dfa/structedash__packager_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html">DemuxStreamIdMediaSample</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../d1/dfc/structedash__packager_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">edash_packager::media::wvm::DemuxStreamIdMediaSample Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:af2c97f4127e4bf5f267f16e1aacc4828"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af2c97f4127e4bf5f267f16e1aacc4828"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>demux_stream_id</b></td></tr>
<tr class="separator:af2c97f4127e4bf5f267f16e1aacc4828"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad836126dd1cba425598aa7c3f93cc719"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad836126dd1cba425598aa7c3f93cc719"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>parsed_audio_or_video_stream_id</b></td></tr>
<tr class="separator:ad836126dd1cba425598aa7c3f93cc719"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cf4c5de75b63ffd3f40f153150e299a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5cf4c5de75b63ffd3f40f153150e299a"></a>
scoped_refptr&lt; <a class="el" href="../../d8/d6c/classedash__packager_1_1media_1_1MediaSample.html">MediaSample</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>media_sample</b></td></tr>
<tr class="separator:a5cf4c5de75b63ffd3f40f153150e299a"><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>Definition at line <a class="el" href="../../db/d96/wvm__media__parser_8h_source.html#l00028">28</a> of file <a class="el" href="../../db/d96/wvm__media__parser_8h_source.html">wvm_media_parser.h</a>.</p>
</div><hr/>The documentation for this struct was generated from the following files:<ul>
<li>media/formats/wvm/<a class="el" href="../../db/d96/wvm__media__parser_8h_source.html">wvm_media_parser.h</a></li>
<li>media/formats/wvm/<a class="el" href="../../dd/d30/wvm__media__parser_8cc_source.html">wvm_media_parser.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:31:03 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>

View File

@ -0,0 +1,127 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">BoxBuffer</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::mp4::BoxBuffer Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html#aa1144b8d6912a983d65ff97f44ffeb51">BoxBuffer</a>(BoxReader *reader)</td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html#a1ecfb419ea348ad684bf3c1556d1570c">BoxBuffer</a>(BufferWriter *writer)</td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html#a7efa53df1ef135edd31d1e1818b9a884">IgnoreBytes</a>(size_t num_bytes)</td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html#a0b34f56b01acc899ae44ab9f4cb0b783">Pos</a>() const </td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html#a2e46c4812ac9c48288a8461c230a375b">PrepareChildren</a>()</td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html#a2141be2c0c4ec27b458df15e13d7239e">reader</a>()</td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html#a36c0d8448dab759db37f9581ea602807">Reading</a>() const </td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html#ae2f4c04bd204e593491db3e24715efd2">ReadWriteChild</a>(Box *box)</td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ReadWriteFourCC</b>(FourCC *fourcc) (defined in <a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a>)</td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ReadWriteInt16</b>(int16_t *v) (defined in <a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a>)</td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ReadWriteInt32</b>(int32_t *v) (defined in <a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a>)</td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ReadWriteInt64</b>(int64_t *v) (defined in <a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a>)</td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ReadWriteInt64NBytes</b>(int64_t *v, size_t num_bytes) (defined in <a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a>)</td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ReadWriteUInt16</b>(uint16_t *v) (defined in <a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a>)</td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ReadWriteUInt32</b>(uint32_t *v) (defined in <a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a>)</td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ReadWriteUInt64</b>(uint64_t *v) (defined in <a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a>)</td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html#a726ab4970a19fa671137e88098e3cd48">ReadWriteUInt64NBytes</a>(uint64_t *v, size_t num_bytes)</td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>ReadWriteUInt8</b>(uint8_t *v) (defined in <a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a>)</td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ReadWriteVector</b>(std::vector&lt; uint8_t &gt; *vector, size_t count) (defined in <a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a>)</td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html#aef7267aa7963866d3dcef4f051f84674">Size</a>() const </td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html#a0573809c43c576c1835f5b8aa0e57191">TryReadWriteChild</a>(Box *box)</td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html#ac1c1d4d768f8f656f6ac2b5f4873b0a1">writer</a>()</td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~BoxBuffer</b>() (defined in <a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a>)</td><td class="entry"><a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">edash_packager::media::mp4::BoxBuffer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:54 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>

View File

@ -0,0 +1,552 @@
<!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: media/formats/mp4/segmenter.cc Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_65f7acfa8cf3a5f1edc11faa2428b914.html">formats</a></li><li class="navelem"><a class="el" href="../../dir_3e9291fd7a18fdecc763294cb2628910.html">mp4</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">segmenter.cc</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp4/segmenter.h&quot;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &lt;algorithm&gt;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;packager/base/stl_util.h&quot;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/buffer_writer.h&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/key_source.h&quot;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/media_sample.h&quot;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/media_stream.h&quot;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/muxer_options.h&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/video_stream_info.h&quot;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#include &quot;packager/media/event/muxer_listener.h&quot;</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &quot;packager/media/event/progress_listener.h&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp4/box_definitions.h&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp4/key_rotation_fragmenter.h&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keyword">namespace </span>mp4 {</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="keyword">namespace </span>{</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment">// Generate 64bit IV by default.</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="keyword">const</span> <span class="keywordtype">size_t</span> kDefaultIvSize = 8u;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="keyword">const</span> <span class="keywordtype">size_t</span> kCencKeyIdSize = 16u;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment">// The version of cenc implemented here. CENC 4.</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keyword">const</span> <span class="keywordtype">int</span> kCencSchemeVersion = 0x00010000;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="comment">// The default KID for key rotation is all 0s.</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keyword">const</span> uint8_t kKeyRotationDefaultKeyId[] = {</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0,</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; 0, 0, 0, 0, 0, 0, 0, 0</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;};</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;COMPILE_ASSERT(arraysize(kKeyRotationDefaultKeyId) == kCencKeyIdSize,</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; cenc_key_id_must_be_size_16);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;uint64_t Rescale(uint64_t time_in_old_scale,</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; uint32_t old_scale,</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; uint32_t new_scale) {</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(time_in_old_scale) / old_scale * new_scale;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;}</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keywordtype">void</span> GenerateSinf(<span class="keyword">const</span> EncryptionKey&amp; encryption_key,</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; FourCC old_type,</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; ProtectionSchemeInfo* sinf) {</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; sinf-&gt;format.format = old_type;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; sinf-&gt;type.type = FOURCC_CENC;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; sinf-&gt;type.version = kCencSchemeVersion;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; sinf-&gt;info.track_encryption.is_encrypted = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; sinf-&gt;info.track_encryption.default_iv_size =</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; encryption_key.iv.empty() ? kDefaultIvSize : encryption_key.iv.size();</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; sinf-&gt;info.track_encryption.default_kid = encryption_key.key_id;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;}</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="keywordtype">void</span> GenerateEncryptedSampleEntry(<span class="keyword">const</span> EncryptionKey&amp; encryption_key,</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordtype">double</span> clear_lead_in_seconds,</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; SampleDescription* description) {</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; DCHECK(description);</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">if</span> (description-&gt;type == kVideo) {</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; DCHECK_EQ(1u, description-&gt;video_entries.size());</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="comment">// Add a second entry for clear content if needed.</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">if</span> (clear_lead_in_seconds &gt; 0)</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; description-&gt;video_entries.push_back(description-&gt;video_entries[0]);</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="comment">// Convert the first entry to an encrypted entry.</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; VideoSampleEntry&amp; entry = description-&gt;video_entries[0];</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; GenerateSinf(encryption_key, entry.format, &amp;entry.sinf);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; entry.format = FOURCC_ENCV;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; DCHECK_EQ(kAudio, description-&gt;type);</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; DCHECK_EQ(1u, description-&gt;audio_entries.size());</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="comment">// Add a second entry for clear content if needed.</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">if</span> (clear_lead_in_seconds &gt; 0)</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; description-&gt;audio_entries.push_back(description-&gt;audio_entries[0]);</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="comment">// Convert the first entry to an encrypted entry.</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; AudioSampleEntry&amp; entry = description-&gt;audio_entries[0];</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; GenerateSinf(encryption_key, entry.format, &amp;entry.sinf);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; entry.format = FOURCC_ENCA;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;}</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;uint8_t GetNaluLengthSize(<span class="keyword">const</span> StreamInfo&amp; stream_info) {</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">if</span> (stream_info.stream_type() != kStreamVideo)</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keyword">const</span> VideoStreamInfo&amp; video_stream_info =</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>VideoStreamInfo&amp;<span class="keyword">&gt;</span>(stream_info);</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">return</span> video_stream_info.nalu_length_size();</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;}</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;KeySource::TrackType GetTrackTypeForEncryption(<span class="keyword">const</span> StreamInfo&amp; stream_info,</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; uint32_t max_sd_pixels) {</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">if</span> (stream_info.stream_type() == kStreamAudio)</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">return</span> KeySource::TRACK_TYPE_AUDIO;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; DCHECK_EQ(kStreamVideo, stream_info.stream_type());</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keyword">const</span> VideoStreamInfo&amp; video_stream_info =</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keyword">static_cast&lt;</span><span class="keyword">const </span>VideoStreamInfo&amp;<span class="keyword">&gt;</span>(stream_info);</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; uint32_t pixels = video_stream_info.width() * video_stream_info.height();</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">return</span> (pixels &gt; max_sd_pixels) ? KeySource::TRACK_TYPE_HD</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; : KeySource::TRACK_TYPE_SD;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;}</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;} <span class="comment">// namespace</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;Segmenter::Segmenter(<span class="keyword">const</span> MuxerOptions&amp; options,</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; scoped_ptr&lt;FileType&gt; ftyp,</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; scoped_ptr&lt;Movie&gt; moov)</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; : options_(options),</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; ftyp_(ftyp.Pass()),</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; moov_(moov.Pass()),</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; moof_(new MovieFragment()),</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; fragment_buffer_(new BufferWriter()),</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; sidx_(new SegmentIndex()),</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; muxer_listener_(NULL),</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; progress_listener_(NULL),</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; progress_target_(0),</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; accumulated_progress_(0),</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; sample_duration_(0u) {}</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;Segmenter::~Segmenter() { STLDeleteElements(&amp;fragmenters_); }</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div>
<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#ae977765092cab9a566b4a5a3e9184370"> 132</a></span>&#160;<a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> <a class="code" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#ae977765092cab9a566b4a5a3e9184370">Segmenter::Initialize</a>(<span class="keyword">const</span> std::vector&lt;MediaStream*&gt;&amp; streams,</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="../../df/de7/classedash__packager_1_1media_1_1MuxerListener.html">MuxerListener</a>* muxer_listener,</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="../../d9/d2c/classedash__packager_1_1media_1_1ProgressListener.html">ProgressListener</a>* progress_listener,</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html">KeySource</a>* encryption_key_source,</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; uint32_t max_sd_pixels,</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordtype">double</span> clear_lead_in_seconds,</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordtype">double</span> crypto_period_duration_in_seconds) {</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; DCHECK_LT(0u, streams.size());</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; muxer_listener_ = muxer_listener;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; progress_listener_ = progress_listener;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; moof_-&gt;header.sequence_number = 0;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; moof_-&gt;tracks.resize(streams.size());</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; segment_durations_.resize(streams.size());</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; fragmenters_.resize(streams.size());</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> key_rotation_enabled = crypto_period_duration_in_seconds != 0;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> kInitialEncryptionInfo = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">for</span> (uint32_t i = 0; i &lt; streams.size(); ++i) {</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; stream_map_[streams[i]] = i;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; moof_-&gt;tracks[i].header.track_id = i + 1;</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">if</span> (streams[i]-&gt;info()-&gt;stream_type() == kStreamVideo) {</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="comment">// Use the first video stream as the reference stream (which is 1-based).</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">if</span> (sidx_-&gt;reference_id == 0)</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; sidx_-&gt;reference_id = i + 1;</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; }</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">if</span> (!encryption_key_source) {</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; fragmenters_[i] = <span class="keyword">new</span> <a class="code" href="../../db/dae/classedash__packager_1_1media_1_1mp4_1_1Fragmenter.html">Fragmenter</a>(&amp;moof_-&gt;tracks[i]);</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; uint8_t nalu_length_size = GetNaluLengthSize(*streams[i]-&gt;info());</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; KeySource::TrackType track_type =</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; GetTrackTypeForEncryption(*streams[i]-&gt;info(), max_sd_pixels);</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <a class="code" href="../../d3/d74/structedash__packager_1_1media_1_1mp4_1_1SampleDescription.html">SampleDescription</a>&amp; description =</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; moov_-&gt;tracks[i].media.information.sample_table.description;</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">if</span> (key_rotation_enabled) {</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="comment">// Fill encrypted sample entry with default key.</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="../../d0/d86/structedash__packager_1_1media_1_1EncryptionKey.html">EncryptionKey</a> encryption_key;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; encryption_key.key_id.assign(</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; kKeyRotationDefaultKeyId,</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; kKeyRotationDefaultKeyId + arraysize(kKeyRotationDefaultKeyId));</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; GenerateEncryptedSampleEntry(encryption_key, clear_lead_in_seconds,</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; &amp;description);</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">if</span> (muxer_listener_) {</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; muxer_listener_-&gt;OnEncryptionInfoReady(</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; kInitialEncryptionInfo, encryption_key_source-&gt;<a class="code" href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html#afbb7d084395a1426eb0143ae8357b2fc">UUID</a>(),</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; encryption_key_source-&gt;<a class="code" href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html#aa73dacef997e7700b8669bb2db5f8f31">SystemName</a>(), encryption_key.key_id,</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; std::vector&lt;uint8_t&gt;());</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; }</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; fragmenters_[i] = <span class="keyword">new</span> <a class="code" href="../../dc/d8a/classedash__packager_1_1media_1_1mp4_1_1KeyRotationFragmenter.html">KeyRotationFragmenter</a>(</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; moof_.get(),</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; &amp;moof_-&gt;tracks[i],</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; encryption_key_source,</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; track_type,</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; crypto_period_duration_in_seconds * streams[i]-&gt;info()-&gt;time_scale(),</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; clear_lead_in_seconds * streams[i]-&gt;info()-&gt;time_scale(),</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; nalu_length_size,</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; muxer_listener_);</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; scoped_ptr&lt;EncryptionKey&gt; encryption_key(<span class="keyword">new</span> <a class="code" href="../../d0/d86/structedash__packager_1_1media_1_1EncryptionKey.html">EncryptionKey</a>());</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> status =</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; encryption_key_source-&gt;<a class="code" href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html#a49ccfe7a61c36ac9818482a7892915d3">GetKey</a>(track_type, encryption_key.get());</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">if</span> (!status.ok())</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">return</span> status;</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; GenerateEncryptedSampleEntry(*encryption_key, clear_lead_in_seconds,</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; &amp;description);</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="comment">// One and only one pssh box is needed.</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">if</span> (moov_-&gt;pssh.empty()) {</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; moov_-&gt;pssh.resize(1);</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; moov_-&gt;pssh[0].raw_box = encryption_key-&gt;pssh;</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="comment">// Also only one default key id.</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">if</span> (muxer_listener_) {</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; muxer_listener_-&gt;OnEncryptionInfoReady(</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; kInitialEncryptionInfo,</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; encryption_key_source-&gt;<a class="code" href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html#afbb7d084395a1426eb0143ae8357b2fc">UUID</a>(), encryption_key_source-&gt;<a class="code" href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html#aa73dacef997e7700b8669bb2db5f8f31">SystemName</a>(),</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; encryption_key-&gt;key_id, encryption_key-&gt;pssh);</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; }</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; fragmenters_[i] = <span class="keyword">new</span> <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html">EncryptingFragmenter</a>(</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; &amp;moof_-&gt;tracks[i],</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; encryption_key.Pass(),</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; clear_lead_in_seconds * streams[i]-&gt;info()-&gt;time_scale(),</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; nalu_length_size);</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; }</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="comment">// Choose the first stream if there is no VIDEO.</span></div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">if</span> (sidx_-&gt;reference_id == 0)</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; sidx_-&gt;reference_id = 1;</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; sidx_-&gt;timescale = streams[GetReferenceStreamId()]-&gt;info()-&gt;time_scale();</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="comment">// Use media duration as progress target.</span></div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; progress_target_ = streams[GetReferenceStreamId()]-&gt;info()-&gt;duration();</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="comment">// Use the reference stream&#39;s time scale as movie time scale.</span></div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; moov_-&gt;header.timescale = sidx_-&gt;timescale;</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; moof_-&gt;header.sequence_number = 1;</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">return</span> DoInitialize();</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;}</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;</div>
<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#ad1136a3e7c2e796267fbd3879d108c2a"> 240</a></span>&#160;<a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> <a class="code" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#ad1136a3e7c2e796267fbd3879d108c2a">Segmenter::Finalize</a>() {</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">for</span> (std::vector&lt;Fragmenter*&gt;::iterator it = fragmenters_.begin();</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; it != fragmenters_.end();</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; ++it) {</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> status = FinalizeFragment(<span class="keyword">true</span>, *it);</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">if</span> (!status.ok())</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">return</span> status;</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; }</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="comment">// Set tracks and moov durations.</span></div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="comment">// Note that the updated moov box will be written to output file for VOD case</span></div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="comment">// only.</span></div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">for</span> (std::vector&lt;Track&gt;::iterator track = moov_-&gt;tracks.begin();</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; track != moov_-&gt;tracks.end();</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; ++track) {</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; track-&gt;header.duration = Rescale(track-&gt;media.header.duration,</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; track-&gt;media.header.timescale,</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; moov_-&gt;header.timescale);</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">if</span> (track-&gt;header.duration &gt; moov_-&gt;header.duration)</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; moov_-&gt;header.duration = track-&gt;header.duration;</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; }</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; moov_-&gt;extends.header.fragment_duration = moov_-&gt;header.duration;</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;</div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">return</span> DoFinalize();</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;}</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;</div>
<div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#a5c21059ee9a533caec81491bdb751c57"> 266</a></span>&#160;<a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> <a class="code" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#a5c21059ee9a533caec81491bdb751c57">Segmenter::AddSample</a>(<span class="keyword">const</span> <a class="code" href="../../d2/dfd/classedash__packager_1_1media_1_1MediaStream.html">MediaStream</a>* stream,</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; scoped_refptr&lt;MediaSample&gt; sample) {</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="comment">// Find the fragmenter for this stream.</span></div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; DCHECK(stream);</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; DCHECK(stream_map_.find(stream) != stream_map_.end());</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; uint32_t stream_id = stream_map_[stream];</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <a class="code" href="../../db/dae/classedash__packager_1_1media_1_1mp4_1_1Fragmenter.html">Fragmenter</a>* fragmenter = fragmenters_[stream_id];</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="comment">// Set default sample duration if it has not been set yet.</span></div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">if</span> (moov_-&gt;extends.tracks[stream_id].default_sample_duration == 0) {</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; moov_-&gt;extends.tracks[stream_id].default_sample_duration =</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; sample-&gt;duration();</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; }</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">if</span> (fragmenter-&gt;fragment_finalized()) {</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a>(error::FRAGMENT_FINALIZED,</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="stringliteral">&quot;Current fragment is finalized already.&quot;</span>);</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; }</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;</div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordtype">bool</span> finalize_fragment = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">if</span> (fragmenter-&gt;fragment_duration() &gt;=</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; options_.<a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a1754599c00fdf4c474d3072abf71c1de">fragment_duration</a> * stream-&gt;info()-&gt;time_scale()) {</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">if</span> (sample-&gt;is_key_frame() || !options_.<a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#ab70f1d41f9556fa793ec638762d1c584">fragment_sap_aligned</a>) {</div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; finalize_fragment = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; }</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; }</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordtype">bool</span> finalize_segment = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">if</span> (segment_durations_[stream_id] &gt;=</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; options_.<a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#ad6f281dfd832bd073f5fb5fc46342f9f">segment_duration</a> * stream-&gt;info()-&gt;time_scale()) {</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">if</span> (sample-&gt;is_key_frame() || !options_.<a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#af0403298bf08392bb3009061cd8de2b0">segment_sap_aligned</a>) {</div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; finalize_segment = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; finalize_fragment = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; }</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; }</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> status;</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordflow">if</span> (finalize_fragment) {</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; status = FinalizeFragment(finalize_segment, fragmenter);</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keywordflow">if</span> (!status.ok())</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">return</span> status;</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; }</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; status = fragmenter-&gt;<a class="code" href="../../db/dae/classedash__packager_1_1media_1_1mp4_1_1Fragmenter.html#a81d8b1f324bdd2bc9cc2e5a469243926">AddSample</a>(sample);</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">if</span> (!status.ok())</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">return</span> status;</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">if</span> (sample_duration_ == 0)</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; sample_duration_ = sample-&gt;duration();</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; moov_-&gt;tracks[stream_id].media.header.duration += sample-&gt;duration();</div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; segment_durations_[stream_id] += sample-&gt;duration();</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; DCHECK_GE(segment_durations_[stream_id], fragmenter-&gt;fragment_duration());</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">return</span> Status::OK;</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;}</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;uint32_t Segmenter::GetReferenceTimeScale()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">return</span> moov_-&gt;header.timescale;</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;}</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;</div>
<div class="line"><a name="l00324"></a><span class="lineno"><a class="line" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#a0e5e570d5f82c796ba015ca06c7a676c"> 324</a></span>&#160;<span class="keywordtype">double</span> <a class="code" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#a0e5e570d5f82c796ba015ca06c7a676c">Segmenter::GetDuration</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordflow">if</span> (moov_-&gt;header.timescale == 0) {</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="comment">// Handling the case where this is not properly initialized.</span></div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">return</span> 0.0;</div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; }</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;</div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(moov_-&gt;header.duration) / moov_-&gt;header.timescale;</div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;}</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;</div>
<div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#a287d51571c92704274550d9f1d246cf9"> 333</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#a287d51571c92704274550d9f1d246cf9">Segmenter::UpdateProgress</a>(uint64_t progress) {</div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; accumulated_progress_ += progress;</div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">if</span> (!progress_listener_) <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">if</span> (progress_target_ == 0) <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="comment">// It might happen that accumulated progress exceeds progress_target due to</span></div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="comment">// computation errors, e.g. rounding error. Cap it so it never reports &gt; 100%</span></div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="comment">// progress.</span></div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">if</span> (accumulated_progress_ &gt;= progress_target_) {</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; progress_listener_-&gt;<a class="code" href="../../d9/d2c/classedash__packager_1_1media_1_1ProgressListener.html#a2e30994077f8798d56f61ee20fd9a776">OnProgress</a>(1.0);</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; progress_listener_-&gt;<a class="code" href="../../d9/d2c/classedash__packager_1_1media_1_1ProgressListener.html#a2e30994077f8798d56f61ee20fd9a776">OnProgress</a>(static_cast&lt;double&gt;(accumulated_progress_) /</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; progress_target_);</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; }</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;}</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;</div>
<div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#a4e58a007d4daafe1b49a70d39e52e339"> 349</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#a4e58a007d4daafe1b49a70d39e52e339">Segmenter::SetComplete</a>() {</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">if</span> (!progress_listener_) <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; progress_listener_-&gt;<a class="code" href="../../d9/d2c/classedash__packager_1_1media_1_1ProgressListener.html#a2e30994077f8798d56f61ee20fd9a776">OnProgress</a>(1.0);</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;}</div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;<a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> Segmenter::FinalizeSegment() {</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> status = DoFinalizeSegment();</div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;</div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="comment">// Reset segment information to initial state.</span></div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; sidx_-&gt;references.clear();</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; std::vector&lt;uint64_t&gt;::iterator it = segment_durations_.begin();</div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordflow">for</span> (; it != segment_durations_.end(); ++it)</div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; *it = 0;</div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">return</span> status;</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;}</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;uint32_t Segmenter::GetReferenceStreamId() {</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; DCHECK(sidx_);</div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordflow">return</span> sidx_-&gt;reference_id - 1;</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;}</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;</div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;Status Segmenter::FinalizeFragment(<span class="keywordtype">bool</span> finalize_segment,</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; Fragmenter* fragmenter) {</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; fragmenter-&gt;FinalizeFragment();</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="comment">// Check if all tracks are ready for fragmentation.</span></div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">for</span> (std::vector&lt;Fragmenter*&gt;::iterator it = fragmenters_.begin();</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; it != fragmenters_.end();</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; ++it) {</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">if</span> (!(*it)-&gt;fragment_finalized())</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keywordflow">return</span> Status::OK;</div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; }</div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160;</div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; MediaData mdat;</div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="comment">// Fill in data offsets. Data offset base is moof size + mdat box size.</span></div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="comment">// (mdat is still empty, mdat size is the same as mdat box size).</span></div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; uint64_t base = moof_-&gt;ComputeSize() + mdat.ComputeSize();</div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; moof_-&gt;tracks.size(); ++i) {</div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; TrackFragment&amp; traf = moof_-&gt;tracks[i];</div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; Fragmenter* fragmenter = fragmenters_[i];</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordflow">if</span> (fragmenter-&gt;aux_data()-&gt;Size() &gt; 0) {</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; traf.auxiliary_offset.offsets[0] += base;</div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; base += fragmenter-&gt;aux_data()-&gt;Size();</div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; }</div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; traf.runs[0].data_offset += base;</div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; base += fragmenter-&gt;data()-&gt;Size();</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; }</div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;</div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="comment">// Generate segment reference.</span></div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; sidx_-&gt;references.resize(sidx_-&gt;references.size() + 1);</div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; fragmenters_[GetReferenceStreamId()]-&gt;GenerateSegmentReference(</div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; &amp;sidx_-&gt;references[sidx_-&gt;references.size() - 1]);</div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; sidx_-&gt;references[sidx_-&gt;references.size() - 1].referenced_size = base;</div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;</div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="comment">// Write the fragment to buffer.</span></div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; moof_-&gt;Write(fragment_buffer_.get());</div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;</div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; moof_-&gt;tracks.size(); ++i) {</div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; Fragmenter* fragmenter = fragmenters_[i];</div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; mdat.data_size =</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; fragmenter-&gt;aux_data()-&gt;Size() + fragmenter-&gt;data()-&gt;Size();</div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; mdat.Write(fragment_buffer_.get());</div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">if</span> (fragmenter-&gt;aux_data()-&gt;Size()) {</div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; fragment_buffer_-&gt;AppendBuffer(*fragmenter-&gt;aux_data());</div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; }</div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; fragment_buffer_-&gt;AppendBuffer(*fragmenter-&gt;data());</div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; }</div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;</div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="comment">// Increase sequence_number for next fragment.</span></div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; ++moof_-&gt;header.sequence_number;</div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160;</div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <span class="keywordflow">if</span> (finalize_segment)</div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="keywordflow">return</span> FinalizeSegment();</div>
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;</div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="keywordflow">return</span> Status::OK;</div>
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;}</div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;</div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;} <span class="comment">// namespace mp4</span></div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1Fragmenter_html"><div class="ttname"><a href="../../db/dae/classedash__packager_1_1media_1_1mp4_1_1Fragmenter.html">edash_packager::media::mp4::Fragmenter</a></div><div class="ttdef"><b>Definition:</b> <a href="../../da/dd1/fragmenter_8h_source.html#l00029">fragmenter.h:29</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1KeySource_html_a49ccfe7a61c36ac9818482a7892915d3"><div class="ttname"><a href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html#a49ccfe7a61c36ac9818482a7892915d3">edash_packager::media::KeySource::GetKey</a></div><div class="ttdeci">virtual Status GetKey(TrackType track_type, EncryptionKey *key)</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/dd6/key__source_8cc_source.html#l00046">key_source.cc:46</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1mp4_1_1SampleDescription_html"><div class="ttname"><a href="../../d3/d74/structedash__packager_1_1media_1_1mp4_1_1SampleDescription.html">edash_packager::media::mp4::SampleDescription</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d7b/box__definitions_8h_source.html#l00233">box_definitions.h:233</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1MuxerOptions_html_a1754599c00fdf4c474d3072abf71c1de"><div class="ttname"><a href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a1754599c00fdf4c474d3072abf71c1de">edash_packager::media::MuxerOptions::fragment_duration</a></div><div class="ttdeci">double fragment_duration</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d0e/muxer__options_8h_source.html#l00034">muxer_options.h:34</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1MuxerOptions_html_ab70f1d41f9556fa793ec638762d1c584"><div class="ttname"><a href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#ab70f1d41f9556fa793ec638762d1c584">edash_packager::media::MuxerOptions::fragment_sap_aligned</a></div><div class="ttdeci">bool fragment_sap_aligned</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d0e/muxer__options_8h_source.html#l00043">muxer_options.h:43</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1Segmenter_html_a0e5e570d5f82c796ba015ca06c7a676c"><div class="ttname"><a href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#a0e5e570d5f82c796ba015ca06c7a676c">edash_packager::media::mp4::Segmenter::GetDuration</a></div><div class="ttdeci">double GetDuration() const </div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d08/segmenter_8cc_source.html#l00324">segmenter.cc:324</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1EncryptionKey_html"><div class="ttname"><a href="../../d0/d86/structedash__packager_1_1media_1_1EncryptionKey.html">edash_packager::media::EncryptionKey</a></div><div class="ttdef"><b>Definition:</b> <a href="../../dc/d3f/key__source_8h_source.html#l00018">key_source.h:18</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1Segmenter_html_ad1136a3e7c2e796267fbd3879d108c2a"><div class="ttname"><a href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#ad1136a3e7c2e796267fbd3879d108c2a">edash_packager::media::mp4::Segmenter::Finalize</a></div><div class="ttdeci">Status Finalize()</div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d08/segmenter_8cc_source.html#l00240">segmenter.cc:240</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1ProgressListener_html"><div class="ttname"><a href="../../d9/d2c/classedash__packager_1_1media_1_1ProgressListener.html">edash_packager::media::ProgressListener</a></div><div class="ttdoc">This class listens to progress updates events. </div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d9d/progress__listener_8h_source.html#l00020">progress_listener.h:20</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html">edash_packager::media::mp4::EncryptingFragmenter</a></div><div class="ttdoc">EncryptingFragmenter generates MP4 fragments with sample encrypted. </div><div class="ttdef"><b>Definition:</b> <a href="../../d1/dcb/encrypting__fragmenter_8h_source.html#l00021">encrypting_fragmenter.h:21</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1Status_html"><div class="ttname"><a href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">edash_packager::media::Status</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d13/status_8h_source.html#l00076">status.h:76</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1Fragmenter_html_a81d8b1f324bdd2bc9cc2e5a469243926"><div class="ttname"><a href="../../db/dae/classedash__packager_1_1media_1_1mp4_1_1Fragmenter.html#a81d8b1f324bdd2bc9cc2e5a469243926">edash_packager::media::mp4::Fragmenter::AddSample</a></div><div class="ttdeci">virtual Status AddSample(scoped_refptr&lt; MediaSample &gt; sample)</div><div class="ttdef"><b>Definition:</b> <a href="../../d8/d9a/fragmenter_8cc_source.html#l00036">fragmenter.cc:36</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1Segmenter_html_a5c21059ee9a533caec81491bdb751c57"><div class="ttname"><a href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#a5c21059ee9a533caec81491bdb751c57">edash_packager::media::mp4::Segmenter::AddSample</a></div><div class="ttdeci">Status AddSample(const MediaStream *stream, scoped_refptr&lt; MediaSample &gt; sample)</div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d08/segmenter_8cc_source.html#l00266">segmenter.cc:266</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1KeyRotationFragmenter_html"><div class="ttname"><a href="../../dc/d8a/classedash__packager_1_1media_1_1mp4_1_1KeyRotationFragmenter.html">edash_packager::media::mp4::KeyRotationFragmenter</a></div><div class="ttdef"><b>Definition:</b> <a href="../../da/d22/key__rotation__fragmenter_8h_source.html#l00022">key_rotation_fragmenter.h:22</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1KeySource_html_afbb7d084395a1426eb0143ae8357b2fc"><div class="ttname"><a href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html#afbb7d084395a1426eb0143ae8357b2fc">edash_packager::media::KeySource::UUID</a></div><div class="ttdeci">virtual std::string UUID()</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/dd6/key__source_8cc_source.html#l00092">key_source.cc:92</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1MuxerListener_html"><div class="ttname"><a href="../../df/de7/classedash__packager_1_1media_1_1MuxerListener.html">edash_packager::media::MuxerListener</a></div><div class="ttdef"><b>Definition:</b> <a href="../../de/dfa/muxer__listener_8h_source.html#l00029">muxer_listener.h:29</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1KeySource_html"><div class="ttname"><a href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html">edash_packager::media::KeySource</a></div><div class="ttdoc">KeySource is responsible for encryption key acquisition. </div><div class="ttdef"><b>Definition:</b> <a href="../../dc/d3f/key__source_8h_source.html#l00029">key_source.h:29</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1MuxerOptions_html_af0403298bf08392bb3009061cd8de2b0"><div class="ttname"><a href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#af0403298bf08392bb3009061cd8de2b0">edash_packager::media::MuxerOptions::segment_sap_aligned</a></div><div class="ttdeci">bool segment_sap_aligned</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d0e/muxer__options_8h_source.html#l00038">muxer_options.h:38</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1ProgressListener_html_a2e30994077f8798d56f61ee20fd9a776"><div class="ttname"><a href="../../d9/d2c/classedash__packager_1_1media_1_1ProgressListener.html#a2e30994077f8798d56f61ee20fd9a776">edash_packager::media::ProgressListener::OnProgress</a></div><div class="ttdeci">virtual void OnProgress(double progress)=0</div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1Segmenter_html_a287d51571c92704274550d9f1d246cf9"><div class="ttname"><a href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#a287d51571c92704274550d9f1d246cf9">edash_packager::media::mp4::Segmenter::UpdateProgress</a></div><div class="ttdeci">void UpdateProgress(uint64_t progress)</div><div class="ttdoc">Update segmentation progress using ProgressListener. </div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d08/segmenter_8cc_source.html#l00333">segmenter.cc:333</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1Segmenter_html_ae977765092cab9a566b4a5a3e9184370"><div class="ttname"><a href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#ae977765092cab9a566b4a5a3e9184370">edash_packager::media::mp4::Segmenter::Initialize</a></div><div class="ttdeci">Status Initialize(const std::vector&lt; MediaStream * &gt; &amp;streams, MuxerListener *muxer_listener, ProgressListener *progress_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds, double crypto_period_duration_in_seconds)</div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d08/segmenter_8cc_source.html#l00132">segmenter.cc:132</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1Segmenter_html_a4e58a007d4daafe1b49a70d39e52e339"><div class="ttname"><a href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#a4e58a007d4daafe1b49a70d39e52e339">edash_packager::media::mp4::Segmenter::SetComplete</a></div><div class="ttdeci">void SetComplete()</div><div class="ttdoc">Set progress to 100%. </div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d08/segmenter_8cc_source.html#l00349">segmenter.cc:349</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1KeySource_html_aa73dacef997e7700b8669bb2db5f8f31"><div class="ttname"><a href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html#aa73dacef997e7700b8669bb2db5f8f31">edash_packager::media::KeySource::SystemName</a></div><div class="ttdeci">virtual std::string SystemName()</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/dd6/key__source_8cc_source.html#l00096">key_source.cc:96</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1MediaStream_html"><div class="ttname"><a href="../../d2/dfd/classedash__packager_1_1media_1_1MediaStream.html">edash_packager::media::MediaStream</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d9/d93/media__stream_8h_source.html#l00026">media_stream.h:26</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1MuxerOptions_html_ad6f281dfd832bd073f5fb5fc46342f9f"><div class="ttname"><a href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#ad6f281dfd832bd073f5fb5fc46342f9f">edash_packager::media::MuxerOptions::segment_duration</a></div><div class="ttdeci">double segment_duration</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d0e/muxer__options_8h_source.html#l00030">muxer_options.h:30</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,248 @@
<!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: media/base/status.h Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_c6ada2450b25ab5438a4dba6c9b890af.html">base</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">status.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#ifndef MEDIA_BASE_STATUS_H_</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#define MEDIA_BASE_STATUS_H_</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;packager/base/logging.h&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="keyword">namespace </span>error {</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="keyword">enum</span> Code {</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="comment">// Not an error; returned on success</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; OK,</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="comment">// Unknown error. An example of where this error may be returned is</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="comment">// errors raised by APIs that do not return enough error information</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="comment">// may be converted to this error.</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; UNKNOWN,</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="comment">// The operation was cancelled (typically by the caller).</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; CANCELLED,</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="comment">// Client specified an invalid argument. INVALID_ARGUMENT indicates</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="comment">// arguments that are problematic regardless of the state of the system</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="comment">// (e.g. a malformed file name).</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; INVALID_ARGUMENT,</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="comment">// Operation is not implemented or not supported/enabled.</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; UNIMPLEMENTED,</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="comment">// Cannot open file.</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; FILE_FAILURE,</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="comment">// End of stream.</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; END_OF_STREAM,</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="comment">// Failure to get HTTP response successfully,</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; HTTP_FAILURE,</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="comment">// Unable to parse the media file.</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; PARSER_FAILURE,</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="comment">// Fail to mux the media file.</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; MUXER_FAILURE,</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="comment">// This track fragment is finalized.</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; FRAGMENT_FINALIZED,</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="comment">// Server errors. Receives malformed response from server.</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; SERVER_ERROR,</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="comment">// Internal errors. Some invariants have been broken.</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; INTERNAL_ERROR,</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="comment">// The operation was stopped.</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; STOPPED,</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="comment">// The operation timed out.</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; TIME_OUT,</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="comment">// Value was not found.</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; NOT_FOUND,</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;};</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;} <span class="comment">// namespace error</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html"> 76</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> {</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#ab3b32018b2666a73432b860ed27ec4e2"> 79</a></span>&#160; <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#ab3b32018b2666a73432b860ed27ec4e2">Status</a>() : error_code_(error::OK) {}</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#a9688991aab3f7b1db8acc5341b81d160"> 84</a></span>&#160; <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#a9688991aab3f7b1db8acc5341b81d160">Status</a>(error::Code error_code, <span class="keyword">const</span> std::string&amp; error_message)</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; : error_code_(error_code) {</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">if</span> (!ok())</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; error_message_ = error_message;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; }</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; ~<a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a>() {}</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#ab3b32018b2666a73432b860ed27ec4e2">Status</a>&amp; OK; <span class="comment">// Identical to 0-arg constructor.</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#ab3b32018b2666a73432b860ed27ec4e2">Status</a>&amp; UNKNOWN;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#a9df7f5c60dbb8c1269f499d0cba5bcf5"> 101</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#a9df7f5c60dbb8c1269f499d0cba5bcf5">SetError</a>(error::Code error_code, <span class="keyword">const</span> std::string&amp; error_message) {</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">if</span> (error_code == error::OK) {</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#a0fbada5284f16152c63ebcdd30c36736">Clear</a>();</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; error_code_ = error_code;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; error_message_ = error_message;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; }</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#a1c46d74b2d15c4bbcba6d742e82fce34"> 118</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#a1c46d74b2d15c4bbcba6d742e82fce34">Update</a>(<span class="keyword">const</span> <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a>&amp; new_status) {</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">if</span> (ok())</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; *<span class="keyword">this</span> = new_status;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div>
<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#a0fbada5284f16152c63ebcdd30c36736"> 124</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#a0fbada5284f16152c63ebcdd30c36736">Clear</a>() {</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; error_code_ = error::OK;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; error_message_ = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; }</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordtype">bool</span> ok()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> error_code_ == error::OK; }</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; error::Code error_code()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> error_code_; }</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keyword">const</span> std::string&amp; error_message()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> error_message_; }</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#ab3b32018b2666a73432b860ed27ec4e2">Status</a>&amp; x)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">return</span> error_code_ == x.error_code() &amp;&amp; error_message_ == x.error_message();</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; }</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#ab3b32018b2666a73432b860ed27ec4e2">Status</a>&amp; x)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == x); }</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#ac5219fe50f7679fd8448899b4df4e7e6"> 141</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#ac5219fe50f7679fd8448899b4df4e7e6">Matches</a>(<span class="keyword">const</span> <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a>&amp; x)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> error_code_ == x.error_code(); }</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; std::string <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#a590cad3d305a36c1cf05e6770b728187">ToString</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordtype">void</span> Swap(<a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a>* other) {</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; error::Code error_code = error_code_;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; error_code_ = other-&gt;error_code_;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; other-&gt;error_code_ = error_code;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; error_message_.swap(other-&gt;error_message_);</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; }</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; error::Code error_code_;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; std::string error_message_;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="comment">// Not using DISALLOW_COPY_AND_ASSIGN here intentionally to allow the compiler</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="comment">// generated copy constructor and assignment operator.</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;};</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="keyword">extern</span> std::ostream&amp; operator&lt;&lt;(std::ostream&amp; os, <span class="keyword">const</span> Status&amp; x);</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="preprocessor">#endif // MEDIA_BASE_STATUS_H_</span></div>
<div class="ttc" id="classedash__packager_1_1media_1_1Status_html"><div class="ttname"><a href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">edash_packager::media::Status</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d13/status_8h_source.html#l00076">status.h:76</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1Status_html_a1c46d74b2d15c4bbcba6d742e82fce34"><div class="ttname"><a href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#a1c46d74b2d15c4bbcba6d742e82fce34">edash_packager::media::Status::Update</a></div><div class="ttdeci">void Update(const Status &amp;new_status)</div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d13/status_8h_source.html#l00118">status.h:118</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1Status_html_ab3b32018b2666a73432b860ed27ec4e2"><div class="ttname"><a href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#ab3b32018b2666a73432b860ed27ec4e2">edash_packager::media::Status::Status</a></div><div class="ttdeci">Status()</div><div class="ttdoc">Creates a &quot;successful&quot; status. </div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d13/status_8h_source.html#l00079">status.h:79</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1Status_html_a0fbada5284f16152c63ebcdd30c36736"><div class="ttname"><a href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#a0fbada5284f16152c63ebcdd30c36736">edash_packager::media::Status::Clear</a></div><div class="ttdeci">void Clear()</div><div class="ttdoc">Clear this status object to contain the OK code and no error message. </div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d13/status_8h_source.html#l00124">status.h:124</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1Status_html_a9688991aab3f7b1db8acc5341b81d160"><div class="ttname"><a href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#a9688991aab3f7b1db8acc5341b81d160">edash_packager::media::Status::Status</a></div><div class="ttdeci">Status(error::Code error_code, const std::string &amp;error_message)</div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d13/status_8h_source.html#l00084">status.h:84</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1Status_html_a9df7f5c60dbb8c1269f499d0cba5bcf5"><div class="ttname"><a href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#a9df7f5c60dbb8c1269f499d0cba5bcf5">edash_packager::media::Status::SetError</a></div><div class="ttdeci">void SetError(error::Code error_code, const std::string &amp;error_message)</div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d13/status_8h_source.html#l00101">status.h:101</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1Status_html_a590cad3d305a36c1cf05e6770b728187"><div class="ttname"><a href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#a590cad3d305a36c1cf05e6770b728187">edash_packager::media::Status::ToString</a></div><div class="ttdeci">std::string ToString() const </div><div class="ttdef"><b>Definition:</b> <a href="../../da/dc3/status_8cc_source.html#l00059">status.cc:59</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1Status_html_ac5219fe50f7679fd8448899b4df4e7e6"><div class="ttname"><a href="../../d2/d90/classedash__packager_1_1media_1_1Status.html#ac5219fe50f7679fd8448899b4df4e7e6">edash_packager::media::Status::Matches</a></div><div class="ttdeci">bool Matches(const Status &amp;x) const </div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d13/status_8h_source.html#l00141">status.h:141</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,110 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>xml</b></li><li class="navelem"><a class="el" href="../../d7/de3/structedash__packager_1_1xml_1_1XmlDeleter.html">XmlDeleter</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::xml::XmlDeleter Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d7/de3/structedash__packager_1_1xml_1_1XmlDeleter.html">edash_packager::xml::XmlDeleter</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator()</b>(xmlSchemaParserCtxtPtr ptr) const (defined in <a class="el" href="../../d7/de3/structedash__packager_1_1xml_1_1XmlDeleter.html">edash_packager::xml::XmlDeleter</a>)</td><td class="entry"><a class="el" href="../../d7/de3/structedash__packager_1_1xml_1_1XmlDeleter.html">edash_packager::xml::XmlDeleter</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>operator()</b>(xmlSchemaValidCtxtPtr ptr) const (defined in <a class="el" href="../../d7/de3/structedash__packager_1_1xml_1_1XmlDeleter.html">edash_packager::xml::XmlDeleter</a>)</td><td class="entry"><a class="el" href="../../d7/de3/structedash__packager_1_1xml_1_1XmlDeleter.html">edash_packager::xml::XmlDeleter</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator()</b>(xmlSchemaPtr ptr) const (defined in <a class="el" href="../../d7/de3/structedash__packager_1_1xml_1_1XmlDeleter.html">edash_packager::xml::XmlDeleter</a>)</td><td class="entry"><a class="el" href="../../d7/de3/structedash__packager_1_1xml_1_1XmlDeleter.html">edash_packager::xml::XmlDeleter</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>operator()</b>(xmlNodePtr ptr) const (defined in <a class="el" href="../../d7/de3/structedash__packager_1_1xml_1_1XmlDeleter.html">edash_packager::xml::XmlDeleter</a>)</td><td class="entry"><a class="el" href="../../d7/de3/structedash__packager_1_1xml_1_1XmlDeleter.html">edash_packager::xml::XmlDeleter</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator()</b>(xmlDocPtr ptr) const (defined in <a class="el" href="../../d7/de3/structedash__packager_1_1xml_1_1XmlDeleter.html">edash_packager::xml::XmlDeleter</a>)</td><td class="entry"><a class="el" href="../../d7/de3/structedash__packager_1_1xml_1_1XmlDeleter.html">edash_packager::xml::XmlDeleter</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>operator()</b>(xmlChar *ptr) const (defined in <a class="el" href="../../d7/de3/structedash__packager_1_1xml_1_1XmlDeleter.html">edash_packager::xml::XmlDeleter</a>)</td><td class="entry"><a class="el" href="../../d7/de3/structedash__packager_1_1xml_1_1XmlDeleter.html">edash_packager::xml::XmlDeleter</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:31:03 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>

View File

@ -0,0 +1,151 @@
<!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: app/muxer_flags.cc Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_d422163b96683743ed3963d4aac17747.html">app</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">muxer_flags.cc</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// Defines Muxer flags.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;packager/app/muxer_flags.h&quot;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;DEFINE_string(profile,</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; <span class="stringliteral">&quot;Specify the target DASH profile: on-demand or live. This will &quot;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; <span class="stringliteral">&quot;set proper option values to ensure conformance to the desired &quot;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <span class="stringliteral">&quot;profile.&quot;</span>);</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;DEFINE_double(clear_lead,</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; 10.0f,</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <span class="stringliteral">&quot;Clear lead in seconds if encryption is enabled.&quot;</span>);</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;DEFINE_bool(single_segment,</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; <span class="keyword">true</span>,</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="stringliteral">&quot;Generate a single segment for the media presentation. This option &quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="stringliteral">&quot;should be set for on demand profile.&quot;</span>);</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;DEFINE_double(segment_duration,</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; 10.0f,</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="stringliteral">&quot;Segment duration in seconds. If single_segment is specified, &quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="stringliteral">&quot;this parameter sets the duration of a subsegment; otherwise, &quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="stringliteral">&quot;this parameter sets the duration of a segment. Actual segment &quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="stringliteral">&quot;durations may not be exactly as requested.&quot;</span>);</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;DEFINE_bool(segment_sap_aligned,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keyword">true</span>,</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="stringliteral">&quot;Force segments to begin with stream access points.&quot;</span>);</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;DEFINE_double(fragment_duration,</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; 10.0f,</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="stringliteral">&quot;Fragment duration in seconds. Should not be larger than &quot;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="stringliteral">&quot;the segment duration. Actual fragment durations may not be &quot;</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="stringliteral">&quot;exactly as requested.&quot;</span>);</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;DEFINE_bool(fragment_sap_aligned,</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keyword">true</span>,</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="stringliteral">&quot;Force fragments to begin with stream access points. This flag &quot;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="stringliteral">&quot;implies segment_sap_aligned.&quot;</span>);</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;DEFINE_int32(num_subsegments_per_sidx,</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; 1,</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="stringliteral">&quot;For ISO BMFF only. Set the number of subsegments in each &quot;</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="stringliteral">&quot;SIDX box. If 0, a single SIDX box is used per segment; if &quot;</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="stringliteral">&quot;-1, no SIDX box is used; Otherwise, the muxer packs N &quot;</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="stringliteral">&quot;subsegments in the root SIDX of the segment, with &quot;</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="stringliteral">&quot;segment_duration/N/fragment_duration fragments per &quot;</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="stringliteral">&quot;subsegment.&quot;</span>);</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;DEFINE_string(temp_dir,</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="stringliteral">&quot;Specify a directory in which to store temporary (intermediate) &quot;</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="stringliteral">&quot; files. Used only if single_segment=true.&quot;</span>);</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,134 @@
<!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: media/base/key_fetcher.h Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_c6ada2450b25ab5438a4dba6c9b890af.html">base</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">key_fetcher.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#ifndef MEDIA_BASE_KEY_FETCHER_H_</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#define MEDIA_BASE_KEY_FETCHER_H_</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;base/macros.h&quot;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/status.h&quot;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="../../d4/d43/classedash__packager_1_1media_1_1KeyFetcher.html"> 17</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../d4/d43/classedash__packager_1_1media_1_1KeyFetcher.html">KeyFetcher</a> {</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <a class="code" href="../../d4/d43/classedash__packager_1_1media_1_1KeyFetcher.html">KeyFetcher</a>();</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="../../d4/d43/classedash__packager_1_1media_1_1KeyFetcher.html">KeyFetcher</a>();</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> <a class="code" href="../../d4/d43/classedash__packager_1_1media_1_1KeyFetcher.html#ae633bbf42ceb4c4c149a2409517047e5">FetchKeys</a>(<span class="keyword">const</span> std::string&amp; service_address,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keyword">const</span> std::string&amp; request,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; std::string* response) = 0;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="../../d4/d43/classedash__packager_1_1media_1_1KeyFetcher.html">KeyFetcher</a>);</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;};</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#endif // MEDIA_BASE_KEY_FETCHER_H_</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="ttc" id="classedash__packager_1_1media_1_1KeyFetcher_html"><div class="ttname"><a href="../../d4/d43/classedash__packager_1_1media_1_1KeyFetcher.html">edash_packager::media::KeyFetcher</a></div><div class="ttdoc">Base class for fetching keys from the license service. </div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d27/key__fetcher_8h_source.html#l00017">key_fetcher.h:17</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1Status_html"><div class="ttname"><a href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">edash_packager::media::Status</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d13/status_8h_source.html#l00076">status.h:76</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1KeyFetcher_html_ae633bbf42ceb4c4c149a2409517047e5"><div class="ttname"><a href="../../d4/d43/classedash__packager_1_1media_1_1KeyFetcher.html#ae633bbf42ceb4c4c149a2409517047e5">edash_packager::media::KeyFetcher::FetchKeys</a></div><div class="ttdeci">virtual Status FetchKeys(const std::string &amp;service_address, const std::string &amp;request, std::string *response)=0</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,109 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../db/d01/classedash__packager_1_1media_1_1mp4_1_1SyncSampleIterator.html">SyncSampleIterator</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::mp4::SyncSampleIterator Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../db/d01/classedash__packager_1_1media_1_1mp4_1_1SyncSampleIterator.html">edash_packager::media::mp4::SyncSampleIterator</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../db/d01/classedash__packager_1_1media_1_1mp4_1_1SyncSampleIterator.html#af185ed71d28bfb56940821165e4cbef4">AdvanceSample</a>()</td><td class="entry"><a class="el" href="../../db/d01/classedash__packager_1_1media_1_1mp4_1_1SyncSampleIterator.html">edash_packager::media::mp4::SyncSampleIterator</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d01/classedash__packager_1_1media_1_1mp4_1_1SyncSampleIterator.html#a19c0a90ae6ce549a8826569103bdee1c">IsSyncSample</a>() const </td><td class="entry"><a class="el" href="../../db/d01/classedash__packager_1_1media_1_1mp4_1_1SyncSampleIterator.html">edash_packager::media::mp4::SyncSampleIterator</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../db/d01/classedash__packager_1_1media_1_1mp4_1_1SyncSampleIterator.html#a87c6402aa414c9e5f87634d33a9fad6c">IsSyncSample</a>(uint32_t sample) const </td><td class="entry"><a class="el" href="../../db/d01/classedash__packager_1_1media_1_1mp4_1_1SyncSampleIterator.html">edash_packager::media::mp4::SyncSampleIterator</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d01/classedash__packager_1_1media_1_1mp4_1_1SyncSampleIterator.html#aa96fc4d3705ea3e25b97266675aa9e01">SyncSampleIterator</a>(const SyncSample &amp;sync_sample)</td><td class="entry"><a class="el" href="../../db/d01/classedash__packager_1_1media_1_1mp4_1_1SyncSampleIterator.html">edash_packager::media::mp4::SyncSampleIterator</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~SyncSampleIterator</b>() (defined in <a class="el" href="../../db/d01/classedash__packager_1_1media_1_1mp4_1_1SyncSampleIterator.html">edash_packager::media::mp4::SyncSampleIterator</a>)</td><td class="entry"><a class="el" href="../../db/d01/classedash__packager_1_1media_1_1mp4_1_1SyncSampleIterator.html">edash_packager::media::mp4::SyncSampleIterator</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:31:03 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>

View File

@ -0,0 +1,123 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html">TrackExtends</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::mp4::TrackExtends Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html">edash_packager::media::mp4::TrackExtends</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>BoxType</b>() const OVERRIDE (defined in <a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html">edash_packager::media::mp4::TrackExtends</a>)</td><td class="entry"><a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html">edash_packager::media::mp4::TrackExtends</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html#a901f92e643e717bff9f15d2d60f82263">ComputeSize</a>() OVERRIDE</td><td class="entry"><a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html">edash_packager::media::mp4::TrackExtends</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>default_sample_description_index</b> (defined in <a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html">edash_packager::media::mp4::TrackExtends</a>)</td><td class="entry"><a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html">edash_packager::media::mp4::TrackExtends</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>default_sample_duration</b> (defined in <a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html">edash_packager::media::mp4::TrackExtends</a>)</td><td class="entry"><a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html">edash_packager::media::mp4::TrackExtends</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>default_sample_flags</b> (defined in <a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html">edash_packager::media::mp4::TrackExtends</a>)</td><td class="entry"><a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html">edash_packager::media::mp4::TrackExtends</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>default_sample_size</b> (defined in <a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html">edash_packager::media::mp4::TrackExtends</a>)</td><td class="entry"><a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html">edash_packager::media::mp4::TrackExtends</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>flags</b> (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>FullBox</b>() (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a>(BoxReader *reader)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html#a7134a0c406deaf51c639d2314667bdb0">ReadWrite</a>(BoxBuffer *buffer) OVERRIDE</td><td class="entry"><a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html">edash_packager::media::mp4::TrackExtends</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>track_id</b> (defined in <a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html">edash_packager::media::mp4::TrackExtends</a>)</td><td class="entry"><a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html">edash_packager::media::mp4::TrackExtends</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>TrackExtends</b>() (defined in <a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html">edash_packager::media::mp4::TrackExtends</a>)</td><td class="entry"><a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html">edash_packager::media::mp4::TrackExtends</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>version</b> (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a>(BufferWriter *writer)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~FullBox</b>() (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~TrackExtends</b>() (defined in <a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html">edash_packager::media::mp4::TrackExtends</a>)</td><td class="entry"><a class="el" href="../../d3/d2c/structedash__packager_1_1media_1_1mp4_1_1TrackExtends.html">edash_packager::media::mp4::TrackExtends</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:31:00 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>

View File

@ -0,0 +1,211 @@
<!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: media/formats/mp2t/es_parser_h264.h Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_65f7acfa8cf3a5f1edc11faa2428b914.html">formats</a></li><li class="navelem"><a class="el" href="../../dir_f7dcbe7025bbacfc4b9a7dff6ad41d72.html">mp2t</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">es_parser_h264.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 The Chromium Authors. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style license that can be</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// found in the LICENSE file.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;</div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#ifndef MEDIA_FORMATS_MP2T_ES_PARSER_H264_H_</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#define MEDIA_FORMATS_MP2T_ES_PARSER_H264_H_</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &lt;utility&gt;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;packager/base/callback.h&quot;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;packager/base/compiler_specific.h&quot;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;packager/base/memory/scoped_ptr.h&quot;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp2t/es_parser.h&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keyword">class </span>H264ByteToUnitStreamConverter;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="keyword">class </span>H264Parser;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="keyword">class </span>OffsetByteQueue;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="keyword">struct </span>H264SPS;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="keyword">namespace </span>mp2t {</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment">// Remark:</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment">// In this h264 parser, frame splitting is based on AUD nals.</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment">// Mpeg2 TS spec: &quot;2.14 Carriage of Rec. ITU-T H.264 | ISO/IEC 14496-10 video&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment">// &quot;Each AVC access unit shall contain an access unit delimiter NAL Unit;&quot;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="../../dd/d0e/classedash__packager_1_1media_1_1mp2t_1_1EsParserH264.html"> 33</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../dd/d0e/classedash__packager_1_1media_1_1mp2t_1_1EsParserH264.html">EsParserH264</a> : <span class="keyword">public</span> <a class="code" href="../../db/df2/classedash__packager_1_1media_1_1mp2t_1_1EsParser.html">EsParser</a> {</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="../../dd/d0e/classedash__packager_1_1media_1_1mp2t_1_1EsParserH264.html">EsParserH264</a>(uint32_t pid,</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keyword">const</span> NewStreamInfoCB&amp; new_stream_info_cb,</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keyword">const</span> EmitSampleCB&amp; emit_sample_cb);</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="../../dd/d0e/classedash__packager_1_1media_1_1mp2t_1_1EsParserH264.html">EsParserH264</a>();</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="comment">// EsParser implementation overrides.</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> Parse(<span class="keyword">const</span> uint8_t* buf,</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordtype">int</span> size,</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; int64_t pts,</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; int64_t dts) OVERRIDE;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> Flush() OVERRIDE;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> Reset() OVERRIDE;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keyword">struct </span>TimingDesc {</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; int64_t dts;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; int64_t pts;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; };</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="comment">// Find the AUD located at or after |*stream_pos|.</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="comment">// Return true if an AUD is found.</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="comment">// If found, |*stream_pos| corresponds to the position of the AUD start code</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="comment">// in the stream. Otherwise, |*stream_pos| corresponds to the last position</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="comment">// of the start code parser.</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordtype">bool</span> FindAUD(int64_t* stream_pos);</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="comment">// Resumes the H264 ES parsing.</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="comment">// Return true if successful.</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordtype">bool</span> ParseInternal();</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="comment">// Emit a frame whose position in the ES queue starts at |access_unit_pos|.</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="comment">// Returns true if successful, false if no PTS is available for the frame.</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordtype">bool</span> EmitFrame(int64_t access_unit_pos,</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordtype">int</span> access_unit_size,</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordtype">bool</span> is_key_frame,</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordtype">int</span> pps_id);</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="comment">// Update the video decoder config based on an H264 SPS.</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="comment">// Return true if successful.</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordtype">bool</span> UpdateVideoDecoderConfig(<span class="keyword">const</span> <a class="code" href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">H264SPS</a>* sps);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="comment">// Callbacks to pass the stream configuration and the frames.</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; NewStreamInfoCB new_stream_info_cb_;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; EmitSampleCB emit_sample_cb_;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="comment">// Bytes of the ES stream that have not been emitted yet.</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; scoped_ptr&lt;media::OffsetByteQueue&gt; es_queue_;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; std::list&lt;std::pair&lt;int64_t, TimingDesc&gt; &gt; timing_desc_list_;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="comment">// H264 parser state.</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="comment">// - |current_access_unit_pos_| is pointing to an annexB syncword</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="comment">// representing the first NALU of an H264 access unit.</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; scoped_ptr&lt;H264Parser&gt; h264_parser_;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; int64_t current_access_unit_pos_;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; int64_t next_access_unit_pos_;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="comment">// Filter to convert H.264 Annex B byte stream to unit stream.</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; scoped_ptr&lt;H264ByteToUnitStreamConverter&gt; stream_converter_;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="comment">// Last video decoder config.</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; scoped_refptr&lt;StreamInfo&gt; last_video_decoder_config_;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordtype">bool</span> decoder_config_check_pending_;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="comment">// Frame for which we do not yet have a duration.</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; scoped_refptr&lt;MediaSample&gt; pending_sample_;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; uint64_t pending_sample_duration_;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="comment">// Indicates whether waiting for first key frame.</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordtype">bool</span> waiting_for_key_frame_;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;};</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;} <span class="comment">// namespace mp2t</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp2t_1_1EsParser_html"><div class="ttname"><a href="../../db/df2/classedash__packager_1_1media_1_1mp2t_1_1EsParser.html">edash_packager::media::mp2t::EsParser</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d2/deb/es__parser_8h_source.html#l00021">es_parser.h:21</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1H264SPS_html"><div class="ttname"><a href="../../d8/db0/structedash__packager_1_1media_1_1H264SPS.html">edash_packager::media::H264SPS</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d9b/h264__parser_8h_source.html#l00081">h264_parser.h:81</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp2t_1_1EsParserH264_html"><div class="ttname"><a href="../../dd/d0e/classedash__packager_1_1media_1_1mp2t_1_1EsParserH264.html">edash_packager::media::mp2t::EsParserH264</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d37/es__parser__h264_8h_source.html#l00033">es_parser_h264.h:33</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,119 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><a class="el" href="../../d0/da9/classedash__packager_1_1MockRepresentation.html">MockRepresentation</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::MockRepresentation Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d0/da9/classedash__packager_1_1MockRepresentation.html">edash_packager::MockRepresentation</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html#a8cb3729f52457e7df08cd05b8f19090e">AddContentProtectionElement</a>(const ContentProtectionElement &amp;element)</td><td class="entry"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html">edash_packager::Representation</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html#ad40b7da1667aeb77c84958ec4ec0d9eb">AddNewSegment</a>(uint64_t start_time, uint64_t duration, uint64_t size)</td><td class="entry"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html">edash_packager::Representation</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html#a4eefc1cf0da6ff78806f8d1099cb01d1">GetXml</a>()</td><td class="entry"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html">edash_packager::Representation</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html#a0a59920aa8a31f1fb2b30a2ee8cc4e95">id</a>() const </td><td class="entry"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html">edash_packager::Representation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html#aac7ad6e54e88b4d31196d54ad5fb4a9d">Init</a>()</td><td class="entry"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html">edash_packager::Representation</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>MOCK_METHOD1</b>(AddContentProtectionElement, void(const ContentProtectionElement &amp;element)) (defined in <a class="el" href="../../d0/da9/classedash__packager_1_1MockRepresentation.html">edash_packager::MockRepresentation</a>)</td><td class="entry"><a class="el" href="../../d0/da9/classedash__packager_1_1MockRepresentation.html">edash_packager::MockRepresentation</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>MOCK_METHOD1</b>(SetSampleDuration, void(uint32_t sample_duration)) (defined in <a class="el" href="../../d0/da9/classedash__packager_1_1MockRepresentation.html">edash_packager::MockRepresentation</a>)</td><td class="entry"><a class="el" href="../../d0/da9/classedash__packager_1_1MockRepresentation.html">edash_packager::MockRepresentation</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>MOCK_METHOD2</b>(UpdateContentProtectionPssh, void(const std::string &amp;drm_uuid, const std::string &amp;pssh)) (defined in <a class="el" href="../../d0/da9/classedash__packager_1_1MockRepresentation.html">edash_packager::MockRepresentation</a>)</td><td class="entry"><a class="el" href="../../d0/da9/classedash__packager_1_1MockRepresentation.html">edash_packager::MockRepresentation</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>MOCK_METHOD3</b>(AddNewSegment, void(uint64_t start_time, uint64_t duration, uint64_t size)) (defined in <a class="el" href="../../d0/da9/classedash__packager_1_1MockRepresentation.html">edash_packager::MockRepresentation</a>)</td><td class="entry"><a class="el" href="../../d0/da9/classedash__packager_1_1MockRepresentation.html">edash_packager::MockRepresentation</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>MockRepresentation</b>(uint32_t representation_id) (defined in <a class="el" href="../../d0/da9/classedash__packager_1_1MockRepresentation.html">edash_packager::MockRepresentation</a>)</td><td class="entry"><a class="el" href="../../d0/da9/classedash__packager_1_1MockRepresentation.html">edash_packager::MockRepresentation</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html#a4fc4d0fd6f240f1c79fac0b68b9d9f0d">Representation</a>(const MediaInfo &amp;media_info, const MpdOptions &amp;mpd_options, uint32_t representation_id, scoped_ptr&lt; RepresentationStateChangeListener &gt; state_change_listener)</td><td class="entry"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html">edash_packager::Representation</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html#a4a81a2db7ec245892334ad927621909c">SetSampleDuration</a>(uint32_t sample_duration)</td><td class="entry"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html">edash_packager::Representation</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html#a7fc0e59f273082ccf654025486af79ae">UpdateContentProtectionPssh</a>(const std::string &amp;drm_uuid, const std::string &amp;pssh)</td><td class="entry"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html">edash_packager::Representation</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~MockRepresentation</b>() OVERRIDE (defined in <a class="el" href="../../d0/da9/classedash__packager_1_1MockRepresentation.html">edash_packager::MockRepresentation</a>)</td><td class="entry"><a class="el" href="../../d0/da9/classedash__packager_1_1MockRepresentation.html">edash_packager::MockRepresentation</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Representation</b>() (defined in <a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html">edash_packager::Representation</a>)</td><td class="entry"><a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html">edash_packager::Representation</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:48 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>

View File

@ -0,0 +1,116 @@
<!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: app/mpd_generator_flags.h Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_d422163b96683743ed3963d4aac17747.html">app</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">mpd_generator_flags.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#ifndef APP_MPD_GENERATOR_FLAGS_H_</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#define APP_MPD_GENERATOR_FLAGS_H_</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &lt;gflags/gflags.h&gt;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;DEFINE_string(input, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Comma separated list of MediaInfo input files.&quot;</span>);</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;DEFINE_string(output, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;MPD output file name.&quot;</span>);</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;DEFINE_string(base_urls,</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <span class="stringliteral">&quot;Comma separated BaseURLs for the MPD. The values will be added &quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <span class="stringliteral">&quot;as &lt;BaseURL&gt; element(s) immediately under the &lt;MPD&gt; element.&quot;</span>);</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#endif // APP_MPD_GENERATOR_FLAGS_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,176 @@
<!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: media/formats/mp4/decoding_time_iterator.cc Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_65f7acfa8cf3a5f1edc11faa2428b914.html">formats</a></li><li class="navelem"><a class="el" href="../../dir_3e9291fd7a18fdecc763294cb2628910.html">mp4</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">decoding_time_iterator.cc</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp4/decoding_time_iterator.h&quot;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &lt;algorithm&gt;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;packager/base/logging.h&quot;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="keyword">namespace </span>mp4 {</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="../../d4/d90/classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator.html#a23d155e855c769a50114d0a720b6aac0"> 17</a></span>&#160;<a class="code" href="../../d4/d90/classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator.html#a23d155e855c769a50114d0a720b6aac0">DecodingTimeIterator::DecodingTimeIterator</a>(</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <span class="keyword">const</span> <a class="code" href="../../dc/db7/structedash__packager_1_1media_1_1mp4_1_1DecodingTimeToSample.html">DecodingTimeToSample</a>&amp; decoding_time_to_sample)</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; : sample_index_(0),</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; decoding_time_table_(decoding_time_to_sample.decoding_time),</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; iterator_(decoding_time_table_.begin()) {}</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;DecodingTimeIterator::~DecodingTimeIterator() {}</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="../../d4/d90/classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator.html#a147cf702aaaef56bce32ca91c45bc071"> 24</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../d4/d90/classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator.html#a147cf702aaaef56bce32ca91c45bc071">DecodingTimeIterator::AdvanceSample</a>() {</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; ++sample_index_;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keywordflow">if</span> (sample_index_ &gt;= iterator_-&gt;sample_count) {</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; ++iterator_;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keywordflow">if</span> (iterator_ == decoding_time_table_.end())</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; sample_index_ = 0;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; }</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;}</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="../../d4/d90/classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator.html#a182b0464b4681a63ac3453b4b5b1aa28"> 35</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../d4/d90/classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator.html#a182b0464b4681a63ac3453b4b5b1aa28">DecodingTimeIterator::IsValid</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keywordflow">return</span> iterator_ != decoding_time_table_.end() &amp;&amp;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; sample_index_ &lt; iterator_-&gt;sample_count;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;}</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="../../d4/d90/classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator.html#a20162e42fe14b8135828f2d8d6cdd2ef"> 40</a></span>&#160;uint64_t <a class="code" href="../../d4/d90/classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator.html#a20162e42fe14b8135828f2d8d6cdd2ef">DecodingTimeIterator::Duration</a>(uint32_t start_sample,</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; uint32_t end_sample)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; DCHECK_LE(start_sample, end_sample);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; uint32_t current_sample = 0;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; uint32_t prev_sample = 0;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; uint64_t duration = 0;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; std::vector&lt;DecodingTime&gt;::const_iterator it = decoding_time_table_.begin();</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">for</span> (; it != decoding_time_table_.end(); ++it) {</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; current_sample += it-&gt;sample_count;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">if</span> (current_sample &gt;= start_sample) {</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; duration += (std::min(end_sample, current_sample) -</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; std::max(start_sample, prev_sample + 1) + 1) *</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; it-&gt;sample_delta;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; if (current_sample &gt;= end_sample)</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; }</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; prev_sample = current_sample;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; }</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">return</span> duration;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;}</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="../../d4/d90/classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator.html#af989a372d83019e0a65e8c850e122e47"> 61</a></span>&#160;uint32_t <a class="code" href="../../d4/d90/classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator.html#af989a372d83019e0a65e8c850e122e47">DecodingTimeIterator::NumSamples</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; uint32_t num_samples = 0;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; std::vector&lt;DecodingTime&gt;::const_iterator it = decoding_time_table_.begin();</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">for</span> (; it != decoding_time_table_.end(); ++it) {</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; num_samples += it-&gt;sample_count;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; }</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">return</span> num_samples;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;}</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;} <span class="comment">// namespace mp4</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator_html_a23d155e855c769a50114d0a720b6aac0"><div class="ttname"><a href="../../d4/d90/classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator.html#a23d155e855c769a50114d0a720b6aac0">edash_packager::media::mp4::DecodingTimeIterator::DecodingTimeIterator</a></div><div class="ttdeci">DecodingTimeIterator(const DecodingTimeToSample &amp;decoding_time_to_sample)</div><div class="ttdoc">Create DecodingTimeIterator from decoding time to sample box. </div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d45/decoding__time__iterator_8cc_source.html#l00017">decoding_time_iterator.cc:17</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator_html_a182b0464b4681a63ac3453b4b5b1aa28"><div class="ttname"><a href="../../d4/d90/classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator.html#a182b0464b4681a63ac3453b4b5b1aa28">edash_packager::media::mp4::DecodingTimeIterator::IsValid</a></div><div class="ttdeci">bool IsValid() const </div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d45/decoding__time__iterator_8cc_source.html#l00035">decoding_time_iterator.cc:35</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator_html_a147cf702aaaef56bce32ca91c45bc071"><div class="ttname"><a href="../../d4/d90/classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator.html#a147cf702aaaef56bce32ca91c45bc071">edash_packager::media::mp4::DecodingTimeIterator::AdvanceSample</a></div><div class="ttdeci">bool AdvanceSample()</div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d45/decoding__time__iterator_8cc_source.html#l00024">decoding_time_iterator.cc:24</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator_html_af989a372d83019e0a65e8c850e122e47"><div class="ttname"><a href="../../d4/d90/classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator.html#af989a372d83019e0a65e8c850e122e47">edash_packager::media::mp4::DecodingTimeIterator::NumSamples</a></div><div class="ttdeci">uint32_t NumSamples() const </div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d45/decoding__time__iterator_8cc_source.html#l00061">decoding_time_iterator.cc:61</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1mp4_1_1DecodingTimeToSample_html"><div class="ttname"><a href="../../dc/db7/structedash__packager_1_1media_1_1mp4_1_1DecodingTimeToSample.html">edash_packager::media::mp4::DecodingTimeToSample</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d7b/box__definitions_8h_source.html#l00247">box_definitions.h:247</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator_html_a20162e42fe14b8135828f2d8d6cdd2ef"><div class="ttname"><a href="../../d4/d90/classedash__packager_1_1media_1_1mp4_1_1DecodingTimeIterator.html#a20162e42fe14b8135828f2d8d6cdd2ef">edash_packager::media::mp4::DecodingTimeIterator::Duration</a></div><div class="ttdeci">uint64_t Duration(uint32_t start_sample, uint32_t end_sample) const </div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d45/decoding__time__iterator_8cc_source.html#l00040">decoding_time_iterator.cc:40</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,153 @@
<!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::media::mp2t::TsPacket Class 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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp2t</b></li><li class="navelem"><a class="el" href="../../d1/d4b/classedash__packager_1_1media_1_1mp2t_1_1TsPacket.html">TsPacket</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="../../d5/d4a/classedash__packager_1_1media_1_1mp2t_1_1TsPacket-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">edash_packager::media::mp2t::TsPacket Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a555b8bfa59e34f234d3fb6887a777f0b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a555b8bfa59e34f234d3fb6887a777f0b"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>payload_unit_start_indicator</b> () const </td></tr>
<tr class="separator:a555b8bfa59e34f234d3fb6887a777f0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0515bfac44ad217578f4b8142ada0e5c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0515bfac44ad217578f4b8142ada0e5c"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>pid</b> () const </td></tr>
<tr class="separator:a0515bfac44ad217578f4b8142ada0e5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76197d56a782e4da31952c5b6b852b03"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a76197d56a782e4da31952c5b6b852b03"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>continuity_counter</b> () const </td></tr>
<tr class="separator:a76197d56a782e4da31952c5b6b852b03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94dd88a845453fcee005cfb878cdcdc4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a94dd88a845453fcee005cfb878cdcdc4"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>discontinuity_indicator</b> () const </td></tr>
<tr class="separator:a94dd88a845453fcee005cfb878cdcdc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad90dfaee86f7226efd33f3f0d4b05f26"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad90dfaee86f7226efd33f3f0d4b05f26"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>random_access_indicator</b> () const </td></tr>
<tr class="separator:ad90dfaee86f7226efd33f3f0d4b05f26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf9fbde713a98f7b4b26ffec0ede5be1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf9fbde713a98f7b4b26ffec0ede5be1"></a>
const uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><b>payload</b> () const </td></tr>
<tr class="separator:acf9fbde713a98f7b4b26ffec0ede5be1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb9f14eca778a1026d7a526f0195a396"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeb9f14eca778a1026d7a526f0195a396"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>payload_size</b> () const </td></tr>
<tr class="separator:aeb9f14eca778a1026d7a526f0195a396"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:aedd2f90f51d84a4264c989b5b917eca2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aedd2f90f51d84a4264c989b5b917eca2"></a>
static int&#160;</td><td class="memItemRight" valign="bottom"><b>Sync</b> (const uint8_t *buf, int size)</td></tr>
<tr class="separator:aedd2f90f51d84a4264c989b5b917eca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a073f0f3471b8426b6e40f1d7dae9bdfd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a073f0f3471b8426b6e40f1d7dae9bdfd"></a>
static <a class="el" href="../../d1/d4b/classedash__packager_1_1media_1_1mp2t_1_1TsPacket.html">TsPacket</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>Parse</b> (const uint8_t *buf, int size)</td></tr>
<tr class="separator:a073f0f3471b8426b6e40f1d7dae9bdfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:ae5e34d5361f8a4fc8982b3e9cc6f05b2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae5e34d5361f8a4fc8982b3e9cc6f05b2"></a>
static const int&#160;</td><td class="memItemRight" valign="bottom"><b>kPacketSize</b> = 188</td></tr>
<tr class="separator:ae5e34d5361f8a4fc8982b3e9cc6f05b2"><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>Definition at line <a class="el" href="../../d6/ded/ts__packet_8h_source.html#l00019">19</a> of file <a class="el" href="../../d6/ded/ts__packet_8h_source.html">ts_packet.h</a>.</p>
</div><hr/>The documentation for this class was generated from the following files:<ul>
<li>media/formats/mp2t/<a class="el" href="../../d6/ded/ts__packet_8h_source.html">ts_packet.h</a></li>
<li>media/formats/mp2t/<a class="el" href="../../d5/dba/ts__packet_8cc_source.html">ts_packet.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:53 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>

View File

@ -0,0 +1,213 @@
<!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: media/filters/h264_bit_reader.cc Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_5eb2e460866db0ed29e32d64402e5c22.html">filters</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">h264_bit_reader.cc</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 The Chromium Authors. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style license that can be</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// found in the LICENSE file.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;</div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &quot;packager/base/logging.h&quot;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#include &quot;packager/media/filters/h264_bit_reader.h&quot;</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;H264BitReader::H264BitReader()</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; : data_(NULL),</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; bytes_left_(0),</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; curr_byte_(0),</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; num_remaining_bits_in_curr_byte_(0),</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; prev_two_bytes_(0),</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; emulation_prevention_bytes_(0) {}</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;H264BitReader::~H264BitReader() {}</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keywordtype">bool</span> H264BitReader::Initialize(<span class="keyword">const</span> uint8_t* data, off_t size) {</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; DCHECK(data);</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="keywordflow">if</span> (size &lt; 1)</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; data_ = data;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; bytes_left_ = size;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; num_remaining_bits_in_curr_byte_ = 0;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="comment">// Initially set to 0xffff to accept all initial two-byte sequences.</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; prev_two_bytes_ = 0xffff;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; emulation_prevention_bytes_ = 0;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;}</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keywordtype">bool</span> H264BitReader::UpdateCurrByte() {</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordflow">if</span> (bytes_left_ &lt; 1)</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="comment">// Emulation prevention three-byte detection.</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="comment">// If a sequence of 0x000003 is found, skip (ignore) the last byte (0x03).</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordflow">if</span> (*data_ == 0x03 &amp;&amp; (prev_two_bytes_ &amp; 0xffff) == 0) {</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="comment">// Detected 0x000003, skip last byte.</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; ++data_;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; --bytes_left_;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; ++emulation_prevention_bytes_;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="comment">// Need another full three bytes before we can detect the sequence again.</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; prev_two_bytes_ = 0xffff;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">if</span> (bytes_left_ &lt; 1)</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; }</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="comment">// Load a new byte and advance pointers.</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; curr_byte_ = *data_++ &amp; 0xff;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; --bytes_left_;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; num_remaining_bits_in_curr_byte_ = 8;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; prev_two_bytes_ = (prev_two_bytes_ &lt;&lt; 8) | curr_byte_;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;}</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment">// Read |num_bits| (1 to 31 inclusive) from the stream and return them</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment">// in |out|, with first bit in the stream as MSB in |out| at position</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment">// (|num_bits| - 1).</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="keywordtype">bool</span> H264BitReader::ReadBits(<span class="keywordtype">int</span> num_bits, <span class="keywordtype">int</span>* out) {</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordtype">int</span> bits_left = num_bits;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; *out = 0;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; DCHECK(num_bits &lt;= 31);</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">while</span> (num_remaining_bits_in_curr_byte_ &lt; bits_left) {</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="comment">// Take all that&#39;s left in current byte, shift to make space for the rest.</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; *out |= (curr_byte_ &lt;&lt; (bits_left - num_remaining_bits_in_curr_byte_));</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; bits_left -= num_remaining_bits_in_curr_byte_;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">if</span> (!UpdateCurrByte())</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; *out |= (curr_byte_ &gt;&gt; (num_remaining_bits_in_curr_byte_ - bits_left));</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; *out &amp;= ((1 &lt;&lt; num_bits) - 1);</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; num_remaining_bits_in_curr_byte_ -= bits_left;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;}</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;off_t H264BitReader::NumBitsLeft() {</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">return</span> (num_remaining_bits_in_curr_byte_ + bytes_left_ * 8);</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;}</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="keywordtype">bool</span> H264BitReader::HasMoreRBSPData() {</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="comment">// Make sure we have more bits, if we are at 0 bits in current byte</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="comment">// and updating current byte fails, we don&#39;t have more data anyway.</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">if</span> (num_remaining_bits_in_curr_byte_ == 0 &amp;&amp; !UpdateCurrByte())</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="comment">// On last byte?</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">if</span> (bytes_left_)</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="comment">// Last byte, look for stop bit;</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="comment">// We have more RBSP data if the last non-zero bit we find is not the</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="comment">// first available bit.</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">return</span> (curr_byte_ &amp;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; ((1 &lt;&lt; (num_remaining_bits_in_curr_byte_ - 1)) - 1)) != 0;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;}</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="keywordtype">size_t</span> H264BitReader::NumEmulationPreventionBytesRead() {</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">return</span> emulation_prevention_bytes_;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;}</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,135 @@
<!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::MpdOptions Struct 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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><a class="el" href="../../d1/d5d/structedash__packager_1_1MpdOptions.html">MpdOptions</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../d4/df9/structedash__packager_1_1MpdOptions-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">edash_packager::MpdOptions Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Defines Mpd Options.
<a href="../../d1/d5d/structedash__packager_1_1MpdOptions.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="../../db/d60/mpd__options_8h_source.html">mpd_options.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a4f34f47483da1598245952b34d5de287"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4f34f47483da1598245952b34d5de287"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>availability_time_offset</b></td></tr>
<tr class="separator:a4f34f47483da1598245952b34d5de287"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c82e42bc2aa14c4582ca66fbe3a6ae0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6c82e42bc2aa14c4582ca66fbe3a6ae0"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>minimum_update_period</b></td></tr>
<tr class="separator:a6c82e42bc2aa14c4582ca66fbe3a6ae0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab445793c813915d492afc0ba01201b54"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab445793c813915d492afc0ba01201b54"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>min_buffer_time</b></td></tr>
<tr class="separator:ab445793c813915d492afc0ba01201b54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af89877fcd508d5c699309b46945bea4e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af89877fcd508d5c699309b46945bea4e"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>time_shift_buffer_depth</b></td></tr>
<tr class="separator:af89877fcd508d5c699309b46945bea4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4de3a097514d57548cc2e615f2435be9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4de3a097514d57548cc2e615f2435be9"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>suggested_presentation_delay</b></td></tr>
<tr class="separator:a4de3a097514d57548cc2e615f2435be9"><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>Defines Mpd Options. </p>
<p>Definition at line <a class="el" href="../../db/d60/mpd__options_8h_source.html#l00013">13</a> of file <a class="el" href="../../db/d60/mpd__options_8h_source.html">mpd_options.h</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>mpd/base/<a class="el" href="../../db/d60/mpd__options_8h_source.html">mpd_options.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:49 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>

View File

@ -0,0 +1,194 @@
<!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::media::mp4::SampleToGroup Struct 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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html">SampleToGroup</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../d1/dd0/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">edash_packager::media::mp4::SampleToGroup Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for edash_packager::media::mp4::SampleToGroup:</div>
<div class="dyncontent">
<div class="center">
<img src="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.png" usemap="#edash_packager::media::mp4::SampleToGroup_map" alt=""/>
<map id="edash_packager::media::mp4::SampleToGroup_map" name="edash_packager::media::mp4::SampleToGroup_map">
<area href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html" alt="edash_packager::media::mp4::FullBox" shape="rect" coords="0,56,270,80"/>
<area href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html" alt="edash_packager::media::mp4::Box" shape="rect" coords="0,0,270,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a9f52feee1777e711c82f35afd1f8c234"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f52feee1777e711c82f35afd1f8c234"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html#a9f52feee1777e711c82f35afd1f8c234">ReadWrite</a> (<a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">BoxBuffer</a> *buffer) OVERRIDE</td></tr>
<tr class="memdesc:a9f52feee1777e711c82f35afd1f8c234"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read/write the mp4 box from/to <a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">BoxBuffer</a>. <br/></td></tr>
<tr class="separator:a9f52feee1777e711c82f35afd1f8c234"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e01a7ccd8b4fa42de347bc00884554a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e01a7ccd8b4fa42de347bc00884554a"></a>
virtual FourCC&#160;</td><td class="memItemRight" valign="bottom"><b>BoxType</b> () const OVERRIDE</td></tr>
<tr class="separator:a9e01a7ccd8b4fa42de347bc00884554a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a299f9846b41dbda38a661a272fb9f193"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html#a299f9846b41dbda38a661a272fb9f193">ComputeSize</a> () OVERRIDE</td></tr>
<tr class="separator:a299f9846b41dbda38a661a272fb9f193"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td></tr>
<tr class="memitem:a7b62a3983faafbea54a32486df60ed96 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a> (<a class="el" href="../../db/d6c/classedash__packager_1_1media_1_1mp4_1_1BoxReader.html">BoxReader</a> *reader)</td></tr>
<tr class="separator:a7b62a3983faafbea54a32486df60ed96 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7a756828b5514fcd3eaf16d86c413c0 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a> (<a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">BufferWriter</a> *writer)</td></tr>
<tr class="separator:aa7a756828b5514fcd3eaf16d86c413c0 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a270d9a0c091dbc5bcca7883e881e7b26"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a270d9a0c091dbc5bcca7883e881e7b26"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>grouping_type</b></td></tr>
<tr class="separator:a270d9a0c091dbc5bcca7883e881e7b26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0594862ffd9ee71d2d562c66e6433640"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0594862ffd9ee71d2d562c66e6433640"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>grouping_type_parameter</b></td></tr>
<tr class="separator:a0594862ffd9ee71d2d562c66e6433640"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d860d78511be77a16e7f892412173f8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9d860d78511be77a16e7f892412173f8"></a>
std::vector&lt; <a class="el" href="../../dd/dab/structedash__packager_1_1media_1_1mp4_1_1SampleToGroupEntry.html">SampleToGroupEntry</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>entries</b></td></tr>
<tr class="separator:a9d860d78511be77a16e7f892412173f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox')"><img src="../../closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td></tr>
<tr class="memitem:a8504557a176cc9d6322a6d77fb9fba6f inherit pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8504557a176cc9d6322a6d77fb9fba6f"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>version</b></td></tr>
<tr class="separator:a8504557a176cc9d6322a6d77fb9fba6f inherit pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b051321ec82ca931fefd530f0e75ee4 inherit pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b051321ec82ca931fefd530f0e75ee4"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>flags</b></td></tr>
<tr class="separator:a7b051321ec82ca931fefd530f0e75ee4 inherit pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box')"><img src="../../closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td></tr>
<tr class="memitem:a767571cecbc37bedb05d1ea84716a005 inherit pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td></tr>
<tr class="separator:a767571cecbc37bedb05d1ea84716a005 inherit pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box"><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>Definition at line <a class="el" href="../../d5/d7b/box__definitions_8h_source.html#l00507">507</a> of file <a class="el" href="../../d5/d7b/box__definitions_8h_source.html">box_definitions.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a299f9846b41dbda38a661a272fb9f193"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t edash_packager::media::mp4::SampleToGroup::ComputeSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Compute the size of this box. The calculated size will be saved in |atom_size| for later consumption. </p>
<p>Implements <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a308081198b1fa9f9e4653ad976014a16">edash_packager::media::mp4::Box</a>.</p>
<p>Definition at line <a class="el" href="../../dd/dee/box__definitions_8cc_source.html#l01700">1700</a> of file <a class="el" href="../../dd/dee/box__definitions_8cc_source.html">box_definitions.cc</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>media/formats/mp4/<a class="el" href="../../d5/d7b/box__definitions_8h_source.html">box_definitions.h</a></li>
<li>media/formats/mp4/<a class="el" href="../../dd/dee/box__definitions_8cc_source.html">box_definitions.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:31:01 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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,214 @@
<!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: mpd/base/language_utils.cc Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_89dd766eb2df7d7257dbe806a34404af.html">mpd</a></li><li class="navelem"><a class="el" href="../../dir_2618cd273dea54f184e42d7a562af818.html">base</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">language_utils.cc</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2015 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &quot;packager/mpd/base/language_utils.h&quot;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;packager/base/logging.h&quot;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="keyword">namespace </span>{</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// A map from 3-letter language codes (ISO 639-2) to 2-letter language codes</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// (ISO 639-1) for all languages which have both in the registry.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> iso_639_2[4]; <span class="comment">// 3 letters + nul</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> iso_639_1[3]; <span class="comment">// 2 letters + nul</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;} LanguageMapPairType;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword">const</span> LanguageMapPairType kLanguageMap[] = {</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; { <span class="stringliteral">&quot;aar&quot;</span>, <span class="stringliteral">&quot;aa&quot;</span> }, { <span class="stringliteral">&quot;abk&quot;</span>, <span class="stringliteral">&quot;ab&quot;</span> }, { <span class="stringliteral">&quot;afr&quot;</span>, <span class="stringliteral">&quot;af&quot;</span> }, { <span class="stringliteral">&quot;aka&quot;</span>, <span class="stringliteral">&quot;ak&quot;</span> },</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; { <span class="stringliteral">&quot;alb&quot;</span>, <span class="stringliteral">&quot;sq&quot;</span> }, { <span class="stringliteral">&quot;amh&quot;</span>, <span class="stringliteral">&quot;am&quot;</span> }, { <span class="stringliteral">&quot;ara&quot;</span>, <span class="stringliteral">&quot;ar&quot;</span> }, { <span class="stringliteral">&quot;arg&quot;</span>, <span class="stringliteral">&quot;an&quot;</span> },</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; { <span class="stringliteral">&quot;arm&quot;</span>, <span class="stringliteral">&quot;hy&quot;</span> }, { <span class="stringliteral">&quot;asm&quot;</span>, <span class="stringliteral">&quot;as&quot;</span> }, { <span class="stringliteral">&quot;ava&quot;</span>, <span class="stringliteral">&quot;av&quot;</span> }, { <span class="stringliteral">&quot;ave&quot;</span>, <span class="stringliteral">&quot;ae&quot;</span> },</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; { <span class="stringliteral">&quot;aym&quot;</span>, <span class="stringliteral">&quot;ay&quot;</span> }, { <span class="stringliteral">&quot;aze&quot;</span>, <span class="stringliteral">&quot;az&quot;</span> }, { <span class="stringliteral">&quot;bak&quot;</span>, <span class="stringliteral">&quot;ba&quot;</span> }, { <span class="stringliteral">&quot;bam&quot;</span>, <span class="stringliteral">&quot;bm&quot;</span> },</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; { <span class="stringliteral">&quot;baq&quot;</span>, <span class="stringliteral">&quot;eu&quot;</span> }, { <span class="stringliteral">&quot;bel&quot;</span>, <span class="stringliteral">&quot;be&quot;</span> }, { <span class="stringliteral">&quot;ben&quot;</span>, <span class="stringliteral">&quot;bn&quot;</span> }, { <span class="stringliteral">&quot;bih&quot;</span>, <span class="stringliteral">&quot;bh&quot;</span> },</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; { <span class="stringliteral">&quot;bis&quot;</span>, <span class="stringliteral">&quot;bi&quot;</span> }, { <span class="stringliteral">&quot;bod&quot;</span>, <span class="stringliteral">&quot;bo&quot;</span> }, { <span class="stringliteral">&quot;bos&quot;</span>, <span class="stringliteral">&quot;bs&quot;</span> }, { <span class="stringliteral">&quot;bre&quot;</span>, <span class="stringliteral">&quot;br&quot;</span> },</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; { <span class="stringliteral">&quot;bul&quot;</span>, <span class="stringliteral">&quot;bg&quot;</span> }, { <span class="stringliteral">&quot;bur&quot;</span>, <span class="stringliteral">&quot;my&quot;</span> }, { <span class="stringliteral">&quot;cat&quot;</span>, <span class="stringliteral">&quot;ca&quot;</span> }, { <span class="stringliteral">&quot;ces&quot;</span>, <span class="stringliteral">&quot;cs&quot;</span> },</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; { <span class="stringliteral">&quot;cha&quot;</span>, <span class="stringliteral">&quot;ch&quot;</span> }, { <span class="stringliteral">&quot;che&quot;</span>, <span class="stringliteral">&quot;ce&quot;</span> }, { <span class="stringliteral">&quot;chi&quot;</span>, <span class="stringliteral">&quot;zh&quot;</span> }, { <span class="stringliteral">&quot;chu&quot;</span>, <span class="stringliteral">&quot;cu&quot;</span> },</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; { <span class="stringliteral">&quot;chv&quot;</span>, <span class="stringliteral">&quot;cv&quot;</span> }, { <span class="stringliteral">&quot;cor&quot;</span>, <span class="stringliteral">&quot;kw&quot;</span> }, { <span class="stringliteral">&quot;cos&quot;</span>, <span class="stringliteral">&quot;co&quot;</span> }, { <span class="stringliteral">&quot;cre&quot;</span>, <span class="stringliteral">&quot;cr&quot;</span> },</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; { <span class="stringliteral">&quot;cym&quot;</span>, <span class="stringliteral">&quot;cy&quot;</span> }, { <span class="stringliteral">&quot;cze&quot;</span>, <span class="stringliteral">&quot;cs&quot;</span> }, { <span class="stringliteral">&quot;dan&quot;</span>, <span class="stringliteral">&quot;da&quot;</span> }, { <span class="stringliteral">&quot;deu&quot;</span>, <span class="stringliteral">&quot;de&quot;</span> },</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; { <span class="stringliteral">&quot;div&quot;</span>, <span class="stringliteral">&quot;dv&quot;</span> }, { <span class="stringliteral">&quot;dut&quot;</span>, <span class="stringliteral">&quot;nl&quot;</span> }, { <span class="stringliteral">&quot;dzo&quot;</span>, <span class="stringliteral">&quot;dz&quot;</span> }, { <span class="stringliteral">&quot;ell&quot;</span>, <span class="stringliteral">&quot;el&quot;</span> },</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; { <span class="stringliteral">&quot;eng&quot;</span>, <span class="stringliteral">&quot;en&quot;</span> }, { <span class="stringliteral">&quot;epo&quot;</span>, <span class="stringliteral">&quot;eo&quot;</span> }, { <span class="stringliteral">&quot;est&quot;</span>, <span class="stringliteral">&quot;et&quot;</span> }, { <span class="stringliteral">&quot;eus&quot;</span>, <span class="stringliteral">&quot;eu&quot;</span> },</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; { <span class="stringliteral">&quot;ewe&quot;</span>, <span class="stringliteral">&quot;ee&quot;</span> }, { <span class="stringliteral">&quot;fao&quot;</span>, <span class="stringliteral">&quot;fo&quot;</span> }, { <span class="stringliteral">&quot;fas&quot;</span>, <span class="stringliteral">&quot;fa&quot;</span> }, { <span class="stringliteral">&quot;fij&quot;</span>, <span class="stringliteral">&quot;fj&quot;</span> },</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; { <span class="stringliteral">&quot;fin&quot;</span>, <span class="stringliteral">&quot;fi&quot;</span> }, { <span class="stringliteral">&quot;fra&quot;</span>, <span class="stringliteral">&quot;fr&quot;</span> }, { <span class="stringliteral">&quot;fre&quot;</span>, <span class="stringliteral">&quot;fr&quot;</span> }, { <span class="stringliteral">&quot;fry&quot;</span>, <span class="stringliteral">&quot;fy&quot;</span> },</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; { <span class="stringliteral">&quot;ful&quot;</span>, <span class="stringliteral">&quot;ff&quot;</span> }, { <span class="stringliteral">&quot;geo&quot;</span>, <span class="stringliteral">&quot;ka&quot;</span> }, { <span class="stringliteral">&quot;ger&quot;</span>, <span class="stringliteral">&quot;de&quot;</span> }, { <span class="stringliteral">&quot;gla&quot;</span>, <span class="stringliteral">&quot;gd&quot;</span> },</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; { <span class="stringliteral">&quot;gle&quot;</span>, <span class="stringliteral">&quot;ga&quot;</span> }, { <span class="stringliteral">&quot;glg&quot;</span>, <span class="stringliteral">&quot;gl&quot;</span> }, { <span class="stringliteral">&quot;glv&quot;</span>, <span class="stringliteral">&quot;gv&quot;</span> }, { <span class="stringliteral">&quot;gre&quot;</span>, <span class="stringliteral">&quot;el&quot;</span> },</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; { <span class="stringliteral">&quot;grn&quot;</span>, <span class="stringliteral">&quot;gn&quot;</span> }, { <span class="stringliteral">&quot;guj&quot;</span>, <span class="stringliteral">&quot;gu&quot;</span> }, { <span class="stringliteral">&quot;hat&quot;</span>, <span class="stringliteral">&quot;ht&quot;</span> }, { <span class="stringliteral">&quot;hau&quot;</span>, <span class="stringliteral">&quot;ha&quot;</span> },</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; { <span class="stringliteral">&quot;heb&quot;</span>, <span class="stringliteral">&quot;he&quot;</span> }, { <span class="stringliteral">&quot;her&quot;</span>, <span class="stringliteral">&quot;hz&quot;</span> }, { <span class="stringliteral">&quot;hin&quot;</span>, <span class="stringliteral">&quot;hi&quot;</span> }, { <span class="stringliteral">&quot;hmo&quot;</span>, <span class="stringliteral">&quot;ho&quot;</span> },</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; { <span class="stringliteral">&quot;hrv&quot;</span>, <span class="stringliteral">&quot;hr&quot;</span> }, { <span class="stringliteral">&quot;hun&quot;</span>, <span class="stringliteral">&quot;hu&quot;</span> }, { <span class="stringliteral">&quot;hye&quot;</span>, <span class="stringliteral">&quot;hy&quot;</span> }, { <span class="stringliteral">&quot;ibo&quot;</span>, <span class="stringliteral">&quot;ig&quot;</span> },</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; { <span class="stringliteral">&quot;ice&quot;</span>, <span class="stringliteral">&quot;is&quot;</span> }, { <span class="stringliteral">&quot;ido&quot;</span>, <span class="stringliteral">&quot;io&quot;</span> }, { <span class="stringliteral">&quot;iii&quot;</span>, <span class="stringliteral">&quot;ii&quot;</span> }, { <span class="stringliteral">&quot;iku&quot;</span>, <span class="stringliteral">&quot;iu&quot;</span> },</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; { <span class="stringliteral">&quot;ile&quot;</span>, <span class="stringliteral">&quot;ie&quot;</span> }, { <span class="stringliteral">&quot;ina&quot;</span>, <span class="stringliteral">&quot;ia&quot;</span> }, { <span class="stringliteral">&quot;ind&quot;</span>, <span class="stringliteral">&quot;id&quot;</span> }, { <span class="stringliteral">&quot;ipk&quot;</span>, <span class="stringliteral">&quot;ik&quot;</span> },</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; { <span class="stringliteral">&quot;isl&quot;</span>, <span class="stringliteral">&quot;is&quot;</span> }, { <span class="stringliteral">&quot;ita&quot;</span>, <span class="stringliteral">&quot;it&quot;</span> }, { <span class="stringliteral">&quot;jav&quot;</span>, <span class="stringliteral">&quot;jv&quot;</span> }, { <span class="stringliteral">&quot;jpn&quot;</span>, <span class="stringliteral">&quot;ja&quot;</span> },</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; { <span class="stringliteral">&quot;kal&quot;</span>, <span class="stringliteral">&quot;kl&quot;</span> }, { <span class="stringliteral">&quot;kan&quot;</span>, <span class="stringliteral">&quot;kn&quot;</span> }, { <span class="stringliteral">&quot;kas&quot;</span>, <span class="stringliteral">&quot;ks&quot;</span> }, { <span class="stringliteral">&quot;kat&quot;</span>, <span class="stringliteral">&quot;ka&quot;</span> },</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; { <span class="stringliteral">&quot;kau&quot;</span>, <span class="stringliteral">&quot;kr&quot;</span> }, { <span class="stringliteral">&quot;kaz&quot;</span>, <span class="stringliteral">&quot;kk&quot;</span> }, { <span class="stringliteral">&quot;khm&quot;</span>, <span class="stringliteral">&quot;km&quot;</span> }, { <span class="stringliteral">&quot;kik&quot;</span>, <span class="stringliteral">&quot;ki&quot;</span> },</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; { <span class="stringliteral">&quot;kin&quot;</span>, <span class="stringliteral">&quot;rw&quot;</span> }, { <span class="stringliteral">&quot;kir&quot;</span>, <span class="stringliteral">&quot;ky&quot;</span> }, { <span class="stringliteral">&quot;kom&quot;</span>, <span class="stringliteral">&quot;kv&quot;</span> }, { <span class="stringliteral">&quot;kon&quot;</span>, <span class="stringliteral">&quot;kg&quot;</span> },</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; { <span class="stringliteral">&quot;kor&quot;</span>, <span class="stringliteral">&quot;ko&quot;</span> }, { <span class="stringliteral">&quot;kua&quot;</span>, <span class="stringliteral">&quot;kj&quot;</span> }, { <span class="stringliteral">&quot;kur&quot;</span>, <span class="stringliteral">&quot;ku&quot;</span> }, { <span class="stringliteral">&quot;lao&quot;</span>, <span class="stringliteral">&quot;lo&quot;</span> },</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; { <span class="stringliteral">&quot;lat&quot;</span>, <span class="stringliteral">&quot;la&quot;</span> }, { <span class="stringliteral">&quot;lav&quot;</span>, <span class="stringliteral">&quot;lv&quot;</span> }, { <span class="stringliteral">&quot;lim&quot;</span>, <span class="stringliteral">&quot;li&quot;</span> }, { <span class="stringliteral">&quot;lin&quot;</span>, <span class="stringliteral">&quot;ln&quot;</span> },</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; { <span class="stringliteral">&quot;lit&quot;</span>, <span class="stringliteral">&quot;lt&quot;</span> }, { <span class="stringliteral">&quot;ltz&quot;</span>, <span class="stringliteral">&quot;lb&quot;</span> }, { <span class="stringliteral">&quot;lub&quot;</span>, <span class="stringliteral">&quot;lu&quot;</span> }, { <span class="stringliteral">&quot;lug&quot;</span>, <span class="stringliteral">&quot;lg&quot;</span> },</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; { <span class="stringliteral">&quot;mac&quot;</span>, <span class="stringliteral">&quot;mk&quot;</span> }, { <span class="stringliteral">&quot;mah&quot;</span>, <span class="stringliteral">&quot;mh&quot;</span> }, { <span class="stringliteral">&quot;mal&quot;</span>, <span class="stringliteral">&quot;ml&quot;</span> }, { <span class="stringliteral">&quot;mao&quot;</span>, <span class="stringliteral">&quot;mi&quot;</span> },</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; { <span class="stringliteral">&quot;mar&quot;</span>, <span class="stringliteral">&quot;mr&quot;</span> }, { <span class="stringliteral">&quot;may&quot;</span>, <span class="stringliteral">&quot;ms&quot;</span> }, { <span class="stringliteral">&quot;mkd&quot;</span>, <span class="stringliteral">&quot;mk&quot;</span> }, { <span class="stringliteral">&quot;mlg&quot;</span>, <span class="stringliteral">&quot;mg&quot;</span> },</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; { <span class="stringliteral">&quot;mlt&quot;</span>, <span class="stringliteral">&quot;mt&quot;</span> }, { <span class="stringliteral">&quot;mon&quot;</span>, <span class="stringliteral">&quot;mn&quot;</span> }, { <span class="stringliteral">&quot;mri&quot;</span>, <span class="stringliteral">&quot;mi&quot;</span> }, { <span class="stringliteral">&quot;msa&quot;</span>, <span class="stringliteral">&quot;ms&quot;</span> },</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; { <span class="stringliteral">&quot;mya&quot;</span>, <span class="stringliteral">&quot;my&quot;</span> }, { <span class="stringliteral">&quot;nau&quot;</span>, <span class="stringliteral">&quot;na&quot;</span> }, { <span class="stringliteral">&quot;nav&quot;</span>, <span class="stringliteral">&quot;nv&quot;</span> }, { <span class="stringliteral">&quot;nbl&quot;</span>, <span class="stringliteral">&quot;nr&quot;</span> },</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; { <span class="stringliteral">&quot;nde&quot;</span>, <span class="stringliteral">&quot;nd&quot;</span> }, { <span class="stringliteral">&quot;ndo&quot;</span>, <span class="stringliteral">&quot;ng&quot;</span> }, { <span class="stringliteral">&quot;nep&quot;</span>, <span class="stringliteral">&quot;ne&quot;</span> }, { <span class="stringliteral">&quot;nld&quot;</span>, <span class="stringliteral">&quot;nl&quot;</span> },</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; { <span class="stringliteral">&quot;nno&quot;</span>, <span class="stringliteral">&quot;nn&quot;</span> }, { <span class="stringliteral">&quot;nob&quot;</span>, <span class="stringliteral">&quot;nb&quot;</span> }, { <span class="stringliteral">&quot;nor&quot;</span>, <span class="stringliteral">&quot;no&quot;</span> }, { <span class="stringliteral">&quot;nya&quot;</span>, <span class="stringliteral">&quot;ny&quot;</span> },</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; { <span class="stringliteral">&quot;oci&quot;</span>, <span class="stringliteral">&quot;oc&quot;</span> }, { <span class="stringliteral">&quot;oji&quot;</span>, <span class="stringliteral">&quot;oj&quot;</span> }, { <span class="stringliteral">&quot;ori&quot;</span>, <span class="stringliteral">&quot;or&quot;</span> }, { <span class="stringliteral">&quot;orm&quot;</span>, <span class="stringliteral">&quot;om&quot;</span> },</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; { <span class="stringliteral">&quot;oss&quot;</span>, <span class="stringliteral">&quot;os&quot;</span> }, { <span class="stringliteral">&quot;pan&quot;</span>, <span class="stringliteral">&quot;pa&quot;</span> }, { <span class="stringliteral">&quot;per&quot;</span>, <span class="stringliteral">&quot;fa&quot;</span> }, { <span class="stringliteral">&quot;pli&quot;</span>, <span class="stringliteral">&quot;pi&quot;</span> },</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; { <span class="stringliteral">&quot;pol&quot;</span>, <span class="stringliteral">&quot;pl&quot;</span> }, { <span class="stringliteral">&quot;por&quot;</span>, <span class="stringliteral">&quot;pt&quot;</span> }, { <span class="stringliteral">&quot;pus&quot;</span>, <span class="stringliteral">&quot;ps&quot;</span> }, { <span class="stringliteral">&quot;que&quot;</span>, <span class="stringliteral">&quot;qu&quot;</span> },</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; { <span class="stringliteral">&quot;roh&quot;</span>, <span class="stringliteral">&quot;rm&quot;</span> }, { <span class="stringliteral">&quot;ron&quot;</span>, <span class="stringliteral">&quot;ro&quot;</span> }, { <span class="stringliteral">&quot;rum&quot;</span>, <span class="stringliteral">&quot;ro&quot;</span> }, { <span class="stringliteral">&quot;run&quot;</span>, <span class="stringliteral">&quot;rn&quot;</span> },</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; { <span class="stringliteral">&quot;rus&quot;</span>, <span class="stringliteral">&quot;ru&quot;</span> }, { <span class="stringliteral">&quot;sag&quot;</span>, <span class="stringliteral">&quot;sg&quot;</span> }, { <span class="stringliteral">&quot;san&quot;</span>, <span class="stringliteral">&quot;sa&quot;</span> }, { <span class="stringliteral">&quot;sin&quot;</span>, <span class="stringliteral">&quot;si&quot;</span> },</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; { <span class="stringliteral">&quot;slk&quot;</span>, <span class="stringliteral">&quot;sk&quot;</span> }, { <span class="stringliteral">&quot;slo&quot;</span>, <span class="stringliteral">&quot;sk&quot;</span> }, { <span class="stringliteral">&quot;slv&quot;</span>, <span class="stringliteral">&quot;sl&quot;</span> }, { <span class="stringliteral">&quot;sme&quot;</span>, <span class="stringliteral">&quot;se&quot;</span> },</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; { <span class="stringliteral">&quot;smo&quot;</span>, <span class="stringliteral">&quot;sm&quot;</span> }, { <span class="stringliteral">&quot;sna&quot;</span>, <span class="stringliteral">&quot;sn&quot;</span> }, { <span class="stringliteral">&quot;snd&quot;</span>, <span class="stringliteral">&quot;sd&quot;</span> }, { <span class="stringliteral">&quot;som&quot;</span>, <span class="stringliteral">&quot;so&quot;</span> },</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; { <span class="stringliteral">&quot;sot&quot;</span>, <span class="stringliteral">&quot;st&quot;</span> }, { <span class="stringliteral">&quot;spa&quot;</span>, <span class="stringliteral">&quot;es&quot;</span> }, { <span class="stringliteral">&quot;sqi&quot;</span>, <span class="stringliteral">&quot;sq&quot;</span> }, { <span class="stringliteral">&quot;srd&quot;</span>, <span class="stringliteral">&quot;sc&quot;</span> },</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; { <span class="stringliteral">&quot;srp&quot;</span>, <span class="stringliteral">&quot;sr&quot;</span> }, { <span class="stringliteral">&quot;ssw&quot;</span>, <span class="stringliteral">&quot;ss&quot;</span> }, { <span class="stringliteral">&quot;sun&quot;</span>, <span class="stringliteral">&quot;su&quot;</span> }, { <span class="stringliteral">&quot;swa&quot;</span>, <span class="stringliteral">&quot;sw&quot;</span> },</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; { <span class="stringliteral">&quot;swe&quot;</span>, <span class="stringliteral">&quot;sv&quot;</span> }, { <span class="stringliteral">&quot;tah&quot;</span>, <span class="stringliteral">&quot;ty&quot;</span> }, { <span class="stringliteral">&quot;tam&quot;</span>, <span class="stringliteral">&quot;ta&quot;</span> }, { <span class="stringliteral">&quot;tat&quot;</span>, <span class="stringliteral">&quot;tt&quot;</span> },</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; { <span class="stringliteral">&quot;tel&quot;</span>, <span class="stringliteral">&quot;te&quot;</span> }, { <span class="stringliteral">&quot;tgk&quot;</span>, <span class="stringliteral">&quot;tg&quot;</span> }, { <span class="stringliteral">&quot;tgl&quot;</span>, <span class="stringliteral">&quot;tl&quot;</span> }, { <span class="stringliteral">&quot;tha&quot;</span>, <span class="stringliteral">&quot;th&quot;</span> },</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; { <span class="stringliteral">&quot;tib&quot;</span>, <span class="stringliteral">&quot;bo&quot;</span> }, { <span class="stringliteral">&quot;tir&quot;</span>, <span class="stringliteral">&quot;ti&quot;</span> }, { <span class="stringliteral">&quot;ton&quot;</span>, <span class="stringliteral">&quot;to&quot;</span> }, { <span class="stringliteral">&quot;tsn&quot;</span>, <span class="stringliteral">&quot;tn&quot;</span> },</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; { <span class="stringliteral">&quot;tso&quot;</span>, <span class="stringliteral">&quot;ts&quot;</span> }, { <span class="stringliteral">&quot;tuk&quot;</span>, <span class="stringliteral">&quot;tk&quot;</span> }, { <span class="stringliteral">&quot;tur&quot;</span>, <span class="stringliteral">&quot;tr&quot;</span> }, { <span class="stringliteral">&quot;twi&quot;</span>, <span class="stringliteral">&quot;tw&quot;</span> },</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; { <span class="stringliteral">&quot;uig&quot;</span>, <span class="stringliteral">&quot;ug&quot;</span> }, { <span class="stringliteral">&quot;ukr&quot;</span>, <span class="stringliteral">&quot;uk&quot;</span> }, { <span class="stringliteral">&quot;urd&quot;</span>, <span class="stringliteral">&quot;ur&quot;</span> }, { <span class="stringliteral">&quot;uzb&quot;</span>, <span class="stringliteral">&quot;uz&quot;</span> },</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; { <span class="stringliteral">&quot;ven&quot;</span>, <span class="stringliteral">&quot;ve&quot;</span> }, { <span class="stringliteral">&quot;vie&quot;</span>, <span class="stringliteral">&quot;vi&quot;</span> }, { <span class="stringliteral">&quot;vol&quot;</span>, <span class="stringliteral">&quot;vo&quot;</span> }, { <span class="stringliteral">&quot;wel&quot;</span>, <span class="stringliteral">&quot;cy&quot;</span> },</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; { <span class="stringliteral">&quot;wln&quot;</span>, <span class="stringliteral">&quot;wa&quot;</span> }, { <span class="stringliteral">&quot;wol&quot;</span>, <span class="stringliteral">&quot;wo&quot;</span> }, { <span class="stringliteral">&quot;xho&quot;</span>, <span class="stringliteral">&quot;xh&quot;</span> }, { <span class="stringliteral">&quot;yid&quot;</span>, <span class="stringliteral">&quot;yi&quot;</span> },</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; { <span class="stringliteral">&quot;yor&quot;</span>, <span class="stringliteral">&quot;yo&quot;</span> }, { <span class="stringliteral">&quot;zha&quot;</span>, <span class="stringliteral">&quot;za&quot;</span> }, { <span class="stringliteral">&quot;zho&quot;</span>, <span class="stringliteral">&quot;zh&quot;</span> }, { <span class="stringliteral">&quot;zul&quot;</span>, <span class="stringliteral">&quot;zu&quot;</span> },</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;};</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;} <span class="comment">// namespace</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="../../db/d09/namespaceedash__packager.html#a4f8cf77ef5242943e88811962c2870e5"> 77</a></span>&#160;std::string <a class="code" href="../../db/d09/namespaceedash__packager.html#a4f8cf77ef5242943e88811962c2870e5">LanguageToShortestForm</a>(<span class="keyword">const</span> std::string&amp; language) {</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">if</span> (language.size() == 2) {</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="comment">// Presumably already a valid ISO-639-1 code, and therefore conforms to</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="comment">// BCP-47&#39;s requirement to use the shortest possible code.</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span> language;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; }</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; arraysize(kLanguageMap); ++i) {</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">if</span> (language == kLanguageMap[i].iso_639_2) {</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">return</span> kLanguageMap[i].iso_639_1;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; }</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; }</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="comment">// This could happen legitimately for languages which have no 2-letter code,</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="comment">// but that would imply that the input language code is a 3-letter code.</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; DCHECK_EQ(3u, language.size());</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">return</span> language;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;}</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="../../db/d09/namespaceedash__packager.html#a1082a6ff7615e61946ce7d6616f21dde"> 96</a></span>&#160;std::string <a class="code" href="../../db/d09/namespaceedash__packager.html#a1082a6ff7615e61946ce7d6616f21dde">LanguageToISO_639_2</a>(<span class="keyword">const</span> std::string&amp; language) {</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">if</span> (language.size() == 3) {</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="comment">// Presumably already a valid ISO-639-2 code.</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">return</span> language;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; }</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; arraysize(kLanguageMap); ++i) {</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">if</span> (language == kLanguageMap[i].iso_639_1) {</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">return</span> kLanguageMap[i].iso_639_2;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; }</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; }</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; LOG(WARNING) &lt;&lt; <span class="stringliteral">&quot;No equivalent 3-letter language code for &quot;</span> &lt;&lt; language;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="comment">// This is probably a mistake on the part of the user and should be treated</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="comment">// as invalid input.</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;und&quot;</span>;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;}</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="ttc" id="namespaceedash__packager_html_a4f8cf77ef5242943e88811962c2870e5"><div class="ttname"><a href="../../db/d09/namespaceedash__packager.html#a4f8cf77ef5242943e88811962c2870e5">edash_packager::LanguageToShortestForm</a></div><div class="ttdeci">std::string LanguageToShortestForm(const std::string &amp;language)</div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d72/language__utils_8cc_source.html#l00077">language_utils.cc:77</a></div></div>
<div class="ttc" id="namespaceedash__packager_html_a1082a6ff7615e61946ce7d6616f21dde"><div class="ttname"><a href="../../db/d09/namespaceedash__packager.html#a1082a6ff7615e61946ce7d6616f21dde">edash_packager::LanguageToISO_639_2</a></div><div class="ttdeci">std::string LanguageToISO_639_2(const std::string &amp;language)</div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d72/language__utils_8cc_source.html#l00096">language_utils.cc:96</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,121 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">AudioSampleEntry</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::mp4::AudioSampleEntry Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>AudioSampleEntry</b>() (defined in <a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a>)</td><td class="entry"><a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>BoxType</b>() const OVERRIDE (defined in <a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a>)</td><td class="entry"><a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>channelcount</b> (defined in <a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a>)</td><td class="entry"><a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html#a4bbef873e7c8603e63e176197c794ce2">ComputeSize</a>() OVERRIDE</td><td class="entry"><a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>data_reference_index</b> (defined in <a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a>)</td><td class="entry"><a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>esds</b> (defined in <a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a>)</td><td class="entry"><a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>format</b> (defined in <a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a>)</td><td class="entry"><a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a>(BoxReader *reader)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html#a25e6faaa3aac8ca177ce719ac86a1230">ReadWrite</a>(BoxBuffer *buffer) OVERRIDE</td><td class="entry"><a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>samplerate</b> (defined in <a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a>)</td><td class="entry"><a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>samplesize</b> (defined in <a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a>)</td><td class="entry"><a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>sinf</b> (defined in <a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a>)</td><td class="entry"><a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a>(BufferWriter *writer)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~AudioSampleEntry</b>() (defined in <a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a>)</td><td class="entry"><a class="el" href="../../df/d62/structedash__packager_1_1media_1_1mp4_1_1AudioSampleEntry.html">edash_packager::media::mp4::AudioSampleEntry</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:57 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>

View File

@ -0,0 +1,535 @@
<!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: media/formats/mp2t/mp2t_media_parser.cc Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_65f7acfa8cf3a5f1edc11faa2428b914.html">formats</a></li><li class="navelem"><a class="el" href="../../dir_f7dcbe7025bbacfc4b9a7dff6ad41d72.html">mp2t</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">mp2t_media_parser.cc</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 The Chromium Authors. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style license that can be</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// found in the LICENSE file.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;</div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp2t/mp2t_media_parser.h&quot;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &quot;packager/base/bind.h&quot;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &quot;packager/base/memory/scoped_ptr.h&quot;</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;packager/base/stl_util.h&quot;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/media_sample.h&quot;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/stream_info.h&quot;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp2t/es_parser.h&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp2t/es_parser_adts.h&quot;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp2t/es_parser_h264.h&quot;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp2t/mp2t_common.h&quot;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp2t/ts_packet.h&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp2t/ts_section.h&quot;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp2t/ts_section_pat.h&quot;</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp2t/ts_section_pes.h&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp2t/ts_section_pmt.h&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="keyword">namespace </span>mp2t {</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="keyword">enum</span> StreamType {</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="comment">// ISO-13818.1 / ITU H.222 Table 2.34 &quot;Stream type assignments&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; kStreamTypeMpeg1Audio = 0x3,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; kStreamTypeAAC = 0xf,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; kStreamTypeAVC = 0x1b,</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;};</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keyword">class </span>PidState {</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keyword">enum</span> PidType {</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; kPidPat,</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; kPidPmt,</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; kPidAudioPes,</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; kPidVideoPes,</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; };</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; PidState(<span class="keywordtype">int</span> pid, PidType pid_type,</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; scoped_ptr&lt;TsSection&gt; section_parser);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="comment">// Extract the content of the TS packet and parse it.</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="comment">// Return true if successful.</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordtype">bool</span> PushTsPacket(<span class="keyword">const</span> TsPacket&amp; ts_packet);</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="comment">// Flush the PID state (possibly emitting some pending frames)</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="comment">// and reset its state.</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordtype">void</span> Flush();</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="comment">// Enable/disable the PID.</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="comment">// Disabling a PID will reset its state and ignore any further incoming TS</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="comment">// packets.</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordtype">void</span> Enable();</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordtype">void</span> Disable();</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordtype">bool</span> IsEnabled() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; PidType pid_type()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> pid_type_; }</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; scoped_refptr&lt;StreamInfo&gt;&amp; config() { <span class="keywordflow">return</span> config_; }</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordtype">void</span> set_config(scoped_refptr&lt;StreamInfo&gt;&amp; config) { config_ = config; }</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; SampleQueue&amp; sample_queue() { <span class="keywordflow">return</span> sample_queue_; }</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordtype">void</span> ResetState();</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordtype">int</span> pid_;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; PidType pid_type_;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; scoped_ptr&lt;TsSection&gt; section_parser_;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordtype">bool</span> enable_;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordtype">int</span> continuity_counter_;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; scoped_refptr&lt;StreamInfo&gt; config_;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; SampleQueue sample_queue_;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;};</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;PidState::PidState(<span class="keywordtype">int</span> pid, PidType pid_type,</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; scoped_ptr&lt;TsSection&gt; section_parser)</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; : pid_(pid),</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; pid_type_(pid_type),</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; section_parser_(section_parser.Pass()),</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; enable_(false),</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; continuity_counter_(-1) {</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; DCHECK(section_parser_);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;}</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="keywordtype">bool</span> PidState::PushTsPacket(<span class="keyword">const</span> TsPacket&amp; ts_packet) {</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; DCHECK_EQ(ts_packet.pid(), pid_);</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="comment">// The current PID is not part of the PID filter,</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="comment">// just discard the incoming TS packet.</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">if</span> (!enable_)</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordtype">int</span> expected_continuity_counter = (continuity_counter_ + 1) % 16;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">if</span> (continuity_counter_ &gt;= 0 &amp;&amp;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; ts_packet.continuity_counter() != expected_continuity_counter) {</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; DVLOG(1) &lt;&lt; <span class="stringliteral">&quot;TS discontinuity detected for pid: &quot;</span> &lt;&lt; pid_;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="comment">// TODO(tinskip): Handle discontinuity better.</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; }</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordtype">bool</span> status = section_parser_-&gt;Parse(</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; ts_packet.payload_unit_start_indicator(),</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; ts_packet.payload(),</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; ts_packet.payload_size());</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="comment">// At the minimum, when parsing failed, auto reset the section parser.</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="comment">// Components that use the Mp2tMediaParser can take further action if needed.</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">if</span> (!status) {</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; DVLOG(1) &lt;&lt; <span class="stringliteral">&quot;Parsing failed for pid = &quot;</span> &lt;&lt; pid_;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; ResetState();</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">return</span> status;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;}</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="keywordtype">void</span> PidState::Flush() {</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; section_parser_-&gt;Flush();</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; ResetState();</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;}</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="keywordtype">void</span> PidState::Enable() {</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; enable_ = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;}</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="keywordtype">void</span> PidState::Disable() {</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">if</span> (!enable_)</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; ResetState();</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; enable_ = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;}</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="keywordtype">bool</span> PidState::IsEnabled()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">return</span> enable_;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;}</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="keywordtype">void</span> PidState::ResetState() {</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; section_parser_-&gt;Reset();</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; continuity_counter_ = -1;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;}</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;Mp2tMediaParser::Mp2tMediaParser()</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; : sbr_in_mimetype_(false),</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; is_initialized_(false) {</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;}</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;Mp2tMediaParser::~Mp2tMediaParser() {</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; STLDeleteValues(&amp;pids_);</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;}</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</div>
<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="../../dc/dab/classedash__packager_1_1media_1_1mp2t_1_1Mp2tMediaParser.html#a14a6993c335f89e8245f1af47fb9e55a"> 156</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../dc/dab/classedash__packager_1_1media_1_1mp2t_1_1Mp2tMediaParser.html#a14a6993c335f89e8245f1af47fb9e55a">Mp2tMediaParser::Init</a>(</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keyword">const</span> InitCB&amp; init_cb,</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keyword">const</span> NewSampleCB&amp; new_sample_cb,</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html">KeySource</a>* decryption_key_source) {</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; DCHECK(!is_initialized_);</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; DCHECK(init_cb_.is_null());</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; DCHECK(!init_cb.is_null());</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; DCHECK(!new_sample_cb.is_null());</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; init_cb_ = init_cb;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; new_sample_cb_ = new_sample_cb;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;}</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div>
<div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="../../dc/dab/classedash__packager_1_1media_1_1mp2t_1_1Mp2tMediaParser.html#a3b4fdfa2e74ea2817c44a23feb714758"> 169</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../dc/dab/classedash__packager_1_1media_1_1mp2t_1_1Mp2tMediaParser.html#a3b4fdfa2e74ea2817c44a23feb714758">Mp2tMediaParser::Flush</a>() {</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; DVLOG(1) &lt;&lt; <span class="stringliteral">&quot;Mp2tMediaParser::Flush&quot;</span>;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="comment">// Flush the buffers and reset the pids.</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">for</span> (std::map&lt;int, PidState*&gt;::iterator it = pids_.begin();</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; it != pids_.end(); ++it) {</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; DVLOG(1) &lt;&lt; <span class="stringliteral">&quot;Flushing PID: &quot;</span> &lt;&lt; it-&gt;first;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; PidState* pid_state = it-&gt;second;</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; pid_state-&gt;Flush();</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; }</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; EmitRemainingSamples();</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; STLDeleteValues(&amp;pids_);</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="comment">// Remove any bytes left in the TS buffer.</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="comment">// (i.e. any partial TS packet =&gt; less than 188 bytes).</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; ts_byte_queue_.<a class="code" href="../../d8/d2e/classedash__packager_1_1media_1_1ByteQueue.html#a452485879d303d5c8654e1b184bc1235">Reset</a>();</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;}</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;</div>
<div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="../../dc/dab/classedash__packager_1_1media_1_1mp2t_1_1Mp2tMediaParser.html#a416aaeb6231a46548871a419795d1ffc"> 187</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../dc/dab/classedash__packager_1_1media_1_1mp2t_1_1Mp2tMediaParser.html#a416aaeb6231a46548871a419795d1ffc">Mp2tMediaParser::Parse</a>(<span class="keyword">const</span> uint8_t* buf, <span class="keywordtype">int</span> size) {</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; DVLOG(1) &lt;&lt; <span class="stringliteral">&quot;Mp2tMediaParser::Parse size=&quot;</span> &lt;&lt; size;</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="comment">// Add the data to the parser state.</span></div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; ts_byte_queue_.<a class="code" href="../../d8/d2e/classedash__packager_1_1media_1_1ByteQueue.html#afa47d3dc54862cee101d4be8746de6eb">Push</a>(buf, size);</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">while</span> (<span class="keyword">true</span>) {</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keyword">const</span> uint8_t* ts_buffer;</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordtype">int</span> ts_buffer_size;</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; ts_byte_queue_.<a class="code" href="../../d8/d2e/classedash__packager_1_1media_1_1ByteQueue.html#a8253df160751462f3b75290a7c525e56">Peek</a>(&amp;ts_buffer, &amp;ts_buffer_size);</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">if</span> (ts_buffer_size &lt; TsPacket::kPacketSize)</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="comment">// Synchronization.</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordtype">int</span> skipped_bytes = TsPacket::Sync(ts_buffer, ts_buffer_size);</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">if</span> (skipped_bytes &gt; 0) {</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; DVLOG(1) &lt;&lt; <span class="stringliteral">&quot;Packet not aligned on a TS syncword:&quot;</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; &lt;&lt; <span class="stringliteral">&quot; skipped_bytes=&quot;</span> &lt;&lt; skipped_bytes;</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; ts_byte_queue_.<a class="code" href="../../d8/d2e/classedash__packager_1_1media_1_1ByteQueue.html#acac5c7874703c86ba77a50d3be0671d2">Pop</a>(skipped_bytes);</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; }</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="comment">// Parse the TS header, skipping 1 byte if the header is invalid.</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; scoped_ptr&lt;TsPacket&gt; ts_packet(TsPacket::Parse(ts_buffer, ts_buffer_size));</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">if</span> (!ts_packet) {</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; DVLOG(1) &lt;&lt; <span class="stringliteral">&quot;Error: invalid TS packet&quot;</span>;</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; ts_byte_queue_.<a class="code" href="../../d8/d2e/classedash__packager_1_1media_1_1ByteQueue.html#acac5c7874703c86ba77a50d3be0671d2">Pop</a>(1);</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; }</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; DVLOG(LOG_LEVEL_TS)</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Processing PID=&quot;</span> &lt;&lt; ts_packet-&gt;pid()</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; &lt;&lt; <span class="stringliteral">&quot; start_unit=&quot;</span> &lt;&lt; ts_packet-&gt;payload_unit_start_indicator();</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="comment">// Parse the section.</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; std::map&lt;int, PidState*&gt;::iterator it = pids_.find(ts_packet-&gt;pid());</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">if</span> (it == pids_.end() &amp;&amp;</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; ts_packet-&gt;pid() == TsSection::kPidPat) {</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="comment">// Create the PAT state here if needed.</span></div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; scoped_ptr&lt;TsSection&gt; pat_section_parser(</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keyword">new</span> <a class="code" href="../../dd/d0e/classedash__packager_1_1media_1_1mp2t_1_1TsSectionPat.html">TsSectionPat</a>(</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; base::Bind(&amp;Mp2tMediaParser::RegisterPmt,</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; base::Unretained(<span class="keyword">this</span>))));</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; scoped_ptr&lt;PidState&gt; pat_pid_state(</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keyword">new</span> PidState(ts_packet-&gt;pid(), PidState::kPidPat,</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; pat_section_parser.Pass()));</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; pat_pid_state-&gt;Enable();</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; it = pids_.insert(</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; std::pair&lt;int, PidState*&gt;(ts_packet-&gt;pid(),</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; pat_pid_state.release())).first;</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; }</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">if</span> (it != pids_.end()) {</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">if</span> (!it-&gt;second-&gt;PushTsPacket(*ts_packet))</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; DVLOG(LOG_LEVEL_TS) &lt;&lt; <span class="stringliteral">&quot;Ignoring TS packet for pid: &quot;</span> &lt;&lt; ts_packet-&gt;pid();</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; }</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="comment">// Go to the next packet.</span></div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; ts_byte_queue_.<a class="code" href="../../d8/d2e/classedash__packager_1_1media_1_1ByteQueue.html#acac5c7874703c86ba77a50d3be0671d2">Pop</a>(TsPacket::kPacketSize);</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; }</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="comment">// Emit the A/V buffers that kept accumulating during TS parsing.</span></div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">return</span> EmitRemainingSamples();</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;}</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;<span class="keywordtype">void</span> Mp2tMediaParser::RegisterPmt(<span class="keywordtype">int</span> program_number, <span class="keywordtype">int</span> pmt_pid) {</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; DVLOG(1) &lt;&lt; <span class="stringliteral">&quot;RegisterPmt:&quot;</span></div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; &lt;&lt; <span class="stringliteral">&quot; program_number=&quot;</span> &lt;&lt; program_number</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; &lt;&lt; <span class="stringliteral">&quot; pmt_pid=&quot;</span> &lt;&lt; pmt_pid;</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="comment">// Only one TS program is allowed. Ignore the incoming program map table,</span></div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="comment">// if there is already one registered.</span></div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">for</span> (std::map&lt;int, PidState*&gt;::iterator it = pids_.begin();</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; it != pids_.end(); ++it) {</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; PidState* pid_state = it-&gt;second;</div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">if</span> (pid_state-&gt;pid_type() == PidState::kPidPmt) {</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; DVLOG_IF(1, pmt_pid != it-&gt;first) &lt;&lt; <span class="stringliteral">&quot;More than one program is defined&quot;</span>;</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; }</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; }</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="comment">// Create the PMT state here if needed.</span></div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; DVLOG(1) &lt;&lt; <span class="stringliteral">&quot;Create a new PMT parser&quot;</span>;</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; scoped_ptr&lt;TsSection&gt; pmt_section_parser(</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keyword">new</span> TsSectionPmt(</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; base::Bind(&amp;Mp2tMediaParser::RegisterPes,</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; base::Unretained(<span class="keyword">this</span>), pmt_pid)));</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; scoped_ptr&lt;PidState&gt; pmt_pid_state(</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keyword">new</span> PidState(pmt_pid, PidState::kPidPmt, pmt_section_parser.Pass()));</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; pmt_pid_state-&gt;Enable();</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; pids_.insert(std::pair&lt;int, PidState*&gt;(pmt_pid, pmt_pid_state.release()));</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;}</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;<span class="keywordtype">void</span> Mp2tMediaParser::RegisterPes(<span class="keywordtype">int</span> pmt_pid,</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordtype">int</span> pes_pid,</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordtype">int</span> stream_type) {</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; DVLOG(1) &lt;&lt; <span class="stringliteral">&quot;RegisterPes:&quot;</span></div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; &lt;&lt; <span class="stringliteral">&quot; pes_pid=&quot;</span> &lt;&lt; pes_pid</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; &lt;&lt; <span class="stringliteral">&quot; stream_type=&quot;</span> &lt;&lt; std::hex &lt;&lt; stream_type &lt;&lt; std::dec;</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; std::map&lt;int, PidState*&gt;::iterator it = pids_.find(pes_pid);</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">if</span> (it != pids_.end())</div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="comment">// Create a stream parser corresponding to the stream type.</span></div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordtype">bool</span> is_audio = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; scoped_ptr&lt;EsParser&gt; es_parser;</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">if</span> (stream_type == kStreamTypeAVC) {</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; es_parser.reset(</div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keyword">new</span> EsParserH264(</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; pes_pid,</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; base::Bind(&amp;Mp2tMediaParser::OnNewStreamInfo,</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; base::Unretained(<span class="keyword">this</span>)),</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; base::Bind(&amp;Mp2tMediaParser::OnEmitSample,</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; base::Unretained(<span class="keyword">this</span>))));</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (stream_type == kStreamTypeAAC) {</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; es_parser.reset(</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keyword">new</span> EsParserAdts(</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; pes_pid,</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; base::Bind(&amp;Mp2tMediaParser::OnNewStreamInfo,</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; base::Unretained(<span class="keyword">this</span>)),</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; base::Bind(&amp;Mp2tMediaParser::OnEmitSample,</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; base::Unretained(<span class="keyword">this</span>)),</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; sbr_in_mimetype_));</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; is_audio = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; }</div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="comment">// Create the PES state here.</span></div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; DVLOG(1) &lt;&lt; <span class="stringliteral">&quot;Create a new PES state&quot;</span>;</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; scoped_ptr&lt;TsSection&gt; pes_section_parser(</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keyword">new</span> TsSectionPes(es_parser.Pass()));</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; PidState::PidType pid_type =</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; is_audio ? PidState::kPidAudioPes : PidState::kPidVideoPes;</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; scoped_ptr&lt;PidState&gt; pes_pid_state(</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keyword">new</span> PidState(pes_pid, pid_type, pes_section_parser.Pass()));</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; pes_pid_state-&gt;Enable();</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; pids_.insert(std::pair&lt;int, PidState*&gt;(pes_pid, pes_pid_state.release()));</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;}</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;</div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;<span class="keywordtype">void</span> Mp2tMediaParser::OnNewStreamInfo(</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; scoped_refptr&lt;StreamInfo&gt;&amp; new_stream_info) {</div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; DCHECK(new_stream_info);</div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; DVLOG(1) &lt;&lt; <span class="stringliteral">&quot;OnVideoConfigChanged for pid=&quot;</span> &lt;&lt; new_stream_info-&gt;track_id();</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;</div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; PidMap::iterator pid_state = pids_.find(new_stream_info-&gt;track_id());</div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">if</span> (pid_state == pids_.end()) {</div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;PID State for new stream not found (pid = &quot;</span></div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; &lt;&lt; new_stream_info-&gt;track_id() &lt;&lt; <span class="stringliteral">&quot;).&quot;</span>;</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; }</div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="comment">// Set the stream configuration information for the PID.</span></div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; pid_state-&gt;second-&gt;set_config(new_stream_info);</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="comment">// Finish initialization if all streams have configs.</span></div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; FinishInitializationIfNeeded();</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;}</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;<span class="keywordtype">bool</span> Mp2tMediaParser::FinishInitializationIfNeeded() {</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="comment">// Nothing to be done if already initialized.</span></div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">if</span> (is_initialized_)</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="comment">// Wait for more data to come to finish initialization.</span></div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordflow">if</span> (pids_.empty())</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;</div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; std::vector&lt;scoped_refptr&lt;StreamInfo&gt; &gt; all_stream_info;</div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; uint32_t num_es(0);</div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">for</span> (PidMap::const_iterator iter = pids_.begin(); iter != pids_.end();</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; ++iter) {</div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordflow">if</span> (((iter-&gt;second-&gt;pid_type() == PidState::kPidAudioPes) ||</div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; (iter-&gt;second-&gt;pid_type() == PidState::kPidVideoPes))) {</div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; ++num_es;</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">if</span> (iter-&gt;second-&gt;config())</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; all_stream_info.push_back(iter-&gt;second-&gt;config());</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; }</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; }</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keywordflow">if</span> (num_es &amp;&amp; (all_stream_info.size() == num_es)) {</div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="comment">// All stream configurations have been received. Initialization can</span></div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="comment">// be completed.</span></div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; init_cb_.Run(all_stream_info);</div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; DVLOG(1) &lt;&lt; <span class="stringliteral">&quot;Mpeg2TS stream parser initialization done&quot;</span>;</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; is_initialized_ = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; }</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;}</div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160;</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;<span class="keywordtype">void</span> Mp2tMediaParser::OnEmitSample(uint32_t pes_pid,</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; scoped_refptr&lt;MediaSample&gt;&amp; new_sample) {</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; DCHECK(new_sample);</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; DVLOG(LOG_LEVEL_ES)</div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; &lt;&lt; <span class="stringliteral">&quot;OnEmitSample: &quot;</span></div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; &lt;&lt; <span class="stringliteral">&quot; pid=&quot;</span></div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; &lt;&lt; pes_pid</div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; &lt;&lt; <span class="stringliteral">&quot; size=&quot;</span></div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; &lt;&lt; new_sample-&gt;data_size()</div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; &lt;&lt; <span class="stringliteral">&quot; dts=&quot;</span></div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; &lt;&lt; new_sample-&gt;dts()</div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; &lt;&lt; <span class="stringliteral">&quot; pts=&quot;</span></div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; &lt;&lt; new_sample-&gt;pts();</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="comment">// Add the sample to the appropriate PID sample queue.</span></div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; PidMap::iterator pid_state = pids_.find(pes_pid);</div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keywordflow">if</span> (pid_state == pids_.end()) {</div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;PID State for new sample not found (pid = &quot;</span></div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; &lt;&lt; pes_pid &lt;&lt; <span class="stringliteral">&quot;).&quot;</span>;</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; }</div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; pid_state-&gt;second-&gt;sample_queue().push_back(new_sample);</div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;}</div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;</div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;<span class="keywordtype">bool</span> Mp2tMediaParser::EmitRemainingSamples() {</div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; DVLOG(LOG_LEVEL_ES) &lt;&lt; <span class="stringliteral">&quot;Mp2tMediaParser::EmitRemainingBuffers&quot;</span>;</div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;</div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="comment">// No buffer should be sent until fully initialized.</span></div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">if</span> (!is_initialized_)</div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160;</div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="comment">// Buffer emission.</span></div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <span class="keywordflow">for</span> (PidMap::const_iterator pid_iter = pids_.begin(); pid_iter != pids_.end();</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; ++pid_iter) {</div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; SampleQueue&amp; sample_queue = pid_iter-&gt;second-&gt;sample_queue();</div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">for</span> (SampleQueue::iterator sample_iter = sample_queue.begin();</div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; sample_iter != sample_queue.end();</div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; ++sample_iter) {</div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">if</span> (!new_sample_cb_.Run(pid_iter-&gt;first, *sample_iter)) {</div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="comment">// Error processing sample. Propagate error condition.</span></div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; }</div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; }</div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; sample_queue.clear();</div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; }</div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;</div>
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;}</div>
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;</div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;} <span class="comment">// namespace mp2t</span></div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="ttc" id="classedash__packager_1_1media_1_1ByteQueue_html_afa47d3dc54862cee101d4be8746de6eb"><div class="ttname"><a href="../../d8/d2e/classedash__packager_1_1media_1_1ByteQueue.html#afa47d3dc54862cee101d4be8746de6eb">edash_packager::media::ByteQueue::Push</a></div><div class="ttdeci">void Push(const uint8_t *data, int size)</div><div class="ttdoc">Append new bytes to the end of the queue. </div><div class="ttdef"><b>Definition:</b> <a href="../../d7/df9/byte__queue_8cc_source.html#l00029">byte_queue.cc:29</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1ByteQueue_html_acac5c7874703c86ba77a50d3be0671d2"><div class="ttname"><a href="../../d8/d2e/classedash__packager_1_1media_1_1ByteQueue.html#acac5c7874703c86ba77a50d3be0671d2">edash_packager::media::ByteQueue::Pop</a></div><div class="ttdeci">void Pop(int count)</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/df9/byte__queue_8cc_source.html#l00070">byte_queue.cc:70</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp2t_1_1Mp2tMediaParser_html_a3b4fdfa2e74ea2817c44a23feb714758"><div class="ttname"><a href="../../dc/dab/classedash__packager_1_1media_1_1mp2t_1_1Mp2tMediaParser.html#a3b4fdfa2e74ea2817c44a23feb714758">edash_packager::media::mp2t::Mp2tMediaParser::Flush</a></div><div class="ttdeci">virtual void Flush() OVERRIDE</div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d74/mp2t__media__parser_8cc_source.html#l00169">mp2t_media_parser.cc:169</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp2t_1_1Mp2tMediaParser_html_a14a6993c335f89e8245f1af47fb9e55a"><div class="ttname"><a href="../../dc/dab/classedash__packager_1_1media_1_1mp2t_1_1Mp2tMediaParser.html#a14a6993c335f89e8245f1af47fb9e55a">edash_packager::media::mp2t::Mp2tMediaParser::Init</a></div><div class="ttdeci">virtual void Init(const InitCB &amp;init_cb, const NewSampleCB &amp;new_sample_cb, KeySource *decryption_key_source) OVERRIDE</div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d74/mp2t__media__parser_8cc_source.html#l00156">mp2t_media_parser.cc:156</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp2t_1_1TsSectionPat_html"><div class="ttname"><a href="../../dd/d0e/classedash__packager_1_1media_1_1mp2t_1_1TsSectionPat.html">edash_packager::media::mp2t::TsSectionPat</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d6/da0/ts__section__pat_8h_source.html#l00016">ts_section_pat.h:16</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1KeySource_html"><div class="ttname"><a href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html">edash_packager::media::KeySource</a></div><div class="ttdoc">KeySource is responsible for encryption key acquisition. </div><div class="ttdef"><b>Definition:</b> <a href="../../dc/d3f/key__source_8h_source.html#l00029">key_source.h:29</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1ByteQueue_html_a452485879d303d5c8654e1b184bc1235"><div class="ttname"><a href="../../d8/d2e/classedash__packager_1_1media_1_1ByteQueue.html#a452485879d303d5c8654e1b184bc1235">edash_packager::media::ByteQueue::Reset</a></div><div class="ttdeci">void Reset()</div><div class="ttdoc">Reset the queue to the empty state. </div><div class="ttdef"><b>Definition:</b> <a href="../../d7/df9/byte__queue_8cc_source.html#l00024">byte_queue.cc:24</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp2t_1_1Mp2tMediaParser_html_a416aaeb6231a46548871a419795d1ffc"><div class="ttname"><a href="../../dc/dab/classedash__packager_1_1media_1_1mp2t_1_1Mp2tMediaParser.html#a416aaeb6231a46548871a419795d1ffc">edash_packager::media::mp2t::Mp2tMediaParser::Parse</a></div><div class="ttdeci">virtual bool Parse(const uint8_t *buf, int size) OVERRIDE</div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d74/mp2t__media__parser_8cc_source.html#l00187">mp2t_media_parser.cc:187</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1ByteQueue_html_a8253df160751462f3b75290a7c525e56"><div class="ttname"><a href="../../d8/d2e/classedash__packager_1_1media_1_1ByteQueue.html#a8253df160751462f3b75290a7c525e56">edash_packager::media::ByteQueue::Peek</a></div><div class="ttdeci">void Peek(const uint8_t **data, int *size) const </div><div class="ttdef"><b>Definition:</b> <a href="../../d7/df9/byte__queue_8cc_source.html#l00063">byte_queue.cc:63</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,119 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../df/d76/structedash__packager_1_1media_1_1mp4_1_1SampleToChunk.html">SampleToChunk</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::mp4::SampleToChunk Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../df/d76/structedash__packager_1_1media_1_1mp4_1_1SampleToChunk.html">edash_packager::media::mp4::SampleToChunk</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>BoxType</b>() const OVERRIDE (defined in <a class="el" href="../../df/d76/structedash__packager_1_1media_1_1mp4_1_1SampleToChunk.html">edash_packager::media::mp4::SampleToChunk</a>)</td><td class="entry"><a class="el" href="../../df/d76/structedash__packager_1_1media_1_1mp4_1_1SampleToChunk.html">edash_packager::media::mp4::SampleToChunk</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>chunk_info</b> (defined in <a class="el" href="../../df/d76/structedash__packager_1_1media_1_1mp4_1_1SampleToChunk.html">edash_packager::media::mp4::SampleToChunk</a>)</td><td class="entry"><a class="el" href="../../df/d76/structedash__packager_1_1media_1_1mp4_1_1SampleToChunk.html">edash_packager::media::mp4::SampleToChunk</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d76/structedash__packager_1_1media_1_1mp4_1_1SampleToChunk.html#ae68342dbf4090359270712277782174f">ComputeSize</a>() OVERRIDE</td><td class="entry"><a class="el" href="../../df/d76/structedash__packager_1_1media_1_1mp4_1_1SampleToChunk.html">edash_packager::media::mp4::SampleToChunk</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>flags</b> (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>FullBox</b>() (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a>(BoxReader *reader)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/d76/structedash__packager_1_1media_1_1mp4_1_1SampleToChunk.html#a214d13dad0b592bad63c5c82c26fc5a8">ReadWrite</a>(BoxBuffer *buffer) OVERRIDE</td><td class="entry"><a class="el" href="../../df/d76/structedash__packager_1_1media_1_1mp4_1_1SampleToChunk.html">edash_packager::media::mp4::SampleToChunk</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>SampleToChunk</b>() (defined in <a class="el" href="../../df/d76/structedash__packager_1_1media_1_1mp4_1_1SampleToChunk.html">edash_packager::media::mp4::SampleToChunk</a>)</td><td class="entry"><a class="el" href="../../df/d76/structedash__packager_1_1media_1_1mp4_1_1SampleToChunk.html">edash_packager::media::mp4::SampleToChunk</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>version</b> (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a>(BufferWriter *writer)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~FullBox</b>() (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~SampleToChunk</b>() (defined in <a class="el" href="../../df/d76/structedash__packager_1_1media_1_1mp4_1_1SampleToChunk.html">edash_packager::media::mp4::SampleToChunk</a>)</td><td class="entry"><a class="el" href="../../df/d76/structedash__packager_1_1media_1_1mp4_1_1SampleToChunk.html">edash_packager::media::mp4::SampleToChunk</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:57 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>

View File

@ -0,0 +1,184 @@
<!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::media::mp4::MP4Muxer Class 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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../d1/d78/classedash__packager_1_1media_1_1mp4_1_1MP4Muxer.html">MP4Muxer</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="../../de/dd4/classedash__packager_1_1media_1_1mp4_1_1MP4Muxer-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">edash_packager::media::mp4::MP4Muxer Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../db/d8f/mp4__muxer_8h_source.html">mp4_muxer.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for edash_packager::media::mp4::MP4Muxer:</div>
<div class="dyncontent">
<div class="center">
<img src="../../d1/d78/classedash__packager_1_1media_1_1mp4_1_1MP4Muxer.png" usemap="#edash_packager::media::mp4::MP4Muxer_map" alt=""/>
<map id="edash_packager::media::mp4::MP4Muxer_map" name="edash_packager::media::mp4::MP4Muxer_map">
<area href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html" alt="edash_packager::media::Muxer" shape="rect" coords="0,0,242,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae787aeba358f95d73edf5b80d4fc43fe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae787aeba358f95d73edf5b80d4fc43fe"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d78/classedash__packager_1_1media_1_1mp4_1_1MP4Muxer.html#ae787aeba358f95d73edf5b80d4fc43fe">MP4Muxer</a> (const <a class="el" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html">MuxerOptions</a> &amp;options)</td></tr>
<tr class="memdesc:ae787aeba358f95d73edf5b80d4fc43fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <a class="el" href="../../d1/d78/classedash__packager_1_1media_1_1mp4_1_1MP4Muxer.html">MP4Muxer</a> object from <a class="el" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html" title="This structure contains the list of configuration options for Muxer. ">MuxerOptions</a>. <br/></td></tr>
<tr class="separator:ae787aeba358f95d73edf5b80d4fc43fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classedash__packager_1_1media_1_1Muxer"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classedash__packager_1_1media_1_1Muxer')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td></tr>
<tr class="memitem:a91ab5baeda2a5113254a2c101cd54332 inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a91ab5baeda2a5113254a2c101cd54332"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Muxer</b> (const <a class="el" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html">MuxerOptions</a> &amp;options)</td></tr>
<tr class="separator:a91ab5baeda2a5113254a2c101cd54332 inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5452ae82c2f8a0df8f855fc35e717f04 inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html#a5452ae82c2f8a0df8f855fc35e717f04">SetKeySource</a> (<a class="el" href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html">KeySource</a> *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds, double crypto_period_duration_in_seconds)</td></tr>
<tr class="separator:a5452ae82c2f8a0df8f855fc35e717f04 inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77c7a214383f64f822d479d226750bf5 inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a77c7a214383f64f822d479d226750bf5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html#a77c7a214383f64f822d479d226750bf5">AddStream</a> (<a class="el" href="../../d2/dfd/classedash__packager_1_1media_1_1MediaStream.html">MediaStream</a> *stream)</td></tr>
<tr class="memdesc:a77c7a214383f64f822d479d226750bf5 inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add video/audio stream. <br/></td></tr>
<tr class="separator:a77c7a214383f64f822d479d226750bf5 inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2ef293cdb921d97bb39d038f29da8c4 inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa2ef293cdb921d97bb39d038f29da8c4"></a>
<a class="el" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html#aa2ef293cdb921d97bb39d038f29da8c4">Run</a> ()</td></tr>
<tr class="memdesc:aa2ef293cdb921d97bb39d038f29da8c4 inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Drive the remuxing from muxer side (pull). <br/></td></tr>
<tr class="separator:aa2ef293cdb921d97bb39d038f29da8c4 inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abecb4fbe4bcd5257857e397f7f3d096b inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html#abecb4fbe4bcd5257857e397f7f3d096b">Cancel</a> ()</td></tr>
<tr class="separator:abecb4fbe4bcd5257857e397f7f3d096b inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8ea4384b819187c51f67ad901aca148 inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html#aa8ea4384b819187c51f67ad901aca148">SetMuxerListener</a> (scoped_ptr&lt; <a class="el" href="../../df/de7/classedash__packager_1_1media_1_1MuxerListener.html">MuxerListener</a> &gt; muxer_listener)</td></tr>
<tr class="separator:aa8ea4384b819187c51f67ad901aca148 inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04959bfe66cdb16053326938df9d445a inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html#a04959bfe66cdb16053326938df9d445a">SetProgressListener</a> (scoped_ptr&lt; <a class="el" href="../../d9/d2c/classedash__packager_1_1media_1_1ProgressListener.html">ProgressListener</a> &gt; progress_listener)</td></tr>
<tr class="separator:a04959bfe66cdb16053326938df9d445a inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92a439855a568031fe2e4c13407e1299 inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a92a439855a568031fe2e4c13407e1299"></a>
const std::vector&lt; <a class="el" href="../../d2/dfd/classedash__packager_1_1media_1_1MediaStream.html">MediaStream</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>streams</b> () const </td></tr>
<tr class="separator:a92a439855a568031fe2e4c13407e1299 inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae22512b48793cb5c91186bc698966bfa inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html#ae22512b48793cb5c91186bc698966bfa">set_clock</a> (base::Clock *clock)</td></tr>
<tr class="separator:ae22512b48793cb5c91186bc698966bfa inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_methods_classedash__packager_1_1media_1_1Muxer"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classedash__packager_1_1media_1_1Muxer')"><img src="../../closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td></tr>
<tr class="memitem:abf0722976879c2724bd969df21209cee inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf0722976879c2724bd969df21209cee"></a>
const <a class="el" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html">MuxerOptions</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>options</b> () const </td></tr>
<tr class="separator:abf0722976879c2724bd969df21209cee inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34663586d92e6e3d83228eb7c3c564f1 inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a34663586d92e6e3d83228eb7c3c564f1"></a>
<a class="el" href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html">KeySource</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>encryption_key_source</b> ()</td></tr>
<tr class="separator:a34663586d92e6e3d83228eb7c3c564f1 inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb709c1658778d9bfa7690c2142a5013 inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb709c1658778d9bfa7690c2142a5013"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>max_sd_pixels</b> () const </td></tr>
<tr class="separator:afb709c1658778d9bfa7690c2142a5013 inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab58df5b5980591209f345645583987a9 inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab58df5b5980591209f345645583987a9"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>clear_lead_in_seconds</b> () const </td></tr>
<tr class="separator:ab58df5b5980591209f345645583987a9 inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a388d709b1469a94e2f77ae4667ad91eb inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a388d709b1469a94e2f77ae4667ad91eb"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>crypto_period_duration_in_seconds</b> () const </td></tr>
<tr class="separator:a388d709b1469a94e2f77ae4667ad91eb inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0a1406fbb58d5ac293ee1cb9e3d10fc inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab0a1406fbb58d5ac293ee1cb9e3d10fc"></a>
<a class="el" href="../../df/de7/classedash__packager_1_1media_1_1MuxerListener.html">MuxerListener</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>muxer_listener</b> ()</td></tr>
<tr class="separator:ab0a1406fbb58d5ac293ee1cb9e3d10fc inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20aa78c0fe645599b9b82b626c9e561d inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20aa78c0fe645599b9b82b626c9e561d"></a>
<a class="el" href="../../d9/d2c/classedash__packager_1_1media_1_1ProgressListener.html">ProgressListener</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>progress_listener</b> ()</td></tr>
<tr class="separator:a20aa78c0fe645599b9b82b626c9e561d inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a427ed6d02bac9504767abd04828b5a00 inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a427ed6d02bac9504767abd04828b5a00"></a>
base::Clock *&#160;</td><td class="memItemRight" valign="bottom"><b>clock</b> ()</td></tr>
<tr class="separator:a427ed6d02bac9504767abd04828b5a00 inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><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>Implements MP4 <a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">Muxer</a> for ISO-BMFF. Please refer to ISO/IEC 14496-12: ISO base media file format for details. </p>
<p>Definition at line <a class="el" href="../../db/d8f/mp4__muxer_8h_source.html#l00032">32</a> of file <a class="el" href="../../db/d8f/mp4__muxer_8h_source.html">mp4_muxer.h</a>.</p>
</div><hr/>The documentation for this class was generated from the following files:<ul>
<li>media/formats/mp4/<a class="el" href="../../db/d8f/mp4__muxer_8h_source.html">mp4_muxer.h</a></li>
<li>media/formats/mp4/<a class="el" href="../../da/d88/mp4__muxer_8cc_source.html">mp4_muxer.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:31:02 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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 928 B

View File

@ -0,0 +1,109 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><a class="el" href="../../df/db4/classedash__packager_1_1media_1_1BitReader.html">BitReader</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::BitReader Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../df/db4/classedash__packager_1_1media_1_1BitReader.html">edash_packager::media::BitReader</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../df/db4/classedash__packager_1_1media_1_1BitReader.html#a7cfecfaf6169a0c9286d62b24e7b934e">BitReader</a>(const uint8_t *data, off_t size)</td><td class="entry"><a class="el" href="../../df/db4/classedash__packager_1_1media_1_1BitReader.html">edash_packager::media::BitReader</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../df/db4/classedash__packager_1_1media_1_1BitReader.html#a1409a0968749ca5a55ba823cd718065b">bits_available</a>() const </td><td class="entry"><a class="el" href="../../df/db4/classedash__packager_1_1media_1_1BitReader.html">edash_packager::media::BitReader</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../df/db4/classedash__packager_1_1media_1_1BitReader.html#a9a66cdd1013eb535e7e1eec60a91bf8c">ReadBits</a>(int num_bits, T *out)</td><td class="entry"><a class="el" href="../../df/db4/classedash__packager_1_1media_1_1BitReader.html">edash_packager::media::BitReader</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../df/db4/classedash__packager_1_1media_1_1BitReader.html#acacb97d71aaae01796b90d27e7cdca0a">SkipBits</a>(int num_bits)</td><td class="entry"><a class="el" href="../../df/db4/classedash__packager_1_1media_1_1BitReader.html">edash_packager::media::BitReader</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~BitReader</b>() (defined in <a class="el" href="../../df/db4/classedash__packager_1_1media_1_1BitReader.html">edash_packager::media::BitReader</a>)</td><td class="entry"><a class="el" href="../../df/db4/classedash__packager_1_1media_1_1BitReader.html">edash_packager::media::BitReader</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:49 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>

View File

@ -0,0 +1,200 @@
<!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::media::mp4::SegmentIndex Struct 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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../d1/d81/structedash__packager_1_1media_1_1mp4_1_1SegmentIndex.html">SegmentIndex</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../d7/df1/structedash__packager_1_1media_1_1mp4_1_1SegmentIndex-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">edash_packager::media::mp4::SegmentIndex Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for edash_packager::media::mp4::SegmentIndex:</div>
<div class="dyncontent">
<div class="center">
<img src="../../d1/d81/structedash__packager_1_1media_1_1mp4_1_1SegmentIndex.png" usemap="#edash_packager::media::mp4::SegmentIndex_map" alt=""/>
<map id="edash_packager::media::mp4::SegmentIndex_map" name="edash_packager::media::mp4::SegmentIndex_map">
<area href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html" alt="edash_packager::media::mp4::FullBox" shape="rect" coords="0,56,258,80"/>
<area href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html" alt="edash_packager::media::mp4::Box" shape="rect" coords="0,0,258,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae3ce71370a51d6190c9874536239b2cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae3ce71370a51d6190c9874536239b2cc"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d81/structedash__packager_1_1media_1_1mp4_1_1SegmentIndex.html#ae3ce71370a51d6190c9874536239b2cc">ReadWrite</a> (<a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">BoxBuffer</a> *buffer) OVERRIDE</td></tr>
<tr class="memdesc:ae3ce71370a51d6190c9874536239b2cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read/write the mp4 box from/to <a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">BoxBuffer</a>. <br/></td></tr>
<tr class="separator:ae3ce71370a51d6190c9874536239b2cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a709936e92a73321e78f71b09587b0fdc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a709936e92a73321e78f71b09587b0fdc"></a>
virtual FourCC&#160;</td><td class="memItemRight" valign="bottom"><b>BoxType</b> () const OVERRIDE</td></tr>
<tr class="separator:a709936e92a73321e78f71b09587b0fdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeafe332bcb895a90db770f509dac1001"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d81/structedash__packager_1_1media_1_1mp4_1_1SegmentIndex.html#aeafe332bcb895a90db770f509dac1001">ComputeSize</a> () OVERRIDE</td></tr>
<tr class="separator:aeafe332bcb895a90db770f509dac1001"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td></tr>
<tr class="memitem:a7b62a3983faafbea54a32486df60ed96 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a> (<a class="el" href="../../db/d6c/classedash__packager_1_1media_1_1mp4_1_1BoxReader.html">BoxReader</a> *reader)</td></tr>
<tr class="separator:a7b62a3983faafbea54a32486df60ed96 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7a756828b5514fcd3eaf16d86c413c0 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a> (<a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">BufferWriter</a> *writer)</td></tr>
<tr class="separator:aa7a756828b5514fcd3eaf16d86c413c0 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a4a7b50ff101be6aa30841ca29ef00ded"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a7b50ff101be6aa30841ca29ef00ded"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>reference_id</b></td></tr>
<tr class="separator:a4a7b50ff101be6aa30841ca29ef00ded"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0458d817954aa58bc13cb17ba5687cd5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0458d817954aa58bc13cb17ba5687cd5"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>timescale</b></td></tr>
<tr class="separator:a0458d817954aa58bc13cb17ba5687cd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a187efef9b6cf772419cd6b566af9645d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a187efef9b6cf772419cd6b566af9645d"></a>
uint64_t&#160;</td><td class="memItemRight" valign="bottom"><b>earliest_presentation_time</b></td></tr>
<tr class="separator:a187efef9b6cf772419cd6b566af9645d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1eba81a25ab9786d20d524e0398c6bbb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1eba81a25ab9786d20d524e0398c6bbb"></a>
uint64_t&#160;</td><td class="memItemRight" valign="bottom"><b>first_offset</b></td></tr>
<tr class="separator:a1eba81a25ab9786d20d524e0398c6bbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32a3893dcd66129a68bf4812c3d7b44d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a32a3893dcd66129a68bf4812c3d7b44d"></a>
std::vector&lt; <a class="el" href="../../d4/dce/structedash__packager_1_1media_1_1mp4_1_1SegmentReference.html">SegmentReference</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>references</b></td></tr>
<tr class="separator:a32a3893dcd66129a68bf4812c3d7b44d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox')"><img src="../../closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td></tr>
<tr class="memitem:a8504557a176cc9d6322a6d77fb9fba6f inherit pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8504557a176cc9d6322a6d77fb9fba6f"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>version</b></td></tr>
<tr class="separator:a8504557a176cc9d6322a6d77fb9fba6f inherit pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b051321ec82ca931fefd530f0e75ee4 inherit pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b051321ec82ca931fefd530f0e75ee4"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>flags</b></td></tr>
<tr class="separator:a7b051321ec82ca931fefd530f0e75ee4 inherit pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box')"><img src="../../closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td></tr>
<tr class="memitem:a767571cecbc37bedb05d1ea84716a005 inherit pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td></tr>
<tr class="separator:a767571cecbc37bedb05d1ea84716a005 inherit pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box"><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>Definition at line <a class="el" href="../../d5/d7b/box__definitions_8h_source.html#l00574">574</a> of file <a class="el" href="../../d5/d7b/box__definitions_8h_source.html">box_definitions.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aeafe332bcb895a90db770f509dac1001"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t edash_packager::media::mp4::SegmentIndex::ComputeSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Compute the size of this box. The calculated size will be saved in |atom_size| for later consumption. </p>
<p>Implements <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a308081198b1fa9f9e4653ad976014a16">edash_packager::media::mp4::Box</a>.</p>
<p>Definition at line <a class="el" href="../../dd/dee/box__definitions_8cc_source.html#l01924">1924</a> of file <a class="el" href="../../dd/dee/box__definitions_8cc_source.html">box_definitions.cc</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>media/formats/mp4/<a class="el" href="../../d5/d7b/box__definitions_8h_source.html">box_definitions.h</a></li>
<li>media/formats/mp4/<a class="el" href="../../dd/dee/box__definitions_8cc_source.html">box_definitions.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:31:02 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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,125 @@
<!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: media/formats/mpeg/adts_constants.h Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_65f7acfa8cf3a5f1edc11faa2428b914.html">formats</a></li><li class="navelem"><a class="el" href="../../dir_7f5e01ba7faf319a30cabd201b6ef121.html">mpeg</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">adts_constants.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 The Chromium Authors. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style license that can be</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// found in the LICENSE file.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;</div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#ifndef MEDIA_FORMATS_MPEG_ADTS_CONSTANTS_H_</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#define MEDIA_FORMATS_MPEG_ADTS_CONSTANTS_H_</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &lt;stddef.h&gt;</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="keyword">enum</span> {</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; kAdtsHeaderMinSize = 7,</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; kSamplesPerAACFrame = 1024,</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;};</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> kAdtsFrequencyTable[];</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> kAdtsFrequencyTableSize;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> kAdtsNumChannelsTable[];</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> kAdtsNumChannelsTableSize;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#endif // MEDIA_FORMATS_MPEG_ADTS_CONSTANTS_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,226 @@
<!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::media::RsaPublicKey Class 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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><a class="el" href="../../d1/d86/classedash__packager_1_1media_1_1RsaPublicKey.html">RsaPublicKey</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="../../df/dfa/classedash__packager_1_1media_1_1RsaPublicKey-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">edash_packager::media::RsaPublicKey Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Rsa public key, used for signature verification and encryption.
<a href="../../d1/d86/classedash__packager_1_1media_1_1RsaPublicKey.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="../../d5/dcf/rsa__key_8h_source.html">rsa_key.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a287216e5bb6ac3781388db23329a8f27"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d86/classedash__packager_1_1media_1_1RsaPublicKey.html#a287216e5bb6ac3781388db23329a8f27">Encrypt</a> (const std::string &amp;clear_message, std::string *encrypted_message)</td></tr>
<tr class="separator:a287216e5bb6ac3781388db23329a8f27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae83681d1c03c880b4a0e95e7efe61673"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d86/classedash__packager_1_1media_1_1RsaPublicKey.html#ae83681d1c03c880b4a0e95e7efe61673">VerifySignature</a> (const std::string &amp;message, const std::string &amp;signature)</td></tr>
<tr class="separator:ae83681d1c03c880b4a0e95e7efe61673"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a21f9009c9654f141676ef05f0436baa4"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../d1/d86/classedash__packager_1_1media_1_1RsaPublicKey.html">RsaPublicKey</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d86/classedash__packager_1_1media_1_1RsaPublicKey.html#a21f9009c9654f141676ef05f0436baa4">Create</a> (const std::string &amp;serialized_key)</td></tr>
<tr class="separator:a21f9009c9654f141676ef05f0436baa4"><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>Rsa public key, used for signature verification and encryption. </p>
<p>Definition at line <a class="el" href="../../d5/dcf/rsa__key_8h_source.html#l00053">53</a> of file <a class="el" href="../../d5/dcf/rsa__key_8h_source.html">rsa_key.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a21f9009c9654f141676ef05f0436baa4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d1/d86/classedash__packager_1_1media_1_1RsaPublicKey.html">RsaPublicKey</a> * edash_packager::media::RsaPublicKey::Create </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>serialized_key</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create an <a class="el" href="../../d1/d86/classedash__packager_1_1media_1_1RsaPublicKey.html" title="Rsa public key, used for signature verification and encryption. ">RsaPublicKey</a> object using a DER encoded PKCS#1 RSAPublicKey. </p>
<dl class="section return"><dt>Returns</dt><dd>The created <a class="el" href="../../d5/d62/classedash__packager_1_1media_1_1RsaPrivateKey.html" title="Rsa private key, used for message signing and decryption. ">RsaPrivateKey</a> object on success, NULL otherwise. </dd></dl>
<p>Definition at line <a class="el" href="../../dc/dd9/rsa__key_8cc_source.html#l00180">180</a> of file <a class="el" href="../../dc/dd9/rsa__key_8cc_source.html">rsa_key.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a287216e5bb6ac3781388db23329a8f27"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool edash_packager::media::RsaPublicKey::Encrypt </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>clear_message</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::string *&#160;</td>
<td class="paramname"><em>encrypted_message</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Encrypt a message using RSA-OAEP. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">encrypted_message</td><td>must not be NULL. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if successful, false otherwise. </dd></dl>
<p>Definition at line <a class="el" href="../../dc/dd9/rsa__key_8cc_source.html#l00185">185</a> of file <a class="el" href="../../dc/dd9/rsa__key_8cc_source.html">rsa_key.cc</a>.</p>
</div>
</div>
<a class="anchor" id="ae83681d1c03c880b4a0e95e7efe61673"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool edash_packager::media::RsaPublicKey::VerifySignature </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>message</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>signature</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Verify RSASSA-PSS signature. </p>
<dl class="section return"><dt>Returns</dt><dd>true if verification succeeds, false otherwise. </dd></dl>
<p>Definition at line <a class="el" href="../../dc/dd9/rsa__key_8cc_source.html#l00210">210</a> of file <a class="el" href="../../dc/dd9/rsa__key_8cc_source.html">rsa_key.cc</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>media/base/<a class="el" href="../../d5/dcf/rsa__key_8h_source.html">rsa_key.h</a></li>
<li>media/base/<a class="el" href="../../dc/dd9/rsa__key_8cc_source.html">rsa_key.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:51 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>

View File

@ -0,0 +1,119 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../da/d54/structedash__packager_1_1media_1_1mp4_1_1CompositionTimeToSample.html">CompositionTimeToSample</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::mp4::CompositionTimeToSample Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../da/d54/structedash__packager_1_1media_1_1mp4_1_1CompositionTimeToSample.html">edash_packager::media::mp4::CompositionTimeToSample</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>BoxType</b>() const OVERRIDE (defined in <a class="el" href="../../da/d54/structedash__packager_1_1media_1_1mp4_1_1CompositionTimeToSample.html">edash_packager::media::mp4::CompositionTimeToSample</a>)</td><td class="entry"><a class="el" href="../../da/d54/structedash__packager_1_1media_1_1mp4_1_1CompositionTimeToSample.html">edash_packager::media::mp4::CompositionTimeToSample</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>composition_offset</b> (defined in <a class="el" href="../../da/d54/structedash__packager_1_1media_1_1mp4_1_1CompositionTimeToSample.html">edash_packager::media::mp4::CompositionTimeToSample</a>)</td><td class="entry"><a class="el" href="../../da/d54/structedash__packager_1_1media_1_1mp4_1_1CompositionTimeToSample.html">edash_packager::media::mp4::CompositionTimeToSample</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>CompositionTimeToSample</b>() (defined in <a class="el" href="../../da/d54/structedash__packager_1_1media_1_1mp4_1_1CompositionTimeToSample.html">edash_packager::media::mp4::CompositionTimeToSample</a>)</td><td class="entry"><a class="el" href="../../da/d54/structedash__packager_1_1media_1_1mp4_1_1CompositionTimeToSample.html">edash_packager::media::mp4::CompositionTimeToSample</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../da/d54/structedash__packager_1_1media_1_1mp4_1_1CompositionTimeToSample.html#ae896fdf2beefff0fc5634a70c5c8c823">ComputeSize</a>() OVERRIDE</td><td class="entry"><a class="el" href="../../da/d54/structedash__packager_1_1media_1_1mp4_1_1CompositionTimeToSample.html">edash_packager::media::mp4::CompositionTimeToSample</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>flags</b> (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>FullBox</b>() (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a>(BoxReader *reader)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../da/d54/structedash__packager_1_1media_1_1mp4_1_1CompositionTimeToSample.html#a768b070dcbc3e0ac4c40580f9a269ba7">ReadWrite</a>(BoxBuffer *buffer) OVERRIDE</td><td class="entry"><a class="el" href="../../da/d54/structedash__packager_1_1media_1_1mp4_1_1CompositionTimeToSample.html">edash_packager::media::mp4::CompositionTimeToSample</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>version</b> (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a>(BufferWriter *writer)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~CompositionTimeToSample</b>() (defined in <a class="el" href="../../da/d54/structedash__packager_1_1media_1_1mp4_1_1CompositionTimeToSample.html">edash_packager::media::mp4::CompositionTimeToSample</a>)</td><td class="entry"><a class="el" href="../../da/d54/structedash__packager_1_1media_1_1mp4_1_1CompositionTimeToSample.html">edash_packager::media::mp4::CompositionTimeToSample</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~FullBox</b>() (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:57 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>

View File

@ -0,0 +1,250 @@
<!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::media::OffsetByteQueue Class 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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><a class="el" href="../../d1/d92/classedash__packager_1_1media_1_1OffsetByteQueue.html">OffsetByteQueue</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="../../d4/dcd/classedash__packager_1_1media_1_1OffsetByteQueue-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">edash_packager::media::OffsetByteQueue Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../de/d34/offset__byte__queue_8h_source.html">offset_byte_queue.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a32b06f514ebfd5aef820a9b91228a854"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d92/classedash__packager_1_1media_1_1OffsetByteQueue.html#a32b06f514ebfd5aef820a9b91228a854">PeekAt</a> (int64_t offset, const uint8_t **buf, int *size)</td></tr>
<tr class="separator:a32b06f514ebfd5aef820a9b91228a854"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2a41afe5b213be301b7b9f7ca555fae"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d92/classedash__packager_1_1media_1_1OffsetByteQueue.html#af2a41afe5b213be301b7b9f7ca555fae">Trim</a> (int64_t max_offset)</td></tr>
<tr class="separator:af2a41afe5b213be301b7b9f7ca555fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9d018636705cab1759978cd7c6d17da"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d92/classedash__packager_1_1media_1_1OffsetByteQueue.html#aa9d018636705cab1759978cd7c6d17da">head</a> ()</td></tr>
<tr class="separator:aa9d018636705cab1759978cd7c6d17da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add7aef56ce4f162c047ad7fcf64cf603"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d92/classedash__packager_1_1media_1_1OffsetByteQueue.html#add7aef56ce4f162c047ad7fcf64cf603">tail</a> ()</td></tr>
<tr class="separator:add7aef56ce4f162c047ad7fcf64cf603"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">These work like their underlying ByteQueue counterparts.</div></td></tr>
<tr class="memitem:a04512a88c6fb49607b8448ea29bab87b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a04512a88c6fb49607b8448ea29bab87b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Reset</b> ()</td></tr>
<tr class="separator:a04512a88c6fb49607b8448ea29bab87b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a976e9f658b7ee25e66701cbb31e0b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2a976e9f658b7ee25e66701cbb31e0b0"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Push</b> (const uint8_t *buf, int size)</td></tr>
<tr class="separator:a2a976e9f658b7ee25e66701cbb31e0b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b00a95044654fed0041988ccd90f538"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b00a95044654fed0041988ccd90f538"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Peek</b> (const uint8_t **buf, int *size)</td></tr>
<tr class="separator:a3b00a95044654fed0041988ccd90f538"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac26eac0c07c3c0117cdc1b188f0ff274"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac26eac0c07c3c0117cdc1b188f0ff274"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Pop</b> (int count)</td></tr>
<tr class="separator:ac26eac0c07c3c0117cdc1b188f0ff274"><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>Wrapper around <a class="el" href="../../d8/d2e/classedash__packager_1_1media_1_1ByteQueue.html">ByteQueue</a>, which encapsulates the notion of a monotonically-increasing byte offset. All buffer access is done by passing these offsets into this class, reducing the proliferation of many different meanings of "offset", "head", etc. </p>
<p>Definition at line <a class="el" href="../../de/d34/offset__byte__queue_8h_source.html#l00019">19</a> of file <a class="el" href="../../de/d34/offset__byte__queue_8h_source.html">offset_byte_queue.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aa9d018636705cab1759978cd7c6d17da"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int64_t edash_packager::media::OffsetByteQueue::head </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The head position, in terms of the file's absolute offset. </dd></dl>
<p>Definition at line <a class="el" href="../../de/d34/offset__byte__queue_8h_source.html#l00052">52</a> of file <a class="el" href="../../de/d34/offset__byte__queue_8h_source.html">offset_byte_queue.h</a>.</p>
</div>
</div>
<a class="anchor" id="a32b06f514ebfd5aef820a9b91228a854"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void edash_packager::media::OffsetByteQueue::PeekAt </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t **&#160;</td>
<td class="paramname"><em>buf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set <em>buf</em> to point at the first buffered byte corresponding to <em>offset</em>, and <em>size</em> to the number of bytes available starting from that offset.</p>
<p>It is an error if the offset is before the current head. It's not an error if the current offset is beyond <a class="el" href="../../d1/d92/classedash__packager_1_1media_1_1OffsetByteQueue.html#add7aef56ce4f162c047ad7fcf64cf603">tail()</a>, but you will of course get back a null <em>buf</em> and a <em>size</em> of zero. </p>
<p>Definition at line <a class="el" href="../../df/d1a/offset__byte__queue_8cc_source.html#l00041">41</a> of file <a class="el" href="../../df/d1a/offset__byte__queue_8cc_source.html">offset_byte_queue.cc</a>.</p>
</div>
</div>
<a class="anchor" id="add7aef56ce4f162c047ad7fcf64cf603"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int64_t edash_packager::media::OffsetByteQueue::tail </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The tail position (exclusive), in terms of the file's absolute offset. </dd></dl>
<p>Definition at line <a class="el" href="../../de/d34/offset__byte__queue_8h_source.html#l00055">55</a> of file <a class="el" href="../../de/d34/offset__byte__queue_8h_source.html">offset_byte_queue.h</a>.</p>
</div>
</div>
<a class="anchor" id="af2a41afe5b213be301b7b9f7ca555fae"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool edash_packager::media::OffsetByteQueue::Trim </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>max_offset</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Mark the bytes up to (but not including) <em>max_offset</em> as ready for deletion. This is relatively inexpensive, but will not necessarily reduce the resident buffer size right away (or ever).</p>
<dl class="section return"><dt>Returns</dt><dd>true if the full range of bytes were successfully trimmed, including the case where <em>max_offset</em> is less than the current head. </dd>
<dd>
false if <em>max_offset</em> &gt; <a class="el" href="../../d1/d92/classedash__packager_1_1media_1_1OffsetByteQueue.html#add7aef56ce4f162c047ad7fcf64cf603">tail()</a> (although all bytes currently buffered are still cleared). </dd></dl>
<p>Definition at line <a class="el" href="../../df/d1a/offset__byte__queue_8cc_source.html#l00051">51</a> of file <a class="el" href="../../df/d1a/offset__byte__queue_8cc_source.html">offset_byte_queue.cc</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>media/base/<a class="el" href="../../de/d34/offset__byte__queue_8h_source.html">offset_byte_queue.h</a></li>
<li>media/base/<a class="el" href="../../df/d1a/offset__byte__queue_8cc_source.html">offset_byte_queue.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:50 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>

View File

@ -0,0 +1,122 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html">LocalFile</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::LocalFile Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html">edash_packager::media::LocalFile</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html#a83fe4f07fe74b3a25c91a96f1f343a29">Close</a>() OVERRIDE</td><td class="entry"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html">edash_packager::media::LocalFile</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html#a95e4a5eff87224c9a156b5e2c7824cb9">Delete</a>(const char *file_name)</td><td class="entry"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html">edash_packager::media::LocalFile</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>File</b>(const std::string &amp;file_name) (defined in <a class="el" href="../../de/d19/classedash__packager_1_1media_1_1File.html">edash_packager::media::File</a>)</td><td class="entry"><a class="el" href="../../de/d19/classedash__packager_1_1media_1_1File.html">edash_packager::media::File</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../de/d19/classedash__packager_1_1media_1_1File.html#ad736ca7bb8da1cec749f51275a87872c">file_name</a>() const </td><td class="entry"><a class="el" href="../../de/d19/classedash__packager_1_1media_1_1File.html">edash_packager::media::File</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html#a45443ac38c05ca205cbb1d49a9ed6e7a">Flush</a>() OVERRIDE</td><td class="entry"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html">edash_packager::media::LocalFile</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../de/d19/classedash__packager_1_1media_1_1File.html#a239a76adb5ff5c5340c58f96d7034ec6">GetFileSize</a>(const char *file_name)</td><td class="entry"><a class="el" href="../../de/d19/classedash__packager_1_1media_1_1File.html">edash_packager::media::File</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html#a0167e3eb79bc5f86cb1484b8da828fcc">LocalFile</a>(const char *file_name, const char *mode)</td><td class="entry"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html">edash_packager::media::LocalFile</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html#a18709894b20567c0e3db67ba58b08db1">Open</a>() OVERRIDE</td><td class="entry"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html">edash_packager::media::LocalFile</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/d19/classedash__packager_1_1media_1_1File.html#a4dfd6f4d8f67d2ee1caff4f4e1717c70">edash_packager::media::File::Open</a>(const char *file_name, const char *mode)</td><td class="entry"><a class="el" href="../../de/d19/classedash__packager_1_1media_1_1File.html">edash_packager::media::File</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../de/d19/classedash__packager_1_1media_1_1File.html#a47194a7cd303640c2a8b689d18ef9701">OpenWithNoBuffering</a>(const char *file_name, const char *mode)</td><td class="entry"><a class="el" href="../../de/d19/classedash__packager_1_1media_1_1File.html">edash_packager::media::File</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html#a488cdd1b73eb609b1e5f9b4e16409f86">Read</a>(void *buffer, uint64_t length) OVERRIDE</td><td class="entry"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html">edash_packager::media::LocalFile</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../de/d19/classedash__packager_1_1media_1_1File.html#a9a4f45dcab338be2b6843e0de87ce8f1">ReadFileToString</a>(const char *file_name, std::string *contents)</td><td class="entry"><a class="el" href="../../de/d19/classedash__packager_1_1media_1_1File.html">edash_packager::media::File</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html#a824c0538b239159c611d8e9eddc59e2d">Seek</a>(uint64_t position) OVERRIDE</td><td class="entry"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html">edash_packager::media::LocalFile</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html#a8be2c9f77a073682d8ebc6808a2bfa94">Size</a>() OVERRIDE</td><td class="entry"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html">edash_packager::media::LocalFile</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html#abc713b14716779b3320b69c528fbaaa8">Tell</a>(uint64_t *position) OVERRIDE</td><td class="entry"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html">edash_packager::media::LocalFile</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html#a5987e35339fed1cdd1b68f787d1721b2">Write</a>(const void *buffer, uint64_t length) OVERRIDE</td><td class="entry"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html">edash_packager::media::LocalFile</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/d19/classedash__packager_1_1media_1_1File.html#ad1a8b1df388b90def135647a0136b0f7">~File</a>()</td><td class="entry"><a class="el" href="../../de/d19/classedash__packager_1_1media_1_1File.html">edash_packager::media::File</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~LocalFile</b>() (defined in <a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html">edash_packager::media::LocalFile</a>)</td><td class="entry"><a class="el" href="../../dd/d98/classedash__packager_1_1media_1_1LocalFile.html">edash_packager::media::LocalFile</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30: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>

View File

@ -0,0 +1,183 @@
<!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::media::mp4::PixelAspectRatioBox Struct 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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.html">PixelAspectRatioBox</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../d0/d66/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">edash_packager::media::mp4::PixelAspectRatioBox Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for edash_packager::media::mp4::PixelAspectRatioBox:</div>
<div class="dyncontent">
<div class="center">
<img src="../../d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.png" usemap="#edash_packager::media::mp4::PixelAspectRatioBox_map" alt=""/>
<map id="edash_packager::media::mp4::PixelAspectRatioBox_map" name="edash_packager::media::mp4::PixelAspectRatioBox_map">
<area href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html" alt="edash_packager::media::mp4::Box" shape="rect" coords="0,0,295,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aee984d288c1c2ab2217726309dff45f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee984d288c1c2ab2217726309dff45f4"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.html#aee984d288c1c2ab2217726309dff45f4">ReadWrite</a> (<a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">BoxBuffer</a> *buffer) OVERRIDE</td></tr>
<tr class="memdesc:aee984d288c1c2ab2217726309dff45f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read/write the mp4 box from/to <a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">BoxBuffer</a>. <br/></td></tr>
<tr class="separator:aee984d288c1c2ab2217726309dff45f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9285ab313f417157cd243dfe0b67a50"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa9285ab313f417157cd243dfe0b67a50"></a>
virtual FourCC&#160;</td><td class="memItemRight" valign="bottom"><b>BoxType</b> () const OVERRIDE</td></tr>
<tr class="separator:aa9285ab313f417157cd243dfe0b67a50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb770d7a721bf6134cd8430b17796f07"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dc8/structedash__packager_1_1media_1_1mp4_1_1PixelAspectRatioBox.html#acb770d7a721bf6134cd8430b17796f07">ComputeSize</a> () OVERRIDE</td></tr>
<tr class="separator:acb770d7a721bf6134cd8430b17796f07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td></tr>
<tr class="memitem:a7b62a3983faafbea54a32486df60ed96 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a> (<a class="el" href="../../db/d6c/classedash__packager_1_1media_1_1mp4_1_1BoxReader.html">BoxReader</a> *reader)</td></tr>
<tr class="separator:a7b62a3983faafbea54a32486df60ed96 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7a756828b5514fcd3eaf16d86c413c0 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a> (<a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">BufferWriter</a> *writer)</td></tr>
<tr class="separator:aa7a756828b5514fcd3eaf16d86c413c0 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a486381475958e5c7b957bedd5bd49744"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a486381475958e5c7b957bedd5bd49744"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>h_spacing</b></td></tr>
<tr class="separator:a486381475958e5c7b957bedd5bd49744"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71d780ae1868384a35dd7bbc28ad8ba0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a71d780ae1868384a35dd7bbc28ad8ba0"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>v_spacing</b></td></tr>
<tr class="separator:a71d780ae1868384a35dd7bbc28ad8ba0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box')"><img src="../../closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td></tr>
<tr class="memitem:a767571cecbc37bedb05d1ea84716a005 inherit pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td></tr>
<tr class="separator:a767571cecbc37bedb05d1ea84716a005 inherit pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box"><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>Definition at line <a class="el" href="../../d5/d7b/box__definitions_8h_source.html#l00191">191</a> of file <a class="el" href="../../d5/d7b/box__definitions_8h_source.html">box_definitions.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="acb770d7a721bf6134cd8430b17796f07"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t edash_packager::media::mp4::PixelAspectRatioBox::ComputeSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Compute the size of this box. The calculated size will be saved in |atom_size| for later consumption. </p>
<p>Implements <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a308081198b1fa9f9e4653ad976014a16">edash_packager::media::mp4::Box</a>.</p>
<p>Definition at line <a class="el" href="../../dd/dee/box__definitions_8cc_source.html#l00951">951</a> of file <a class="el" href="../../dd/dee/box__definitions_8cc_source.html">box_definitions.cc</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>media/formats/mp4/<a class="el" href="../../d5/d7b/box__definitions_8h_source.html">box_definitions.h</a></li>
<li>media/formats/mp4/<a class="el" href="../../dd/dee/box__definitions_8cc_source.html">box_definitions.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:56 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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,179 @@
<!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: media/formats/mp4/encrypting_fragmenter.h Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_65f7acfa8cf3a5f1edc11faa2428b914.html">formats</a></li><li class="navelem"><a class="el" href="../../dir_3e9291fd7a18fdecc763294cb2628910.html">mp4</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">encrypting_fragmenter.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#ifndef MEDIA_FORMATS_MP4_ENCRYPTING_FRAGMENTER_H_</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#define MEDIA_FORMATS_MP4_ENCRYPTING_FRAGMENTER_H_</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp4/fragmenter.h&quot;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="keyword">class </span>AesCtrEncryptor;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="keyword">struct </span>EncryptionKey;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="keyword">namespace </span>mp4 {</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html"> 21</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html">EncryptingFragmenter</a> : <span class="keyword">public</span> <a class="code" href="../../db/dae/classedash__packager_1_1media_1_1mp4_1_1Fragmenter.html">Fragmenter</a> {</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#ae4352e452ece69206073274efd855f44">EncryptingFragmenter</a>(<a class="code" href="../../d4/dd9/structedash__packager_1_1media_1_1mp4_1_1TrackFragment.html">TrackFragment</a>* traf,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; scoped_ptr&lt;EncryptionKey&gt; encryption_key,</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; int64_t clear_time,</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; uint8_t nalu_length_size);</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html">EncryptingFragmenter</a>();</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a825b7ca051f38ad14f4c6c6241ae443a">AddSample</a>(scoped_refptr&lt;MediaSample&gt; sample) OVERRIDE;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#ac7623c16e5a71727e85ac2857a2c025b">InitializeFragment</a>(int64_t first_sample_dts) OVERRIDE;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a55fb4db47cb106c39a411f8890619d91">FinalizeFragment</a>() OVERRIDE;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a3e66313de4ecb51f23fe438758e0153b">PrepareFragmentForEncryption</a>(<span class="keywordtype">bool</span> enable_encryption);</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a0184deccbe7e99ea7a685cf0de2f9156">FinalizeFragmentForEncryption</a>();</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a5ed5486f22438e20d0d41524a47f4dd3">CreateEncryptor</a>();</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="../../d0/d86/structedash__packager_1_1media_1_1EncryptionKey.html">EncryptionKey</a>* encryption_key() { <span class="keywordflow">return</span> encryption_key_.get(); }</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="../../dd/d79/classedash__packager_1_1media_1_1AesCtrEncryptor.html">AesCtrEncryptor</a>* encryptor() { <span class="keywordflow">return</span> encryptor_.get(); }</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordtype">void</span> set_encryption_key(scoped_ptr&lt;EncryptionKey&gt; encryption_key) {</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; encryption_key_ = encryption_key.Pass();</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordtype">void</span> EncryptBytes(uint8_t* data, uint32_t size);</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> EncryptSample(scoped_refptr&lt;MediaSample&gt; sample);</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="comment">// Should we enable subsample encryption?</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordtype">bool</span> IsSubsampleEncryptionRequired() { <span class="keywordflow">return</span> nalu_length_size_ != 0; }</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; scoped_ptr&lt;EncryptionKey&gt; encryption_key_;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; scoped_ptr&lt;AesCtrEncryptor&gt; encryptor_;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="comment">// If this stream contains AVC, subsample encryption specifies that the size</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="comment">// and type of NAL units remain unencrypted. This field specifies the size of</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="comment">// the size field. Can be 1, 2 or 4 bytes.</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keyword">const</span> uint8_t nalu_length_size_;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; int64_t clear_time_;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html">EncryptingFragmenter</a>);</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;};</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;} <span class="comment">// namespace mp4</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="preprocessor">#endif // MEDIA_FORMATS_MP4_ENCRYPTING_FRAGMENTER_H_</span></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1Fragmenter_html"><div class="ttname"><a href="../../db/dae/classedash__packager_1_1media_1_1mp4_1_1Fragmenter.html">edash_packager::media::mp4::Fragmenter</a></div><div class="ttdef"><b>Definition:</b> <a href="../../da/dd1/fragmenter_8h_source.html#l00029">fragmenter.h:29</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1EncryptionKey_html"><div class="ttname"><a href="../../d0/d86/structedash__packager_1_1media_1_1EncryptionKey.html">edash_packager::media::EncryptionKey</a></div><div class="ttdef"><b>Definition:</b> <a href="../../dc/d3f/key__source_8h_source.html#l00018">key_source.h:18</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html_a5ed5486f22438e20d0d41524a47f4dd3"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a5ed5486f22438e20d0d41524a47f4dd3">edash_packager::media::mp4::EncryptingFragmenter::CreateEncryptor</a></div><div class="ttdeci">Status CreateEncryptor()</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d41/encrypting__fragmenter_8cc_source.html#l00112">encrypting_fragmenter.cc:112</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html">edash_packager::media::mp4::EncryptingFragmenter</a></div><div class="ttdoc">EncryptingFragmenter generates MP4 fragments with sample encrypted. </div><div class="ttdef"><b>Definition:</b> <a href="../../d1/dcb/encrypting__fragmenter_8h_source.html#l00021">encrypting_fragmenter.h:21</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1Status_html"><div class="ttname"><a href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">edash_packager::media::Status</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d13/status_8h_source.html#l00076">status.h:76</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html_a825b7ca051f38ad14f4c6c6241ae443a"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a825b7ca051f38ad14f4c6c6241ae443a">edash_packager::media::mp4::EncryptingFragmenter::AddSample</a></div><div class="ttdeci">virtual Status AddSample(scoped_refptr&lt; MediaSample &gt; sample) OVERRIDE</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d41/encrypting__fragmenter_8cc_source.html#l00039">encrypting_fragmenter.cc:39</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCtrEncryptor_html"><div class="ttname"><a href="../../dd/d79/classedash__packager_1_1media_1_1AesCtrEncryptor.html">edash_packager::media::AesCtrEncryptor</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d1/df0/aes__encryptor_8h_source.html#l00025">aes_encryptor.h:25</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1mp4_1_1TrackFragment_html"><div class="ttname"><a href="../../d4/dd9/structedash__packager_1_1media_1_1mp4_1_1TrackFragment.html">edash_packager::media::mp4::TrackFragment</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d7b/box__definitions_8h_source.html#l00531">box_definitions.h:531</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html_a3e66313de4ecb51f23fe438758e0153b"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a3e66313de4ecb51f23fe438758e0153b">edash_packager::media::mp4::EncryptingFragmenter::PrepareFragmentForEncryption</a></div><div class="ttdeci">virtual Status PrepareFragmentForEncryption(bool enable_encryption)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d41/encrypting__fragmenter_8cc_source.html#l00087">encrypting_fragmenter.cc:87</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html_ae4352e452ece69206073274efd855f44"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#ae4352e452ece69206073274efd855f44">edash_packager::media::mp4::EncryptingFragmenter::EncryptingFragmenter</a></div><div class="ttdeci">EncryptingFragmenter(TrackFragment *traf, scoped_ptr&lt; EncryptionKey &gt; encryption_key, int64_t clear_time, uint8_t nalu_length_size)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d41/encrypting__fragmenter_8cc_source.html#l00025">encrypting_fragmenter.cc:25</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html_a0184deccbe7e99ea7a685cf0de2f9156"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a0184deccbe7e99ea7a685cf0de2f9156">edash_packager::media::mp4::EncryptingFragmenter::FinalizeFragmentForEncryption</a></div><div class="ttdeci">virtual void FinalizeFragmentForEncryption()</div><div class="ttdoc">Finalize current fragment for encryption. </div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d41/encrypting__fragmenter_8cc_source.html#l00092">encrypting_fragmenter.cc:92</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html_a55fb4db47cb106c39a411f8890619d91"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a55fb4db47cb106c39a411f8890619d91">edash_packager::media::mp4::EncryptingFragmenter::FinalizeFragment</a></div><div class="ttdeci">virtual void FinalizeFragment() OVERRIDE</div><div class="ttdoc">Finalize and optimize the fragment. </div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d41/encrypting__fragmenter_8cc_source.html#l00076">encrypting_fragmenter.cc:76</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html_ac7623c16e5a71727e85ac2857a2c025b"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#ac7623c16e5a71727e85ac2857a2c025b">edash_packager::media::mp4::EncryptingFragmenter::InitializeFragment</a></div><div class="ttdeci">virtual Status InitializeFragment(int64_t first_sample_dts) OVERRIDE</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d41/encrypting__fragmenter_8cc_source.html#l00054">encrypting_fragmenter.cc:54</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,189 @@
<!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::media::mp4::FileType Struct 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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../d1/dcd/structedash__packager_1_1media_1_1mp4_1_1FileType.html">FileType</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../df/dd1/structedash__packager_1_1media_1_1mp4_1_1FileType-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">edash_packager::media::mp4::FileType Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for edash_packager::media::mp4::FileType:</div>
<div class="dyncontent">
<div class="center">
<img src="../../d1/dcd/structedash__packager_1_1media_1_1mp4_1_1FileType.png" usemap="#edash_packager::media::mp4::FileType_map" alt=""/>
<map id="edash_packager::media::mp4::FileType_map" name="edash_packager::media::mp4::FileType_map">
<area href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html" alt="edash_packager::media::mp4::Box" shape="rect" coords="0,0,256,24"/>
<area href="../../dd/da6/structedash__packager_1_1media_1_1mp4_1_1SegmentType.html" alt="edash_packager::media::mp4::SegmentType" shape="rect" coords="0,112,256,136"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aee4b59f0c2c79982f286f37d04d317f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee4b59f0c2c79982f286f37d04d317f4"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dcd/structedash__packager_1_1media_1_1mp4_1_1FileType.html#aee4b59f0c2c79982f286f37d04d317f4">ReadWrite</a> (<a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">BoxBuffer</a> *buffer) OVERRIDE</td></tr>
<tr class="memdesc:aee4b59f0c2c79982f286f37d04d317f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read/write the mp4 box from/to <a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">BoxBuffer</a>. <br/></td></tr>
<tr class="separator:aee4b59f0c2c79982f286f37d04d317f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7897dc0b71c32e52c8ff405a2027e892"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7897dc0b71c32e52c8ff405a2027e892"></a>
virtual FourCC&#160;</td><td class="memItemRight" valign="bottom"><b>BoxType</b> () const OVERRIDE</td></tr>
<tr class="separator:a7897dc0b71c32e52c8ff405a2027e892"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70b376bfa3ed7be210497ffa2b456f8c"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dcd/structedash__packager_1_1media_1_1mp4_1_1FileType.html#a70b376bfa3ed7be210497ffa2b456f8c">ComputeSize</a> () OVERRIDE</td></tr>
<tr class="separator:a70b376bfa3ed7be210497ffa2b456f8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td></tr>
<tr class="memitem:a7b62a3983faafbea54a32486df60ed96 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a> (<a class="el" href="../../db/d6c/classedash__packager_1_1media_1_1mp4_1_1BoxReader.html">BoxReader</a> *reader)</td></tr>
<tr class="separator:a7b62a3983faafbea54a32486df60ed96 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7a756828b5514fcd3eaf16d86c413c0 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a> (<a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">BufferWriter</a> *writer)</td></tr>
<tr class="separator:aa7a756828b5514fcd3eaf16d86c413c0 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a572d0c1b82f10ef4bfbdc03ec4483454"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a572d0c1b82f10ef4bfbdc03ec4483454"></a>
FourCC&#160;</td><td class="memItemRight" valign="bottom"><b>major_brand</b></td></tr>
<tr class="separator:a572d0c1b82f10ef4bfbdc03ec4483454"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09ad0be20ec8e6270e89056d4c8ad3c9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a09ad0be20ec8e6270e89056d4c8ad3c9"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>minor_version</b></td></tr>
<tr class="separator:a09ad0be20ec8e6270e89056d4c8ad3c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45a2ce007dcba04465d3c4211219615f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a45a2ce007dcba04465d3c4211219615f"></a>
std::vector&lt; FourCC &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>compatible_brands</b></td></tr>
<tr class="separator:a45a2ce007dcba04465d3c4211219615f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box')"><img src="../../closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td></tr>
<tr class="memitem:a767571cecbc37bedb05d1ea84716a005 inherit pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td></tr>
<tr class="separator:a767571cecbc37bedb05d1ea84716a005 inherit pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box"><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>Definition at line <a class="el" href="../../d5/d7b/box__definitions_8h_source.html#l00039">39</a> of file <a class="el" href="../../d5/d7b/box__definitions_8h_source.html">box_definitions.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a70b376bfa3ed7be210497ffa2b456f8c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t edash_packager::media::mp4::FileType::ComputeSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Compute the size of this box. The calculated size will be saved in |atom_size| for later consumption. </p>
<p>Implements <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a308081198b1fa9f9e4653ad976014a16">edash_packager::media::mp4::Box</a>.</p>
<p>Reimplemented in <a class="el" href="../../dd/da6/structedash__packager_1_1media_1_1mp4_1_1SegmentType.html#af9d01112f531869d030e3361ad758459">edash_packager::media::mp4::SegmentType</a>.</p>
<p>Definition at line <a class="el" href="../../dd/dee/box__definitions_8cc_source.html#l00084">84</a> of file <a class="el" href="../../dd/dee/box__definitions_8cc_source.html">box_definitions.cc</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>media/formats/mp4/<a class="el" href="../../d5/d7b/box__definitions_8h_source.html">box_definitions.h</a></li>
<li>media/formats/mp4/<a class="el" href="../../dd/dee/box__definitions_8cc_source.html">box_definitions.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:54 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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,121 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html">SampleToGroup</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::mp4::SampleToGroup Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html">edash_packager::media::mp4::SampleToGroup</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>BoxType</b>() const OVERRIDE (defined in <a class="el" href="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html">edash_packager::media::mp4::SampleToGroup</a>)</td><td class="entry"><a class="el" href="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html">edash_packager::media::mp4::SampleToGroup</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html#a299f9846b41dbda38a661a272fb9f193">ComputeSize</a>() OVERRIDE</td><td class="entry"><a class="el" href="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html">edash_packager::media::mp4::SampleToGroup</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>entries</b> (defined in <a class="el" href="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html">edash_packager::media::mp4::SampleToGroup</a>)</td><td class="entry"><a class="el" href="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html">edash_packager::media::mp4::SampleToGroup</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>flags</b> (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>FullBox</b>() (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>grouping_type</b> (defined in <a class="el" href="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html">edash_packager::media::mp4::SampleToGroup</a>)</td><td class="entry"><a class="el" href="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html">edash_packager::media::mp4::SampleToGroup</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>grouping_type_parameter</b> (defined in <a class="el" href="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html">edash_packager::media::mp4::SampleToGroup</a>)</td><td class="entry"><a class="el" href="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html">edash_packager::media::mp4::SampleToGroup</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a>(BoxReader *reader)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html#a9f52feee1777e711c82f35afd1f8c234">ReadWrite</a>(BoxBuffer *buffer) OVERRIDE</td><td class="entry"><a class="el" href="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html">edash_packager::media::mp4::SampleToGroup</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>SampleToGroup</b>() (defined in <a class="el" href="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html">edash_packager::media::mp4::SampleToGroup</a>)</td><td class="entry"><a class="el" href="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html">edash_packager::media::mp4::SampleToGroup</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>version</b> (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a>(BufferWriter *writer)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~FullBox</b>() (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~SampleToGroup</b>() (defined in <a class="el" href="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html">edash_packager::media::mp4::SampleToGroup</a>)</td><td class="entry"><a class="el" href="../../d1/d65/structedash__packager_1_1media_1_1mp4_1_1SampleToGroup.html">edash_packager::media::mp4::SampleToGroup</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:31:01 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>

View File

@ -0,0 +1,164 @@
<!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::xml::RepresentationBaseXmlNode Class 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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>xml</b></li><li class="navelem"><a class="el" href="../../d1/dd5/classedash__packager_1_1xml_1_1RepresentationBaseXmlNode.html">RepresentationBaseXmlNode</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="../../d0/d3a/classedash__packager_1_1xml_1_1RepresentationBaseXmlNode-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">edash_packager::xml::RepresentationBaseXmlNode Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../dd/de7/xml__node_8h_source.html">xml_node.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for edash_packager::xml::RepresentationBaseXmlNode:</div>
<div class="dyncontent">
<div class="center">
<img src="../../d1/dd5/classedash__packager_1_1xml_1_1RepresentationBaseXmlNode.png" usemap="#edash_packager::xml::RepresentationBaseXmlNode_map" alt=""/>
<map id="edash_packager::xml::RepresentationBaseXmlNode_map" name="edash_packager::xml::RepresentationBaseXmlNode_map">
<area href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html" alt="edash_packager::xml::XmlNode" shape="rect" coords="154,0,453,24"/>
<area href="../../d6/d37/classedash__packager_1_1xml_1_1AdaptationSetXmlNode.html" title="AdaptationSetType specified in MPD. " alt="edash_packager::xml::AdaptationSetXmlNode" shape="rect" coords="0,112,299,136"/>
<area href="../../dc/d05/classedash__packager_1_1xml_1_1RepresentationXmlNode.html" title="RepresentationType in MPD. " alt="edash_packager::xml::RepresentationXmlNode" shape="rect" coords="309,112,608,136"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a3716d41bf7b1b520dfb8855955ecb6ad"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3716d41bf7b1b520dfb8855955ecb6ad"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>AddContentProtectionElements</b> (const std::list&lt; <a class="el" href="../../d0/d96/structedash__packager_1_1ContentProtectionElement.html">ContentProtectionElement</a> &gt; &amp;content_protection_elements)</td></tr>
<tr class="separator:a3716d41bf7b1b520dfb8855955ecb6ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classedash__packager_1_1xml_1_1XmlNode')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html">edash_packager::xml::XmlNode</a></td></tr>
<tr class="memitem:a7b66ce185c5b7841580cfc4357e0f0c2 inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#a7b66ce185c5b7841580cfc4357e0f0c2">XmlNode</a> (const char *name)</td></tr>
<tr class="separator:a7b66ce185c5b7841580cfc4357e0f0c2 inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab823db3ce661b4a967574f1534fc5b95 inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#ab823db3ce661b4a967574f1534fc5b95">AddChild</a> (<a class="el" href="../../d8/df3/structedash__packager_1_1xml_1_1ScopedXmlPtr.html">ScopedXmlPtr</a>&lt; xmlNode &gt;::type child)</td></tr>
<tr class="separator:ab823db3ce661b4a967574f1534fc5b95 inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d6fa2317a063fb69cfa00c0d5ff3ec7 inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9d6fa2317a063fb69cfa00c0d5ff3ec7"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#a9d6fa2317a063fb69cfa00c0d5ff3ec7">AddElements</a> (const std::vector&lt; <a class="el" href="../../d5/d7a/structedash__packager_1_1Element.html">Element</a> &gt; &amp;elements)</td></tr>
<tr class="memdesc:a9d6fa2317a063fb69cfa00c0d5ff3ec7 inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds Elements to this node using the <a class="el" href="../../d5/d7a/structedash__packager_1_1Element.html">Element</a> struct. <br/></td></tr>
<tr class="separator:a9d6fa2317a063fb69cfa00c0d5ff3ec7 inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13806def844e3fd8e8cc0e690f292aab inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#a13806def844e3fd8e8cc0e690f292aab">SetStringAttribute</a> (const char *attribute_name, const std::string &amp;attribute)</td></tr>
<tr class="separator:a13806def844e3fd8e8cc0e690f292aab inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54d635320973dec76f63cf696db3cf2a inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#a54d635320973dec76f63cf696db3cf2a">SetIntegerAttribute</a> (const char *attribute_name, uint64_t number)</td></tr>
<tr class="separator:a54d635320973dec76f63cf696db3cf2a inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af401948a6377cb12a37afca016f1a733 inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#af401948a6377cb12a37afca016f1a733">SetFloatingPointAttribute</a> (const char *attribute_name, double number)</td></tr>
<tr class="separator:af401948a6377cb12a37afca016f1a733 inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2ce769958718ef73a580e87e296a470 inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#ab2ce769958718ef73a580e87e296a470">SetId</a> (uint32_t id)</td></tr>
<tr class="separator:ab2ce769958718ef73a580e87e296a470 inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6eee68b8b44c092e0d923593bb1001d6 inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#a6eee68b8b44c092e0d923593bb1001d6">SetContent</a> (const std::string &amp;content)</td></tr>
<tr class="separator:a6eee68b8b44c092e0d923593bb1001d6 inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07d40d8fe27a2d1c3470f16ef0df3864 inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d8/df3/structedash__packager_1_1xml_1_1ScopedXmlPtr.html">ScopedXmlPtr</a>&lt; xmlNode &gt;::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#a07d40d8fe27a2d1c3470f16ef0df3864">PassScopedPtr</a> ()</td></tr>
<tr class="separator:a07d40d8fe27a2d1c3470f16ef0df3864 inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0942bc721718b70b49fc9e91a6934513 inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memItemLeft" align="right" valign="top">xmlNodePtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#a0942bc721718b70b49fc9e91a6934513">Release</a> ()</td></tr>
<tr class="separator:a0942bc721718b70b49fc9e91a6934513 inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05a6a89d477a5a59ed8081a2b1ee2d20 inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memItemLeft" align="right" valign="top">xmlNodePtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d85/classedash__packager_1_1xml_1_1XmlNode.html#a05a6a89d477a5a59ed8081a2b1ee2d20">GetRawPtr</a> ()</td></tr>
<tr class="separator:a05a6a89d477a5a59ed8081a2b1ee2d20 inherit pub_methods_classedash__packager_1_1xml_1_1XmlNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:aafe01f2ab7d873bd3d7d710964ae5372"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aafe01f2ab7d873bd3d7d710964ae5372"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>RepresentationBaseXmlNode</b> (const char *name)</td></tr>
<tr class="separator:aafe01f2ab7d873bd3d7d710964ae5372"><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>This corresponds to RepresentationBaseType in MPD. RepresentationBaseType is not a concrete element type so this should not get instantiated on its own. <a class="el" href="../../db/de4/classedash__packager_1_1AdaptationSet.html">AdaptationSet</a> and <a class="el" href="../../d7/d15/classedash__packager_1_1Representation.html">Representation</a> are subtypes of this. </p>
<p>Definition at line <a class="el" href="../../dd/de7/xml__node_8h_source.html#l00096">96</a> of file <a class="el" href="../../dd/de7/xml__node_8h_source.html">xml_node.h</a>.</p>
</div><hr/>The documentation for this class was generated from the following files:<ul>
<li>mpd/base/xml/<a class="el" href="../../dd/de7/xml__node_8h_source.html">xml_node.h</a></li>
<li>mpd/base/xml/<a class="el" href="../../df/d96/xml__node_8cc_source.html">xml_node.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:31:03 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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1,167 @@
<!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: media/formats/mp4/composition_offset_iterator.cc Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_65f7acfa8cf3a5f1edc11faa2428b914.html">formats</a></li><li class="navelem"><a class="el" href="../../dir_3e9291fd7a18fdecc763294cb2628910.html">mp4</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">composition_offset_iterator.cc</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp4/composition_offset_iterator.h&quot;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;packager/base/logging.h&quot;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="keyword">namespace </span>mp4 {</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"><a class="line" href="../../d4/de5/classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator.html#ac81770b820bc9b942c8ed9b8a12969b6"> 15</a></span>&#160;<a class="code" href="../../d4/de5/classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator.html#ac81770b820bc9b942c8ed9b8a12969b6">CompositionOffsetIterator::CompositionOffsetIterator</a>(</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <span class="keyword">const</span> <a class="code" href="../../da/d54/structedash__packager_1_1media_1_1mp4_1_1CompositionTimeToSample.html">CompositionTimeToSample</a>&amp; composition_time_to_sample)</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; : sample_index_(0),</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; composition_offset_table_(composition_time_to_sample.composition_offset),</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; iterator_(composition_offset_table_.begin()) {}</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;CompositionOffsetIterator::~CompositionOffsetIterator() {}</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="../../d4/de5/classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator.html#a545c773305ae13ef89ab1cef3a7fc1e6"> 22</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../d4/de5/classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator.html#a545c773305ae13ef89ab1cef3a7fc1e6">CompositionOffsetIterator::AdvanceSample</a>() {</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; ++sample_index_;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="keywordflow">if</span> (sample_index_ &gt;= iterator_-&gt;sample_count) {</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; ++iterator_;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keywordflow">if</span> (iterator_ == composition_offset_table_.end())</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; sample_index_ = 0;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; }</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;}</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="../../d4/de5/classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator.html#adf687bc7500b4c97f0ae170ea2254c09"> 33</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../d4/de5/classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator.html#adf687bc7500b4c97f0ae170ea2254c09">CompositionOffsetIterator::IsValid</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keywordflow">return</span> iterator_ != composition_offset_table_.end() &amp;&amp;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; sample_index_ &lt; iterator_-&gt;sample_count;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;}</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="../../d4/de5/classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator.html#afa796801fb0e716b82cb7d708d1db871"> 38</a></span>&#160;int64_t <a class="code" href="../../d4/de5/classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator.html#afa796801fb0e716b82cb7d708d1db871">CompositionOffsetIterator::SampleOffset</a>(uint32_t sample)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; uint32_t current_sample = 0;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; std::vector&lt;CompositionOffset&gt;::const_iterator it =</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; composition_offset_table_.begin();</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordflow">for</span> (; it != composition_offset_table_.end(); ++it) {</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; current_sample += it-&gt;sample_count;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">if</span> (current_sample &gt;= sample)</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">return</span> it-&gt;sample_offset;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; }</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; DCHECK_LE(sample, current_sample) &lt;&lt; <span class="stringliteral">&quot; Sample is invalid&quot;</span>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;}</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="../../d4/de5/classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator.html#a10f25f383ea2b2404dc3cd6f8d87dc71"> 51</a></span>&#160;uint32_t <a class="code" href="../../d4/de5/classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator.html#a10f25f383ea2b2404dc3cd6f8d87dc71">CompositionOffsetIterator::NumSamples</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; uint32_t num_samples = 0;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; std::vector&lt;CompositionOffset&gt;::const_iterator it =</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; composition_offset_table_.begin();</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">for</span> (; it != composition_offset_table_.end(); ++it) {</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; num_samples += it-&gt;sample_count;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; }</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">return</span> num_samples;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;}</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;} <span class="comment">// namespace mp4</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator_html_afa796801fb0e716b82cb7d708d1db871"><div class="ttname"><a href="../../d4/de5/classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator.html#afa796801fb0e716b82cb7d708d1db871">edash_packager::media::mp4::CompositionOffsetIterator::SampleOffset</a></div><div class="ttdeci">int64_t SampleOffset(uint32_t sample) const </div><div class="ttdef"><b>Definition:</b> <a href="../../d1/de2/composition__offset__iterator_8cc_source.html#l00038">composition_offset_iterator.cc:38</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator_html_a545c773305ae13ef89ab1cef3a7fc1e6"><div class="ttname"><a href="../../d4/de5/classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator.html#a545c773305ae13ef89ab1cef3a7fc1e6">edash_packager::media::mp4::CompositionOffsetIterator::AdvanceSample</a></div><div class="ttdeci">bool AdvanceSample()</div><div class="ttdef"><b>Definition:</b> <a href="../../d1/de2/composition__offset__iterator_8cc_source.html#l00022">composition_offset_iterator.cc:22</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator_html_ac81770b820bc9b942c8ed9b8a12969b6"><div class="ttname"><a href="../../d4/de5/classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator.html#ac81770b820bc9b942c8ed9b8a12969b6">edash_packager::media::mp4::CompositionOffsetIterator::CompositionOffsetIterator</a></div><div class="ttdeci">CompositionOffsetIterator(const CompositionTimeToSample &amp;composition_time_to_sample)</div><div class="ttdoc">Create CompositionOffsetIterator from composition time to sample box. </div><div class="ttdef"><b>Definition:</b> <a href="../../d1/de2/composition__offset__iterator_8cc_source.html#l00015">composition_offset_iterator.cc:15</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1mp4_1_1CompositionTimeToSample_html"><div class="ttname"><a href="../../da/d54/structedash__packager_1_1media_1_1mp4_1_1CompositionTimeToSample.html">edash_packager::media::mp4::CompositionTimeToSample</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d7b/box__definitions_8h_source.html#l00262">box_definitions.h:262</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator_html_a10f25f383ea2b2404dc3cd6f8d87dc71"><div class="ttname"><a href="../../d4/de5/classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator.html#a10f25f383ea2b2404dc3cd6f8d87dc71">edash_packager::media::mp4::CompositionOffsetIterator::NumSamples</a></div><div class="ttdeci">uint32_t NumSamples() const </div><div class="ttdef"><b>Definition:</b> <a href="../../d1/de2/composition__offset__iterator_8cc_source.html#l00051">composition_offset_iterator.cc:51</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator_html_adf687bc7500b4c97f0ae170ea2254c09"><div class="ttname"><a href="../../d4/de5/classedash__packager_1_1media_1_1mp4_1_1CompositionOffsetIterator.html#adf687bc7500b4c97f0ae170ea2254c09">edash_packager::media::mp4::CompositionOffsetIterator::IsValid</a></div><div class="ttdeci">bool IsValid() const </div><div class="ttdef"><b>Definition:</b> <a href="../../d1/de2/composition__offset__iterator_8cc_source.html#l00033">composition_offset_iterator.cc:33</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,313 @@
<!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: media/base/aes_encryptor.h Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_c6ada2450b25ab5438a4dba6c9b890af.html">base</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">aes_encryptor.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// AES Encryptor implementation using openssl.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#ifndef MEDIA_BASE_AES_ENCRYPTOR_H_</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#define MEDIA_BASE_AES_ENCRYPTOR_H_</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;packager/base/memory/scoped_ptr.h&quot;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;packager/base/stl_util.h&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="keyword">struct </span>aes_key_st;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>aes_key_st AES_KEY;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// Class which implements AES-CTR counter-mode encryption/decryption.</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="../../dd/d79/classedash__packager_1_1media_1_1AesCtrEncryptor.html"> 25</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../dd/d79/classedash__packager_1_1media_1_1AesCtrEncryptor.html">AesCtrEncryptor</a> {</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <a class="code" href="../../dd/d79/classedash__packager_1_1media_1_1AesCtrEncryptor.html">AesCtrEncryptor</a>();</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; ~<a class="code" href="../../dd/d79/classedash__packager_1_1media_1_1AesCtrEncryptor.html">AesCtrEncryptor</a>();</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../dd/d79/classedash__packager_1_1media_1_1AesCtrEncryptor.html#a3d1c0717e1310823bd6827299b6050ef">InitializeWithRandomIv</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; key, uint8_t iv_size);</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../dd/d79/classedash__packager_1_1media_1_1AesCtrEncryptor.html#a7e755a2bc06f35c8b3de9a7ab8b538cd">InitializeWithIv</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; key,</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; iv);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordtype">bool</span> Encrypt(<span class="keyword">const</span> uint8_t* plaintext,</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordtype">size_t</span> plaintext_size,</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; uint8_t* ciphertext);</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordtype">bool</span> Encrypt(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; plaintext,</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; std::vector&lt;uint8_t&gt;* ciphertext) {</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; ciphertext-&gt;resize(plaintext.size());</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">return</span> Encrypt(&amp;plaintext[0], plaintext.size(), &amp;(*ciphertext)[0]);</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; }</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordtype">bool</span> Encrypt(<span class="keyword">const</span> std::string&amp; plaintext, std::string* ciphertext) {</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; ciphertext-&gt;resize(plaintext.size());</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">return</span> Encrypt(reinterpret_cast&lt;const uint8_t*&gt;(plaintext.data()),</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; plaintext.size(),</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keyword">reinterpret_cast&lt;</span>uint8_t*<span class="keyword">&gt;</span>(string_as_array(ciphertext)));</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="comment">// For AES CTR, encryption and decryption are identical.</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordtype">bool</span> Decrypt(<span class="keyword">const</span> uint8_t* ciphertext,</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordtype">size_t</span> ciphertext_size,</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; uint8_t* plaintext) {</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">return</span> Encrypt(ciphertext, ciphertext_size, plaintext);</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; }</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordtype">bool</span> Decrypt(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; ciphertext,</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; std::vector&lt;uint8_t&gt;* plaintext) {</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span> Encrypt(ciphertext, plaintext);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordtype">bool</span> Decrypt(<span class="keyword">const</span> std::string&amp; ciphertext, std::string* plaintext) {</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> Encrypt(ciphertext, plaintext);</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../dd/d79/classedash__packager_1_1media_1_1AesCtrEncryptor.html#a8310ce3e9ef83a899173bbd1e6ac5583">UpdateIv</a>();</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../dd/d79/classedash__packager_1_1media_1_1AesCtrEncryptor.html#a9c68238a73c834fd795d3e4d5e8cfd10">SetIv</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; iv);</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; iv()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> iv_; }</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; uint32_t block_offset()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> block_offset_; }</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="comment">// Initialization vector, with size 8 or 16.</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; std::vector&lt;uint8_t&gt; iv_;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="comment">// Current block offset.</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; uint32_t block_offset_;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="comment">// Openssl AES_KEY.</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; scoped_ptr&lt;AES_KEY&gt; aes_key_;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="comment">// Current AES-CTR counter.</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; std::vector&lt;uint8_t&gt; counter_;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="comment">// Encrypted counter.</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; std::vector&lt;uint8_t&gt; encrypted_counter_;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="comment">// Keep track of whether the counter has overflowed.</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordtype">bool</span> counter_overflow_;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="../../dd/d79/classedash__packager_1_1media_1_1AesCtrEncryptor.html">AesCtrEncryptor</a>);</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;};</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment">// Class which implements AES-CBC (Cipher block chaining) encryption with</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment">// PKCS#5 padding.</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="../../d6/dc4/classedash__packager_1_1media_1_1AesCbcPkcs5Encryptor.html"> 115</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../d6/dc4/classedash__packager_1_1media_1_1AesCbcPkcs5Encryptor.html">AesCbcPkcs5Encryptor</a> {</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="../../d6/dc4/classedash__packager_1_1media_1_1AesCbcPkcs5Encryptor.html">AesCbcPkcs5Encryptor</a>();</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; ~<a class="code" href="../../d6/dc4/classedash__packager_1_1media_1_1AesCbcPkcs5Encryptor.html">AesCbcPkcs5Encryptor</a>();</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d6/dc4/classedash__packager_1_1media_1_1AesCbcPkcs5Encryptor.html#a6a960fa0d83359156cfd6e10167a69e2">InitializeWithIv</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; key,</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; iv);</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d6/dc4/classedash__packager_1_1media_1_1AesCbcPkcs5Encryptor.html#aa9e31be1aef797b9c06e5f3beb524dc8">Encrypt</a>(<span class="keyword">const</span> std::string&amp; plaintext, std::string* ciphertext);</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d6/dc4/classedash__packager_1_1media_1_1AesCbcPkcs5Encryptor.html#aca87525a4f8b27efc3e6eefcbe26f55f">SetIv</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; iv);</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; iv()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> iv_; }</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; std::vector&lt;uint8_t&gt; iv_;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; scoped_ptr&lt;AES_KEY&gt; encrypt_key_;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="../../d6/dc4/classedash__packager_1_1media_1_1AesCbcPkcs5Encryptor.html">AesCbcPkcs5Encryptor</a>);</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;};</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment">// Class which implements AES-CBC (Cipher block chaining) decryption with</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment">// PKCS#5 padding.</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="../../db/dfe/classedash__packager_1_1media_1_1AesCbcPkcs5Decryptor.html"> 146</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../db/dfe/classedash__packager_1_1media_1_1AesCbcPkcs5Decryptor.html">AesCbcPkcs5Decryptor</a> {</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="../../db/dfe/classedash__packager_1_1media_1_1AesCbcPkcs5Decryptor.html">AesCbcPkcs5Decryptor</a>();</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; ~<a class="code" href="../../db/dfe/classedash__packager_1_1media_1_1AesCbcPkcs5Decryptor.html">AesCbcPkcs5Decryptor</a>();</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../db/dfe/classedash__packager_1_1media_1_1AesCbcPkcs5Decryptor.html#aaa17492b546264e815971e9f6925a460">InitializeWithIv</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; key,</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; iv);</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../db/dfe/classedash__packager_1_1media_1_1AesCbcPkcs5Decryptor.html#a99992a6413029b81074735a74ce392e3">Decrypt</a>(<span class="keyword">const</span> std::string&amp; ciphertext, std::string* plaintext);</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../db/dfe/classedash__packager_1_1media_1_1AesCbcPkcs5Decryptor.html#a0944b9d110e89fa9d63b03060059954e">SetIv</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; iv);</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; iv()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> iv_; }</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; std::vector&lt;uint8_t&gt; iv_;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; scoped_ptr&lt;AES_KEY&gt; decrypt_key_;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="../../db/dfe/classedash__packager_1_1media_1_1AesCbcPkcs5Decryptor.html">AesCbcPkcs5Decryptor</a>);</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;};</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment">// Class which implements AES-CBC (Cipher block chaining) encryption with</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment">// Ciphertext stealing.</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="../../d6/da2/classedash__packager_1_1media_1_1AesCbcCtsEncryptor.html"> 178</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../d6/da2/classedash__packager_1_1media_1_1AesCbcCtsEncryptor.html">AesCbcCtsEncryptor</a> {</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="../../d6/da2/classedash__packager_1_1media_1_1AesCbcCtsEncryptor.html">AesCbcCtsEncryptor</a>();</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; ~<a class="code" href="../../d6/da2/classedash__packager_1_1media_1_1AesCbcCtsEncryptor.html">AesCbcCtsEncryptor</a>();</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d6/da2/classedash__packager_1_1media_1_1AesCbcCtsEncryptor.html#a5f48de14959ae35fdd9e2e95ab0274b4">InitializeWithIv</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; key,</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; iv);</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d6/da2/classedash__packager_1_1media_1_1AesCbcCtsEncryptor.html#a8bc803d458d2443cb59d20b6d14c3c30">Encrypt</a>(<span class="keyword">const</span> uint8_t* plaintext, <span class="keywordtype">size_t</span> size, uint8_t* ciphertext);</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d6/da2/classedash__packager_1_1media_1_1AesCbcCtsEncryptor.html#a8bc803d458d2443cb59d20b6d14c3c30">Encrypt</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; plaintext,</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; std::vector&lt;uint8_t&gt;* ciphertext);</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d6/da2/classedash__packager_1_1media_1_1AesCbcCtsEncryptor.html#a797a78aad46c2b148398c6d15f2b39e3">SetIv</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; iv);</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; iv()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> iv_; }</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; std::vector&lt;uint8_t&gt; iv_;</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; scoped_ptr&lt;AES_KEY&gt; encrypt_key_;</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="../../d6/da2/classedash__packager_1_1media_1_1AesCbcCtsEncryptor.html">AesCbcCtsEncryptor</a>);</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;};</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;<span class="comment">// Class which implements AES-CBC (Cipher block chaining) decryption with</span></div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;<span class="comment">// Ciphertext stealing.</span></div>
<div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="../../dd/d96/classedash__packager_1_1media_1_1AesCbcCtsDecryptor.html"> 219</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../dd/d96/classedash__packager_1_1media_1_1AesCbcCtsDecryptor.html">AesCbcCtsDecryptor</a> {</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="../../dd/d96/classedash__packager_1_1media_1_1AesCbcCtsDecryptor.html">AesCbcCtsDecryptor</a>();</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; ~<a class="code" href="../../dd/d96/classedash__packager_1_1media_1_1AesCbcCtsDecryptor.html">AesCbcCtsDecryptor</a>();</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../dd/d96/classedash__packager_1_1media_1_1AesCbcCtsDecryptor.html#a4ae122dc7410cccec81eabbffa7601da">InitializeWithIv</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; key,</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; iv);</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../dd/d96/classedash__packager_1_1media_1_1AesCbcCtsDecryptor.html#ab4401816a4dbae48500ce4e8f011c511">Decrypt</a>(<span class="keyword">const</span> uint8_t* ciphertext, <span class="keywordtype">size_t</span> size, uint8_t* plaintext);</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../dd/d96/classedash__packager_1_1media_1_1AesCbcCtsDecryptor.html#ab4401816a4dbae48500ce4e8f011c511">Decrypt</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; ciphertext,</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; std::vector&lt;uint8_t&gt;* plaintext);</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../dd/d96/classedash__packager_1_1media_1_1AesCbcCtsDecryptor.html#abcb9af2123d5ae47b2c89cf3feb67e06">SetIv</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; iv);</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; iv()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> iv_; }</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; std::vector&lt;uint8_t&gt; iv_;</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; scoped_ptr&lt;AES_KEY&gt; decrypt_key_;</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="../../dd/d96/classedash__packager_1_1media_1_1AesCbcCtsDecryptor.html">AesCbcCtsDecryptor</a>);</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;};</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;<span class="preprocessor">#endif // MEDIA_BASE_AES_ENCRYPTOR_H_</span></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCbcCtsEncryptor_html_a8bc803d458d2443cb59d20b6d14c3c30"><div class="ttname"><a href="../../d6/da2/classedash__packager_1_1media_1_1AesCbcCtsEncryptor.html#a8bc803d458d2443cb59d20b6d14c3c30">edash_packager::media::AesCbcCtsEncryptor::Encrypt</a></div><div class="ttdeci">void Encrypt(const uint8_t *plaintext, size_t size, uint8_t *ciphertext)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/da4/aes__encryptor_8cc_source.html#l00279">aes_encryptor.cc:279</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCbcPkcs5Decryptor_html_a0944b9d110e89fa9d63b03060059954e"><div class="ttname"><a href="../../db/dfe/classedash__packager_1_1media_1_1AesCbcPkcs5Decryptor.html#a0944b9d110e89fa9d63b03060059954e">edash_packager::media::AesCbcPkcs5Decryptor::SetIv</a></div><div class="ttdeci">bool SetIv(const std::vector&lt; uint8_t &gt; &amp;iv)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/da4/aes__encryptor_8cc_source.html#l00248">aes_encryptor.cc:248</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCbcPkcs5Decryptor_html_aaa17492b546264e815971e9f6925a460"><div class="ttname"><a href="../../db/dfe/classedash__packager_1_1media_1_1AesCbcPkcs5Decryptor.html#aaa17492b546264e815971e9f6925a460">edash_packager::media::AesCbcPkcs5Decryptor::InitializeWithIv</a></div><div class="ttdeci">bool InitializeWithIv(const std::vector&lt; uint8_t &gt; &amp;key, const std::vector&lt; uint8_t &gt; &amp;iv)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/da4/aes__encryptor_8cc_source.html#l00200">aes_encryptor.cc:200</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCbcCtsDecryptor_html_ab4401816a4dbae48500ce4e8f011c511"><div class="ttname"><a href="../../dd/d96/classedash__packager_1_1media_1_1AesCbcCtsDecryptor.html#ab4401816a4dbae48500ce4e8f011c511">edash_packager::media::AesCbcCtsDecryptor::Decrypt</a></div><div class="ttdeci">void Decrypt(const uint8_t *ciphertext, size_t size, uint8_t *plaintext)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/da4/aes__encryptor_8cc_source.html#l00374">aes_encryptor.cc:374</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCbcPkcs5Encryptor_html_aca87525a4f8b27efc3e6eefcbe26f55f"><div class="ttname"><a href="../../d6/dc4/classedash__packager_1_1media_1_1AesCbcPkcs5Encryptor.html#aca87525a4f8b27efc3e6eefcbe26f55f">edash_packager::media::AesCbcPkcs5Encryptor::SetIv</a></div><div class="ttdeci">bool SetIv(const std::vector&lt; uint8_t &gt; &amp;iv)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/da4/aes__encryptor_8cc_source.html#l00187">aes_encryptor.cc:187</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCbcCtsDecryptor_html_abcb9af2123d5ae47b2c89cf3feb67e06"><div class="ttname"><a href="../../dd/d96/classedash__packager_1_1media_1_1AesCbcCtsDecryptor.html#abcb9af2123d5ae47b2c89cf3feb67e06">edash_packager::media::AesCbcCtsDecryptor::SetIv</a></div><div class="ttdeci">bool SetIv(const std::vector&lt; uint8_t &gt; &amp;iv)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/da4/aes__encryptor_8cc_source.html#l00467">aes_encryptor.cc:467</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCbcCtsEncryptor_html_a797a78aad46c2b148398c6d15f2b39e3"><div class="ttname"><a href="../../d6/da2/classedash__packager_1_1media_1_1AesCbcCtsEncryptor.html#a797a78aad46c2b148398c6d15f2b39e3">edash_packager::media::AesCbcCtsEncryptor::SetIv</a></div><div class="ttdeci">bool SetIv(const std::vector&lt; uint8_t &gt; &amp;iv)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/da4/aes__encryptor_8cc_source.html#l00343">aes_encryptor.cc:343</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCbcCtsDecryptor_html"><div class="ttname"><a href="../../dd/d96/classedash__packager_1_1media_1_1AesCbcCtsDecryptor.html">edash_packager::media::AesCbcCtsDecryptor</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d1/df0/aes__encryptor_8h_source.html#l00219">aes_encryptor.h:219</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCtrEncryptor_html_a8310ce3e9ef83a899173bbd1e6ac5583"><div class="ttname"><a href="../../dd/d79/classedash__packager_1_1media_1_1AesCtrEncryptor.html#a8310ce3e9ef83a899173bbd1e6ac5583">edash_packager::media::AesCtrEncryptor::UpdateIv</a></div><div class="ttdeci">void UpdateIv()</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/da4/aes__encryptor_8cc_source.html#l00104">aes_encryptor.cc:104</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCtrEncryptor_html_a9c68238a73c834fd795d3e4d5e8cfd10"><div class="ttname"><a href="../../dd/d79/classedash__packager_1_1media_1_1AesCtrEncryptor.html#a9c68238a73c834fd795d3e4d5e8cfd10">edash_packager::media::AesCtrEncryptor::SetIv</a></div><div class="ttdeci">bool SetIv(const std::vector&lt; uint8_t &gt; &amp;iv)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/da4/aes__encryptor_8cc_source.html#l00133">aes_encryptor.cc:133</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCtrEncryptor_html_a7e755a2bc06f35c8b3de9a7ab8b538cd"><div class="ttname"><a href="../../dd/d79/classedash__packager_1_1media_1_1AesCtrEncryptor.html#a7e755a2bc06f35c8b3de9a7ab8b538cd">edash_packager::media::AesCtrEncryptor::InitializeWithIv</a></div><div class="ttdeci">bool InitializeWithIv(const std::vector&lt; uint8_t &gt; &amp;key, const std::vector&lt; uint8_t &gt; &amp;iv)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/da4/aes__encryptor_8cc_source.html#l00064">aes_encryptor.cc:64</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCbcPkcs5Decryptor_html_a99992a6413029b81074735a74ce392e3"><div class="ttname"><a href="../../db/dfe/classedash__packager_1_1media_1_1AesCbcPkcs5Decryptor.html#a99992a6413029b81074735a74ce392e3">edash_packager::media::AesCbcPkcs5Decryptor::Decrypt</a></div><div class="ttdeci">bool Decrypt(const std::string &amp;ciphertext, std::string *plaintext)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/da4/aes__encryptor_8cc_source.html#l00218">aes_encryptor.cc:218</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCtrEncryptor_html"><div class="ttname"><a href="../../dd/d79/classedash__packager_1_1media_1_1AesCtrEncryptor.html">edash_packager::media::AesCtrEncryptor</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d1/df0/aes__encryptor_8h_source.html#l00025">aes_encryptor.h:25</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCbcPkcs5Encryptor_html_aa9e31be1aef797b9c06e5f3beb524dc8"><div class="ttname"><a href="../../d6/dc4/classedash__packager_1_1media_1_1AesCbcPkcs5Encryptor.html#aa9e31be1aef797b9c06e5f3beb524dc8">edash_packager::media::AesCbcPkcs5Encryptor::Encrypt</a></div><div class="ttdeci">void Encrypt(const std::string &amp;plaintext, std::string *ciphertext)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/da4/aes__encryptor_8cc_source.html#l00166">aes_encryptor.cc:166</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCbcPkcs5Encryptor_html_a6a960fa0d83359156cfd6e10167a69e2"><div class="ttname"><a href="../../d6/dc4/classedash__packager_1_1media_1_1AesCbcPkcs5Encryptor.html#a6a960fa0d83359156cfd6e10167a69e2">edash_packager::media::AesCbcPkcs5Encryptor::InitializeWithIv</a></div><div class="ttdeci">bool InitializeWithIv(const std::vector&lt; uint8_t &gt; &amp;key, const std::vector&lt; uint8_t &gt; &amp;iv)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/da4/aes__encryptor_8cc_source.html#l00148">aes_encryptor.cc:148</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCtrEncryptor_html_a3d1c0717e1310823bd6827299b6050ef"><div class="ttname"><a href="../../dd/d79/classedash__packager_1_1media_1_1AesCtrEncryptor.html#a3d1c0717e1310823bd6827299b6050ef">edash_packager::media::AesCtrEncryptor::InitializeWithRandomIv</a></div><div class="ttdeci">bool InitializeWithRandomIv(const std::vector&lt; uint8_t &gt; &amp;key, uint8_t iv_size)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/da4/aes__encryptor_8cc_source.html#l00053">aes_encryptor.cc:53</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCbcCtsEncryptor_html_a5f48de14959ae35fdd9e2e95ab0274b4"><div class="ttname"><a href="../../d6/da2/classedash__packager_1_1media_1_1AesCbcCtsEncryptor.html#a5f48de14959ae35fdd9e2e95ab0274b4">edash_packager::media::AesCbcCtsEncryptor::InitializeWithIv</a></div><div class="ttdeci">bool InitializeWithIv(const std::vector&lt; uint8_t &gt; &amp;key, const std::vector&lt; uint8_t &gt; &amp;iv)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/da4/aes__encryptor_8cc_source.html#l00261">aes_encryptor.cc:261</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCbcCtsDecryptor_html_a4ae122dc7410cccec81eabbffa7601da"><div class="ttname"><a href="../../dd/d96/classedash__packager_1_1media_1_1AesCbcCtsDecryptor.html#a4ae122dc7410cccec81eabbffa7601da">edash_packager::media::AesCbcCtsDecryptor::InitializeWithIv</a></div><div class="ttdeci">bool InitializeWithIv(const std::vector&lt; uint8_t &gt; &amp;key, const std::vector&lt; uint8_t &gt; &amp;iv)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/da4/aes__encryptor_8cc_source.html#l00356">aes_encryptor.cc:356</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCbcPkcs5Decryptor_html"><div class="ttname"><a href="../../db/dfe/classedash__packager_1_1media_1_1AesCbcPkcs5Decryptor.html">edash_packager::media::AesCbcPkcs5Decryptor</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d1/df0/aes__encryptor_8h_source.html#l00146">aes_encryptor.h:146</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCbcPkcs5Encryptor_html"><div class="ttname"><a href="../../d6/dc4/classedash__packager_1_1media_1_1AesCbcPkcs5Encryptor.html">edash_packager::media::AesCbcPkcs5Encryptor</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d1/df0/aes__encryptor_8h_source.html#l00115">aes_encryptor.h:115</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCbcCtsEncryptor_html"><div class="ttname"><a href="../../d6/da2/classedash__packager_1_1media_1_1AesCbcCtsEncryptor.html">edash_packager::media::AesCbcCtsEncryptor</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d1/df0/aes__encryptor_8h_source.html#l00178">aes_encryptor.h:178</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,311 @@
<!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: media/formats/mp4/multi_segment_segmenter.cc Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_65f7acfa8cf3a5f1edc11faa2428b914.html">formats</a></li><li class="navelem"><a class="el" href="../../dir_3e9291fd7a18fdecc763294cb2628910.html">mp4</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">multi_segment_segmenter.cc</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp4/multi_segment_segmenter.h&quot;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;packager/base/strings/string_number_conversions.h&quot;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;packager/base/strings/string_util.h&quot;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/buffer_writer.h&quot;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/media_stream.h&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/muxer_options.h&quot;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/muxer_util.h&quot;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;packager/media/event/muxer_listener.h&quot;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;packager/media/file/file.h&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp4/box_definitions.h&quot;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keyword">namespace </span>mp4 {</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;MultiSegmentSegmenter::MultiSegmentSegmenter(<span class="keyword">const</span> MuxerOptions&amp; options,</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; scoped_ptr&lt;FileType&gt; ftyp,</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; scoped_ptr&lt;Movie&gt; moov)</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; : Segmenter(options, ftyp.Pass(), moov.Pass()),</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; styp_(new SegmentType),</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; num_segments_(0) {</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="comment">// Use the same brands for styp as ftyp.</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; styp_-&gt;major_brand = Segmenter::ftyp()-&gt;major_brand;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; styp_-&gt;compatible_brands = Segmenter::ftyp()-&gt;compatible_brands;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;}</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;MultiSegmentSegmenter::~MultiSegmentSegmenter() {}</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html#aa8a22b2a7e271abed76c25b531a919fd"> 36</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html#aa8a22b2a7e271abed76c25b531a919fd">MultiSegmentSegmenter::GetInitRange</a>(<span class="keywordtype">size_t</span>* offset, <span class="keywordtype">size_t</span>* size) {</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; DLOG(INFO) &lt;&lt; <span class="stringliteral">&quot;MultiSegmentSegmenter outputs init segment: &quot;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; &lt;&lt; options().<a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#addd401a47b287f3c18cbdc4bfa1a6963">output_file_name</a>;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;}</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html#ac536e13f4e0940566ac1fe53fb7f4dc6"> 42</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html#ac536e13f4e0940566ac1fe53fb7f4dc6">MultiSegmentSegmenter::GetIndexRange</a>(<span class="keywordtype">size_t</span>* offset, <span class="keywordtype">size_t</span>* size) {</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; DLOG(INFO) &lt;&lt; <span class="stringliteral">&quot;MultiSegmentSegmenter does not have index range.&quot;</span>;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;}</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> MultiSegmentSegmenter::DoInitialize() {</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; DCHECK(ftyp());</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; DCHECK(moov());</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="comment">// Generate the output file with init segment.</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html">File</a>* file = <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#a0933ccd7df76fcf8fbcfe12c15dbf6c5">File::Open</a>(options().output_file_name.c_str(), <span class="stringliteral">&quot;w&quot;</span>);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">if</span> (file == NULL) {</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a>(error::FILE_FAILURE,</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="stringliteral">&quot;Cannot open file for write &quot;</span> + options().output_file_name);</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; }</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; scoped_ptr&lt;BufferWriter&gt; buffer(<span class="keyword">new</span> <a class="code" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">BufferWriter</a>);</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; ftyp()-&gt;<a class="code" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a>(buffer.get());</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; moov()-&gt;<a class="code" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a>(buffer.get());</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> status = buffer-&gt;WriteToFile(file);</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">if</span> (!file-&gt;<a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#a42290da768cd34316d2f4c5fc3976b38">Close</a>()) {</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; LOG(WARNING) &lt;&lt; <span class="stringliteral">&quot;Failed to close the file properly: &quot;</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; &lt;&lt; options().<a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#addd401a47b287f3c18cbdc4bfa1a6963">output_file_name</a>;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">return</span> status;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;}</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;Status MultiSegmentSegmenter::DoFinalize() {</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#a4e58a007d4daafe1b49a70d39e52e339">SetComplete</a>();</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">return</span> Status::OK;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;}</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;Status MultiSegmentSegmenter::DoFinalizeSegment() {</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; DCHECK(sidx());</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="comment">// earliest_presentation_time is the earliest presentation time of any</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="comment">// access unit in the reference stream in the first subsegment.</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="comment">// It will be re-calculated later when subsegments are finalized.</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; sidx()-&gt;earliest_presentation_time =</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; sidx()-&gt;references[0].earliest_presentation_time;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">if</span> (options().num_subsegments_per_sidx &lt;= 0)</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span> WriteSegment();</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="comment">// sidx() contains pre-generated segment references with one reference per</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="comment">// fragment. Calculate |num_fragments_per_subsegment| and combine</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="comment">// pre-generated references into final subsegment references.</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; uint32_t num_fragments = sidx()-&gt;references.size();</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; uint32_t num_fragments_per_subsegment =</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; (num_fragments - 1) / options().<a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a93714f081569ea56ed626eb057c1761f">num_subsegments_per_sidx</a> + 1;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">if</span> (num_fragments_per_subsegment &lt;= 1)</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">return</span> WriteSegment();</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; uint32_t frag_index = 0;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; uint32_t subseg_index = 0;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; std::vector&lt;SegmentReference&gt;&amp; refs = sidx()-&gt;references;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; uint64_t first_sap_time =</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; refs[0].sap_delta_time + refs[0].earliest_presentation_time;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">for</span> (uint32_t i = 1; i &lt; num_fragments; ++i) {</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; refs[subseg_index].referenced_size += refs[i].referenced_size;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; refs[subseg_index].subsegment_duration += refs[i].subsegment_duration;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; refs[subseg_index].earliest_presentation_time =</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; std::min(refs[subseg_index].earliest_presentation_time,</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; refs[i].earliest_presentation_time);</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">if</span> (refs[subseg_index].sap_type == SegmentReference::TypeUnknown &amp;&amp;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; refs[i].sap_type != SegmentReference::TypeUnknown) {</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; refs[subseg_index].sap_type = refs[i].sap_type;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; first_sap_time =</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; refs[i].sap_delta_time + refs[i].earliest_presentation_time;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">if</span> (++frag_index &gt;= num_fragments_per_subsegment) {</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="comment">// Calculate sap delta time w.r.t. sidx_-&gt;earliest_presentation_time.</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">if</span> (refs[subseg_index].sap_type != SegmentReference::TypeUnknown) {</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; refs[subseg_index].sap_delta_time =</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; first_sap_time - refs[subseg_index].earliest_presentation_time;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">if</span> (++i &gt;= num_fragments)</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; refs[++subseg_index] = refs[i];</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; first_sap_time =</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; refs[i].sap_delta_time + refs[i].earliest_presentation_time;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; frag_index = 1;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; }</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; refs.resize(options().num_subsegments_per_sidx);</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="comment">// earliest_presentation_time is the earliest presentation time of any</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="comment">// access unit in the reference stream in the first subsegment.</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; sidx()-&gt;earliest_presentation_time = refs[0].earliest_presentation_time;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">return</span> WriteSegment();</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;}</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;Status MultiSegmentSegmenter::WriteSegment() {</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; DCHECK(sidx());</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; DCHECK(fragment_buffer());</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; DCHECK(styp_);</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; scoped_ptr&lt;BufferWriter&gt; buffer(<span class="keyword">new</span> BufferWriter());</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; File* file;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; std::string file_name;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">if</span> (options().segment_template.empty()) {</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="comment">// Append the segment to output file if segment template is not specified.</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; file_name = options().<a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#addd401a47b287f3c18cbdc4bfa1a6963">output_file_name</a>.c_str();</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; file = <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#a0933ccd7df76fcf8fbcfe12c15dbf6c5">File::Open</a>(file_name.c_str(), <span class="stringliteral">&quot;a&quot;</span>);</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">if</span> (file == NULL) {</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">return</span> Status(</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; error::FILE_FAILURE,</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="stringliteral">&quot;Cannot open file for append &quot;</span> + options().output_file_name);</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; }</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; file = <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#a0933ccd7df76fcf8fbcfe12c15dbf6c5">File::Open</a>(GetSegmentName(options().segment_template,</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; sidx()-&gt;earliest_presentation_time,</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; num_segments_++,</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; options().bandwidth).c_str(),</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="stringliteral">&quot;w&quot;</span>);</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">if</span> (file == NULL) {</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">return</span> Status(error::FILE_FAILURE,</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="stringliteral">&quot;Cannot open file for write &quot;</span> + file_name);</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; }</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; styp_-&gt;Write(buffer.get());</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="comment">// If num_subsegments_per_sidx is negative, no SIDX box is generated.</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">if</span> (options().<a class="code" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a93714f081569ea56ed626eb057c1761f">num_subsegments_per_sidx</a> &gt;= 0)</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; sidx()-&gt;<a class="code" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a>(buffer.get());</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> segment_size = buffer-&gt;Size() + fragment_buffer()-&gt;Size();</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; DCHECK_NE(segment_size, 0u);</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; Status status = buffer-&gt;WriteToFile(file);</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">if</span> (status.ok())</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; status = fragment_buffer()-&gt;<a class="code" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html#aa83fe945386e5a75d3c377904fdddce2">WriteToFile</a>(file);</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">if</span> (!file-&gt;Close())</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; LOG(WARNING) &lt;&lt; <span class="stringliteral">&quot;Failed to close the file properly: &quot;</span> &lt;&lt; file_name;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">if</span> (!status.ok())</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">return</span> status;</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; uint64_t segment_duration = 0;</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="comment">// ISO/IEC 23009-1:2012: the value shall be identical to sum of the the</span></div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="comment">// values of all Subsegment_duration fields in the first sidx box.</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; sidx()-&gt;references.size(); ++i)</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; segment_duration += sidx()-&gt;references[i].subsegment_duration;</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="code" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#a287d51571c92704274550d9f1d246cf9">UpdateProgress</a>(segment_duration);</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">if</span> (muxer_listener()) {</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; muxer_listener()-&gt;<a class="code" href="../../df/de7/classedash__packager_1_1media_1_1MuxerListener.html#a5626ff553138db438c561db2ca0d05f2">OnSampleDurationReady</a>(<a class="code" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#ac2883a5eb0bd7abb50bc3968ac417901">sample_duration</a>());</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; muxer_listener()-&gt;OnNewSegment(</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; sidx()-&gt;earliest_presentation_time, segment_duration, segment_size);</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; }</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">return</span> Status::OK;</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;}</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;} <span class="comment">// namespace mp4</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="ttc" id="structedash__packager_1_1media_1_1MuxerOptions_html_addd401a47b287f3c18cbdc4bfa1a6963"><div class="ttname"><a href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#addd401a47b287f3c18cbdc4bfa1a6963">edash_packager::media::MuxerOptions::output_file_name</a></div><div class="ttdeci">std::string output_file_name</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d0e/muxer__options_8h_source.html#l00055">muxer_options.h:55</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1File_html_a42290da768cd34316d2f4c5fc3976b38"><div class="ttname"><a href="../../de/d19/classedash__packager_1_1media_1_1File.html#a42290da768cd34316d2f4c5fc3976b38">edash_packager::media::File::Close</a></div><div class="ttdeci">virtual bool Close()=0</div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1File_html"><div class="ttname"><a href="../../de/d19/classedash__packager_1_1media_1_1File.html">edash_packager::media::File</a></div><div class="ttdoc">Define an abstract file interface. </div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d4d/file_8h_source.html#l00022">file.h:22</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1File_html_a0933ccd7df76fcf8fbcfe12c15dbf6c5"><div class="ttname"><a href="../../de/d19/classedash__packager_1_1media_1_1File.html#a0933ccd7df76fcf8fbcfe12c15dbf6c5">edash_packager::media::File::Open</a></div><div class="ttdeci">virtual bool Open()=0</div><div class="ttdoc">Internal open. Should not be used directly. </div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1Status_html"><div class="ttname"><a href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">edash_packager::media::Status</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d13/status_8h_source.html#l00076">status.h:76</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1BufferWriter_html_aa83fe945386e5a75d3c377904fdddce2"><div class="ttname"><a href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html#aa83fe945386e5a75d3c377904fdddce2">edash_packager::media::BufferWriter::WriteToFile</a></div><div class="ttdeci">Status WriteToFile(File *file)</div><div class="ttdef"><b>Definition:</b> <a href="../../dd/dd3/buffer__writer_8cc_source.html#l00065">buffer_writer.cc:65</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter_html_aa8a22b2a7e271abed76c25b531a919fd"><div class="ttname"><a href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html#aa8a22b2a7e271abed76c25b531a919fd">edash_packager::media::mp4::MultiSegmentSegmenter::GetInitRange</a></div><div class="ttdeci">virtual bool GetInitRange(size_t *offset, size_t *size) OVERRIDE</div><div class="ttdef"><b>Definition:</b> <a href="../../d1/df1/multi__segment__segmenter_8cc_source.html#l00036">multi_segment_segmenter.cc:36</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter_html_ac536e13f4e0940566ac1fe53fb7f4dc6"><div class="ttname"><a href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html#ac536e13f4e0940566ac1fe53fb7f4dc6">edash_packager::media::mp4::MultiSegmentSegmenter::GetIndexRange</a></div><div class="ttdeci">virtual bool GetIndexRange(size_t *offset, size_t *size) OVERRIDE</div><div class="ttdef"><b>Definition:</b> <a href="../../d1/df1/multi__segment__segmenter_8cc_source.html#l00042">multi_segment_segmenter.cc:42</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1Segmenter_html_ac2883a5eb0bd7abb50bc3968ac417901"><div class="ttname"><a href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#ac2883a5eb0bd7abb50bc3968ac417901">edash_packager::media::mp4::Segmenter::sample_duration</a></div><div class="ttdeci">uint32_t sample_duration() const </div><div class="ttdef"><b>Definition:</b> <a href="../../d4/dd4/segmenter_8h_source.html#l00101">segmenter.h:101</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1Segmenter_html_a287d51571c92704274550d9f1d246cf9"><div class="ttname"><a href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#a287d51571c92704274550d9f1d246cf9">edash_packager::media::mp4::Segmenter::UpdateProgress</a></div><div class="ttdeci">void UpdateProgress(uint64_t progress)</div><div class="ttdoc">Update segmentation progress using ProgressListener. </div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d08/segmenter_8cc_source.html#l00333">segmenter.cc:333</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1MuxerOptions_html_a93714f081569ea56ed626eb057c1761f"><div class="ttname"><a href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html#a93714f081569ea56ed626eb057c1761f">edash_packager::media::MuxerOptions::num_subsegments_per_sidx</a></div><div class="ttdeci">int num_subsegments_per_sidx</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d0e/muxer__options_8h_source.html#l00050">muxer_options.h:50</a></div></div>
<div class="ttc" id="structedash__packager_1_1media_1_1mp4_1_1Box_html_aa7a756828b5514fcd3eaf16d86c413c0"><div class="ttname"><a href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">edash_packager::media::mp4::Box::Write</a></div><div class="ttdeci">void Write(BufferWriter *writer)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d4d/box_8cc_source.html#l00025">box.cc:25</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1Segmenter_html_a4e58a007d4daafe1b49a70d39e52e339"><div class="ttname"><a href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#a4e58a007d4daafe1b49a70d39e52e339">edash_packager::media::mp4::Segmenter::SetComplete</a></div><div class="ttdeci">void SetComplete()</div><div class="ttdoc">Set progress to 100%. </div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d08/segmenter_8cc_source.html#l00349">segmenter.cc:349</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1MuxerListener_html_a5626ff553138db438c561db2ca0d05f2"><div class="ttname"><a href="../../df/de7/classedash__packager_1_1media_1_1MuxerListener.html#a5626ff553138db438c561db2ca0d05f2">edash_packager::media::MuxerListener::OnSampleDurationReady</a></div><div class="ttdeci">virtual void OnSampleDurationReady(uint32_t sample_duration)=0</div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1BufferWriter_html"><div class="ttname"><a href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">edash_packager::media::BufferWriter</a></div><div class="ttdef"><b>Definition:</b> <a href="../../dd/dd2/buffer__writer_8h_source.html#l00022">buffer_writer.h:22</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,109 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>wvm</b></li><li class="navelem"><a class="el" href="../../d0/dfa/structedash__packager_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html">DemuxStreamIdMediaSample</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::wvm::DemuxStreamIdMediaSample Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d0/dfa/structedash__packager_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html">edash_packager::media::wvm::DemuxStreamIdMediaSample</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>demux_stream_id</b> (defined in <a class="el" href="../../d0/dfa/structedash__packager_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html">edash_packager::media::wvm::DemuxStreamIdMediaSample</a>)</td><td class="entry"><a class="el" href="../../d0/dfa/structedash__packager_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html">edash_packager::media::wvm::DemuxStreamIdMediaSample</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>DemuxStreamIdMediaSample</b>() (defined in <a class="el" href="../../d0/dfa/structedash__packager_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html">edash_packager::media::wvm::DemuxStreamIdMediaSample</a>)</td><td class="entry"><a class="el" href="../../d0/dfa/structedash__packager_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html">edash_packager::media::wvm::DemuxStreamIdMediaSample</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>media_sample</b> (defined in <a class="el" href="../../d0/dfa/structedash__packager_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html">edash_packager::media::wvm::DemuxStreamIdMediaSample</a>)</td><td class="entry"><a class="el" href="../../d0/dfa/structedash__packager_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html">edash_packager::media::wvm::DemuxStreamIdMediaSample</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>parsed_audio_or_video_stream_id</b> (defined in <a class="el" href="../../d0/dfa/structedash__packager_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html">edash_packager::media::wvm::DemuxStreamIdMediaSample</a>)</td><td class="entry"><a class="el" href="../../d0/dfa/structedash__packager_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html">edash_packager::media::wvm::DemuxStreamIdMediaSample</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~DemuxStreamIdMediaSample</b>() (defined in <a class="el" href="../../d0/dfa/structedash__packager_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html">edash_packager::media::wvm::DemuxStreamIdMediaSample</a>)</td><td class="entry"><a class="el" href="../../d0/dfa/structedash__packager_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html">edash_packager::media::wvm::DemuxStreamIdMediaSample</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:31:03 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>

View File

@ -0,0 +1,122 @@
<!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: media/base/timestamp.h Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_c6ada2450b25ab5438a4dba6c9b890af.html">base</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">timestamp.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#ifndef MEDIA_BASE_TIMESTAMP_H_</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#define MEDIA_BASE_TIMESTAMP_H_</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &lt;limits&gt;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="keyword">const</span> int64_t kNoTimestamp = std::numeric_limits&lt;int64_t&gt;::min();</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword">const</span> int64_t kInfiniteDuration = std::numeric_limits&lt;int64_t&gt;::max();</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#endif // MEDIA_BASE_TIMESTAMP_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,118 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html">MediaInformation</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::mp4::MediaInformation Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html">edash_packager::media::mp4::MediaInformation</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>BoxType</b>() const OVERRIDE (defined in <a class="el" href="../../dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html">edash_packager::media::mp4::MediaInformation</a>)</td><td class="entry"><a class="el" href="../../dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html">edash_packager::media::mp4::MediaInformation</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html#a778f430be294714dbb1ce046c91a9d90">ComputeSize</a>() OVERRIDE</td><td class="entry"><a class="el" href="../../dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html">edash_packager::media::mp4::MediaInformation</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dinf</b> (defined in <a class="el" href="../../dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html">edash_packager::media::mp4::MediaInformation</a>)</td><td class="entry"><a class="el" href="../../dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html">edash_packager::media::mp4::MediaInformation</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>MediaInformation</b>() (defined in <a class="el" href="../../dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html">edash_packager::media::mp4::MediaInformation</a>)</td><td class="entry"><a class="el" href="../../dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html">edash_packager::media::mp4::MediaInformation</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a>(BoxReader *reader)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html#a03433ebd451315154b8ade741c4b9f5d">ReadWrite</a>(BoxBuffer *buffer) OVERRIDE</td><td class="entry"><a class="el" href="../../dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html">edash_packager::media::mp4::MediaInformation</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>sample_table</b> (defined in <a class="el" href="../../dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html">edash_packager::media::mp4::MediaInformation</a>)</td><td class="entry"><a class="el" href="../../dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html">edash_packager::media::mp4::MediaInformation</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>smhd</b> (defined in <a class="el" href="../../dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html">edash_packager::media::mp4::MediaInformation</a>)</td><td class="entry"><a class="el" href="../../dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html">edash_packager::media::mp4::MediaInformation</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>vmhd</b> (defined in <a class="el" href="../../dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html">edash_packager::media::mp4::MediaInformation</a>)</td><td class="entry"><a class="el" href="../../dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html">edash_packager::media::mp4::MediaInformation</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a>(BufferWriter *writer)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~MediaInformation</b>() (defined in <a class="el" href="../../dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html">edash_packager::media::mp4::MediaInformation</a>)</td><td class="entry"><a class="el" href="../../dd/dbd/structedash__packager_1_1media_1_1mp4_1_1MediaInformation.html">edash_packager::media::mp4::MediaInformation</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:59 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>

View File

@ -0,0 +1,222 @@
<!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: media/formats/mp2t/ts_section_pat.cc Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_65f7acfa8cf3a5f1edc11faa2428b914.html">formats</a></li><li class="navelem"><a class="el" href="../../dir_f7dcbe7025bbacfc4b9a7dff6ad41d72.html">mp2t</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">ts_section_pat.cc</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 The Chromium Authors. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style license that can be</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// found in the LICENSE file.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;</div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp2t/ts_section_pat.h&quot;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;packager/base/logging.h&quot;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/bit_reader.h&quot;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp2t/mp2t_common.h&quot;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="keyword">namespace </span>mp2t {</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;TsSectionPat::TsSectionPat(<span class="keyword">const</span> RegisterPmtCb&amp; register_pmt_cb)</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; : register_pmt_cb_(register_pmt_cb),</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; version_number_(-1) {</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;}</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;TsSectionPat::~TsSectionPat() {</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;}</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keywordtype">bool</span> TsSectionPat::ParsePsiSection(BitReader* bit_reader) {</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="comment">// Read the fixed section length.</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keywordtype">int</span> table_id;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keywordtype">int</span> section_syntax_indicator;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keywordtype">int</span> dummy_zero;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordtype">int</span> reserved;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keywordtype">int</span> section_length;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keywordtype">int</span> transport_stream_id;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keywordtype">int</span> version_number;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keywordtype">int</span> current_next_indicator;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keywordtype">int</span> section_number;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keywordtype">int</span> last_section_number;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; RCHECK(bit_reader-&gt;ReadBits(8, &amp;table_id));</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; RCHECK(bit_reader-&gt;ReadBits(1, &amp;section_syntax_indicator));</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; RCHECK(bit_reader-&gt;ReadBits(1, &amp;dummy_zero));</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; RCHECK(bit_reader-&gt;ReadBits(2, &amp;reserved));</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; RCHECK(bit_reader-&gt;ReadBits(12, &amp;section_length));</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; RCHECK(section_length &gt;= 5);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; RCHECK(section_length &lt;= 1021);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; RCHECK(bit_reader-&gt;ReadBits(16, &amp;transport_stream_id));</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; RCHECK(bit_reader-&gt;ReadBits(2, &amp;reserved));</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; RCHECK(bit_reader-&gt;ReadBits(5, &amp;version_number));</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; RCHECK(bit_reader-&gt;ReadBits(1, &amp;current_next_indicator));</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; RCHECK(bit_reader-&gt;ReadBits(8, &amp;section_number));</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; RCHECK(bit_reader-&gt;ReadBits(8, &amp;last_section_number));</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; section_length -= 5;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="comment">// Perform a few verifications:</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="comment">// - Table ID should be 0 for a PAT.</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="comment">// - section_syntax_indicator should be one.</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="comment">// - section length should not exceed 1021</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; RCHECK(table_id == 0x0);</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; RCHECK(section_syntax_indicator);</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; RCHECK(!dummy_zero);</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="comment">// Both the program table and the CRC have a size multiple of 4.</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="comment">// Note for pmt_pid_count: minus 4 to account for the CRC.</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; RCHECK((section_length % 4) == 0);</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordtype">int</span> pmt_pid_count = (section_length - 4) / 4;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="comment">// Read the variable length section: program table &amp; crc.</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; std::vector&lt;int&gt; program_number_array(pmt_pid_count);</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; std::vector&lt;int&gt; pmt_pid_array(pmt_pid_count);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k = 0; k &lt; pmt_pid_count; k++) {</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordtype">int</span> reserved;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; RCHECK(bit_reader-&gt;ReadBits(16, &amp;program_number_array[k]));</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; RCHECK(bit_reader-&gt;ReadBits(3, &amp;reserved));</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; RCHECK(bit_reader-&gt;ReadBits(13, &amp;pmt_pid_array[k]));</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; }</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordtype">int</span> crc32;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; RCHECK(bit_reader-&gt;ReadBits(32, &amp;crc32));</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="comment">// Just ignore the PAT if not applicable yet.</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">if</span> (!current_next_indicator) {</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; DVLOG(1) &lt;&lt; <span class="stringliteral">&quot;Not supported: received a PAT not applicable yet&quot;</span>;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; }</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="comment">// Ignore the program table if it hasn&#39;t changed.</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">if</span> (version_number == version_number_)</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="comment">// Both the MSE and the HLS spec specifies that TS streams should convey</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="comment">// exactly one program.</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">if</span> (pmt_pid_count &gt; 1) {</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; DVLOG(1) &lt;&lt; <span class="stringliteral">&quot;Multiple programs detected in the Mpeg2 TS stream&quot;</span>;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; }</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="comment">// Can now register the PMT.</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="preprocessor">#if !defined(NDEBUG)</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordtype">int</span> expected_version_number = version_number;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">if</span> (version_number_ &gt;= 0)</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; expected_version_number = (version_number_ + 1) % 32;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; DVLOG_IF(1, version_number != expected_version_number)</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Unexpected version number: &quot;</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; &lt;&lt; version_number &lt;&lt; <span class="stringliteral">&quot; vs &quot;</span> &lt;&lt; version_number_;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k = 0; k &lt; pmt_pid_count; k++) {</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">if</span> (program_number_array[k] != 0) {</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="comment">// Program numbers different from 0 correspond to PMT.</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; register_pmt_cb_.Run(program_number_array[k], pmt_pid_array[k]);</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="comment">// Even if there are multiple programs, only one can be supported now.</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="comment">// HLS: &quot;Transport Stream segments MUST contain a single MPEG-2 Program.&quot;</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; }</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; }</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; version_number_ = version_number;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;}</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="keywordtype">void</span> TsSectionPat::ResetPsiSection() {</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; version_number_ = -1;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;}</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;} <span class="comment">// namespace mp2t</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,269 @@
<!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: media/file/threaded_io_file.cc Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_279fd47bebb21302c25cfb685e84c359.html">file</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">threaded_io_file.cc</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2015 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &quot;packager/media/file/threaded_io_file.h&quot;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;packager/base/bind.h&quot;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;packager/base/bind_helpers.h&quot;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;packager/base/threading/platform_thread.h&quot;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/closure_thread.h&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;ThreadedIoFile::ThreadedIoFile(scoped_ptr&lt;File, FileCloser&gt; internal_file,</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; Mode mode,</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; uint64_t io_cache_size,</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; uint64_t io_block_size)</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; : File(internal_file-&gt;file_name()),</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; internal_file_(internal_file.Pass()),</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; mode_(mode),</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; cache_(io_cache_size),</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; io_buffer_(io_block_size),</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; size_(0),</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; eof_(false),</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; internal_file_error_(0) {</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; DCHECK(internal_file_);</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;}</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;ThreadedIoFile::~ThreadedIoFile() {}</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#a32617fd715b893d2b3a799418ef8b45e"> 34</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#a32617fd715b893d2b3a799418ef8b45e">ThreadedIoFile::Open</a>() {</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; DCHECK(internal_file_);</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordflow">if</span> (!internal_file_-&gt;Open())</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; size_ = internal_file_-&gt;Size();</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; thread_.reset(<span class="keyword">new</span> <a class="code" href="../../dd/d2b/classedash__packager_1_1media_1_1ClosureThread.html">ClosureThread</a>(<span class="stringliteral">&quot;ThreadedIoFile&quot;</span>,</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; base::Bind(mode_ == kInputMode ?</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; &amp;ThreadedIoFile::RunInInputMode :</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; &amp;ThreadedIoFile::RunInOutputMode,</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; base::Unretained(<span class="keyword">this</span>))));</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; thread_-&gt;Start();</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;}</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#aa3fba6bc5c73a04dd7ca7911c79d1be9"> 51</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#aa3fba6bc5c73a04dd7ca7911c79d1be9">ThreadedIoFile::Close</a>() {</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; DCHECK(internal_file_);</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; DCHECK(thread_);</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">if</span> (mode_ == kOutputMode)</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#a41687c598757658a4e81a9aa2542c4d7">Flush</a>();</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; cache_.<a class="code" href="../../d3/d6b/classedash__packager_1_1media_1_1IoCache.html#a4588dbf505a08da8423b525ce24fee92">Close</a>();</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; thread_-&gt;Join();</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordtype">bool</span> result = internal_file_.release()-&gt;Close();</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keyword">delete</span> <span class="keyword">this</span>;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;}</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#afb7375d719f2a34b7d8f0678241e6065"> 66</a></span>&#160;int64_t <a class="code" href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#afb7375d719f2a34b7d8f0678241e6065">ThreadedIoFile::Read</a>(<span class="keywordtype">void</span>* buffer, uint64_t length) {</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; DCHECK(internal_file_);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; DCHECK(thread_);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; DCHECK_EQ(kInputMode, mode_);</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">if</span> (internal_file_error_)</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">return</span> internal_file_error_;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">if</span> (eof_ &amp;&amp; !cache_.<a class="code" href="../../d3/d6b/classedash__packager_1_1media_1_1IoCache.html#a0fe59125434e46c2ea5474cfc9f0e95c">BytesCached</a>())</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> cache_.<a class="code" href="../../d3/d6b/classedash__packager_1_1media_1_1IoCache.html#a462bd5ddce8041eaa109271fd0d155a9">Read</a>(buffer, length);</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;}</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#a20b995241942ec2926b875692b42c13a"> 80</a></span>&#160;int64_t <a class="code" href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#a20b995241942ec2926b875692b42c13a">ThreadedIoFile::Write</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* buffer, uint64_t length) {</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; DCHECK(internal_file_);</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; DCHECK(thread_);</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; DCHECK_EQ(kOutputMode, mode_);</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">if</span> (internal_file_error_)</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">return</span> internal_file_error_;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; size_ += length;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">return</span> cache_.<a class="code" href="../../d3/d6b/classedash__packager_1_1media_1_1IoCache.html#a4b7ee97ec07a6b2702ae4b58c9df4413">Write</a>(buffer, length);</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;}</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;</div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#a9724a923f813e99f223d52ddf8e65556"> 92</a></span>&#160;int64_t <a class="code" href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#a9724a923f813e99f223d52ddf8e65556">ThreadedIoFile::Size</a>() {</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; DCHECK(internal_file_);</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; DCHECK(thread_);</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">return</span> size_;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;}</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#a41687c598757658a4e81a9aa2542c4d7"> 99</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#a41687c598757658a4e81a9aa2542c4d7">ThreadedIoFile::Flush</a>() {</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; DCHECK(internal_file_);</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; DCHECK(thread_);</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; DCHECK_EQ(kOutputMode, mode_);</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; cache_.<a class="code" href="../../d3/d6b/classedash__packager_1_1media_1_1IoCache.html#ace4946f4ecb34f84c4750d276404a3e5">WaitUntilEmptyOrClosed</a>();</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">return</span> internal_file_-&gt;Flush();</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;}</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="keywordtype">void</span> ThreadedIoFile::RunInInputMode() {</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; DCHECK(internal_file_);</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; DCHECK(thread_);</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; DCHECK_EQ(kInputMode, mode_);</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">while</span> (<span class="keyword">true</span>) {</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; int64_t read_result = internal_file_-&gt;Read(&amp;io_buffer_[0],</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; io_buffer_.size());</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">if</span> (read_result &lt;= 0) {</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; eof_ = read_result == 0;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; internal_file_error_ = read_result;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; cache_.<a class="code" href="../../d3/d6b/classedash__packager_1_1media_1_1IoCache.html#a4588dbf505a08da8423b525ce24fee92">Close</a>();</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; cache_.<a class="code" href="../../d3/d6b/classedash__packager_1_1media_1_1IoCache.html#a4b7ee97ec07a6b2702ae4b58c9df4413">Write</a>(&amp;io_buffer_[0], read_result);</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;}</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div>
<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#a8779e872a7e9f3f7a060b40e0b1b3049"> 126</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#a8779e872a7e9f3f7a060b40e0b1b3049">ThreadedIoFile::Seek</a>(uint64_t position) {</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; NOTIMPLEMENTED();</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;}</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div>
<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#a8f460efd19e204bcb04c1feb808ac0cc"> 131</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#a8f460efd19e204bcb04c1feb808ac0cc">ThreadedIoFile::Tell</a>(uint64_t* position) {</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; NOTIMPLEMENTED();</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;}</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="keywordtype">void</span> ThreadedIoFile::RunInOutputMode() {</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; DCHECK(internal_file_);</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; DCHECK(thread_);</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; DCHECK_EQ(kOutputMode, mode_);</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">while</span> (<span class="keyword">true</span>) {</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; uint64_t write_bytes = cache_.<a class="code" href="../../d3/d6b/classedash__packager_1_1media_1_1IoCache.html#a462bd5ddce8041eaa109271fd0d155a9">Read</a>(&amp;io_buffer_[0], io_buffer_.size());</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">if</span> (write_bytes == 0)</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; int64_t write_result = internal_file_-&gt;Write(&amp;io_buffer_[0], write_bytes);</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">if</span> (write_result &lt; 0) {</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; internal_file_error_ = write_result;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; cache_.<a class="code" href="../../d3/d6b/classedash__packager_1_1media_1_1IoCache.html#a4588dbf505a08da8423b525ce24fee92">Close</a>();</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; }</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; CHECK_EQ(write_result, static_cast&lt;int64_t&gt;(write_bytes));</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; }</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;}</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="ttc" id="classedash__packager_1_1media_1_1IoCache_html_a0fe59125434e46c2ea5474cfc9f0e95c"><div class="ttname"><a href="../../d3/d6b/classedash__packager_1_1media_1_1IoCache.html#a0fe59125434e46c2ea5474cfc9f0e95c">edash_packager::media::IoCache::BytesCached</a></div><div class="ttdeci">uint64_t BytesCached()</div><div class="ttdef"><b>Definition:</b> <a href="../../d4/d37/io__cache_8cc_source.html#l00116">io_cache.cc:116</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1ThreadedIoFile_html_a20b995241942ec2926b875692b42c13a"><div class="ttname"><a href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#a20b995241942ec2926b875692b42c13a">edash_packager::media::ThreadedIoFile::Write</a></div><div class="ttdeci">virtual int64_t Write(const void *buffer, uint64_t length) OVERRIDE</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d23/threaded__io__file_8cc_source.html#l00080">threaded_io_file.cc:80</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1ThreadedIoFile_html_a41687c598757658a4e81a9aa2542c4d7"><div class="ttname"><a href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#a41687c598757658a4e81a9aa2542c4d7">edash_packager::media::ThreadedIoFile::Flush</a></div><div class="ttdeci">virtual bool Flush() OVERRIDE</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d23/threaded__io__file_8cc_source.html#l00099">threaded_io_file.cc:99</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1ThreadedIoFile_html_afb7375d719f2a34b7d8f0678241e6065"><div class="ttname"><a href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#afb7375d719f2a34b7d8f0678241e6065">edash_packager::media::ThreadedIoFile::Read</a></div><div class="ttdeci">virtual int64_t Read(void *buffer, uint64_t length) OVERRIDE</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d23/threaded__io__file_8cc_source.html#l00066">threaded_io_file.cc:66</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1IoCache_html_a4588dbf505a08da8423b525ce24fee92"><div class="ttname"><a href="../../d3/d6b/classedash__packager_1_1media_1_1IoCache.html#a4588dbf505a08da8423b525ce24fee92">edash_packager::media::IoCache::Close</a></div><div class="ttdeci">void Close()</div><div class="ttdef"><b>Definition:</b> <a href="../../d4/d37/io__cache_8cc_source.html#l00109">io_cache.cc:109</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1IoCache_html_ace4946f4ecb34f84c4750d276404a3e5"><div class="ttname"><a href="../../d3/d6b/classedash__packager_1_1media_1_1IoCache.html#ace4946f4ecb34f84c4750d276404a3e5">edash_packager::media::IoCache::WaitUntilEmptyOrClosed</a></div><div class="ttdeci">void WaitUntilEmptyOrClosed()</div><div class="ttdoc">Waits until the cache is empty or has been closed. </div><div class="ttdef"><b>Definition:</b> <a href="../../d4/d37/io__cache_8cc_source.html#l00136">io_cache.cc:136</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1IoCache_html_a4b7ee97ec07a6b2702ae4b58c9df4413"><div class="ttname"><a href="../../d3/d6b/classedash__packager_1_1media_1_1IoCache.html#a4b7ee97ec07a6b2702ae4b58c9df4413">edash_packager::media::IoCache::Write</a></div><div class="ttdeci">uint64_t Write(const void *buffer, uint64_t size)</div><div class="ttdef"><b>Definition:</b> <a href="../../d4/d37/io__cache_8cc_source.html#l00066">io_cache.cc:66</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1ThreadedIoFile_html_aa3fba6bc5c73a04dd7ca7911c79d1be9"><div class="ttname"><a href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#aa3fba6bc5c73a04dd7ca7911c79d1be9">edash_packager::media::ThreadedIoFile::Close</a></div><div class="ttdeci">virtual bool Close() OVERRIDE</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d23/threaded__io__file_8cc_source.html#l00051">threaded_io_file.cc:51</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1ThreadedIoFile_html_a9724a923f813e99f223d52ddf8e65556"><div class="ttname"><a href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#a9724a923f813e99f223d52ddf8e65556">edash_packager::media::ThreadedIoFile::Size</a></div><div class="ttdeci">virtual int64_t Size() OVERRIDE</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d23/threaded__io__file_8cc_source.html#l00092">threaded_io_file.cc:92</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1ThreadedIoFile_html_a8f460efd19e204bcb04c1feb808ac0cc"><div class="ttname"><a href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#a8f460efd19e204bcb04c1feb808ac0cc">edash_packager::media::ThreadedIoFile::Tell</a></div><div class="ttdeci">virtual bool Tell(uint64_t *position) OVERRIDE</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d23/threaded__io__file_8cc_source.html#l00131">threaded_io_file.cc:131</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1ClosureThread_html"><div class="ttname"><a href="../../dd/d2b/classedash__packager_1_1media_1_1ClosureThread.html">edash_packager::media::ClosureThread</a></div><div class="ttdef"><b>Definition:</b> <a href="../../dc/df8/closure__thread_8h_source.html#l00025">closure_thread.h:25</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1ThreadedIoFile_html_a32617fd715b893d2b3a799418ef8b45e"><div class="ttname"><a href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#a32617fd715b893d2b3a799418ef8b45e">edash_packager::media::ThreadedIoFile::Open</a></div><div class="ttdeci">virtual bool Open() OVERRIDE</div><div class="ttdoc">Internal open. Should not be used directly. </div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d23/threaded__io__file_8cc_source.html#l00034">threaded_io_file.cc:34</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1ThreadedIoFile_html_a8779e872a7e9f3f7a060b40e0b1b3049"><div class="ttname"><a href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html#a8779e872a7e9f3f7a060b40e0b1b3049">edash_packager::media::ThreadedIoFile::Seek</a></div><div class="ttdeci">virtual bool Seek(uint64_t position) OVERRIDE</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d23/threaded__io__file_8cc_source.html#l00126">threaded_io_file.cc:126</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1IoCache_html_a462bd5ddce8041eaa109271fd0d155a9"><div class="ttname"><a href="../../d3/d6b/classedash__packager_1_1media_1_1IoCache.html#a462bd5ddce8041eaa109271fd0d155a9">edash_packager::media::IoCache::Read</a></div><div class="ttdeci">uint64_t Read(void *buffer, uint64_t size)</div><div class="ttdef"><b>Definition:</b> <a href="../../d4/d37/io__cache_8cc_source.html#l00038">io_cache.cc:38</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,151 @@
<!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: app/packager_util.h Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_d422163b96683743ed3963d4aac17747.html">app</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">packager_util.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// Packager utility functions.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#ifndef APP_PACKAGER_UTIL_H_</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#define APP_PACKAGER_UTIL_H_</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &lt;gflags/gflags.h&gt;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;packager/base/memory/scoped_ptr.h&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;DECLARE_bool(dump_stream_info);</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="keyword">struct </span>MpdOptions;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="keyword">class </span>KeySource;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="keyword">class </span>MediaInfo;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="keyword">class </span>MediaStream;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="keyword">class </span>Muxer;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="keyword">struct </span>MuxerOptions;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keywordtype">void</span> DumpStreamInfo(<span class="keyword">const</span> std::vector&lt;MediaStream*&gt;&amp; streams);</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;scoped_ptr&lt;KeySource&gt; CreateEncryptionKeySource();</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;scoped_ptr&lt;KeySource&gt; CreateDecryptionKeySource();</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keywordtype">bool</span> AssignFlagsFromProfile();</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="keywordtype">bool</span> GetMuxerOptions(MuxerOptions* muxer_options);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="keywordtype">bool</span> GetMpdOptions(<a class="code" href="../../d1/d5d/structedash__packager_1_1MpdOptions.html">edash_packager::MpdOptions</a>* mpd_options);</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="keywordtype">bool</span> AddStreamToMuxer(<span class="keyword">const</span> std::vector&lt;MediaStream*&gt;&amp; streams,</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keyword">const</span> std::string&amp; stream_selector,</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keyword">const</span> std::string&amp; language_override,</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; Muxer* muxer);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="preprocessor">#endif // APP_PACKAGER_UTIL_H_</span></div>
<div class="ttc" id="structedash__packager_1_1MpdOptions_html"><div class="ttname"><a href="../../d1/d5d/structedash__packager_1_1MpdOptions.html">edash_packager::MpdOptions</a></div><div class="ttdoc">Defines Mpd Options. </div><div class="ttdef"><b>Definition:</b> <a href="../../db/d60/mpd__options_8h_source.html#l00013">mpd_options.h:13</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,192 @@
<!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::media::mp4::SampleGroupDescription Struct 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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../d2/d26/structedash__packager_1_1media_1_1mp4_1_1SampleGroupDescription.html">SampleGroupDescription</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../d6/d19/structedash__packager_1_1media_1_1mp4_1_1SampleGroupDescription-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">edash_packager::media::mp4::SampleGroupDescription Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for edash_packager::media::mp4::SampleGroupDescription:</div>
<div class="dyncontent">
<div class="center">
<img src="../../d2/d26/structedash__packager_1_1media_1_1mp4_1_1SampleGroupDescription.png" usemap="#edash_packager::media::mp4::SampleGroupDescription_map" alt=""/>
<map id="edash_packager::media::mp4::SampleGroupDescription_map" name="edash_packager::media::mp4::SampleGroupDescription_map">
<area href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html" alt="edash_packager::media::mp4::FullBox" shape="rect" coords="0,56,320,80"/>
<area href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html" alt="edash_packager::media::mp4::Box" shape="rect" coords="0,0,320,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:afa87507593131c8ebf9413b65259ceb4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa87507593131c8ebf9413b65259ceb4"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d26/structedash__packager_1_1media_1_1mp4_1_1SampleGroupDescription.html#afa87507593131c8ebf9413b65259ceb4">ReadWrite</a> (<a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">BoxBuffer</a> *buffer) OVERRIDE</td></tr>
<tr class="memdesc:afa87507593131c8ebf9413b65259ceb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read/write the mp4 box from/to <a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">BoxBuffer</a>. <br/></td></tr>
<tr class="separator:afa87507593131c8ebf9413b65259ceb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1465dcd8e00b2af86a3c9a11e2723141"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1465dcd8e00b2af86a3c9a11e2723141"></a>
virtual FourCC&#160;</td><td class="memItemRight" valign="bottom"><b>BoxType</b> () const OVERRIDE</td></tr>
<tr class="separator:a1465dcd8e00b2af86a3c9a11e2723141"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87cea8f911a5b4aa5878c1a4745e15c8"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d26/structedash__packager_1_1media_1_1mp4_1_1SampleGroupDescription.html#a87cea8f911a5b4aa5878c1a4745e15c8">ComputeSize</a> () OVERRIDE</td></tr>
<tr class="separator:a87cea8f911a5b4aa5878c1a4745e15c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td></tr>
<tr class="memitem:a7b62a3983faafbea54a32486df60ed96 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a> (<a class="el" href="../../db/d6c/classedash__packager_1_1media_1_1mp4_1_1BoxReader.html">BoxReader</a> *reader)</td></tr>
<tr class="separator:a7b62a3983faafbea54a32486df60ed96 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7a756828b5514fcd3eaf16d86c413c0 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a> (<a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">BufferWriter</a> *writer)</td></tr>
<tr class="separator:aa7a756828b5514fcd3eaf16d86c413c0 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a873a1c452eb31a60a1166a52f5c480c0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a873a1c452eb31a60a1166a52f5c480c0"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>grouping_type</b></td></tr>
<tr class="separator:a873a1c452eb31a60a1166a52f5c480c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5dc1202297df0287bef329df939d924"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab5dc1202297df0287bef329df939d924"></a>
std::vector<br class="typebreak"/>
&lt; <a class="el" href="../../d7/d55/structedash__packager_1_1media_1_1mp4_1_1CencSampleEncryptionInfoEntry.html">CencSampleEncryptionInfoEntry</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>entries</b></td></tr>
<tr class="separator:ab5dc1202297df0287bef329df939d924"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox')"><img src="../../closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td></tr>
<tr class="memitem:a8504557a176cc9d6322a6d77fb9fba6f inherit pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8504557a176cc9d6322a6d77fb9fba6f"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>version</b></td></tr>
<tr class="separator:a8504557a176cc9d6322a6d77fb9fba6f inherit pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b051321ec82ca931fefd530f0e75ee4 inherit pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b051321ec82ca931fefd530f0e75ee4"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>flags</b></td></tr>
<tr class="separator:a7b051321ec82ca931fefd530f0e75ee4 inherit pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box')"><img src="../../closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td></tr>
<tr class="memitem:a767571cecbc37bedb05d1ea84716a005 inherit pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td></tr>
<tr class="separator:a767571cecbc37bedb05d1ea84716a005 inherit pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box"><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>Definition at line <a class="el" href="../../d5/d7b/box__definitions_8h_source.html#l00524">524</a> of file <a class="el" href="../../d5/d7b/box__definitions_8h_source.html">box_definitions.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a87cea8f911a5b4aa5878c1a4745e15c8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t edash_packager::media::mp4::SampleGroupDescription::ComputeSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Compute the size of this box. The calculated size will be saved in |atom_size| for later consumption. </p>
<p>Implements <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a308081198b1fa9f9e4653ad976014a16">edash_packager::media::mp4::Box</a>.</p>
<p>Definition at line <a class="el" href="../../dd/dee/box__definitions_8cc_source.html#l01781">1781</a> of file <a class="el" href="../../dd/dee/box__definitions_8cc_source.html">box_definitions.cc</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>media/formats/mp4/<a class="el" href="../../d5/d7b/box__definitions_8h_source.html">box_definitions.h</a></li>
<li>media/formats/mp4/<a class="el" href="../../dd/dee/box__definitions_8cc_source.html">box_definitions.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:31:01 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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,123 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html">MediaHeader</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::mp4::MediaHeader Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html">edash_packager::media::mp4::MediaHeader</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>BoxType</b>() const OVERRIDE (defined in <a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html">edash_packager::media::mp4::MediaHeader</a>)</td><td class="entry"><a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html">edash_packager::media::mp4::MediaHeader</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html#a205d8ac5b69bf0c30d96f83612ea7ef5">ComputeSize</a>() OVERRIDE</td><td class="entry"><a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html">edash_packager::media::mp4::MediaHeader</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>creation_time</b> (defined in <a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html">edash_packager::media::mp4::MediaHeader</a>)</td><td class="entry"><a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html">edash_packager::media::mp4::MediaHeader</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>duration</b> (defined in <a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html">edash_packager::media::mp4::MediaHeader</a>)</td><td class="entry"><a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html">edash_packager::media::mp4::MediaHeader</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>flags</b> (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>FullBox</b>() (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>language</b> (defined in <a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html">edash_packager::media::mp4::MediaHeader</a>)</td><td class="entry"><a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html">edash_packager::media::mp4::MediaHeader</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>MediaHeader</b>() (defined in <a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html">edash_packager::media::mp4::MediaHeader</a>)</td><td class="entry"><a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html">edash_packager::media::mp4::MediaHeader</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>modification_time</b> (defined in <a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html">edash_packager::media::mp4::MediaHeader</a>)</td><td class="entry"><a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html">edash_packager::media::mp4::MediaHeader</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a>(BoxReader *reader)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html#a2394c8a563f790c5d59c0f411483d373">ReadWrite</a>(BoxBuffer *buffer) OVERRIDE</td><td class="entry"><a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html">edash_packager::media::mp4::MediaHeader</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>timescale</b> (defined in <a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html">edash_packager::media::mp4::MediaHeader</a>)</td><td class="entry"><a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html">edash_packager::media::mp4::MediaHeader</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>version</b> (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a>(BufferWriter *writer)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~Box</b>() (defined in <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a>)</td><td class="entry"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~FullBox</b>() (defined in <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a>)</td><td class="entry"><a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~MediaHeader</b>() (defined in <a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html">edash_packager::media::mp4::MediaHeader</a>)</td><td class="entry"><a class="el" href="../../d7/dec/structedash__packager_1_1media_1_1mp4_1_1MediaHeader.html">edash_packager::media::mp4::MediaHeader</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:58 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>

View File

@ -0,0 +1,113 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp2t</b></li><li class="navelem"><a class="el" href="../../db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html">AdtsHeader</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::mp2t::AdtsHeader Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html">edash_packager::media::mp2t::AdtsHeader</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AdtsHeader</b>() (defined in <a class="el" href="../../db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html">edash_packager::media::mp2t::AdtsHeader</a>)</td><td class="entry"><a class="el" href="../../db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html">edash_packager::media::mp2t::AdtsHeader</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html#aacce540b215432703697c6a1172c3011">GetAdtsFrameSize</a>(const uint8_t *data, size_t num_bytes)</td><td class="entry"><a class="el" href="../../db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html">edash_packager::media::mp2t::AdtsHeader</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html#a87affdf0dc61bedb13bafd76c3d5b484">GetAdtsHeaderSize</a>(const uint8_t *data, size_t num_bytes)</td><td class="entry"><a class="el" href="../../db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html">edash_packager::media::mp2t::AdtsHeader</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html#a65c36a606121daa90c44b44632b634ec">GetAudioSpecificConfig</a>(std::vector&lt; uint8_t &gt; *buffer) const </td><td class="entry"><a class="el" href="../../db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html">edash_packager::media::mp2t::AdtsHeader</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html#aceebc7b088f459286fb3c338fa0b5407">GetNumChannels</a>() const </td><td class="entry"><a class="el" href="../../db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html">edash_packager::media::mp2t::AdtsHeader</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html#acadaa27044a3976e210c3dae65bff1a6">GetObjectType</a>() const </td><td class="entry"><a class="el" href="../../db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html">edash_packager::media::mp2t::AdtsHeader</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html#a95e3365db36b2c5c1f4f688631c2a236">GetSamplingFrequency</a>() const </td><td class="entry"><a class="el" href="../../db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html">edash_packager::media::mp2t::AdtsHeader</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html#a12f7811f1539361980a13517f948f9fb">Parse</a>(const uint8_t *adts_frame, size_t adts_frame_size)</td><td class="entry"><a class="el" href="../../db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html">edash_packager::media::mp2t::AdtsHeader</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~AdtsHeader</b>() (defined in <a class="el" href="../../db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html">edash_packager::media::mp2t::AdtsHeader</a>)</td><td class="entry"><a class="el" href="../../db/d69/classedash__packager_1_1media_1_1mp2t_1_1AdtsHeader.html">edash_packager::media::mp2t::AdtsHeader</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30: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>

View File

@ -0,0 +1,105 @@
<!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: Member List</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><a class="el" href="../../d0/ddc/structedash__packager_1_1media_1_1FileCloser.html">FileCloser</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">edash_packager::media::FileCloser Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d0/ddc/structedash__packager_1_1media_1_1FileCloser.html">edash_packager::media::FileCloser</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator()</b>(File *file) const (defined in <a class="el" href="../../d0/ddc/structedash__packager_1_1media_1_1FileCloser.html">edash_packager::media::FileCloser</a>)</td><td class="entry"><a class="el" href="../../d0/ddc/structedash__packager_1_1media_1_1FileCloser.html">edash_packager::media::FileCloser</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30: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>

View File

@ -0,0 +1,189 @@
<!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: media/file/file.h Source File</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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li><a href="../../annotated.html"><span>Classes</span></a></li>
<li class="current"><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="../../files.html"><span>File&#160;List</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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_39dc0668bd5a501998f94e8b4e546c71.html">media</a></li><li class="navelem"><a class="el" href="../../dir_279fd47bebb21302c25cfb685e84c359.html">file</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">file.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2014 Google Inc. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// Use of this source code is governed by a BSD-style</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// license that can be found in the LICENSE file or at</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// https://developers.google.com/open-source/licenses/bsd</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#ifndef PACKAGER_FILE_FILE_H_</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#define PACKAGER_FILE_FILE_H_</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;packager/base/macros.h&quot;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* kLocalFilePrefix;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="../../de/d19/classedash__packager_1_1media_1_1File.html"> 22</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html">File</a> {</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keyword">static</span> <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html">File</a>* <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#a0933ccd7df76fcf8fbcfe12c15dbf6c5">Open</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#ad736ca7bb8da1cec749f51275a87872c">file_name</a>, <span class="keyword">const</span> <span class="keywordtype">char</span>* mode);</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keyword">static</span> <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html">File</a>* <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#a47194a7cd303640c2a8b689d18ef9701">OpenWithNoBuffering</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* file_name, <span class="keyword">const</span> <span class="keywordtype">char</span>* mode);</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#a7e0fcd3c439e810e8e17baf32dcc75af">Delete</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* file_name);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#a42290da768cd34316d2f4c5fc3976b38">Close</a>() = 0;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">virtual</span> int64_t <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#a663547ead01b035117429c0bc757aab7">Read</a>(<span class="keywordtype">void</span>* buffer, uint64_t length) = 0;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keyword">virtual</span> int64_t <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#ad82196743ff131dd81e8f806735eb818">Write</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* buffer, uint64_t length) = 0;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keyword">virtual</span> int64_t <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#a1bb2a295cb69b3e51b9cc14969848632">Size</a>() = 0;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#ace9275a79c572614ee5d068a04c76392">Flush</a>() = 0;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#a28da55565be854b866bf223aa4232042">Seek</a>(uint64_t position) = 0;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#a19409dd7d63022f34aee85640460428e">Tell</a>(uint64_t* position) = 0;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="../../de/d19/classedash__packager_1_1media_1_1File.html#ad736ca7bb8da1cec749f51275a87872c"> 89</a></span>&#160; <span class="keyword">const</span> std::string&amp; <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#ad736ca7bb8da1cec749f51275a87872c">file_name</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> file_name_; }</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="comment">// ************************************************************</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="comment">// * Static Methods: File-on-the-filesystem status</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="comment">// ************************************************************</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keyword">static</span> int64_t <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#a239a76adb5ff5c5340c58f96d7034ec6">GetFileSize</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* file_name);</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#a9a4f45dcab338be2b6843e0de87ce8f1">ReadFileToString</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* file_name, std::string* contents);</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keyword">explicit</span> <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html">File</a>(<span class="keyword">const</span> std::string&amp; file_name) : file_name_(file_name) {}</div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="../../de/d19/classedash__packager_1_1media_1_1File.html#ad1a8b1df388b90def135647a0136b0f7"> 109</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#ad1a8b1df388b90def135647a0136b0f7">~File</a>() {}</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html#a0933ccd7df76fcf8fbcfe12c15dbf6c5">Open</a>() = 0;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html">ThreadedIoFile</a>;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="comment">// This is a file factory method, it creates a proper file, e.g.</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="comment">// LocalFile, MemFile based on prefix.</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keyword">static</span> <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html">File</a>* Create(<span class="keyword">const</span> <span class="keywordtype">char</span>* file_name, <span class="keyword">const</span> <span class="keywordtype">char</span>* mode);</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keyword">static</span> <a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html">File</a>* CreateInternalFile(<span class="keyword">const</span> <span class="keywordtype">char</span>* file_name, <span class="keyword">const</span> <span class="keywordtype">char</span>* mode);</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; std::string file_name_;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="../../de/d19/classedash__packager_1_1media_1_1File.html">File</a>);</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;};</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="preprocessor">#endif // PACKAGER_FILE_FILE_H_</span></div>
<div class="ttc" id="classedash__packager_1_1media_1_1File_html_a9a4f45dcab338be2b6843e0de87ce8f1"><div class="ttname"><a href="../../de/d19/classedash__packager_1_1media_1_1File.html#a9a4f45dcab338be2b6843e0de87ce8f1">edash_packager::media::File::ReadFileToString</a></div><div class="ttdeci">static bool ReadFileToString(const char *file_name, std::string *contents)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/dfc/file_8cc_source.html#l00160">file.cc:160</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1File_html_a42290da768cd34316d2f4c5fc3976b38"><div class="ttname"><a href="../../de/d19/classedash__packager_1_1media_1_1File.html#a42290da768cd34316d2f4c5fc3976b38">edash_packager::media::File::Close</a></div><div class="ttdeci">virtual bool Close()=0</div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1File_html_a28da55565be854b866bf223aa4232042"><div class="ttname"><a href="../../de/d19/classedash__packager_1_1media_1_1File.html#a28da55565be854b866bf223aa4232042">edash_packager::media::File::Seek</a></div><div class="ttdeci">virtual bool Seek(uint64_t position)=0</div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1File_html_a663547ead01b035117429c0bc757aab7"><div class="ttname"><a href="../../de/d19/classedash__packager_1_1media_1_1File.html#a663547ead01b035117429c0bc757aab7">edash_packager::media::File::Read</a></div><div class="ttdeci">virtual int64_t Read(void *buffer, uint64_t length)=0</div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1File_html_a7e0fcd3c439e810e8e17baf32dcc75af"><div class="ttname"><a href="../../de/d19/classedash__packager_1_1media_1_1File.html#a7e0fcd3c439e810e8e17baf32dcc75af">edash_packager::media::File::Delete</a></div><div class="ttdeci">static bool Delete(const char *file_name)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/dfc/file_8cc_source.html#l00138">file.cc:138</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1File_html"><div class="ttname"><a href="../../de/d19/classedash__packager_1_1media_1_1File.html">edash_packager::media::File</a></div><div class="ttdoc">Define an abstract file interface. </div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d4d/file_8h_source.html#l00022">file.h:22</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1File_html_a0933ccd7df76fcf8fbcfe12c15dbf6c5"><div class="ttname"><a href="../../de/d19/classedash__packager_1_1media_1_1File.html#a0933ccd7df76fcf8fbcfe12c15dbf6c5">edash_packager::media::File::Open</a></div><div class="ttdeci">virtual bool Open()=0</div><div class="ttdoc">Internal open. Should not be used directly. </div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1File_html_ad736ca7bb8da1cec749f51275a87872c"><div class="ttname"><a href="../../de/d19/classedash__packager_1_1media_1_1File.html#ad736ca7bb8da1cec749f51275a87872c">edash_packager::media::File::file_name</a></div><div class="ttdeci">const std::string &amp; file_name() const </div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d4d/file_8h_source.html#l00089">file.h:89</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1File_html_a19409dd7d63022f34aee85640460428e"><div class="ttname"><a href="../../de/d19/classedash__packager_1_1media_1_1File.html#a19409dd7d63022f34aee85640460428e">edash_packager::media::File::Tell</a></div><div class="ttdeci">virtual bool Tell(uint64_t *position)=0</div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1File_html_a1bb2a295cb69b3e51b9cc14969848632"><div class="ttname"><a href="../../de/d19/classedash__packager_1_1media_1_1File.html#a1bb2a295cb69b3e51b9cc14969848632">edash_packager::media::File::Size</a></div><div class="ttdeci">virtual int64_t Size()=0</div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1File_html_ad1a8b1df388b90def135647a0136b0f7"><div class="ttname"><a href="../../de/d19/classedash__packager_1_1media_1_1File.html#ad1a8b1df388b90def135647a0136b0f7">edash_packager::media::File::~File</a></div><div class="ttdeci">virtual ~File()</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d4d/file_8h_source.html#l00109">file.h:109</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1ThreadedIoFile_html"><div class="ttname"><a href="../../dc/dfa/classedash__packager_1_1media_1_1ThreadedIoFile.html">edash_packager::media::ThreadedIoFile</a></div><div class="ttdoc">Declaration of class which implements a thread-safe circular buffer. </div><div class="ttdef"><b>Definition:</b> <a href="../../d2/da6/threaded__io__file_8h_source.html#l00022">threaded_io_file.h:22</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1File_html_ace9275a79c572614ee5d068a04c76392"><div class="ttname"><a href="../../de/d19/classedash__packager_1_1media_1_1File.html#ace9275a79c572614ee5d068a04c76392">edash_packager::media::File::Flush</a></div><div class="ttdeci">virtual bool Flush()=0</div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1File_html_ad82196743ff131dd81e8f806735eb818"><div class="ttname"><a href="../../de/d19/classedash__packager_1_1media_1_1File.html#ad82196743ff131dd81e8f806735eb818">edash_packager::media::File::Write</a></div><div class="ttdeci">virtual int64_t Write(const void *buffer, uint64_t length)=0</div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1File_html_a239a76adb5ff5c5340c58f96d7034ec6"><div class="ttname"><a href="../../de/d19/classedash__packager_1_1media_1_1File.html#a239a76adb5ff5c5340c58f96d7034ec6">edash_packager::media::File::GetFileSize</a></div><div class="ttdeci">static int64_t GetFileSize(const char *file_name)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/dfc/file_8cc_source.html#l00151">file.cc:151</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1File_html_a47194a7cd303640c2a8b689d18ef9701"><div class="ttname"><a href="../../de/d19/classedash__packager_1_1media_1_1File.html#a47194a7cd303640c2a8b689d18ef9701">edash_packager::media::File::OpenWithNoBuffering</a></div><div class="ttdeci">static File * OpenWithNoBuffering(const char *file_name, const char *mode)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/dfc/file_8cc_source.html#l00127">file.cc:127</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:47 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>

View File

@ -0,0 +1,129 @@
<!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::media::H264DecRefPicMarking Struct 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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><a class="el" href="../../d2/d50/structedash__packager_1_1media_1_1H264DecRefPicMarking.html">H264DecRefPicMarking</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../d0/d24/structedash__packager_1_1media_1_1H264DecRefPicMarking-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">edash_packager::media::H264DecRefPicMarking Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a3fda4c1e114a73e0d5b1fe798f4d6fc5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3fda4c1e114a73e0d5b1fe798f4d6fc5"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>memory_mgmnt_control_operation</b></td></tr>
<tr class="separator:a3fda4c1e114a73e0d5b1fe798f4d6fc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd392c99ff027ff174e3c6be577db5cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afd392c99ff027ff174e3c6be577db5cc"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>difference_of_pic_nums_minus1</b></td></tr>
<tr class="separator:afd392c99ff027ff174e3c6be577db5cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51e177ab2de002393a1df119987a073d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a51e177ab2de002393a1df119987a073d"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>long_term_pic_num</b></td></tr>
<tr class="separator:a51e177ab2de002393a1df119987a073d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6de2fe5f6dc310989821f7e0ec38e00"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab6de2fe5f6dc310989821f7e0ec38e00"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>long_term_frame_idx</b></td></tr>
<tr class="separator:ab6de2fe5f6dc310989821f7e0ec38e00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b468aa4d4c97a727b13d5df2b087a3d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b468aa4d4c97a727b13d5df2b087a3d"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>max_long_term_frame_idx_plus1</b></td></tr>
<tr class="separator:a3b468aa4d4c97a727b13d5df2b087a3d"><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>Definition at line <a class="el" href="../../d6/d9b/h264__parser_8h_source.html#l00180">180</a> of file <a class="el" href="../../d6/d9b/h264__parser_8h_source.html">h264_parser.h</a>.</p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>media/filters/<a class="el" href="../../d6/d9b/h264__parser_8h_source.html">h264_parser.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30: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>

View File

@ -0,0 +1,194 @@
<!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::media::mp4::SampleAuxiliaryInformationSize Struct 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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp4</b></li><li class="navelem"><a class="el" href="../../d2/d51/structedash__packager_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize.html">SampleAuxiliaryInformationSize</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../d4/de7/structedash__packager_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">edash_packager::media::mp4::SampleAuxiliaryInformationSize Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for edash_packager::media::mp4::SampleAuxiliaryInformationSize:</div>
<div class="dyncontent">
<div class="center">
<img src="../../d2/d51/structedash__packager_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize.png" usemap="#edash_packager::media::mp4::SampleAuxiliaryInformationSize_map" alt=""/>
<map id="edash_packager::media::mp4::SampleAuxiliaryInformationSize_map" name="edash_packager::media::mp4::SampleAuxiliaryInformationSize_map">
<area href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html" alt="edash_packager::media::mp4::FullBox" shape="rect" coords="0,56,357,80"/>
<area href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html" alt="edash_packager::media::mp4::Box" shape="rect" coords="0,0,357,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad535f362d898f88e3bcb290d316e9d88"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad535f362d898f88e3bcb290d316e9d88"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d51/structedash__packager_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize.html#ad535f362d898f88e3bcb290d316e9d88">ReadWrite</a> (<a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">BoxBuffer</a> *buffer) OVERRIDE</td></tr>
<tr class="memdesc:ad535f362d898f88e3bcb290d316e9d88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read/write the mp4 box from/to <a class="el" href="../../dd/d4f/classedash__packager_1_1media_1_1mp4_1_1BoxBuffer.html">BoxBuffer</a>. <br/></td></tr>
<tr class="separator:ad535f362d898f88e3bcb290d316e9d88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a562bb58a4b9f4a518fa6706dcaa5fcd3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a562bb58a4b9f4a518fa6706dcaa5fcd3"></a>
virtual FourCC&#160;</td><td class="memItemRight" valign="bottom"><b>BoxType</b> () const OVERRIDE</td></tr>
<tr class="separator:a562bb58a4b9f4a518fa6706dcaa5fcd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19a37f76e205541befe3776acc61e786"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d51/structedash__packager_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize.html#a19a37f76e205541befe3776acc61e786">ComputeSize</a> () OVERRIDE</td></tr>
<tr class="separator:a19a37f76e205541befe3776acc61e786"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td></tr>
<tr class="memitem:a7b62a3983faafbea54a32486df60ed96 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a7b62a3983faafbea54a32486df60ed96">Parse</a> (<a class="el" href="../../db/d6c/classedash__packager_1_1media_1_1mp4_1_1BoxReader.html">BoxReader</a> *reader)</td></tr>
<tr class="separator:a7b62a3983faafbea54a32486df60ed96 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7a756828b5514fcd3eaf16d86c413c0 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#aa7a756828b5514fcd3eaf16d86c413c0">Write</a> (<a class="el" href="../../df/dde/classedash__packager_1_1media_1_1BufferWriter.html">BufferWriter</a> *writer)</td></tr>
<tr class="separator:aa7a756828b5514fcd3eaf16d86c413c0 inherit pub_methods_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:af1b206c93f72d8ec4cdb81965cf9ed01"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af1b206c93f72d8ec4cdb81965cf9ed01"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>default_sample_info_size</b></td></tr>
<tr class="separator:af1b206c93f72d8ec4cdb81965cf9ed01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba487f72805dc9ad55aceb90f75ac161"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aba487f72805dc9ad55aceb90f75ac161"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>sample_count</b></td></tr>
<tr class="separator:aba487f72805dc9ad55aceb90f75ac161"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70f54db7ab37bd7a419de8bfcbe241d2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70f54db7ab37bd7a419de8bfcbe241d2"></a>
std::vector&lt; uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>sample_info_sizes</b></td></tr>
<tr class="separator:a70f54db7ab37bd7a419de8bfcbe241d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox')"><img src="../../closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="../../d6/d8f/structedash__packager_1_1media_1_1mp4_1_1FullBox.html">edash_packager::media::mp4::FullBox</a></td></tr>
<tr class="memitem:a8504557a176cc9d6322a6d77fb9fba6f inherit pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8504557a176cc9d6322a6d77fb9fba6f"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>version</b></td></tr>
<tr class="separator:a8504557a176cc9d6322a6d77fb9fba6f inherit pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b051321ec82ca931fefd530f0e75ee4 inherit pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b051321ec82ca931fefd530f0e75ee4"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>flags</b></td></tr>
<tr class="separator:a7b051321ec82ca931fefd530f0e75ee4 inherit pub_attribs_structedash__packager_1_1media_1_1mp4_1_1FullBox"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box')"><img src="../../closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html">edash_packager::media::mp4::Box</a></td></tr>
<tr class="memitem:a767571cecbc37bedb05d1ea84716a005 inherit pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a767571cecbc37bedb05d1ea84716a005">atom_size</a></td></tr>
<tr class="separator:a767571cecbc37bedb05d1ea84716a005 inherit pro_attribs_structedash__packager_1_1media_1_1mp4_1_1Box"><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>Definition at line <a class="el" href="../../d5/d7b/box__definitions_8h_source.html#l00065">65</a> of file <a class="el" href="../../d5/d7b/box__definitions_8h_source.html">box_definitions.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a19a37f76e205541befe3776acc61e786"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t edash_packager::media::mp4::SampleAuxiliaryInformationSize::ComputeSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Compute the size of this box. The calculated size will be saved in |atom_size| for later consumption. </p>
<p>Implements <a class="el" href="../../d7/d8a/structedash__packager_1_1media_1_1mp4_1_1Box.html#a308081198b1fa9f9e4653ad976014a16">edash_packager::media::mp4::Box</a>.</p>
<p>Definition at line <a class="el" href="../../dd/dee/box__definitions_8cc_source.html#l00186">186</a> of file <a class="el" href="../../dd/dee/box__definitions_8cc_source.html">box_definitions.cc</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>media/formats/mp4/<a class="el" href="../../d5/d7b/box__definitions_8h_source.html">box_definitions.h</a></li>
<li>media/formats/mp4/<a class="el" href="../../dd/dee/box__definitions_8cc_source.html">box_definitions.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:55 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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1,163 @@
<!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::media::mp2t::TsSectionPmt Class 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><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><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="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#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></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../db/d09/namespaceedash__packager.html">edash_packager</a></li><li class="navelem"><b>media</b></li><li class="navelem"><b>mp2t</b></li><li class="navelem"><a class="el" href="../../d2/d5b/classedash__packager_1_1media_1_1mp2t_1_1TsSectionPmt.html">TsSectionPmt</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="../../db/dc8/classedash__packager_1_1media_1_1mp2t_1_1TsSectionPmt-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">edash_packager::media::mp2t::TsSectionPmt Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for edash_packager::media::mp2t::TsSectionPmt:</div>
<div class="dyncontent">
<div class="center">
<img src="../../d2/d5b/classedash__packager_1_1media_1_1mp2t_1_1TsSectionPmt.png" usemap="#edash_packager::media::mp2t::TsSectionPmt_map" alt=""/>
<map id="edash_packager::media::mp2t::TsSectionPmt_map" name="edash_packager::media::mp2t::TsSectionPmt_map">
<area href="../../db/d4e/classedash__packager_1_1media_1_1mp2t_1_1TsSectionPsi.html" alt="edash_packager::media::mp2t::TsSectionPsi" shape="rect" coords="0,56,258,80"/>
<area href="../../d8/d8e/classedash__packager_1_1media_1_1mp2t_1_1TsSection.html" alt="edash_packager::media::mp2t::TsSection" shape="rect" coords="0,0,258,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:abe5c8fa21d02b426d0b7f8c028057448"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe5c8fa21d02b426d0b7f8c028057448"></a>
typedef base::Callback&lt; void(int, <br class="typebreak"/>
int)&gt;&#160;</td><td class="memItemRight" valign="bottom"><b>RegisterPesCb</b></td></tr>
<tr class="separator:abe5c8fa21d02b426d0b7f8c028057448"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classedash__packager_1_1media_1_1mp2t_1_1TsSection"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classedash__packager_1_1media_1_1mp2t_1_1TsSection')"><img src="../../closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="../../d8/d8e/classedash__packager_1_1media_1_1mp2t_1_1TsSection.html">edash_packager::media::mp2t::TsSection</a></td></tr>
<tr class="memitem:aa3487bd81805e2494236fbfe06ee470c inherit pub_types_classedash__packager_1_1media_1_1mp2t_1_1TsSection"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3487bd81805e2494236fbfe06ee470c"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>SpecialPid</b> { <br/>
&#160;&#160;<b>kPidPat</b> = 0x0,
<b>kPidCat</b> = 0x1,
<b>kPidTsdt</b> = 0x2,
<b>kPidNullPacket</b> = 0x1fff,
<br/>
&#160;&#160;<b>kPidMax</b> = 0x1fff
<br/>
}</td></tr>
<tr class="separator:aa3487bd81805e2494236fbfe06ee470c inherit pub_types_classedash__packager_1_1media_1_1mp2t_1_1TsSection"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a2f22215ee8ffd0c57e844976b31c8b30"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2f22215ee8ffd0c57e844976b31c8b30"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>TsSectionPmt</b> (const RegisterPesCb &amp;register_pes_cb)</td></tr>
<tr class="separator:a2f22215ee8ffd0c57e844976b31c8b30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f827d4b83690bce640a9237ed9ab152"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f827d4b83690bce640a9237ed9ab152"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>ParsePsiSection</b> (<a class="el" href="../../df/db4/classedash__packager_1_1media_1_1BitReader.html">BitReader</a> *bit_reader) OVERRIDE</td></tr>
<tr class="separator:a9f827d4b83690bce640a9237ed9ab152"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fe15566850cad1fc14657b32f1ca97c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3fe15566850cad1fc14657b32f1ca97c"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>ResetPsiSection</b> () OVERRIDE</td></tr>
<tr class="separator:a3fe15566850cad1fc14657b32f1ca97c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classedash__packager_1_1media_1_1mp2t_1_1TsSectionPsi"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classedash__packager_1_1media_1_1mp2t_1_1TsSectionPsi')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../db/d4e/classedash__packager_1_1media_1_1mp2t_1_1TsSectionPsi.html">edash_packager::media::mp2t::TsSectionPsi</a></td></tr>
<tr class="memitem:a748bbd1a80da49bbe02e7f9b984a1668 inherit pub_methods_classedash__packager_1_1media_1_1mp2t_1_1TsSectionPsi"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a748bbd1a80da49bbe02e7f9b984a1668"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>Parse</b> (bool payload_unit_start_indicator, const uint8_t *buf, int size) OVERRIDE</td></tr>
<tr class="separator:a748bbd1a80da49bbe02e7f9b984a1668 inherit pub_methods_classedash__packager_1_1media_1_1mp2t_1_1TsSectionPsi"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afddcbca4c9648d21e5be9e5727fa8cc6 inherit pub_methods_classedash__packager_1_1media_1_1mp2t_1_1TsSectionPsi"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afddcbca4c9648d21e5be9e5727fa8cc6"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Flush</b> () OVERRIDE</td></tr>
<tr class="separator:afddcbca4c9648d21e5be9e5727fa8cc6 inherit pub_methods_classedash__packager_1_1media_1_1mp2t_1_1TsSectionPsi"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b122039bb98b6de79c826046dff6e5d inherit pub_methods_classedash__packager_1_1media_1_1mp2t_1_1TsSectionPsi"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8b122039bb98b6de79c826046dff6e5d"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Reset</b> () OVERRIDE</td></tr>
<tr class="separator:a8b122039bb98b6de79c826046dff6e5d inherit pub_methods_classedash__packager_1_1media_1_1mp2t_1_1TsSectionPsi"><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>Definition at line <a class="el" href="../../d5/def/ts__section__pmt_8h_source.html#l00016">16</a> of file <a class="el" href="../../d5/def/ts__section__pmt_8h_source.html">ts_section_pmt.h</a>.</p>
</div><hr/>The documentation for this class was generated from the following files:<ul>
<li>media/formats/mp2t/<a class="el" href="../../d5/def/ts__section__pmt_8h_source.html">ts_section_pmt.h</a></li>
<li>media/formats/mp2t/<a class="el" href="../../dc/dec/ts__section__pmt_8cc_source.html">ts_section_pmt.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 15 2015 17:30:53 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>

Some files were not shown because too many files have changed in this diff Show More