Generate SDK documents for commit e253747453

This commit is contained in:
Widevine Buildbot 2016-04-15 19:07:50 +00:00
parent 44bf3fb91f
commit c641e49958
910 changed files with 2364 additions and 2158 deletions

View File

@ -361,7 +361,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:54 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -178,7 +178,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:54 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -290,7 +290,7 @@ double&#160;</td><td class="memItemRight" valign="bottom"><b>cluster_length_sec<
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:53 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:47 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:42 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>

View File

@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:51 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:46 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>

View File

@ -149,7 +149,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:47 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:42 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>

View File

@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:48 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:43 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>

View File

@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:45 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>

View File

@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:53 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:45 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>

View File

@ -148,7 +148,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:48 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:43 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>

View File

@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:47 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:42 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>

View File

@ -286,7 +286,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:48 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:43 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>

View File

@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:45 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>

View File

@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:54 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -313,7 +313,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:48 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:43 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>

View File

@ -186,7 +186,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:47 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:42 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>

View File

@ -146,119 +146,123 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="stringliteral">&quot;rotation is enabled.&quot;</span>);</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;DEFINE_string(protection_scheme,</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="stringliteral">&quot;cenc&quot;</span>,</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="stringliteral">&quot;Choose protection scheme. Currently support cenc and cbc1. &quot;</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="stringliteral">&quot;Default is cenc.&quot;</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;<span class="keyword">namespace </span>edash_packager {</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"><a class="line" href="../../db/d09/namespaceedash__packager.html#a95bb52262b99e97fd7f8f9f0075fe1e6"> 65</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="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordtype">bool</span> success = <span class="keyword">true</span>;</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; <span class="keyword">const</span> <span class="keywordtype">bool</span> widevine_crypto =</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; FLAGS_enable_widevine_encryption || FLAGS_enable_widevine_decryption;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> widevine_crypto_label[] =</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="stringliteral">&quot;--enable_widevine_encryption/decryption&quot;</span>;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="comment">// key_server_url and signer (optional) are associated with</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="comment">// enable_widevine_encryption and enable_widevine_descryption.</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</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="l00075"></a><span class="lineno"> 75</span>&#160; FLAGS_key_server_url,</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; widevine_crypto,</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keyword">false</span>,</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; widevine_crypto_label)) {</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; success = <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; <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="l00082"></a><span class="lineno"> 82</span>&#160; FLAGS_signer,</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; widevine_crypto,</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">true</span>,</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; widevine_crypto_label)) {</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; success = <span class="keyword">false</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; <span class="keywordflow">if</span> (widevine_crypto &amp;&amp; FLAGS_signer.empty() &amp;&amp;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; base::StartsWith(base::StringPiece(FLAGS_key_server_url), <span class="stringliteral">&quot;http&quot;</span>,</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; base::CompareCase::INSENSITIVE_ASCII)) {</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; LOG(WARNING) &lt;&lt; <span class="stringliteral">&quot;--signer is likely required with &quot;</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="stringliteral">&quot;--enable_widevine_encryption/decryption.&quot;</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;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</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="l00096"></a><span class="lineno"> 96</span>&#160; <span class="comment">// content_id and policy (optional) are associated with</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="comment">// enable_widevine_encryption.</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</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="l00099"></a><span class="lineno"> 99</span>&#160; FLAGS_content_id,</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; FLAGS_enable_widevine_encryption,</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keyword">false</span>,</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; widevine_encryption_label)) {</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; success = <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; <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="l00106"></a><span class="lineno"> 106</span>&#160; FLAGS_policy,</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; FLAGS_enable_widevine_encryption,</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keyword">true</span>,</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; widevine_encryption_label)) {</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; success = <span class="keyword">false</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="keywordflow">if</span> (FLAGS_include_common_pssh &amp;&amp; !FLAGS_enable_widevine_encryption) {</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="../../db/d09/namespaceedash__packager.html#a64d35a221086349dfbd1acefee2aaef1">PrintError</a>(<span class="stringliteral">&quot;--include_common_pssh is only valid with &quot;</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="stringliteral">&quot;--enable_widevine_encryption&quot;</span>);</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; success = <span class="keyword">false</span>;</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">if</span> (FLAGS_max_sd_pixels &lt;= 0) {</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</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="l00120"></a><span class="lineno"> 120</span>&#160; success = <span class="keyword">false</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;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</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="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> aes_label[] =</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="stringliteral">&quot;--signer is specified and exclusive with --rsa_signing_key_path&quot;</span>;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="comment">// aes_signer_key and aes_signing_iv are associated with aes signing.</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</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="l00128"></a><span class="lineno"> 128</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="l00129"></a><span class="lineno"> 129</span>&#160; success = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="stringliteral">&quot;Choose protection scheme, &#39;cenc&#39; or &#39;cbc1&#39; or pattern-based &quot;</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="stringliteral">&quot;protection schemes &#39;cens&#39; or &#39;cbcs&#39;. Note that if a &quot;</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="stringliteral">&quot;pattern-based protection scheme only applies to video stream; &quot;</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="stringliteral">&quot;audio stream will be encrypted using the corresponding &quot;</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="stringliteral">&quot;non-pattern-based encryption schemes, i.e. &#39;cenc&#39; for &#39;cens&#39;, &quot;</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="stringliteral">&quot;&#39;cbc1&#39; for &#39;cbcs&#39;.&quot;</span>);</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">namespace </span>edash_packager {</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"><a class="line" href="../../db/d09/namespaceedash__packager.html#a95bb52262b99e97fd7f8f9f0075fe1e6"> 69</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="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordtype">bool</span> success = <span class="keyword">true</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; <span class="keyword">const</span> <span class="keywordtype">bool</span> widevine_crypto =</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; FLAGS_enable_widevine_encryption || FLAGS_enable_widevine_decryption;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> widevine_crypto_label[] =</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="stringliteral">&quot;--enable_widevine_encryption/decryption&quot;</span>;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="comment">// key_server_url and signer (optional) are associated with</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="comment">// enable_widevine_encryption and enable_widevine_descryption.</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</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="l00079"></a><span class="lineno"> 79</span>&#160; FLAGS_key_server_url,</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; widevine_crypto,</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keyword">false</span>,</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; widevine_crypto_label)) {</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; success = <span class="keyword">false</span>;</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> (!<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="l00086"></a><span class="lineno"> 86</span>&#160; FLAGS_signer,</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; widevine_crypto,</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keyword">true</span>,</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; widevine_crypto_label)) {</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; success = <span class="keyword">false</span>;</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="keywordflow">if</span> (widevine_crypto &amp;&amp; FLAGS_signer.empty() &amp;&amp;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; base::StartsWith(base::StringPiece(FLAGS_key_server_url), <span class="stringliteral">&quot;http&quot;</span>,</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; base::CompareCase::INSENSITIVE_ASCII)) {</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; LOG(WARNING) &lt;&lt; <span class="stringliteral">&quot;--signer is likely required with &quot;</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="stringliteral">&quot;--enable_widevine_encryption/decryption.&quot;</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;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</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="l00100"></a><span class="lineno"> 100</span>&#160; <span class="comment">// content_id and policy (optional) are associated with</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="comment">// enable_widevine_encryption.</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</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="l00103"></a><span class="lineno"> 103</span>&#160; FLAGS_content_id,</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; FLAGS_enable_widevine_encryption,</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">false</span>,</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; widevine_encryption_label)) {</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; success = <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; <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="l00110"></a><span class="lineno"> 110</span>&#160; FLAGS_policy,</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; FLAGS_enable_widevine_encryption,</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keyword">true</span>,</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; widevine_encryption_label)) {</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; success = <span class="keyword">false</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">if</span> (FLAGS_include_common_pssh &amp;&amp; !FLAGS_enable_widevine_encryption) {</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="../../db/d09/namespaceedash__packager.html#a64d35a221086349dfbd1acefee2aaef1">PrintError</a>(<span class="stringliteral">&quot;--include_common_pssh is only valid with &quot;</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="stringliteral">&quot;--enable_widevine_encryption&quot;</span>);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; success = <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;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">if</span> (FLAGS_max_sd_pixels &lt;= 0) {</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</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="l00124"></a><span class="lineno"> 124</span>&#160; success = <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;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</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="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> aes_label[] =</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="stringliteral">&quot;--signer is specified and exclusive with --rsa_signing_key_path&quot;</span>;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="comment">// aes_signer_key and aes_signing_iv are associated with aes signing.</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</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="l00132"></a><span class="lineno"> 132</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="l00132"></a><span class="lineno"> 132</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="l00133"></a><span class="lineno"> 133</span>&#160; success = <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="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="l00137"></a><span class="lineno"> 137</span>&#160; FLAGS_aes_signing_iv.empty();</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> rsa_label[] =</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="stringliteral">&quot;--signer is specified and exclusive with --aes_signing_key/iv&quot;</span>;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="comment">// rsa_signing_key_path is associated with rsa_signing.</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</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="l00142"></a><span class="lineno"> 142</span>&#160; FLAGS_rsa_signing_key_path,</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; rsa,</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keyword">true</span>,</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; rsa_label)) {</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; success = <span class="keyword">false</span>;</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="keywordflow">if</span> (!FLAGS_signer.empty() &amp;&amp;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; (FLAGS_aes_signing_key.empty() || FLAGS_aes_signing_iv.empty()) &amp;&amp;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; FLAGS_rsa_signing_key_path.empty()) {</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <a class="code" href="../../db/d09/namespaceedash__packager.html#a64d35a221086349dfbd1acefee2aaef1">PrintError</a>(</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</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="l00154"></a><span class="lineno"> 154</span>&#160; <span class="stringliteral">&quot;--signer.&quot;</span>);</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; success = <span class="keyword">false</span>;</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;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">if</span> (FLAGS_crypto_period_duration &lt; 0) {</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</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="l00160"></a><span class="lineno"> 160</span>&#160; success = <span class="keyword">false</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; <span class="keywordflow">return</span> success;</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;</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</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#l00065">widevine_encryption_flags.cc:65</a></div></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</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="l00136"></a><span class="lineno"> 136</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="l00137"></a><span class="lineno"> 137</span>&#160; success = <span class="keyword">false</span>;</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;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</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="l00141"></a><span class="lineno"> 141</span>&#160; FLAGS_aes_signing_iv.empty();</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> rsa_label[] =</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="stringliteral">&quot;--signer is specified and exclusive with --aes_signing_key/iv&quot;</span>;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="comment">// rsa_signing_key_path is associated with rsa_signing.</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</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="l00146"></a><span class="lineno"> 146</span>&#160; FLAGS_rsa_signing_key_path,</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; rsa,</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keyword">true</span>,</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; rsa_label)) {</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; success = <span class="keyword">false</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;</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">if</span> (!FLAGS_signer.empty() &amp;&amp;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; (FLAGS_aes_signing_key.empty() || FLAGS_aes_signing_iv.empty()) &amp;&amp;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; FLAGS_rsa_signing_key_path.empty()) {</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <a class="code" href="../../db/d09/namespaceedash__packager.html#a64d35a221086349dfbd1acefee2aaef1">PrintError</a>(</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</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="l00158"></a><span class="lineno"> 158</span>&#160; <span class="stringliteral">&quot;--signer.&quot;</span>);</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; success = <span class="keyword">false</span>;</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;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">if</span> (FLAGS_crypto_period_duration &lt; 0) {</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</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="l00164"></a><span class="lineno"> 164</span>&#160; success = <span class="keyword">false</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="keywordflow">return</span> success;</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"> 169</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#l00069">widevine_encryption_flags.cc:69</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 Apr 14 2016 20:07:47 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:42 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>

View File

@ -239,7 +239,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:47 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:42 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>

View File

@ -224,7 +224,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:47 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:42 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>

View File

@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:53 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:47 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:42 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>

View File

@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:44 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>

View File

@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:53 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -173,7 +173,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:46 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>

View File

@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:45 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>

View File

@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:47 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:42 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>

View File

@ -479,7 +479,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:44 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>

View File

@ -120,7 +120,7 @@ std::vector&lt; uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:44 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>

View File

@ -182,7 +182,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -123,7 +123,7 @@ std::vector&lt; <a class="el" href="../../d5/d7a/structedash__packager_1_1Elemen
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:48 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:43 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>

View File

@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:46 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>

View File

@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:45 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>

View File

@ -243,7 +243,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:47 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:42 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>

View File

@ -160,7 +160,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:48 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:43 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>

View File

@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:53 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:44 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>

View File

@ -185,7 +185,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:51 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:46 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>

View File

@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:48 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:43 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>

View File

@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:44 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>

View File

@ -156,7 +156,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:48 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:43 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>

View File

@ -112,7 +112,7 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>operator()</b> (<a cl
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:44 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>

View File

@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:51 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:46 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>

View File

@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -123,7 +123,7 @@ std::vector&lt; uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:45 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>

View File

@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:53 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:51 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:46 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>

View File

@ -215,7 +215,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:48 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:43 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>

View File

@ -332,7 +332,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:47 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:42 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>

View File

@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -116,7 +116,7 @@ scoped_refptr&lt; <a class="el" href="../../d8/d6c/classedash__packager_1_1media
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:53 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -121,7 +121,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:51 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:46 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>

View File

@ -239,7 +239,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:47 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:42 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>

View File

@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:54 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -275,7 +275,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:48 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:43 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>

View File

@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:47 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:42 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>

View File

@ -126,7 +126,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:47 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:42 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>

View File

@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:45 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>

View File

@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:53 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -98,100 +98,116 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
<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/base/stl_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/aes_decryptor.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="l00016"></a><span class="lineno"> 16</span>&#160;DecryptorSource::DecryptorSource(KeySource* key_source)</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; : key_source_(key_source) {</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; CHECK(key_source);</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;DecryptorSource::~DecryptorSource() {</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; STLDeleteValues(&amp;decryptor_map_);</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;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="keywordtype">bool</span> DecryptorSource::DecryptSampleBuffer(<span class="keyword">const</span> DecryptConfig* decrypt_config,</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; uint8_t* buffer,</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keywordtype">size_t</span> buffer_size) {</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; DCHECK(decrypt_config);</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; DCHECK(buffer);</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="comment">// Get the decryptor object.</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; AesCryptor* decryptor;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keyword">auto</span> found = decryptor_map_.find(decrypt_config-&gt;key_id());</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keywordflow">if</span> (found == decryptor_map_.end()) {</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="comment">// Create new AesDecryptor based on decryption mode.</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; EncryptionKey key;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; Status status(key_source_-&gt;<a class="code" href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html#ae1000d8809b293738dca06c1a5f916bf">GetKey</a>(decrypt_config-&gt;key_id(), &amp;key));</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordflow">if</span> (!status.ok()) {</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Error retrieving decryption key: &quot;</span> &lt;&lt; status;</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"> 42</span>&#160; scoped_ptr&lt;AesCryptor&gt; aes_decryptor;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordflow">switch</span> (decrypt_config-&gt;protection_scheme()) {</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">case</span> FOURCC_cenc:</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; aes_decryptor.reset(<span class="keyword">new</span> AesCtrDecryptor);</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">case</span> FOURCC_cbc1:</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; aes_decryptor.reset(<span class="keyword">new</span> AesCbcDecryptor(kNoPadding, kChainAcrossCalls));</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Unsupported protection scheme: &quot;</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; &lt;&lt; decrypt_config-&gt;protection_scheme();</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</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;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">if</span> (!aes_decryptor-&gt;InitializeWithIv(key.key, decrypt_config-&gt;iv())) {</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Failed to initialize AesDecryptor for decryption.&quot;</span>;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</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; decryptor = aes_decryptor.release();</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; decryptor_map_[decrypt_config-&gt;key_id()] = decryptor;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; decryptor = found-&gt;second;</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">if</span> (!decryptor-&gt;SetIv(decrypt_config-&gt;iv())) {</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Invalid initialization vector.&quot;</span>;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</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="keywordflow">if</span> (decrypt_config-&gt;subsamples().empty()) {</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="comment">// Sample not encrypted using subsample encryption. Decrypt whole.</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">if</span> (!decryptor-&gt;Crypt(buffer, buffer_size, buffer)) {</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Error during bulk sample decryption.&quot;</span>;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/aes_pattern_cryptor.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;DecryptorSource::DecryptorSource(KeySource* key_source)</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; : key_source_(key_source) {</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; CHECK(key_source);</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;DecryptorSource::~DecryptorSource() {</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; STLDeleteValues(&amp;decryptor_map_);</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> DecryptorSource::DecryptSampleBuffer(<span class="keyword">const</span> DecryptConfig* decrypt_config,</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; uint8_t* buffer,</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keywordtype">size_t</span> buffer_size) {</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; DCHECK(decrypt_config);</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; DCHECK(buffer);</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">// Get the decryptor object.</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; AesCryptor* decryptor;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keyword">auto</span> found = decryptor_map_.find(decrypt_config-&gt;key_id());</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keywordflow">if</span> (found == decryptor_map_.end()) {</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="comment">// Create new AesDecryptor based on decryption mode.</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; EncryptionKey key;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; Status status(key_source_-&gt;<a class="code" href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html#ae1000d8809b293738dca06c1a5f916bf">GetKey</a>(decrypt_config-&gt;key_id(), &amp;key));</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordflow">if</span> (!status.ok()) {</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Error retrieving decryption key: &quot;</span> &lt;&lt; status;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</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;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; scoped_ptr&lt;AesCryptor&gt; aes_decryptor;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">switch</span> (decrypt_config-&gt;protection_scheme()) {</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">case</span> FOURCC_cenc:</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; aes_decryptor.reset(<span class="keyword">new</span> AesCtrDecryptor);</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">case</span> FOURCC_cbc1:</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; aes_decryptor.reset(<span class="keyword">new</span> AesCbcDecryptor(kNoPadding, kChainAcrossCalls));</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">case</span> FOURCC_cens:</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; aes_decryptor.reset(</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">new</span> AesPatternCryptor(decrypt_config-&gt;crypt_byte_block(),</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; decrypt_config-&gt;skip_byte_block(),</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; AesPatternCryptor::kDontUseConstantIv,</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; scoped_ptr&lt;AesCryptor&gt;(<span class="keyword">new</span> AesCtrDecryptor)));</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">case</span> FOURCC_cbcs:</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; aes_decryptor.reset(</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keyword">new</span> AesPatternCryptor(decrypt_config-&gt;crypt_byte_block(),</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; decrypt_config-&gt;skip_byte_block(),</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; AesPatternCryptor::kUseConstantIv,</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; scoped_ptr&lt;AesCryptor&gt;(<span class="keyword">new</span> AesCbcDecryptor(</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; kNoPadding, kChainAcrossCalls))));</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Unsupported protection scheme: &quot;</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; &lt;&lt; decrypt_config-&gt;protection_scheme();</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">return</span> <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;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">if</span> (!aes_decryptor-&gt;InitializeWithIv(key.key, decrypt_config-&gt;iv())) {</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Failed to initialize AesDecryptor for decryption.&quot;</span>;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</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"> 76</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</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;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="comment">// Subsample decryption.</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keyword">const</span> std::vector&lt;SubsampleEntry&gt;&amp; subsamples = decrypt_config-&gt;subsamples();</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; uint8_t* current_ptr = buffer;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keyword">const</span> uint8_t* <span class="keyword">const</span> buffer_end = buffer + buffer_size;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; subsample : subsamples) {</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">if</span> ((current_ptr + subsample.clear_bytes + subsample.cipher_bytes) &gt;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; buffer_end) {</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Subsamples overflow sample buffer.&quot;</span>;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</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; current_ptr += subsample.clear_bytes;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">if</span> (!decryptor-&gt;Crypt(current_ptr, subsample.cipher_bytes, current_ptr)) {</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Error decrypting subsample buffer.&quot;</span>;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">return</span> <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; current_ptr += subsample.cipher_bytes;</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> <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;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; decryptor = aes_decryptor.release();</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; decryptor_map_[decrypt_config-&gt;key_id()] = decryptor;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; decryptor = found-&gt;second;</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="keywordflow">if</span> (!decryptor-&gt;SetIv(decrypt_config-&gt;iv())) {</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Invalid initialization vector.&quot;</span>;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</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;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">if</span> (decrypt_config-&gt;subsamples().empty()) {</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="comment">// Sample not encrypted using subsample encryption. Decrypt whole.</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">if</span> (!decryptor-&gt;Crypt(buffer, buffer_size, buffer)) {</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Error during bulk sample decryption.&quot;</span>;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</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="keywordflow">return</span> <span class="keyword">true</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;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="comment">// Subsample decryption.</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keyword">const</span> std::vector&lt;SubsampleEntry&gt;&amp; subsamples = decrypt_config-&gt;subsamples();</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; uint8_t* current_ptr = buffer;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keyword">const</span> uint8_t* <span class="keyword">const</span> buffer_end = buffer + buffer_size;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; subsample : subsamples) {</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">if</span> ((current_ptr + subsample.clear_bytes + subsample.cipher_bytes) &gt;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; buffer_end) {</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Subsamples overflow sample buffer.&quot;</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; current_ptr += subsample.clear_bytes;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">if</span> (!decryptor-&gt;Crypt(current_ptr, subsample.cipher_bytes, current_ptr)) {</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Error decrypting subsample buffer.&quot;</span>;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</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; current_ptr += subsample.cipher_bytes;</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="keywordflow">return</span> <span class="keyword">true</span>;</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;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="ttc" id="classedash__packager_1_1media_1_1KeySource_html_ae1000d8809b293738dca06c1a5f916bf"><div class="ttname"><a href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html#ae1000d8809b293738dca06c1a5f916bf">edash_packager::media::KeySource::GetKey</a></div><div class="ttdeci">virtual Status GetKey(TrackType track_type, EncryptionKey *key)=0</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:47 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:42 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>

View File

@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -491,7 +491,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:48 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:43 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>

View File

@ -176,7 +176,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:51 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:46 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>

View File

@ -200,7 +200,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:47 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:42 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>

View File

@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:48 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:43 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>

View File

@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:47 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:42 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>

View File

@ -168,7 +168,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:48 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:43 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>

View File

@ -139,7 +139,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:47 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:42 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>

View File

@ -145,7 +145,7 @@ static const int&#160;</td><td class="memItemRight" valign="bottom"><b>kPacketSi
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:45 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>

View File

@ -130,7 +130,7 @@ std::string&#160;</td><td class="memItemRight" valign="bottom"><b>packager_versi
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:48 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:43 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>

View File

@ -188,7 +188,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:53 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -293,7 +293,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:47 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:42 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>

View File

@ -226,7 +226,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:48 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:43 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>

View File

@ -119,7 +119,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:46 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>

View File

@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:51 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:46 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>

View File

@ -529,7 +529,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:47 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:42 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>

View File

@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -179,7 +179,7 @@ FourCC&#160;</td><td class="memItemRight" valign="bottom"><b>protection_scheme</
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:53 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -266,7 +266,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:48 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:43 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>

View File

@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:44 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>

View File

@ -194,7 +194,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:53 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:48 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:43 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>

View File

@ -218,7 +218,7 @@ Static Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:44 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>

View File

@ -175,7 +175,7 @@ uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>flags</b></td></t
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -211,7 +211,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:48 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:43 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>

View File

@ -139,7 +139,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:45 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>

View File

@ -242,7 +242,7 @@ false if <em>max_offset</em> &gt; <a class="el" href="../../d1/d92/classedash__p
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:44 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>

View File

@ -210,7 +210,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:48 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:43 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>

View File

@ -192,7 +192,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:47 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:42 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>

View File

@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:44 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>

View File

@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:53 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -114,78 +114,84 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html"> 27</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="l00028"></a><span class="lineno"> 28</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="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a162003f797e713059d2c32b0c2998fdc">EncryptingFragmenter</a>(scoped_refptr&lt;StreamInfo&gt; info,</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="../../d4/dd9/structedash__packager_1_1media_1_1mp4_1_1TrackFragment.html">TrackFragment</a>* traf,</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; scoped_ptr&lt;EncryptionKey&gt; encryption_key,</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; int64_t clear_time,</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; FourCC protection_scheme);</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; ~<a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html">EncryptingFragmenter</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</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#ae8fd13a579fee2167167bcdbb9637dcc">AddSample</a>(scoped_refptr&lt;MediaSample&gt; sample) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</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#a3159dcc8d0f02da113715a97d096afef">InitializeFragment</a>(int64_t first_sample_dts) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a7917221a0f5093ad6770926ee0ae0ce2">FinalizeFragment</a>() <span class="keyword">override</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; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</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="l00055"></a><span class="lineno"> 55</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="l00056"></a><span class="lineno"> 56</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</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="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">const</span> <a class="code" href="../../d0/d86/structedash__packager_1_1media_1_1EncryptionKey.html">EncryptionKey</a>* encryption_key()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> encryption_key_.get(); }</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">AesCryptor</a>* encryptor() { <span class="keywordflow">return</span> encryptor_.get(); }</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; FourCC protection_scheme()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> protection_scheme_; }</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">void</span> set_encryption_key(scoped_ptr&lt;EncryptionKey&gt; encryption_key) {</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; encryption_key_ = encryption_key.Pass();</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="keyword">private</span>:</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordtype">void</span> EncryptBytes(uint8_t* data, uint32_t size);</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</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="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a2abceb986f85741abf36367a79393098">EncryptingFragmenter</a>(scoped_refptr&lt;StreamInfo&gt; info,</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="../../d4/dd9/structedash__packager_1_1media_1_1mp4_1_1TrackFragment.html">TrackFragment</a>* traf,</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; scoped_ptr&lt;EncryptionKey&gt; encryption_key,</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; int64_t clear_time,</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; FourCC protection_scheme,</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; uint8_t crypt_byte_block,</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; uint8_t skip_byte_block);</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="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html">EncryptingFragmenter</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</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#ae8fd13a579fee2167167bcdbb9637dcc">AddSample</a>(scoped_refptr&lt;MediaSample&gt; sample) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</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#a3159dcc8d0f02da113715a97d096afef">InitializeFragment</a>(int64_t first_sample_dts) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a7917221a0f5093ad6770926ee0ae0ce2">FinalizeFragment</a>() <span class="keyword">override</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; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</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="l00061"></a><span class="lineno"> 61</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="l00062"></a><span class="lineno"> 62</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</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="l00067"></a><span class="lineno"> 67</span>&#160;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keyword">const</span> <a class="code" href="../../d0/d86/structedash__packager_1_1media_1_1EncryptionKey.html">EncryptionKey</a>* encryption_key()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> encryption_key_.get(); }</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">AesCryptor</a>* encryptor() { <span class="keywordflow">return</span> encryptor_.get(); }</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; FourCC protection_scheme()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> protection_scheme_; }</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; uint8_t crypt_byte_block()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> crypt_byte_block_; }</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; uint8_t skip_byte_block()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> skip_byte_block_; }</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">// Should we enable subsample encryption?</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordtype">bool</span> IsSubsampleEncryptionRequired();</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; scoped_refptr&lt;StreamInfo&gt; info_;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; scoped_ptr&lt;EncryptionKey&gt; encryption_key_;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; scoped_ptr&lt;AesCryptor&gt; encryptor_;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="comment">// If this stream contains AVC, subsample encryption specifies that the size</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="comment">// and type of NAL units remain unencrypted. This function returns the size of</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="comment">// the size field in bytes. Can be 1, 2 or 4 bytes.</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keyword">const</span> uint8_t nalu_length_size_;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">const</span> VideoCodec video_codec_;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; int64_t clear_time_;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; FourCC protection_scheme_;</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; scoped_ptr&lt;VPxParser&gt; vpx_parser_;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; scoped_ptr&lt;VideoSliceHeaderParser&gt; header_parser_;</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; 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="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">// namespace mp4</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordtype">void</span> set_encryption_key(scoped_ptr&lt;EncryptionKey&gt; encryption_key) {</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; encryption_key_ = encryption_key.Pass();</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="keyword">private</span>:</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordtype">void</span> EncryptBytes(uint8_t* data, uint32_t size);</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</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="l00081"></a><span class="lineno"> 81</span>&#160;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="comment">// Should we enable subsample encryption?</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordtype">bool</span> IsSubsampleEncryptionRequired();</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; scoped_refptr&lt;StreamInfo&gt; info_;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; scoped_ptr&lt;EncryptionKey&gt; encryption_key_;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; scoped_ptr&lt;AesCryptor&gt; encryptor_;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="comment">// If this stream contains AVC, subsample encryption specifies that the size</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="comment">// and type of NAL units remain unencrypted. This function returns the size of</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="comment">// the size field in bytes. Can be 1, 2 or 4 bytes.</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keyword">const</span> uint8_t nalu_length_size_;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keyword">const</span> VideoCodec video_codec_;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; int64_t clear_time_;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">const</span> FourCC protection_scheme_;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keyword">const</span> uint8_t crypt_byte_block_;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keyword">const</span> uint8_t skip_byte_block_;</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="preprocessor">#endif // MEDIA_FORMATS_MP4_ENCRYPTING_FRAGMENTER_H_</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; scoped_ptr&lt;VPxParser&gt; vpx_parser_;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; scoped_ptr&lt;VideoSliceHeaderParser&gt; header_parser_;</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; 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="l00102"></a><span class="lineno"> 102</span>&#160;};</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;} <span class="comment">// namespace mp4</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;} <span class="comment">// namespace edash_packager</span></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="preprocessor">#endif // MEDIA_FORMATS_MP4_ENCRYPTING_FRAGMENTER_H_</span></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCryptor_html"><div class="ttname"><a href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">edash_packager::media::AesCryptor</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d42/aes__cryptor_8h_source.html#l00025">aes_cryptor.h:25</a></div></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#l00030">fragmenter.h:30</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#l00020">key_source.h:20</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#l00173">encrypting_fragmenter.cc:173</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#l00192">encrypting_fragmenter.cc:192</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#l00027">encrypting_fragmenter.h:27</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#l00075">status.h:75</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html_a3159dcc8d0f02da113715a97d096afef"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a3159dcc8d0f02da113715a97d096afef">edash_packager::media::mp4::EncryptingFragmenter::InitializeFragment</a></div><div class="ttdeci">Status InitializeFragment(int64_t first_sample_dts) override</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d41/encrypting__fragmenter_8cc_source.html#l00106">encrypting_fragmenter.cc:106</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html_a162003f797e713059d2c32b0c2998fdc"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a162003f797e713059d2c32b0c2998fdc">edash_packager::media::mp4::EncryptingFragmenter::EncryptingFragmenter</a></div><div class="ttdeci">EncryptingFragmenter(scoped_refptr&lt; StreamInfo &gt; info, TrackFragment *traf, scoped_ptr&lt; EncryptionKey &gt; encryption_key, int64_t clear_time, FourCC protection_scheme)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d41/encrypting__fragmenter_8cc_source.html#l00061">encrypting_fragmenter.cc:61</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html_ae8fd13a579fee2167167bcdbb9637dcc"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#ae8fd13a579fee2167167bcdbb9637dcc">edash_packager::media::mp4::EncryptingFragmenter::AddSample</a></div><div class="ttdeci">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#l00091">encrypting_fragmenter.cc:91</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html_a7917221a0f5093ad6770926ee0ae0ce2"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a7917221a0f5093ad6770926ee0ae0ce2">edash_packager::media::mp4::EncryptingFragmenter::FinalizeFragment</a></div><div class="ttdeci">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#l00136">encrypting_fragmenter.cc:136</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html_a3159dcc8d0f02da113715a97d096afef"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a3159dcc8d0f02da113715a97d096afef">edash_packager::media::mp4::EncryptingFragmenter::InitializeFragment</a></div><div class="ttdeci">Status InitializeFragment(int64_t first_sample_dts) override</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d41/encrypting__fragmenter_8cc_source.html#l00118">encrypting_fragmenter.cc:118</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html_ae8fd13a579fee2167167bcdbb9637dcc"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#ae8fd13a579fee2167167bcdbb9637dcc">edash_packager::media::mp4::EncryptingFragmenter::AddSample</a></div><div class="ttdeci">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#l00103">encrypting_fragmenter.cc:103</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html_a7917221a0f5093ad6770926ee0ae0ce2"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a7917221a0f5093ad6770926ee0ae0ce2">edash_packager::media::mp4::EncryptingFragmenter::FinalizeFragment</a></div><div class="ttdeci">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#l00148">encrypting_fragmenter.cc:148</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#l00689">box_definitions.h:689</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#l00147">encrypting_fragmenter.cc:147</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#l00152">encrypting_fragmenter.cc:152</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#l00159">encrypting_fragmenter.cc:159</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#l00164">encrypting_fragmenter.cc:164</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html_a2abceb986f85741abf36367a79393098"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a2abceb986f85741abf36367a79393098">edash_packager::media::mp4::EncryptingFragmenter::EncryptingFragmenter</a></div><div class="ttdeci">EncryptingFragmenter(scoped_refptr&lt; StreamInfo &gt; info, TrackFragment *traf, scoped_ptr&lt; EncryptionKey &gt; encryption_key, int64_t clear_time, FourCC protection_scheme, uint8_t crypt_byte_block, uint8_t skip_byte_block)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d41/encrypting__fragmenter_8cc_source.html#l00062">encrypting_fragmenter.cc:62</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:48 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:43 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>

View File

@ -182,7 +182,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:51 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07:46 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>

View File

@ -150,7 +150,7 @@ virtual int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el"
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:53 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:53 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

View File

@ -156,7 +156,7 @@ Protected Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 14 2016 20:07:54 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Apr 15 2016 19:07: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>

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