Generate SDK documents for commit 2ac57bf9b9

This commit is contained in:
Widevine Buildbot 2016-04-12 23:13:12 +00:00
parent b7ed5b966b
commit bc41bc9df6
909 changed files with 4044 additions and 4058 deletions

View File

@ -359,7 +359,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:56 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:10 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -176,7 +176,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:56 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:10 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -290,7 +290,7 @@ double&#160;</td><td class="memItemRight" valign="bottom"><b>cluster_length_sec<
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:56 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:10 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:54 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:07 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -149,7 +149,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:51 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:54 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:07 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:06 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
<tr><td class="entry"><a class="el" href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html#a789a8b0449e433076dfc0c2344d32280">GetIndexRange</a>(size_t *offset, size_t *size) override</td><td class="entry"><a class="el" href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html">edash_packager::media::mp4::MultiSegmentSegmenter</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html#a88be93ad6cce209ceaf086ab98009516">GetInitRange</a>(size_t *offset, size_t *size) override</td><td class="entry"><a class="el" href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html">edash_packager::media::mp4::MultiSegmentSegmenter</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>GetReferenceTimeScale</b>() const (defined in <a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a>)</td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#ae35266f50e16bef0443aa909223bd3d1">Initialize</a>(const std::vector&lt; MediaStream * &gt; &amp;streams, MuxerListener *muxer_listener, ProgressListener *progress_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds, double crypto_period_duration_in_seconds, EncryptionMode encryption_mode)</td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html#af6ec4732a1d6addb755c85e0fface542">Initialize</a>(const std::vector&lt; MediaStream * &gt; &amp;streams, MuxerListener *muxer_listener, ProgressListener *progress_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds, double crypto_period_duration_in_seconds, FourCC protection_scheme)</td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>moov</b>() (defined in <a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a>)</td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>MultiSegmentSegmenter</b>(const MuxerOptions &amp;options, scoped_ptr&lt; FileType &gt; ftyp, scoped_ptr&lt; Movie &gt; moov) (defined in <a class="el" href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html">edash_packager::media::mp4::MultiSegmentSegmenter</a>)</td><td class="entry"><a class="el" href="../../dc/d7a/classedash__packager_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html">edash_packager::media::mp4::MultiSegmentSegmenter</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>muxer_listener</b>() (defined in <a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a>)</td><td class="entry"><a class="el" href="../../dc/de1/classedash__packager_1_1media_1_1mp4_1_1Segmenter.html">edash_packager::media::mp4::Segmenter</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
@ -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 Tue Apr 12 2016 21:32:55 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:09 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -148,7 +148,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -286,7 +286,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:06 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:56 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:10 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -313,7 +313,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -101,87 +101,92 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;packager/base/macros.h&quot;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;packager/base/memory/scoped_ptr.h&quot;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="keyword">struct </span>aes_key_st;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>aes_key_st AES_KEY;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment">// AES cryptor interface. Inherited by various AES encryptor and decryptor</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">// implementations.</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html"> 24</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">AesCryptor</a> {</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">AesCryptor</a>();</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">AesCryptor</a>();</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#abf57fe34c90b57abdcc33230f022adbe">InitializeWithIv</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; key,</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; <a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a049b4b415e44428c4543f7e2f7b36b34">iv</a>) = 0;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordtype">bool</span> Crypt(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; text,</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; std::vector&lt;uint8_t&gt;* crypt_text);</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordtype">bool</span> Crypt(<span class="keyword">const</span> std::string&amp; text, std::string* crypt_text);</div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a7e2bedb13dbc242a1a4ede6ad500068c"> 43</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a7e2bedb13dbc242a1a4ede6ad500068c">Crypt</a>(<span class="keyword">const</span> uint8_t* text, <span class="keywordtype">size_t</span> text_size, uint8_t* crypt_text) {</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordtype">size_t</span> crypt_text_size = text_size;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">return</span> CryptInternal(text, text_size, crypt_text, &amp;crypt_text_size);</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; }</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a04a5cce8c499ed9a41da6c8f067c63ed">SetIv</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; iv) = 0;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#aa1a444b41561c6c249c57b8390364f85">UpdateIv</a>() = 0;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a049b4b415e44428c4543f7e2f7b36b34"> 59</a></span>&#160; <span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; <a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a049b4b415e44428c4543f7e2f7b36b34">iv</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> iv_; }</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordtype">void</span> set_iv(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; iv) { iv_ = <a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a049b4b415e44428c4543f7e2f7b36b34">iv</a>; }</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keyword">const</span> AES_KEY* aes_key()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> aes_key_.get(); }</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; AES_KEY* mutable_aes_key() { <span class="keywordflow">return</span> aes_key_.get(); }</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="comment">// Internal implementation of crypt function.</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="comment">// |text| points to the input text.</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="comment">// |text_size| is the size of input text.</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="comment">// |crypt_text| points to the output encrypted or decrypted text, depends on</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="comment">// whether it is an encryption or decryption. |text| and |crypt_text| can</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="comment">// point to the same address for in place encryption/decryption.</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="comment">// |crypt_text_size| contains the size of |crypt_text| and it will be updated</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="comment">// to contain the actual encrypted/decrypted size for |crypt_text| on success.</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="comment">// Return false if the input |crypt_text_size| is not large enough to hold the</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="comment">// output |crypt_text| or if there is any error in encryption/decryption.</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> CryptInternal(<span class="keyword">const</span> uint8_t* text,</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordtype">size_t</span> text_size,</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; uint8_t* crypt_text,</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordtype">size_t</span>* crypt_text_size) = 0;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="comment">// |size| specifies the input text size.</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="comment">// Return the number of padding bytes needed.</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="comment">// Note: No paddings should be needed except for pkcs5-cbc encryptor.</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">size_t</span> NumPaddingBytes(<span class="keywordtype">size_t</span> size) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="comment">// Initialization vector, with size 8 or 16.</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; std::vector&lt;uint8_t&gt; iv_;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="comment">// Openssl AES_KEY.</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; scoped_ptr&lt;AES_KEY&gt; aes_key_;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; DISALLOW_COPY_AND_ASSIGN(AesCryptor);</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;};</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/fourccs.h&quot;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="keyword">struct </span>aes_key_st;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>aes_key_st AES_KEY;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">// AES cryptor interface. Inherited by various AES encryptor and decryptor</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// implementations.</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html"> 25</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">AesCryptor</a> {</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">AesCryptor</a>();</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">AesCryptor</a>();</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#abf57fe34c90b57abdcc33230f022adbe">InitializeWithIv</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; key,</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; <a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a049b4b415e44428c4543f7e2f7b36b34">iv</a>) = 0;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordtype">bool</span> Crypt(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; text,</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; std::vector&lt;uint8_t&gt;* crypt_text);</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordtype">bool</span> Crypt(<span class="keyword">const</span> std::string&amp; text, std::string* crypt_text);</div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a7e2bedb13dbc242a1a4ede6ad500068c"> 44</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a7e2bedb13dbc242a1a4ede6ad500068c">Crypt</a>(<span class="keyword">const</span> uint8_t* text, <span class="keywordtype">size_t</span> text_size, uint8_t* crypt_text) {</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordtype">size_t</span> crypt_text_size = text_size;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">return</span> CryptInternal(text, text_size, crypt_text, &amp;crypt_text_size);</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; }</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a04a5cce8c499ed9a41da6c8f067c63ed">SetIv</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; iv) = 0;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#aa1a444b41561c6c249c57b8390364f85">UpdateIv</a>() = 0;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a049b4b415e44428c4543f7e2f7b36b34"> 60</a></span>&#160; <span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; <a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a049b4b415e44428c4543f7e2f7b36b34">iv</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> iv_; }</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a0fccd9fe2270f0c584ff1f6c5dd6bd91">GenerateRandomIv</a>(FourCC protection_scheme,</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; std::vector&lt;uint8_t&gt;* iv);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordtype">void</span> set_iv(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; iv) { iv_ = <a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a049b4b415e44428c4543f7e2f7b36b34">iv</a>; }</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keyword">const</span> AES_KEY* aes_key()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> aes_key_.get(); }</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; AES_KEY* mutable_aes_key() { <span class="keywordflow">return</span> aes_key_.get(); }</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="comment">// Internal implementation of crypt function.</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="comment">// |text| points to the input text.</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="comment">// |text_size| is the size of input text.</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="comment">// |crypt_text| points to the output encrypted or decrypted text, depends on</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="comment">// whether it is an encryption or decryption. |text| and |crypt_text| can</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="comment">// point to the same address for in place encryption/decryption.</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="comment">// |crypt_text_size| contains the size of |crypt_text| and it will be updated</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="comment">// to contain the actual encrypted/decrypted size for |crypt_text| on success.</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="comment">// Return false if the input |crypt_text_size| is not large enough to hold the</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="comment">// output |crypt_text| or if there is any error in encryption/decryption.</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> CryptInternal(<span class="keyword">const</span> uint8_t* text,</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordtype">size_t</span> text_size,</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; uint8_t* crypt_text,</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordtype">size_t</span>* crypt_text_size) = 0;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="comment">// |size| specifies the input text size.</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="comment">// Return the number of padding bytes needed.</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="comment">// Note: No paddings should be needed except for pkcs5-cbc encryptor.</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">size_t</span> NumPaddingBytes(<span class="keywordtype">size_t</span> size) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="preprocessor">#endif // PACKAGER_MEDIA_BASE_AES_CRYPTOR_H_</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</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#l00024">aes_cryptor.h:24</a></div></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="comment">// Initialization vector, with size 8 or 16.</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; std::vector&lt;uint8_t&gt; iv_;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="comment">// Openssl AES_KEY.</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; scoped_ptr&lt;AES_KEY&gt; aes_key_;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; DISALLOW_COPY_AND_ASSIGN(AesCryptor);</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;};</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="preprocessor">#endif // PACKAGER_MEDIA_BASE_AES_CRYPTOR_H_</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;</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_1AesCryptor_html_a0fccd9fe2270f0c584ff1f6c5dd6bd91"><div class="ttname"><a href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a0fccd9fe2270f0c584ff1f6c5dd6bd91">edash_packager::media::AesCryptor::GenerateRandomIv</a></div><div class="ttdeci">static bool GenerateRandomIv(FourCC protection_scheme, std::vector&lt; uint8_t &gt; *iv)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d55/aes__cryptor_8cc_source.html#l00058">aes_cryptor.cc:58</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCryptor_html_a04a5cce8c499ed9a41da6c8f067c63ed"><div class="ttname"><a href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a04a5cce8c499ed9a41da6c8f067c63ed">edash_packager::media::AesCryptor::SetIv</a></div><div class="ttdeci">virtual bool SetIv(const std::vector&lt; uint8_t &gt; &amp;iv)=0</div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCryptor_html_abf57fe34c90b57abdcc33230f022adbe"><div class="ttname"><a href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#abf57fe34c90b57abdcc33230f022adbe">edash_packager::media::AesCryptor::InitializeWithIv</a></div><div class="ttdeci">virtual bool InitializeWithIv(const std::vector&lt; uint8_t &gt; &amp;key, const std::vector&lt; uint8_t &gt; &amp;iv)=0</div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCryptor_html_aa1a444b41561c6c249c57b8390364f85"><div class="ttname"><a href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#aa1a444b41561c6c249c57b8390364f85">edash_packager::media::AesCryptor::UpdateIv</a></div><div class="ttdeci">virtual void UpdateIv()=0</div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCryptor_html_a049b4b415e44428c4543f7e2f7b36b34"><div class="ttname"><a href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a049b4b415e44428c4543f7e2f7b36b34">edash_packager::media::AesCryptor::iv</a></div><div class="ttdeci">const std::vector&lt; uint8_t &gt; &amp; iv() const </div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d42/aes__cryptor_8h_source.html#l00059">aes_cryptor.h:59</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCryptor_html_a7e2bedb13dbc242a1a4ede6ad500068c"><div class="ttname"><a href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a7e2bedb13dbc242a1a4ede6ad500068c">edash_packager::media::AesCryptor::Crypt</a></div><div class="ttdeci">bool Crypt(const uint8_t *text, size_t text_size, uint8_t *crypt_text)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d42/aes__cryptor_8h_source.html#l00043">aes_cryptor.h:43</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCryptor_html_a049b4b415e44428c4543f7e2f7b36b34"><div class="ttname"><a href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a049b4b415e44428c4543f7e2f7b36b34">edash_packager::media::AesCryptor::iv</a></div><div class="ttdeci">const std::vector&lt; uint8_t &gt; &amp; iv() const </div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d42/aes__cryptor_8h_source.html#l00060">aes_cryptor.h:60</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1AesCryptor_html_a7e2bedb13dbc242a1a4ede6ad500068c"><div class="ttname"><a href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a7e2bedb13dbc242a1a4ede6ad500068c">edash_packager::media::AesCryptor::Crypt</a></div><div class="ttdeci">bool Crypt(const uint8_t *text, size_t text_size, uint8_t *crypt_text)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d42/aes__cryptor_8h_source.html#l00044">aes_cryptor.h:44</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -258,7 +258,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 Tue Apr 12 2016 21:32:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -110,134 +110,136 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; FOURCC_avcC = 0x61766343,</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; FOURCC_bloc = 0x626C6F63,</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; FOURCC_cbc1 = 0x63626331,</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; FOURCC_cenc = 0x63656e63,</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; FOURCC_co64 = 0x636f3634,</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; FOURCC_ctim = 0x6374696d,</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; FOURCC_ctts = 0x63747473,</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; FOURCC_dac3 = 0x64616333,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; FOURCC_dash = 0x64617368,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; FOURCC_ddts = 0x64647473,</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; FOURCC_dec3 = 0x64656333,</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; FOURCC_dinf = 0x64696e66,</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; FOURCC_dref = 0x64726566,</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; FOURCC_dtsc = 0x64747363,</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; FOURCC_dtse = 0x64747365,</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; FOURCC_dtsh = 0x64747368,</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; FOURCC_dtsl = 0x6474736c,</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; FOURCC_dtsm = 0x6474732d, <span class="comment">// &quot;dts-&quot;</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; FOURCC_dtsp = 0x6474732b, <span class="comment">// &quot;dts+&quot;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; FOURCC_ec_3 = 0x65632d33, <span class="comment">// &quot;ec-3&quot;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; FOURCC_edts = 0x65647473,</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; FOURCC_elst = 0x656c7374,</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; FOURCC_enca = 0x656e6361,</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; FOURCC_encv = 0x656e6376,</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; FOURCC_esds = 0x65736473,</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; FOURCC_free = 0x66726565,</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; FOURCC_frma = 0x66726d61,</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; FOURCC_ftyp = 0x66747970,</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; FOURCC_hdlr = 0x68646c72,</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; FOURCC_hev1 = 0x68657631,</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; FOURCC_hint = 0x68696e74,</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; FOURCC_hvc1 = 0x68766331,</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; FOURCC_hvcC = 0x68766343,</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; FOURCC_iden = 0x6964656e,</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; FOURCC_iso6 = 0x69736f36,</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; FOURCC_iods = 0x696f6473,</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; FOURCC_mdat = 0x6d646174,</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; FOURCC_mdhd = 0x6d646864,</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; FOURCC_mdia = 0x6d646961,</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; FOURCC_meco = 0x6d65636f,</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; FOURCC_mehd = 0x6d656864,</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; FOURCC_meta = 0x6d657461,</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; FOURCC_mfhd = 0x6d666864,</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; FOURCC_mfra = 0x6d667261,</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; FOURCC_minf = 0x6d696e66,</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; FOURCC_moof = 0x6d6f6f66,</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; FOURCC_moov = 0x6d6f6f76,</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; FOURCC_mp41 = 0x6d703431,</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; FOURCC_mp4a = 0x6d703461,</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; FOURCC_mp4v = 0x6d703476,</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; FOURCC_mvex = 0x6d766578,</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; FOURCC_mvhd = 0x6d766864,</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; FOURCC_pasp = 0x70617370,</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; FOURCC_payl = 0x7061796c,</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; FOURCC_pdin = 0x7064696e,</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; FOURCC_prft = 0x70726674,</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; FOURCC_pssh = 0x70737368,</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; FOURCC_saio = 0x7361696f,</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; FOURCC_saiz = 0x7361697a,</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; FOURCC_sbgp = 0x73626770,</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; FOURCC_schi = 0x73636869,</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; FOURCC_schm = 0x7363686d,</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; FOURCC_sdtp = 0x73647470,</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; FOURCC_seig = 0x73656967,</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; FOURCC_senc = 0x73656e63,</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; FOURCC_sgpd = 0x73677064,</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; FOURCC_sidx = 0x73696478,</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; FOURCC_sinf = 0x73696e66,</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; FOURCC_skip = 0x736b6970,</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; FOURCC_smhd = 0x736d6864,</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; FOURCC_soun = 0x736f756e,</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; FOURCC_ssix = 0x73736978,</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; FOURCC_stbl = 0x7374626c,</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; FOURCC_stco = 0x7374636f,</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; FOURCC_sthd = 0x73746864,</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; FOURCC_stsc = 0x73747363,</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; FOURCC_stsd = 0x73747364,</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; FOURCC_stss = 0x73747373,</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; FOURCC_stsz = 0x7374737a,</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; FOURCC_sttg = 0x73747467,</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; FOURCC_stts = 0x73747473,</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; FOURCC_styp = 0x73747970,</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; FOURCC_stz2 = 0x73747a32,</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; FOURCC_subt = 0x73756274,</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; FOURCC_tenc = 0x74656e63,</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; FOURCC_text = 0x74657874,</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; FOURCC_tfdt = 0x74666474,</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; FOURCC_tfhd = 0x74666864,</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; FOURCC_tkhd = 0x746b6864,</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; FOURCC_traf = 0x74726166,</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; FOURCC_trak = 0x7472616b,</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; FOURCC_trex = 0x74726578,</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; FOURCC_trun = 0x7472756e,</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; FOURCC_udta = 0x75647461,</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; FOURCC_url = 0x75726c20, <span class="comment">// &quot;url &quot;</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; FOURCC_urn = 0x75726e20, <span class="comment">// &quot;urn &quot;</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; FOURCC_uuid = 0x75756964,</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; FOURCC_vide = 0x76696465,</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; FOURCC_vlab = 0x766c6162,</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; FOURCC_vmhd = 0x766d6864,</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; FOURCC_vp08 = 0x76703038,</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; FOURCC_vp09 = 0x76703039,</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; FOURCC_vp10 = 0x76703130,</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; FOURCC_vpcC = 0x76706343,</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; FOURCC_vsid = 0x76736964,</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; FOURCC_vttC = 0x76747443,</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; FOURCC_vtta = 0x76747461,</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; FOURCC_vttc = 0x76747463,</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; FOURCC_vtte = 0x76747465,</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; FOURCC_wide = 0x77696465,</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; FOURCC_wvtt = 0x77767474,</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;};</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="keyword">const</span> <span class="keyword">inline</span> std::string FourCCToString(FourCC fourcc) {</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordtype">char</span> buf[5];</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; buf[0] = (fourcc &gt;&gt; 24) &amp; 0xff;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; buf[1] = (fourcc &gt;&gt; 16) &amp; 0xff;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; buf[2] = (fourcc &gt;&gt; 8) &amp; 0xff;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; buf[3] = (fourcc) &amp; 0xff;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; buf[4] = 0;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">return</span> std::string(buf);</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;}</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="preprocessor">#endif // PACKAGER_MEDIA_BASE_FOURCCS_H_</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; FOURCC_cbcs = 0x63626373,</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; FOURCC_cenc = 0x63656e63,</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; FOURCC_cens = 0x63656e73,</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; FOURCC_co64 = 0x636f3634,</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; FOURCC_ctim = 0x6374696d,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; FOURCC_ctts = 0x63747473,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; FOURCC_dac3 = 0x64616333,</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; FOURCC_dash = 0x64617368,</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; FOURCC_ddts = 0x64647473,</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; FOURCC_dec3 = 0x64656333,</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; FOURCC_dinf = 0x64696e66,</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; FOURCC_dref = 0x64726566,</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; FOURCC_dtsc = 0x64747363,</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; FOURCC_dtse = 0x64747365,</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; FOURCC_dtsh = 0x64747368,</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; FOURCC_dtsl = 0x6474736c,</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; FOURCC_dtsm = 0x6474732d, <span class="comment">// &quot;dts-&quot;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; FOURCC_dtsp = 0x6474732b, <span class="comment">// &quot;dts+&quot;</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; FOURCC_ec_3 = 0x65632d33, <span class="comment">// &quot;ec-3&quot;</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; FOURCC_edts = 0x65647473,</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; FOURCC_elst = 0x656c7374,</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; FOURCC_enca = 0x656e6361,</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; FOURCC_encv = 0x656e6376,</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; FOURCC_esds = 0x65736473,</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; FOURCC_free = 0x66726565,</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; FOURCC_frma = 0x66726d61,</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; FOURCC_ftyp = 0x66747970,</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; FOURCC_hdlr = 0x68646c72,</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; FOURCC_hev1 = 0x68657631,</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; FOURCC_hint = 0x68696e74,</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; FOURCC_hvc1 = 0x68766331,</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; FOURCC_hvcC = 0x68766343,</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; FOURCC_iden = 0x6964656e,</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; FOURCC_iso6 = 0x69736f36,</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; FOURCC_iods = 0x696f6473,</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; FOURCC_mdat = 0x6d646174,</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; FOURCC_mdhd = 0x6d646864,</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; FOURCC_mdia = 0x6d646961,</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; FOURCC_meco = 0x6d65636f,</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; FOURCC_mehd = 0x6d656864,</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; FOURCC_meta = 0x6d657461,</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; FOURCC_mfhd = 0x6d666864,</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; FOURCC_mfra = 0x6d667261,</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; FOURCC_minf = 0x6d696e66,</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; FOURCC_moof = 0x6d6f6f66,</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; FOURCC_moov = 0x6d6f6f76,</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; FOURCC_mp41 = 0x6d703431,</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; FOURCC_mp4a = 0x6d703461,</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; FOURCC_mp4v = 0x6d703476,</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; FOURCC_mvex = 0x6d766578,</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; FOURCC_mvhd = 0x6d766864,</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; FOURCC_pasp = 0x70617370,</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; FOURCC_payl = 0x7061796c,</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; FOURCC_pdin = 0x7064696e,</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; FOURCC_prft = 0x70726674,</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; FOURCC_pssh = 0x70737368,</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; FOURCC_saio = 0x7361696f,</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; FOURCC_saiz = 0x7361697a,</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; FOURCC_sbgp = 0x73626770,</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; FOURCC_schi = 0x73636869,</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; FOURCC_schm = 0x7363686d,</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; FOURCC_sdtp = 0x73647470,</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; FOURCC_seig = 0x73656967,</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; FOURCC_senc = 0x73656e63,</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; FOURCC_sgpd = 0x73677064,</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; FOURCC_sidx = 0x73696478,</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; FOURCC_sinf = 0x73696e66,</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; FOURCC_skip = 0x736b6970,</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; FOURCC_smhd = 0x736d6864,</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; FOURCC_soun = 0x736f756e,</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; FOURCC_ssix = 0x73736978,</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; FOURCC_stbl = 0x7374626c,</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; FOURCC_stco = 0x7374636f,</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; FOURCC_sthd = 0x73746864,</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; FOURCC_stsc = 0x73747363,</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; FOURCC_stsd = 0x73747364,</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; FOURCC_stss = 0x73747373,</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; FOURCC_stsz = 0x7374737a,</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; FOURCC_sttg = 0x73747467,</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; FOURCC_stts = 0x73747473,</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; FOURCC_styp = 0x73747970,</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; FOURCC_stz2 = 0x73747a32,</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; FOURCC_subt = 0x73756274,</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; FOURCC_tenc = 0x74656e63,</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; FOURCC_text = 0x74657874,</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; FOURCC_tfdt = 0x74666474,</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; FOURCC_tfhd = 0x74666864,</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; FOURCC_tkhd = 0x746b6864,</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; FOURCC_traf = 0x74726166,</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; FOURCC_trak = 0x7472616b,</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; FOURCC_trex = 0x74726578,</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; FOURCC_trun = 0x7472756e,</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; FOURCC_udta = 0x75647461,</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; FOURCC_url = 0x75726c20, <span class="comment">// &quot;url &quot;</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; FOURCC_urn = 0x75726e20, <span class="comment">// &quot;urn &quot;</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; FOURCC_uuid = 0x75756964,</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; FOURCC_vide = 0x76696465,</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; FOURCC_vlab = 0x766c6162,</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; FOURCC_vmhd = 0x766d6864,</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; FOURCC_vp08 = 0x76703038,</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; FOURCC_vp09 = 0x76703039,</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; FOURCC_vp10 = 0x76703130,</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; FOURCC_vpcC = 0x76706343,</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; FOURCC_vsid = 0x76736964,</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; FOURCC_vttC = 0x76747443,</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; FOURCC_vtta = 0x76747461,</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; FOURCC_vttc = 0x76747463,</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; FOURCC_vtte = 0x76747465,</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; FOURCC_wide = 0x77696465,</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; FOURCC_wvtt = 0x77767474,</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;};</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="keyword">const</span> <span class="keyword">inline</span> std::string FourCCToString(FourCC fourcc) {</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordtype">char</span> buf[5];</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; buf[0] = (fourcc &gt;&gt; 24) &amp; 0xff;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; buf[1] = (fourcc &gt;&gt; 16) &amp; 0xff;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; buf[2] = (fourcc &gt;&gt; 8) &amp; 0xff;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; buf[3] = (fourcc) &amp; 0xff;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; buf[4] = 0;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">return</span> std::string(buf);</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;}</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="preprocessor">#endif // PACKAGER_MEDIA_BASE_FOURCCS_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -224,7 +224,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:54 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:07 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:55 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:08 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -101,20 +101,21 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
<tr bgcolor="#f0f0f0"><td class="entry"><b>Crypt</b>(const std::string &amp;text, std::string *crypt_text) (defined in <a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">edash_packager::media::AesCryptor</a>)</td><td class="entry"><a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">edash_packager::media::AesCryptor</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a7e2bedb13dbc242a1a4ede6ad500068c">Crypt</a>(const uint8_t *text, size_t text_size, uint8_t *crypt_text)</td><td class="entry"><a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">edash_packager::media::AesCryptor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>CryptInternal</b>(const uint8_t *text, size_t text_size, uint8_t *crypt_text, size_t *crypt_text_size) override (defined in <a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html">edash_packager::media::AesPatternCryptor</a>)</td><td class="entry"><a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html">edash_packager::media::AesPatternCryptor</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html#a79f34ea0e31d780356ec5cca6b8b8516">InitializeWithIv</a>(const std::vector&lt; uint8_t &gt; &amp;key, const std::vector&lt; uint8_t &gt; &amp;iv) override</td><td class="entry"><a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html">edash_packager::media::AesPatternCryptor</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a049b4b415e44428c4543f7e2f7b36b34">iv</a>() const </td><td class="entry"><a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">edash_packager::media::AesCryptor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>kDontUseConstantIv</b> enum value (defined in <a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html">edash_packager::media::AesPatternCryptor</a>)</td><td class="entry"><a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html">edash_packager::media::AesPatternCryptor</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>kUseConstantIv</b> enum value (defined in <a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html">edash_packager::media::AesPatternCryptor</a>)</td><td class="entry"><a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html">edash_packager::media::AesPatternCryptor</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mutable_aes_key</b>() (defined in <a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">edash_packager::media::AesCryptor</a>)</td><td class="entry"><a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">edash_packager::media::AesCryptor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>set_iv</b>(const std::vector&lt; uint8_t &gt; &amp;iv) (defined in <a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">edash_packager::media::AesCryptor</a>)</td><td class="entry"><a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">edash_packager::media::AesCryptor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html#af26fd00a479bd109a22cdd7db3d9b37e">SetIv</a>(const std::vector&lt; uint8_t &gt; &amp;iv) override</td><td class="entry"><a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html">edash_packager::media::AesPatternCryptor</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html#a09864c8d88cf952dbc69589ca48cb41b">UpdateIv</a>() override</td><td class="entry"><a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html">edash_packager::media::AesPatternCryptor</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~AesCryptor</b>() (defined in <a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">edash_packager::media::AesCryptor</a>)</td><td class="entry"><a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">edash_packager::media::AesCryptor</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~AesPatternCryptor</b>() override (defined in <a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html">edash_packager::media::AesPatternCryptor</a>)</td><td class="entry"><a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html">edash_packager::media::AesPatternCryptor</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a0fccd9fe2270f0c584ff1f6c5dd6bd91">GenerateRandomIv</a>(FourCC protection_scheme, std::vector&lt; uint8_t &gt; *iv)</td><td class="entry"><a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">edash_packager::media::AesCryptor</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html#a79f34ea0e31d780356ec5cca6b8b8516">InitializeWithIv</a>(const std::vector&lt; uint8_t &gt; &amp;key, const std::vector&lt; uint8_t &gt; &amp;iv) override</td><td class="entry"><a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html">edash_packager::media::AesPatternCryptor</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html#a049b4b415e44428c4543f7e2f7b36b34">iv</a>() const </td><td class="entry"><a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">edash_packager::media::AesCryptor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>kDontUseConstantIv</b> enum value (defined in <a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html">edash_packager::media::AesPatternCryptor</a>)</td><td class="entry"><a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html">edash_packager::media::AesPatternCryptor</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>kUseConstantIv</b> enum value (defined in <a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html">edash_packager::media::AesPatternCryptor</a>)</td><td class="entry"><a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html">edash_packager::media::AesPatternCryptor</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>mutable_aes_key</b>() (defined in <a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">edash_packager::media::AesCryptor</a>)</td><td class="entry"><a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">edash_packager::media::AesCryptor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_iv</b>(const std::vector&lt; uint8_t &gt; &amp;iv) (defined in <a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">edash_packager::media::AesCryptor</a>)</td><td class="entry"><a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">edash_packager::media::AesCryptor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html#af26fd00a479bd109a22cdd7db3d9b37e">SetIv</a>(const std::vector&lt; uint8_t &gt; &amp;iv) override</td><td class="entry"><a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html">edash_packager::media::AesPatternCryptor</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html#a09864c8d88cf952dbc69589ca48cb41b">UpdateIv</a>() override</td><td class="entry"><a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html">edash_packager::media::AesPatternCryptor</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~AesCryptor</b>() (defined in <a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">edash_packager::media::AesCryptor</a>)</td><td class="entry"><a class="el" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">edash_packager::media::AesCryptor</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~AesPatternCryptor</b>() override (defined in <a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html">edash_packager::media::AesPatternCryptor</a>)</td><td class="entry"><a class="el" href="../../dc/d54/classedash__packager_1_1media_1_1AesPatternCryptor.html">edash_packager::media::AesPatternCryptor</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:51 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:55 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:09 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -173,7 +173,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:54 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:07 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:06 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -126,14 +126,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#endif // MEDIA_BASE_DECRYPTOR_SOURCE_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#l00024">aes_cryptor.h:24</a></div></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_1DecryptConfig_html"><div class="ttname"><a href="../../d4/da1/classedash__packager_1_1media_1_1DecryptConfig.html">edash_packager::media::DecryptConfig</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/dad/decrypt__config_8h_source.html#l00040">decrypt_config.h:40</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1DecryptorSource_html"><div class="ttname"><a href="../../dc/df1/classedash__packager_1_1media_1_1DecryptorSource.html">edash_packager::media::DecryptorSource</a></div><div class="ttdoc">DecryptorSource wraps KeySource and is responsible for decryptor management. </div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d7d/decryptor__source_8h_source.html#l00021">decryptor_source.h:21</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1KeySource_html"><div class="ttname"><a href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html">edash_packager::media::KeySource</a></div><div class="ttdoc">KeySource is responsible for encryption key acquisition. </div><div class="ttdef"><b>Definition:</b> <a href="../../dc/d3f/key__source_8h_source.html#l00031">key_source.h:31</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -479,7 +479,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:51 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -120,7 +120,7 @@ std::vector&lt; uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:51 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -182,7 +182,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:55 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:08 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:54 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:07 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -123,7 +123,7 @@ std::vector&lt; <a class="el" href="../../d5/d7a/structedash__packager_1_1Elemen
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:54 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:07 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:06 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -243,7 +243,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -160,7 +160,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:51 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -99,15 +99,15 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
<tr bgcolor="#f0f0f0"><td class="entry"><b>clock</b>() (defined in <a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a>)</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>crypto_period_duration_in_seconds</b>() const (defined in <a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a>)</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>encryption_key_source</b>() (defined in <a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a>)</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>encryption_mode</b>() const (defined in <a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a>)</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>max_sd_pixels</b>() const (defined in <a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a>)</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Muxer</b>(const MuxerOptions &amp;options) (defined in <a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a>)</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>muxer_listener</b>() (defined in <a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a>)</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>options</b>() const (defined in <a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a>)</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>progress_listener</b>() (defined in <a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a>)</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>max_sd_pixels</b>() const (defined in <a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a>)</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>Muxer</b>(const MuxerOptions &amp;options) (defined in <a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a>)</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>muxer_listener</b>() (defined in <a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a>)</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>options</b>() const (defined in <a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a>)</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>progress_listener</b>() (defined in <a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a>)</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>protection_scheme</b>() const (defined in <a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a>)</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html#aa2ef293cdb921d97bb39d038f29da8c4">Run</a>()</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html#ae22512b48793cb5c91186bc698966bfa">set_clock</a>(base::Clock *clock)</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html#a8376a54357dc92777cc1837b5090bac6">SetKeySource</a>(KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds, double crypto_period_duration_in_seconds, EncryptionMode encryption_mode)</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html#a246cda6ea92a24b2c5b504678143ed4e">SetKeySource</a>(KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds, double crypto_period_duration_in_seconds, FourCC protection_scheme)</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html#aa8ea4384b819187c51f67ad901aca148">SetMuxerListener</a>(scoped_ptr&lt; MuxerListener &gt; muxer_listener)</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html#a04959bfe66cdb16053326938df9d445a">SetProgressListener</a>(scoped_ptr&lt; ProgressListener &gt; progress_listener)</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>streams</b>() const (defined in <a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a>)</td><td class="entry"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">edash_packager::media::Muxer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@ -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 Tue Apr 12 2016 21:32:56 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:10 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:51 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -185,7 +185,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:54 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:07 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:51 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:51 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -95,70 +95,68 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &quot;packager/base/logging.h&quot;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &quot;packager/base/sys_byteorder.h&quot;</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/encryption_modes.h&quot;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/webm/webm_constants.h&quot;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keyword">namespace </span>{</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// Generates a 16 byte CTR counter block. The CTR counter block format is a</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">// CTR IV appended with a CTR block counter. |iv| is an 8 byte CTR IV.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// |iv_size| is the size of |iv| in btyes. Returns a string of</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// kDecryptionKeySize bytes.</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;std::string GenerateWebMCounterBlock(<span class="keyword">const</span> uint8_t* iv, <span class="keywordtype">int</span> iv_size) {</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; std::string counter_block(reinterpret_cast&lt;const char*&gt;(iv), iv_size);</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; counter_block.append(<a class="code" href="../../d4/da1/classedash__packager_1_1media_1_1DecryptConfig.html#a65b9e6b7a1a2308f38e6b435bf8ce5bb">DecryptConfig::kDecryptionKeySize</a> - iv_size, 0);</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="keywordflow">return</span> counter_block;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;}</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;} <span class="comment">// namespace anonymous</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="keywordtype">bool</span> WebMCreateDecryptConfig(<span class="keyword">const</span> uint8_t* data,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keywordtype">int</span> data_size,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keyword">const</span> uint8_t* key_id,</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keywordtype">int</span> key_id_size,</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; scoped_ptr&lt;DecryptConfig&gt;* decrypt_config,</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keywordtype">int</span>* data_offset) {</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keywordflow">if</span> (data_size &lt; kWebMSignalByteSize) {</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; DVLOG(1) &lt;&lt; <span class="stringliteral">&quot;Got a block from an encrypted stream with no data.&quot;</span>;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; }</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; uint8_t signal_byte = data[0];</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordtype">int</span> frame_offset = <span class="keyword">sizeof</span>(signal_byte);</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="comment">// Setting the DecryptConfig object of the buffer while leaving the</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="comment">// initialization vector empty will tell the decryptor that the frame is</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="comment">// unencrypted.</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; std::string counter_block;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">if</span> (signal_byte &amp; kWebMFlagEncryptedFrame) {</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">if</span> (data_size &lt; kWebMSignalByteSize + kWebMIvSize) {</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; DVLOG(1) &lt;&lt; <span class="stringliteral">&quot;Got an encrypted block with not enough data &quot;</span> &lt;&lt; data_size;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; }</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; counter_block = GenerateWebMCounterBlock(data + frame_offset, kWebMIvSize);</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; frame_offset += kWebMIvSize;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; decrypt_config-&gt;reset(<span class="keyword">new</span> DecryptConfig(</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; std::vector&lt;uint8_t&gt;(key_id, key_id + key_id_size),</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; std::vector&lt;uint8_t&gt;(counter_block.begin(), counter_block.end()),</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; std::vector&lt;SubsampleEntry&gt;(),</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; kEncryptionModeAesCtr));</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; *data_offset = frame_offset;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;}</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/webm/webm_constants.h&quot;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="keyword">namespace </span>{</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// Generates a 16 byte CTR counter block. The CTR counter block format is a</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// CTR IV appended with a CTR block counter. |iv| is an 8 byte CTR IV.</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">// |iv_size| is the size of |iv| in btyes. Returns a string of</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// kDecryptionKeySize bytes.</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;std::string GenerateWebMCounterBlock(<span class="keyword">const</span> uint8_t* iv, <span class="keywordtype">int</span> iv_size) {</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; std::string counter_block(reinterpret_cast&lt;const char*&gt;(iv), iv_size);</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; counter_block.append(<a class="code" href="../../d4/da1/classedash__packager_1_1media_1_1DecryptConfig.html#a65b9e6b7a1a2308f38e6b435bf8ce5bb">DecryptConfig::kDecryptionKeySize</a> - iv_size, 0);</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="keywordflow">return</span> counter_block;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;}</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;} <span class="comment">// namespace anonymous</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="keywordtype">bool</span> WebMCreateDecryptConfig(<span class="keyword">const</span> uint8_t* data,</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keywordtype">int</span> data_size,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keyword">const</span> uint8_t* key_id,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordtype">int</span> key_id_size,</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; scoped_ptr&lt;DecryptConfig&gt;* decrypt_config,</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keywordtype">int</span>* data_offset) {</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keywordflow">if</span> (data_size &lt; kWebMSignalByteSize) {</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; DVLOG(1) &lt;&lt; <span class="stringliteral">&quot;Got a block from an encrypted stream with no data.&quot;</span>;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; }</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; uint8_t signal_byte = data[0];</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordtype">int</span> frame_offset = <span class="keyword">sizeof</span>(signal_byte);</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="comment">// Setting the DecryptConfig object of the buffer while leaving the</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="comment">// initialization vector empty will tell the decryptor that the frame is</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="comment">// unencrypted.</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; std::string counter_block;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">if</span> (signal_byte &amp; kWebMFlagEncryptedFrame) {</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">if</span> (data_size &lt; kWebMSignalByteSize + kWebMIvSize) {</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; DVLOG(1) &lt;&lt; <span class="stringliteral">&quot;Got an encrypted block with not enough data &quot;</span> &lt;&lt; data_size;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; }</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; counter_block = GenerateWebMCounterBlock(data + frame_offset, kWebMIvSize);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; frame_offset += kWebMIvSize;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; }</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; decrypt_config-&gt;reset(<span class="keyword">new</span> DecryptConfig(</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; std::vector&lt;uint8_t&gt;(key_id, key_id + key_id_size),</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; std::vector&lt;uint8_t&gt;(counter_block.begin(), counter_block.end()),</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; std::vector&lt;SubsampleEntry&gt;()));</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; *data_offset = frame_offset;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;}</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="ttc" id="classedash__packager_1_1media_1_1DecryptConfig_html_a65b9e6b7a1a2308f38e6b435bf8ce5bb"><div class="ttname"><a href="../../d4/da1/classedash__packager_1_1media_1_1DecryptConfig.html#a65b9e6b7a1a2308f38e6b435bf8ce5bb">edash_packager::media::DecryptConfig::kDecryptionKeySize</a></div><div class="ttdeci">static const size_t kDecryptionKeySize</div><div class="ttdoc">Keys are always 128 bits. </div><div class="ttdef"><b>Definition:</b> <a href="../../df/dad/decrypt__config_8h_source.html#l00043">decrypt_config.h:43</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -112,7 +112,7 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>operator()</b> (<a cl
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:06 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:54 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:07 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:55 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:08 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -123,7 +123,7 @@ std::vector&lt; uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:06 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:55 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:09 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:53 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:06 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -215,7 +215,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -332,7 +332,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:55 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:08 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -116,7 +116,7 @@ scoped_refptr&lt; <a class="el" href="../../d8/d6c/classedash__packager_1_1media
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:56 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:10 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -121,7 +121,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:53 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:06 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -239,7 +239,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:56 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:10 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -275,7 +275,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -126,7 +126,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:06 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:56 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:09 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

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

View File

@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:55 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:08 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -491,7 +491,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -176,7 +176,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:54 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:07 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -200,7 +200,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:51 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:49 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -168,7 +168,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -139,7 +139,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -145,7 +145,7 @@ static const int&#160;</td><td class="memItemRight" valign="bottom"><b>kPacketSi
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:53 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:06 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -130,7 +130,7 @@ std::string&#160;</td><td class="memItemRight" valign="bottom"><b>packager_versi
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:51 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -188,7 +188,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:55 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:08 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -293,7 +293,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -226,7 +226,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -119,7 +119,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:54 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:07 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:54 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:07 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -529,7 +529,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:54 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:07 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -115,8 +115,8 @@ Public Member Functions</h2></td></tr>
<tr class="memitem:a91ab5baeda2a5113254a2c101cd54332 inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a91ab5baeda2a5113254a2c101cd54332"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Muxer</b> (const <a class="el" href="../../de/d57/structedash__packager_1_1media_1_1MuxerOptions.html">MuxerOptions</a> &amp;options)</td></tr>
<tr class="separator:a91ab5baeda2a5113254a2c101cd54332 inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8376a54357dc92777cc1837b5090bac6 inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html#a8376a54357dc92777cc1837b5090bac6">SetKeySource</a> (<a class="el" href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html">KeySource</a> *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds, double crypto_period_duration_in_seconds, EncryptionMode encryption_mode)</td></tr>
<tr class="separator:a8376a54357dc92777cc1837b5090bac6 inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a246cda6ea92a24b2c5b504678143ed4e inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html#a246cda6ea92a24b2c5b504678143ed4e">SetKeySource</a> (<a class="el" href="../../d9/d8b/classedash__packager_1_1media_1_1KeySource.html">KeySource</a> *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds, double crypto_period_duration_in_seconds, FourCC protection_scheme)</td></tr>
<tr class="separator:a246cda6ea92a24b2c5b504678143ed4e inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77c7a214383f64f822d479d226750bf5 inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a77c7a214383f64f822d479d226750bf5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html#a77c7a214383f64f822d479d226750bf5">AddStream</a> (<a class="el" href="../../d2/dfd/classedash__packager_1_1media_1_1MediaStream.html">MediaStream</a> *stream)</td></tr>
<tr class="memdesc:a77c7a214383f64f822d479d226750bf5 inherit pub_methods_classedash__packager_1_1media_1_1Muxer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add video/audio stream. <br/></td></tr>
@ -164,9 +164,9 @@ double&#160;</td><td class="memItemRight" valign="bottom"><b>crypto_period_durat
<tr class="memitem:a427ed6d02bac9504767abd04828b5a00 inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a427ed6d02bac9504767abd04828b5a00"></a>
base::Clock *&#160;</td><td class="memItemRight" valign="bottom"><b>clock</b> ()</td></tr>
<tr class="separator:a427ed6d02bac9504767abd04828b5a00 inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e067f19905cadb2bf44a076b4feae92 inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e067f19905cadb2bf44a076b4feae92"></a>
EncryptionMode&#160;</td><td class="memItemRight" valign="bottom"><b>encryption_mode</b> () const </td></tr>
<tr class="separator:a7e067f19905cadb2bf44a076b4feae92 inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acdeba568f9212eac93626d1b19f741a3 inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acdeba568f9212eac93626d1b19f741a3"></a>
FourCC&#160;</td><td class="memItemRight" valign="bottom"><b>protection_scheme</b> () const </td></tr>
<tr class="separator:acdeba568f9212eac93626d1b19f741a3 inherit pro_methods_classedash__packager_1_1media_1_1Muxer"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Implements MP4 <a class="el" href="../../d4/d1d/classedash__packager_1_1media_1_1Muxer.html">Muxer</a> for ISO-BMFF. Please refer to ISO/IEC 14496-12: ISO base media file format for details. </p>
@ -179,7 +179,7 @@ EncryptionMode&#160;</td><td class="memItemRight" valign="bottom"><b>encryption_
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:55 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:09 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -266,7 +266,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:51 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -194,7 +194,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:55 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:08 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -218,7 +218,7 @@ Static Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:51 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -175,7 +175,7 @@ uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>flags</b></td></t
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:54 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:07 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:54 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:07 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -211,7 +211,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -139,7 +139,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:06 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -242,7 +242,7 @@ false if <em>max_offset</em> &gt; <a class="el" href="../../d1/d92/classedash__p
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:51 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -210,7 +210,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:05 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -192,7 +192,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:52 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:06 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:56 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:10 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;packager/base/memory/ref_counted.h&quot;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;packager/base/memory/scoped_ptr.h&quot;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/encryption_modes.h&quot;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/fourccs.h&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;packager/media/filters/vpx_parser.h&quot;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp4/fragmenter.h&quot;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;packager/media/formats/mp4/video_slice_header_parser.h&quot;</span></div>
@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="keyword">namespace </span>edash_packager {</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="keyword">class </span>AesEncryptor;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="keyword">class </span>AesCryptor;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keyword">class </span>StreamInfo;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="keyword">struct </span>EncryptionKey;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
@ -114,77 +114,78 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html"> 27</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html">EncryptingFragmenter</a> : <span class="keyword">public</span> <a class="code" href="../../db/dae/classedash__packager_1_1media_1_1mp4_1_1Fragmenter.html">Fragmenter</a> {</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a6ab7ed1ca842bc5618f03971911c2457">EncryptingFragmenter</a>(scoped_refptr&lt;StreamInfo&gt; info,</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="../../d4/dd9/structedash__packager_1_1media_1_1mp4_1_1TrackFragment.html">TrackFragment</a>* traf,</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; scoped_ptr&lt;EncryptionKey&gt; encryption_key,</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; int64_t clear_time,</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; EncryptionMode encryption_mode);</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; ~<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="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a162003f797e713059d2c32b0c2998fdc">EncryptingFragmenter</a>(scoped_refptr&lt;StreamInfo&gt; info,</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="../../d4/dd9/structedash__packager_1_1media_1_1mp4_1_1TrackFragment.html">TrackFragment</a>* traf,</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; scoped_ptr&lt;EncryptionKey&gt; encryption_key,</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; int64_t clear_time,</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; FourCC protection_scheme);</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#ae8fd13a579fee2167167bcdbb9637dcc">AddSample</a>(scoped_refptr&lt;MediaSample&gt; sample) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a3159dcc8d0f02da113715a97d096afef">InitializeFragment</a>(int64_t first_sample_dts) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a7917221a0f5093ad6770926ee0ae0ce2">FinalizeFragment</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a3e66313de4ecb51f23fe438758e0153b">PrepareFragmentForEncryption</a>(<span class="keywordtype">bool</span> enable_encryption);</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a0184deccbe7e99ea7a685cf0de2f9156">FinalizeFragmentForEncryption</a>();</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a5ed5486f22438e20d0d41524a47f4dd3">CreateEncryptor</a>();</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="../../d0/d86/structedash__packager_1_1media_1_1EncryptionKey.html">EncryptionKey</a>* encryption_key() { <span class="keywordflow">return</span> encryption_key_.get(); }</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="../../dc/d92/classedash__packager_1_1media_1_1AesEncryptor.html">AesEncryptor</a>* encryptor() { <span class="keywordflow">return</span> encryptor_.get(); }</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordtype">void</span> set_encryption_key(scoped_ptr&lt;EncryptionKey&gt; encryption_key) {</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; encryption_key_ = encryption_key.Pass();</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; }</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordtype">void</span> EncryptBytes(uint8_t* data, uint32_t size);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> EncryptSample(scoped_refptr&lt;MediaSample&gt; sample);</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="comment">// Should we enable subsample encryption?</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordtype">bool</span> IsSubsampleEncryptionRequired();</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; ~<a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html">EncryptingFragmenter</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#ae8fd13a579fee2167167bcdbb9637dcc">AddSample</a>(scoped_refptr&lt;MediaSample&gt; sample) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a3159dcc8d0f02da113715a97d096afef">InitializeFragment</a>(int64_t first_sample_dts) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a7917221a0f5093ad6770926ee0ae0ce2">FinalizeFragment</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">virtual</span> <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a3e66313de4ecb51f23fe438758e0153b">PrepareFragmentForEncryption</a>(<span class="keywordtype">bool</span> enable_encryption);</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a0184deccbe7e99ea7a685cf0de2f9156">FinalizeFragmentForEncryption</a>();</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> <a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a5ed5486f22438e20d0d41524a47f4dd3">CreateEncryptor</a>();</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keyword">const</span> <a class="code" href="../../d0/d86/structedash__packager_1_1media_1_1EncryptionKey.html">EncryptionKey</a>* encryption_key()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> encryption_key_.get(); }</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="../../d9/d60/classedash__packager_1_1media_1_1AesCryptor.html">AesCryptor</a>* encryptor() { <span class="keywordflow">return</span> encryptor_.get(); }</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; FourCC protection_scheme()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> protection_scheme_; }</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordtype">void</span> set_encryption_key(scoped_ptr&lt;EncryptionKey&gt; encryption_key) {</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; encryption_key_ = encryption_key.Pass();</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordtype">void</span> EncryptBytes(uint8_t* data, uint32_t size);</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="../../d2/d90/classedash__packager_1_1media_1_1Status.html">Status</a> EncryptSample(scoped_refptr&lt;MediaSample&gt; sample);</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; scoped_refptr&lt;StreamInfo&gt; info_;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; scoped_ptr&lt;EncryptionKey&gt; encryption_key_;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; scoped_ptr&lt;AesEncryptor&gt; encryptor_;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="comment">// If this stream contains AVC, subsample encryption specifies that the size</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="comment">// and type of NAL units remain unencrypted. This function returns the size of</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="comment">// the size field in bytes. Can be 1, 2 or 4 bytes.</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keyword">const</span> uint8_t nalu_length_size_;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keyword">const</span> VideoCodec video_codec_;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; int64_t clear_time_;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; EncryptionMode encryption_mode_;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; scoped_ptr&lt;VPxParser&gt; vpx_parser_;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; scoped_ptr&lt;VideoSliceHeaderParser&gt; header_parser_;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="comment">// Should we enable subsample encryption?</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordtype">bool</span> IsSubsampleEncryptionRequired();</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; scoped_refptr&lt;StreamInfo&gt; info_;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; scoped_ptr&lt;EncryptionKey&gt; encryption_key_;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; scoped_ptr&lt;AesCryptor&gt; encryptor_;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="comment">// If this stream contains AVC, subsample encryption specifies that the size</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="comment">// and type of NAL units remain unencrypted. This function returns the size of</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="comment">// the size field in bytes. Can be 1, 2 or 4 bytes.</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keyword">const</span> uint8_t nalu_length_size_;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">const</span> VideoCodec video_codec_;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; int64_t clear_time_;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; FourCC protection_scheme_;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; 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="l00089"></a><span class="lineno"> 89</span>&#160;};</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; scoped_ptr&lt;VPxParser&gt; vpx_parser_;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; scoped_ptr&lt;VideoSliceHeaderParser&gt; header_parser_;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;} <span class="comment">// namespace mp4</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="preprocessor">#endif // MEDIA_FORMATS_MP4_ENCRYPTING_FRAGMENTER_H_</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html">EncryptingFragmenter</a>);</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;};</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;} <span class="comment">// namespace mp4</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;} <span class="comment">// namespace edash_packager</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="preprocessor">#endif // MEDIA_FORMATS_MP4_ENCRYPTING_FRAGMENTER_H_</span></div>
<div class="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="classedash__packager_1_1media_1_1AesEncryptor_html"><div class="ttname"><a href="../../dc/d92/classedash__packager_1_1media_1_1AesEncryptor.html">edash_packager::media::AesEncryptor</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d1/df0/aes__encryptor_8h_source.html#l00022">aes_encryptor.h:22</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#l00176">encrypting_fragmenter.cc:176</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html_a6ab7ed1ca842bc5618f03971911c2457"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a6ab7ed1ca842bc5618f03971911c2457">edash_packager::media::mp4::EncryptingFragmenter::EncryptingFragmenter</a></div><div class="ttdeci">EncryptingFragmenter(scoped_refptr&lt; StreamInfo &gt; info, TrackFragment *traf, scoped_ptr&lt; EncryptionKey &gt; encryption_key, int64_t clear_time, EncryptionMode encryption_mode)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d41/encrypting__fragmenter_8cc_source.html#l00064">encrypting_fragmenter.cc:64</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"><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#l00109">encrypting_fragmenter.cc:109</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html_ae8fd13a579fee2167167bcdbb9637dcc"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#ae8fd13a579fee2167167bcdbb9637dcc">edash_packager::media::mp4::EncryptingFragmenter::AddSample</a></div><div class="ttdeci">Status AddSample(scoped_refptr&lt; MediaSample &gt; sample) override</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d41/encrypting__fragmenter_8cc_source.html#l00094">encrypting_fragmenter.cc:94</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#l00139">encrypting_fragmenter.cc:139</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html_a3159dcc8d0f02da113715a97d096afef"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a3159dcc8d0f02da113715a97d096afef">edash_packager::media::mp4::EncryptingFragmenter::InitializeFragment</a></div><div class="ttdeci">Status InitializeFragment(int64_t first_sample_dts) override</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d41/encrypting__fragmenter_8cc_source.html#l00106">encrypting_fragmenter.cc:106</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html_a162003f797e713059d2c32b0c2998fdc"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a162003f797e713059d2c32b0c2998fdc">edash_packager::media::mp4::EncryptingFragmenter::EncryptingFragmenter</a></div><div class="ttdeci">EncryptingFragmenter(scoped_refptr&lt; StreamInfo &gt; info, TrackFragment *traf, scoped_ptr&lt; EncryptionKey &gt; encryption_key, int64_t clear_time, FourCC protection_scheme)</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d41/encrypting__fragmenter_8cc_source.html#l00061">encrypting_fragmenter.cc:61</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html_ae8fd13a579fee2167167bcdbb9637dcc"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#ae8fd13a579fee2167167bcdbb9637dcc">edash_packager::media::mp4::EncryptingFragmenter::AddSample</a></div><div class="ttdeci">Status AddSample(scoped_refptr&lt; MediaSample &gt; sample) override</div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d41/encrypting__fragmenter_8cc_source.html#l00091">encrypting_fragmenter.cc:91</a></div></div>
<div class="ttc" id="classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter_html_a7917221a0f5093ad6770926ee0ae0ce2"><div class="ttname"><a href="../../d8/d1e/classedash__packager_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a7917221a0f5093ad6770926ee0ae0ce2">edash_packager::media::mp4::EncryptingFragmenter::FinalizeFragment</a></div><div class="ttdeci">void FinalizeFragment() override</div><div class="ttdoc">Finalize and optimize the fragment. </div><div class="ttdef"><b>Definition:</b> <a href="../../d6/d41/encrypting__fragmenter_8cc_source.html#l00136">encrypting_fragmenter.cc:136</a></div></div>
<div class="ttc" id="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#l00675">box_definitions.h:675</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#l00150">encrypting_fragmenter.cc:150</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#l00155">encrypting_fragmenter.cc:155</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><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:50 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:04 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -182,7 +182,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:53 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:06 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -150,7 +150,7 @@ virtual int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el"
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:56 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:09 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:55 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:08 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -156,7 +156,7 @@ Protected Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:56 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:10 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 12 2016 21:32:54 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Apr 12 2016 23:13:07 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

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