Generate SDK documents for commit e253747453
This commit is contained in:
parent
44bf3fb91f
commit
c641e49958
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:48 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:48 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -290,7 +290,7 @@ double </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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:48 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:42 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:46 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:42 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:43 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:47 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:45 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:48 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:45 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:43 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:42 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:43 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:45 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:48 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:43 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:42 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -146,119 +146,123 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
|
|||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="stringliteral">"rotation is enabled."</span>);</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> DEFINE_string(protection_scheme,</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="stringliteral">"cenc"</span>,</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="stringliteral">"Choose protection scheme. Currently support cenc and cbc1. "</span></div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="stringliteral">"Default is cenc."</span>);</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">namespace </span>edash_packager {</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="../../db/d09/namespaceedash__packager.html#a95bb52262b99e97fd7f8f9f0075fe1e6"> 65</a></span> <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>  <span class="keywordtype">bool</span> success = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <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>  FLAGS_enable_widevine_encryption || FLAGS_enable_widevine_decryption;</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <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>  <span class="stringliteral">"--enable_widevine_encryption/decryption"</span>;</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <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>  <span class="comment">// enable_widevine_encryption and enable_widevine_descryption.</span></div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">if</span> (!<a class="code" href="../../db/d09/namespaceedash__packager.html#a5836ddf029d56f4a8dd43a7b4d8dbaff">ValidateFlag</a>(<span class="stringliteral">"key_server_url"</span>,</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  FLAGS_key_server_url,</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  widevine_crypto,</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keyword">false</span>,</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  widevine_crypto_label)) {</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  success = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  }</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">if</span> (!<a class="code" href="../../db/d09/namespaceedash__packager.html#a5836ddf029d56f4a8dd43a7b4d8dbaff">ValidateFlag</a>(<span class="stringliteral">"signer"</span>,</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  FLAGS_signer,</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  widevine_crypto,</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">true</span>,</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  widevine_crypto_label)) {</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  success = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  }</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">if</span> (widevine_crypto && FLAGS_signer.empty() &&</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  base::StartsWith(base::StringPiece(FLAGS_key_server_url), <span class="stringliteral">"http"</span>,</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  base::CompareCase::INSENSITIVE_ASCII)) {</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  LOG(WARNING) << <span class="stringliteral">"--signer is likely required with "</span></div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="stringliteral">"--enable_widevine_encryption/decryption."</span>;</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  }</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> widevine_encryption_label[] = <span class="stringliteral">"--enable_widevine_encryption"</span>;</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <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>  <span class="comment">// enable_widevine_encryption.</span></div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">if</span> (!<a class="code" href="../../db/d09/namespaceedash__packager.html#a5836ddf029d56f4a8dd43a7b4d8dbaff">ValidateFlag</a>(<span class="stringliteral">"content_id"</span>,</div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  FLAGS_content_id,</div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  FLAGS_enable_widevine_encryption,</div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keyword">false</span>,</div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  widevine_encryption_label)) {</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  success = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  }</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">if</span> (!<a class="code" href="../../db/d09/namespaceedash__packager.html#a5836ddf029d56f4a8dd43a7b4d8dbaff">ValidateFlag</a>(<span class="stringliteral">"policy"</span>,</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  FLAGS_policy,</div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  FLAGS_enable_widevine_encryption,</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keyword">true</span>,</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  widevine_encryption_label)) {</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  success = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  }</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">if</span> (FLAGS_include_common_pssh && !FLAGS_enable_widevine_encryption) {</div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <a class="code" href="../../db/d09/namespaceedash__packager.html#a64d35a221086349dfbd1acefee2aaef1">PrintError</a>(<span class="stringliteral">"--include_common_pssh is only valid with "</span></div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="stringliteral">"--enable_widevine_encryption"</span>);</div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  success = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  }</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">if</span> (FLAGS_max_sd_pixels <= 0) {</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <a class="code" href="../../db/d09/namespaceedash__packager.html#a64d35a221086349dfbd1acefee2aaef1">PrintError</a>(<span class="stringliteral">"--max_sd_pixels must be positive."</span>);</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  success = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  }</div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> aes = !FLAGS_signer.empty() && FLAGS_rsa_signing_key_path.empty();</div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <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>  <span class="stringliteral">"--signer is specified and exclusive with --rsa_signing_key_path"</span>;</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <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>  <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>  <span class="stringliteral">"aes_signing_key"</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>  success = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  }</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="stringliteral">"Choose protection scheme, 'cenc' or 'cbc1' or pattern-based "</span></div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="stringliteral">"protection schemes 'cens' or 'cbcs'. Note that if a "</span></div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="stringliteral">"pattern-based protection scheme only applies to video stream; "</span></div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="stringliteral">"audio stream will be encrypted using the corresponding "</span></div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="stringliteral">"non-pattern-based encryption schemes, i.e. 'cenc' for 'cens', "</span></div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="stringliteral">"'cbc1' for 'cbcs'."</span>);</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">namespace </span>edash_packager {</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="../../db/d09/namespaceedash__packager.html#a95bb52262b99e97fd7f8f9f0075fe1e6"> 69</a></span> <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>  <span class="keywordtype">bool</span> success = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <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>  FLAGS_enable_widevine_encryption || FLAGS_enable_widevine_decryption;</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <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>  <span class="stringliteral">"--enable_widevine_encryption/decryption"</span>;</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <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>  <span class="comment">// enable_widevine_encryption and enable_widevine_descryption.</span></div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordflow">if</span> (!<a class="code" href="../../db/d09/namespaceedash__packager.html#a5836ddf029d56f4a8dd43a7b4d8dbaff">ValidateFlag</a>(<span class="stringliteral">"key_server_url"</span>,</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  FLAGS_key_server_url,</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  widevine_crypto,</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keyword">false</span>,</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  widevine_crypto_label)) {</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  success = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  }</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">if</span> (!<a class="code" href="../../db/d09/namespaceedash__packager.html#a5836ddf029d56f4a8dd43a7b4d8dbaff">ValidateFlag</a>(<span class="stringliteral">"signer"</span>,</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  FLAGS_signer,</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  widevine_crypto,</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keyword">true</span>,</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  widevine_crypto_label)) {</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  success = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  }</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordflow">if</span> (widevine_crypto && FLAGS_signer.empty() &&</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  base::StartsWith(base::StringPiece(FLAGS_key_server_url), <span class="stringliteral">"http"</span>,</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  base::CompareCase::INSENSITIVE_ASCII)) {</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  LOG(WARNING) << <span class="stringliteral">"--signer is likely required with "</span></div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="stringliteral">"--enable_widevine_encryption/decryption."</span>;</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  }</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> widevine_encryption_label[] = <span class="stringliteral">"--enable_widevine_encryption"</span>;</div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <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>  <span class="comment">// enable_widevine_encryption.</span></div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">if</span> (!<a class="code" href="../../db/d09/namespaceedash__packager.html#a5836ddf029d56f4a8dd43a7b4d8dbaff">ValidateFlag</a>(<span class="stringliteral">"content_id"</span>,</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  FLAGS_content_id,</div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  FLAGS_enable_widevine_encryption,</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keyword">false</span>,</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  widevine_encryption_label)) {</div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  success = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  }</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">if</span> (!<a class="code" href="../../db/d09/namespaceedash__packager.html#a5836ddf029d56f4a8dd43a7b4d8dbaff">ValidateFlag</a>(<span class="stringliteral">"policy"</span>,</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  FLAGS_policy,</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  FLAGS_enable_widevine_encryption,</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keyword">true</span>,</div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  widevine_encryption_label)) {</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  success = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  }</div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">if</span> (FLAGS_include_common_pssh && !FLAGS_enable_widevine_encryption) {</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="../../db/d09/namespaceedash__packager.html#a64d35a221086349dfbd1acefee2aaef1">PrintError</a>(<span class="stringliteral">"--include_common_pssh is only valid with "</span></div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="stringliteral">"--enable_widevine_encryption"</span>);</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  success = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  }</div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">if</span> (FLAGS_max_sd_pixels <= 0) {</div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <a class="code" href="../../db/d09/namespaceedash__packager.html#a64d35a221086349dfbd1acefee2aaef1">PrintError</a>(<span class="stringliteral">"--max_sd_pixels must be positive."</span>);</div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  success = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  }</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> aes = !FLAGS_signer.empty() && FLAGS_rsa_signing_key_path.empty();</div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <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>  <span class="stringliteral">"--signer is specified and exclusive with --rsa_signing_key_path"</span>;</div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <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>  <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>  <span class="stringliteral">"aes_signing_iv"</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>  <span class="stringliteral">"aes_signing_key"</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>  success = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  }</div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> rsa = !FLAGS_signer.empty() && FLAGS_aes_signing_key.empty() &&</div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  FLAGS_aes_signing_iv.empty();</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <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>  <span class="stringliteral">"--signer is specified and exclusive with --aes_signing_key/iv"</span>;</div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <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>  <span class="keywordflow">if</span> (!<a class="code" href="../../db/d09/namespaceedash__packager.html#a5836ddf029d56f4a8dd43a7b4d8dbaff">ValidateFlag</a>(<span class="stringliteral">"rsa_signing_key_path"</span>,</div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  FLAGS_rsa_signing_key_path,</div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  rsa,</div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keyword">true</span>,</div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  rsa_label)) {</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  success = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  }</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">if</span> (!FLAGS_signer.empty() &&</div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  (FLAGS_aes_signing_key.empty() || FLAGS_aes_signing_iv.empty()) &&</div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  FLAGS_rsa_signing_key_path.empty()) {</div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <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>  <span class="stringliteral">"--aes_signing_key/iv or --rsa_signing_key_path is required with "</span></div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="stringliteral">"--signer."</span>);</div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  success = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  }</div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordflow">if</span> (FLAGS_crypto_period_duration < 0) {</div>
|
||||
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <a class="code" href="../../db/d09/namespaceedash__packager.html#a64d35a221086349dfbd1acefee2aaef1">PrintError</a>(<span class="stringliteral">"--crypto_period_duration should not be negative."</span>);</div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  success = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  }</div>
|
||||
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">return</span> success;</div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> }</div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> } <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>  <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>  <span class="stringliteral">"aes_signing_iv"</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>  success = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  }</div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> rsa = !FLAGS_signer.empty() && FLAGS_aes_signing_key.empty() &&</div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  FLAGS_aes_signing_iv.empty();</div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <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>  <span class="stringliteral">"--signer is specified and exclusive with --aes_signing_key/iv"</span>;</div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <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>  <span class="keywordflow">if</span> (!<a class="code" href="../../db/d09/namespaceedash__packager.html#a5836ddf029d56f4a8dd43a7b4d8dbaff">ValidateFlag</a>(<span class="stringliteral">"rsa_signing_key_path"</span>,</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  FLAGS_rsa_signing_key_path,</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  rsa,</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keyword">true</span>,</div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  rsa_label)) {</div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  success = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  }</div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">if</span> (!FLAGS_signer.empty() &&</div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  (FLAGS_aes_signing_key.empty() || FLAGS_aes_signing_iv.empty()) &&</div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  FLAGS_rsa_signing_key_path.empty()) {</div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <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>  <span class="stringliteral">"--aes_signing_key/iv or --rsa_signing_key_path is required with "</span></div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="stringliteral">"--signer."</span>);</div>
|
||||
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  success = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  }</div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
|
||||
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">if</span> (FLAGS_crypto_period_duration < 0) {</div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <a class="code" href="../../db/d09/namespaceedash__packager.html#a64d35a221086349dfbd1acefee2aaef1">PrintError</a>(<span class="stringliteral">"--crypto_period_duration should not be negative."</span>);</div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  success = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  }</div>
|
||||
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">return</span> success;</div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> }</div>
|
||||
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
|
||||
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> } <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 &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 &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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:42 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:42 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:42 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:47 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:48 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:42 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:44 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:48 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:46 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:45 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:42 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:44 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -120,7 +120,7 @@ std::vector< uint8_t > </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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:44 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:47 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:47 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -123,7 +123,7 @@ std::vector< <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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:43 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:46 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:45 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:42 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:43 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:48 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:44 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:46 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:43 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:44 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:43 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -112,7 +112,7 @@ void </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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:44 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:46 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:47 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -123,7 +123,7 @@ std::vector< uint8_t > </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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:45 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:48 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:46 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:43 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:42 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:47 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -116,7 +116,7 @@ scoped_refptr< <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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:48 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:46 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:42 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:48 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:43 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:42 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:42 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:45 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:48 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -98,100 +98,116 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
|
|||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#include "packager/base/logging.h"</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#include "packager/base/stl_util.h"</span></div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include "packager/media/base/aes_decryptor.h"</span></div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="keyword">namespace </span>edash_packager {</div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="keyword">namespace </span>media {</div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> DecryptorSource::DecryptorSource(KeySource* key_source)</div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  : key_source_(key_source) {</div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  CHECK(key_source);</div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> }</div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> DecryptorSource::~DecryptorSource() {</div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  STLDeleteValues(&decryptor_map_);</div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> }</div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <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>  uint8_t* buffer,</div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  <span class="keywordtype">size_t</span> buffer_size) {</div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  DCHECK(decrypt_config);</div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  DCHECK(buffer);</div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <span class="comment">// Get the decryptor object.</span></div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  AesCryptor* decryptor;</div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="keyword">auto</span> found = decryptor_map_.find(decrypt_config->key_id());</div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keywordflow">if</span> (found == decryptor_map_.end()) {</div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <span class="comment">// Create new AesDecryptor based on decryption mode.</span></div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  EncryptionKey key;</div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  Status status(key_source_-><a class="code" href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html#ae1000d8809b293738dca06c1a5f916bf">GetKey</a>(decrypt_config->key_id(), &key));</div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keywordflow">if</span> (!status.ok()) {</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  LOG(ERROR) << <span class="stringliteral">"Error retrieving decryption key: "</span> << status;</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  }</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  scoped_ptr<AesCryptor> aes_decryptor;</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keywordflow">switch</span> (decrypt_config->protection_scheme()) {</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">case</span> FOURCC_cenc:</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  aes_decryptor.reset(<span class="keyword">new</span> AesCtrDecryptor);</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">case</span> FOURCC_cbc1:</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  aes_decryptor.reset(<span class="keyword">new</span> AesCbcDecryptor(kNoPadding, kChainAcrossCalls));</div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordflow">default</span>:</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  LOG(ERROR) << <span class="stringliteral">"Unsupported protection scheme: "</span></div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  << decrypt_config->protection_scheme();</div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  }</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordflow">if</span> (!aes_decryptor->InitializeWithIv(key.key, decrypt_config->iv())) {</div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  LOG(ERROR) << <span class="stringliteral">"Failed to initialize AesDecryptor for decryption."</span>;</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  }</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  decryptor = aes_decryptor.release();</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  decryptor_map_[decrypt_config->key_id()] = decryptor;</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  decryptor = found->second;</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  }</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">if</span> (!decryptor->SetIv(decrypt_config->iv())) {</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  LOG(ERROR) << <span class="stringliteral">"Invalid initialization vector."</span>;</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  }</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">if</span> (decrypt_config->subsamples().empty()) {</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <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>  <span class="keywordflow">if</span> (!decryptor->Crypt(buffer, buffer_size, buffer)) {</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  LOG(ERROR) << <span class="stringliteral">"Error during bulk sample decryption."</span>;</div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include "packager/media/base/aes_pattern_cryptor.h"</span></div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> </div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="keyword">namespace </span>edash_packager {</div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="keyword">namespace </span>media {</div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> DecryptorSource::DecryptorSource(KeySource* key_source)</div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  : key_source_(key_source) {</div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  CHECK(key_source);</div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> }</div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> DecryptorSource::~DecryptorSource() {</div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  STLDeleteValues(&decryptor_map_);</div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> }</div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <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>  uint8_t* buffer,</div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keywordtype">size_t</span> buffer_size) {</div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  DCHECK(decrypt_config);</div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  DCHECK(buffer);</div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  <span class="comment">// Get the decryptor object.</span></div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  AesCryptor* decryptor;</div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keyword">auto</span> found = decryptor_map_.find(decrypt_config->key_id());</div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <span class="keywordflow">if</span> (found == decryptor_map_.end()) {</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="comment">// Create new AesDecryptor based on decryption mode.</span></div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  EncryptionKey key;</div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  Status status(key_source_-><a class="code" href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html#ae1000d8809b293738dca06c1a5f916bf">GetKey</a>(decrypt_config->key_id(), &key));</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="keywordflow">if</span> (!status.ok()) {</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  LOG(ERROR) << <span class="stringliteral">"Error retrieving decryption key: "</span> << status;</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  }</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  scoped_ptr<AesCryptor> aes_decryptor;</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">switch</span> (decrypt_config->protection_scheme()) {</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keywordflow">case</span> FOURCC_cenc:</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  aes_decryptor.reset(<span class="keyword">new</span> AesCtrDecryptor);</div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordflow">case</span> FOURCC_cbc1:</div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  aes_decryptor.reset(<span class="keyword">new</span> AesCbcDecryptor(kNoPadding, kChainAcrossCalls));</div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">case</span> FOURCC_cens:</div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  aes_decryptor.reset(</div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">new</span> AesPatternCryptor(decrypt_config->crypt_byte_block(),</div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  decrypt_config->skip_byte_block(),</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  AesPatternCryptor::kDontUseConstantIv,</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  scoped_ptr<AesCryptor>(<span class="keyword">new</span> AesCtrDecryptor)));</div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keywordflow">case</span> FOURCC_cbcs:</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  aes_decryptor.reset(</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keyword">new</span> AesPatternCryptor(decrypt_config->crypt_byte_block(),</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  decrypt_config->skip_byte_block(),</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  AesPatternCryptor::kUseConstantIv,</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  scoped_ptr<AesCryptor>(<span class="keyword">new</span> AesCbcDecryptor(</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  kNoPadding, kChainAcrossCalls))));</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">default</span>:</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  LOG(ERROR) << <span class="stringliteral">"Unsupported protection scheme: "</span></div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  << decrypt_config->protection_scheme();</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  }</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordflow">if</span> (!aes_decryptor->InitializeWithIv(key.key, decrypt_config->iv())) {</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  LOG(ERROR) << <span class="stringliteral">"Failed to initialize AesDecryptor for decryption."</span>;</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  }</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  }</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="comment">// Subsample decryption.</span></div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keyword">const</span> std::vector<SubsampleEntry>& subsamples = decrypt_config->subsamples();</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  uint8_t* current_ptr = buffer;</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <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>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>& subsample : subsamples) {</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordflow">if</span> ((current_ptr + subsample.clear_bytes + subsample.cipher_bytes) ></div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  buffer_end) {</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  LOG(ERROR) << <span class="stringliteral">"Subsamples overflow sample buffer."</span>;</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  }</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  current_ptr += subsample.clear_bytes;</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">if</span> (!decryptor->Crypt(current_ptr, subsample.cipher_bytes, current_ptr)) {</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  LOG(ERROR) << <span class="stringliteral">"Error decrypting subsample buffer."</span>;</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  decryptor = aes_decryptor.release();</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  decryptor_map_[decrypt_config->key_id()] = decryptor;</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  decryptor = found->second;</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  }</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">if</span> (!decryptor->SetIv(decrypt_config->iv())) {</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  LOG(ERROR) << <span class="stringliteral">"Invalid initialization vector."</span>;</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  }</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">if</span> (decrypt_config->subsamples().empty()) {</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <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>  <span class="keywordflow">if</span> (!decryptor->Crypt(buffer, buffer_size, buffer)) {</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  LOG(ERROR) << <span class="stringliteral">"Error during bulk sample decryption."</span>;</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  }</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  }</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  current_ptr += subsample.cipher_bytes;</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  }</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> }</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> } <span class="comment">// namespace media</span></div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> } <span class="comment">// namespace edash_packager</span></div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="comment">// Subsample decryption.</span></div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keyword">const</span> std::vector<SubsampleEntry>& subsamples = decrypt_config->subsamples();</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  uint8_t* current_ptr = buffer;</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <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>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>& subsample : subsamples) {</div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">if</span> ((current_ptr + subsample.clear_bytes + subsample.cipher_bytes) ></div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  buffer_end) {</div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  LOG(ERROR) << <span class="stringliteral">"Subsamples overflow sample buffer."</span>;</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  }</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  current_ptr += subsample.clear_bytes;</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">if</span> (!decryptor->Crypt(current_ptr, subsample.cipher_bytes, current_ptr)) {</div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  LOG(ERROR) << <span class="stringliteral">"Error decrypting subsample buffer."</span>;</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  }</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  current_ptr += subsample.cipher_bytes;</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  }</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> }</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> } <span class="comment">// namespace media</span></div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> } <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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:42 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:47 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:43 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:46 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:42 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:43 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:42 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:43 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:42 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -145,7 +145,7 @@ static const int </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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:45 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -130,7 +130,7 @@ std::string </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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:43 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:47 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:42 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:43 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:46 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:46 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:42 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:47 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -179,7 +179,7 @@ FourCC </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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:48 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:43 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:44 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:48 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:43 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:44 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -175,7 +175,7 @@ uint32_t </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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:47 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:47 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:43 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:45 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -242,7 +242,7 @@ false if <em>max_offset</em> > <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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:44 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:43 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:42 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:44 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:48 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -114,78 +114,84 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
|
|||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </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> <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>  <span class="keyword">public</span>:</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a162003f797e713059d2c32b0c2998fdc">EncryptingFragmenter</a>(scoped_refptr<StreamInfo> info,</div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <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>  scoped_ptr<EncryptionKey> encryption_key,</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  int64_t clear_time,</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  FourCC protection_scheme);</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  ~<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> </div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</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#ae8fd13a579fee2167167bcdbb9637dcc">AddSample</a>(scoped_refptr<MediaSample> sample) <span class="keyword">override</span>;</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</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#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>  <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> </div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keyword">protected</span>:</div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <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>  <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> </div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</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#a5ed5486f22438e20d0d41524a47f4dd3">CreateEncryptor</a>();</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <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>  <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>  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> </div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordtype">void</span> set_encryption_key(scoped_ptr<EncryptionKey> encryption_key) {</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  encryption_key_ = encryption_key.Pass();</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  }</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keyword">private</span>:</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <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>  <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> EncryptSample(scoped_refptr<MediaSample> sample);</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a2abceb986f85741abf36367a79393098">EncryptingFragmenter</a>(scoped_refptr<StreamInfo> info,</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <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>  scoped_ptr<EncryptionKey> encryption_key,</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  int64_t clear_time,</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  FourCC protection_scheme,</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  uint8_t crypt_byte_block,</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  uint8_t skip_byte_block);</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  ~<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> </div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</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#ae8fd13a579fee2167167bcdbb9637dcc">AddSample</a>(scoped_refptr<MediaSample> sample) <span class="keyword">override</span>;</div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</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#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>  <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> </div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keyword">protected</span>:</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <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>  <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> </div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</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#a5ed5486f22438e20d0d41524a47f4dd3">CreateEncryptor</a>();</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <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>  <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>  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>  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>  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> </div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="comment">// Should we enable subsample encryption?</span></div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordtype">bool</span> IsSubsampleEncryptionRequired();</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  scoped_refptr<StreamInfo> info_;</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  scoped_ptr<EncryptionKey> encryption_key_;</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  scoped_ptr<AesCryptor> encryptor_;</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <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>  <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>  <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>  <span class="keyword">const</span> uint8_t nalu_length_size_;</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">const</span> VideoCodec video_codec_;</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  int64_t clear_time_;</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  FourCC protection_scheme_;</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  scoped_ptr<VPxParser> vpx_parser_;</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  scoped_ptr<VideoSliceHeaderParser> header_parser_;</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  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> };</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> } <span class="comment">// namespace mp4</span></div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> } <span class="comment">// namespace media</span></div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> } <span class="comment">// namespace edash_packager</span></div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordtype">void</span> set_encryption_key(scoped_ptr<EncryptionKey> encryption_key) {</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  encryption_key_ = encryption_key.Pass();</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  }</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keyword">private</span>:</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <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>  <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> EncryptSample(scoped_refptr<MediaSample> sample);</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="comment">// Should we enable subsample encryption?</span></div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordtype">bool</span> IsSubsampleEncryptionRequired();</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  scoped_refptr<StreamInfo> info_;</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  scoped_ptr<EncryptionKey> encryption_key_;</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  scoped_ptr<AesCryptor> encryptor_;</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <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>  <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>  <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>  <span class="keyword">const</span> uint8_t nalu_length_size_;</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keyword">const</span> VideoCodec video_codec_;</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  int64_t clear_time_;</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keyword">const</span> FourCC protection_scheme_;</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keyword">const</span> uint8_t crypt_byte_block_;</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keyword">const</span> uint8_t skip_byte_block_;</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="preprocessor">#endif // MEDIA_FORMATS_MP4_ENCRYPTING_FRAGMENTER_H_</span></div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  scoped_ptr<VPxParser> vpx_parser_;</div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  scoped_ptr<VideoSliceHeaderParser> header_parser_;</div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  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> };</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> } <span class="comment">// namespace mp4</span></div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> } <span class="comment">// namespace media</span></div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> } <span class="comment">// namespace edash_packager</span></div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <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< StreamInfo > info, TrackFragment *traf, scoped_ptr< EncryptionKey > 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< MediaSample > 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< MediaSample > 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< StreamInfo > info, TrackFragment *traf, scoped_ptr< EncryptionKey > 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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:43 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:46 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -150,7 +150,7 @@ virtual int64_t </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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:48 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:47 for DASH Media Packaging SDK by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.6
|
||||
</small></address>
|
||||
|
|
|
@ -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  <a href="http://www.doxygen.org/index.html">
|
||||
Generated on Fri Apr 15 2016 19:07:48 for DASH Media Packaging SDK by  <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
Loading…
Reference in New Issue