Generate SDK documents for commit 2816a7262e

This commit is contained in:
Widevine Buildbot 2017-06-13 22:09:24 +00:00
parent c2ebe15ae2
commit f35f31d910
1003 changed files with 2854 additions and 3680 deletions

View File

@ -224,138 +224,136 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<tr id="row_0_0_3_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d2/d0f/structshaka_1_1media_1_1wvm_1_1PrevSampleData.html" target="_self">PrevSampleData</a></td><td class="desc"></td></tr>
<tr id="row_0_0_3_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dc/d18/classshaka_1_1media_1_1wvm_1_1WvmMediaParser.html" target="_self">WvmMediaParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_4_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d3/d51/classshaka_1_1media_1_1LibcryptoThreading.html" target="_self">LibcryptoThreading</a></td><td class="desc">Convenience class which initializes and terminates libcrypto threading </td></tr>
<tr id="row_0_0_5_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d2/d95/structshaka_1_1media_1_1StreamDescriptor.html" target="_self">StreamDescriptor</a></td><td class="desc"></td></tr>
<tr id="row_0_0_6_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d8/d3e/classshaka_1_1media_1_1StreamDescriptorCompareFn.html" target="_self">StreamDescriptorCompareFn</a></td><td class="desc"></td></tr>
<tr id="row_0_0_7_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="df/d87/classshaka_1_1media_1_1AesCryptor.html" target="_self">AesCryptor</a></td><td class="desc"></td></tr>
<tr id="row_0_0_8_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="df/d2d/classshaka_1_1media_1_1AesCbcDecryptor.html" target="_self">AesCbcDecryptor</a></td><td class="desc">Class which implements AES-CBC (Cipher block chaining) decryption </td></tr>
<tr id="row_0_0_9_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d3/d75/classshaka_1_1media_1_1AesEncryptor.html" target="_self">AesEncryptor</a></td><td class="desc"></td></tr>
<tr id="row_0_0_10_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/dd8/classshaka_1_1media_1_1AesCtrEncryptor.html" target="_self">AesCtrEncryptor</a></td><td class="desc"></td></tr>
<tr id="row_0_0_11_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/d20/classshaka_1_1media_1_1AesCbcEncryptor.html" target="_self">AesCbcEncryptor</a></td><td class="desc"></td></tr>
<tr id="row_0_0_12_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html" target="_self">AesPatternCryptor</a></td><td class="desc">Implements pattern-based encryption/decryption </td></tr>
<tr id="row_0_0_13_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html" target="_self">AudioStreamInfo</a></td><td class="desc">Holds audio stream information </td></tr>
<tr id="row_0_0_14_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/d4d/classshaka_1_1media_1_1AudioTimestampHelper.html" target="_self">AudioTimestampHelper</a></td><td class="desc"></td></tr>
<tr id="row_0_0_15_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d6/da9/classshaka_1_1media_1_1BitReader.html" target="_self">BitReader</a></td><td class="desc">A class to read bit streams </td></tr>
<tr id="row_0_0_16_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d9/d13/classshaka_1_1media_1_1BufferReader.html" target="_self">BufferReader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_17_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dc/d41/classshaka_1_1media_1_1BufferWriter.html" target="_self">BufferWriter</a></td><td class="desc"></td></tr>
<tr id="row_0_0_18_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d7/dda/classshaka_1_1media_1_1ByteQueue.html" target="_self">ByteQueue</a></td><td class="desc"></td></tr>
<tr id="row_0_0_19_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dc/df0/classshaka_1_1media_1_1ClosureThread.html" target="_self">ClosureThread</a></td><td class="desc"></td></tr>
<tr id="row_0_0_20_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d1/d34/structshaka_1_1media_1_1SubsampleEntry.html" target="_self">SubsampleEntry</a></td><td class="desc"></td></tr>
<tr id="row_0_0_21_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="de/d49/classshaka_1_1media_1_1DecryptConfig.html" target="_self">DecryptConfig</a></td><td class="desc"></td></tr>
<tr id="row_0_0_22_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d7/d59/classshaka_1_1media_1_1DecryptorSource.html" target="_self">DecryptorSource</a></td><td class="desc"><a class="el" href="d7/d59/classshaka_1_1media_1_1DecryptorSource.html" title="DecryptorSource wraps KeySource and is responsible for decryptor management. ">DecryptorSource</a> wraps <a class="el" href="d1/d1f/classshaka_1_1media_1_1KeySource.html" title="KeySource is responsible for encryption key acquisition. ">KeySource</a> and is responsible for decryptor management </td></tr>
<tr id="row_0_0_23_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d7/d34/structshaka_1_1media_1_1EncryptionConfig.html" target="_self">EncryptionConfig</a></td><td class="desc"></td></tr>
<tr id="row_0_0_24_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/dac/classshaka_1_1media_1_1FixedKeySource.html" target="_self">FixedKeySource</a></td><td class="desc">A key source that uses fixed keys for encryption </td></tr>
<tr id="row_0_0_25_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d7/de0/classshaka_1_1media_1_1HttpKeyFetcher.html" target="_self">HttpKeyFetcher</a></td><td class="desc"></td></tr>
<tr id="row_0_0_26_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="df/d66/classshaka_1_1media_1_1KeyFetcher.html" target="_self">KeyFetcher</a></td><td class="desc">Base class for fetching keys from the license service </td></tr>
<tr id="row_0_0_27_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dd/dbd/structshaka_1_1media_1_1EncryptionKey.html" target="_self">EncryptionKey</a></td><td class="desc"></td></tr>
<tr id="row_0_0_28_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d1/d1f/classshaka_1_1media_1_1KeySource.html" target="_self">KeySource</a></td><td class="desc"><a class="el" href="d1/d1f/classshaka_1_1media_1_1KeySource.html" title="KeySource is responsible for encryption key acquisition. ">KeySource</a> is responsible for encryption key acquisition </td></tr>
<tr id="row_0_0_29_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d7/d58/structshaka_1_1media_1_1PeriodInfo.html" target="_self">PeriodInfo</a></td><td class="desc"></td></tr>
<tr id="row_0_0_30_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="df/dd3/structshaka_1_1media_1_1MediaEvent.html" target="_self">MediaEvent</a></td><td class="desc"></td></tr>
<tr id="row_0_0_31_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/dc0/structshaka_1_1media_1_1SegmentInfo.html" target="_self">SegmentInfo</a></td><td class="desc"></td></tr>
<tr id="row_0_0_32_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/d4c/structshaka_1_1media_1_1StreamData.html" target="_self">StreamData</a></td><td class="desc"></td></tr>
<tr id="row_0_0_33_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="da/dfd/classshaka_1_1media_1_1MediaHandler.html" target="_self">MediaHandler</a></td><td class="desc"></td></tr>
<tr id="row_0_0_34_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d1/d36/classshaka_1_1media_1_1FakeMediaHandler.html" target="_self">FakeMediaHandler</a></td><td class="desc"></td></tr>
<tr id="row_0_0_35_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/d9b/classshaka_1_1media_1_1MediaHandlerTestBase.html" target="_self">MediaHandlerTestBase</a></td><td class="desc"></td></tr>
<tr id="row_0_0_36_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d3/d0a/classshaka_1_1media_1_1MediaParser.html" target="_self">MediaParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_37_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d7/d6d/classshaka_1_1media_1_1MediaSample.html" target="_self">MediaSample</a></td><td class="desc">Class to hold a media sample </td></tr>
<tr id="row_0_0_38_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="df/d46/classshaka_1_1media_1_1Muxer.html" target="_self">Muxer</a></td><td class="desc"></td></tr>
<tr id="row_0_0_39_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/d27/structshaka_1_1media_1_1MuxerOptions.html" target="_self">MuxerOptions</a></td><td class="desc">This structure contains the list of configuration options for <a class="el" href="df/d46/classshaka_1_1media_1_1Muxer.html">Muxer</a> </td></tr>
<tr id="row_0_0_40_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d9/df9/classshaka_1_1media_1_1OffsetByteQueue.html" target="_self">OffsetByteQueue</a></td><td class="desc"></td></tr>
<tr id="row_0_0_41_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/da6/classshaka_1_1media_1_1PlayReadyKeySource.html" target="_self">PlayReadyKeySource</a></td><td class="desc">A key source that uses playready for encryption </td></tr>
<tr id="row_0_0_42_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d5/d33/classshaka_1_1media_1_1ProducerConsumerQueue.html" target="_self">ProducerConsumerQueue</a></td><td class="desc"></td></tr>
<tr id="row_0_0_43_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/dd4/classshaka_1_1media_1_1ProtectionSystemSpecificInfo.html" target="_self">ProtectionSystemSpecificInfo</a></td><td class="desc"></td></tr>
<tr id="row_0_0_44_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="df/d3c/classshaka_1_1media_1_1RequestSigner.html" target="_self">RequestSigner</a></td><td class="desc">Abstract class used for signature generation </td></tr>
<tr id="row_0_0_45_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d9/d8c/classshaka_1_1media_1_1AesRequestSigner.html" target="_self">AesRequestSigner</a></td><td class="desc"><a class="el" href="d9/d8c/classshaka_1_1media_1_1AesRequestSigner.html" title="AesRequestSigner uses AES-CBC signing. ">AesRequestSigner</a> uses AES-CBC signing </td></tr>
<tr id="row_0_0_46_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html" target="_self">RsaRequestSigner</a></td><td class="desc"><a class="el" href="d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html" title="RsaRequestSigner uses RSA-PSS signing. ">RsaRequestSigner</a> uses RSA-PSS signing </td></tr>
<tr id="row_0_0_47_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/dce/classshaka_1_1media_1_1RsaPrivateKey.html" target="_self">RsaPrivateKey</a></td><td class="desc">Rsa private key, used for message signing and decryption </td></tr>
<tr id="row_0_0_48_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d9/d0c/classshaka_1_1media_1_1RsaPublicKey.html" target="_self">RsaPublicKey</a></td><td class="desc">Rsa public key, used for signature verification and encryption </td></tr>
<tr id="row_0_0_49_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/d93/classshaka_1_1media_1_1Status.html" target="_self">Status</a></td><td class="desc"></td></tr>
<tr id="row_0_0_50_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d5/db1/classshaka_1_1media_1_1StreamInfo.html" target="_self">StreamInfo</a></td><td class="desc">Abstract class holds stream information </td></tr>
<tr id="row_0_0_51_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/d1f/classshaka_1_1media_1_1TextSample.html" target="_self">TextSample</a></td><td class="desc"></td></tr>
<tr id="row_0_0_52_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/dab/classshaka_1_1media_1_1TextStreamInfo.html" target="_self">TextStreamInfo</a></td><td class="desc"></td></tr>
<tr id="row_0_0_53_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/d0b/classshaka_1_1media_1_1TextTrack.html" target="_self">TextTrack</a></td><td class="desc"></td></tr>
<tr id="row_0_0_54_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="de/db3/classshaka_1_1media_1_1TextTrackConfig.html" target="_self">TextTrackConfig</a></td><td class="desc"></td></tr>
<tr id="row_0_0_55_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html" target="_self">VideoStreamInfo</a></td><td class="desc">Holds video stream information </td></tr>
<tr id="row_0_0_56_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="da/ddd/classshaka_1_1media_1_1WidevineKeySource.html" target="_self">WidevineKeySource</a></td><td class="desc"></td></tr>
<tr id="row_0_0_57_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/d02/structshaka_1_1media_1_1ChunkingOptions.html" target="_self">ChunkingOptions</a></td><td class="desc"></td></tr>
<tr id="row_0_0_58_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/d43/classshaka_1_1media_1_1ChunkingHandler.html" target="_self">ChunkingHandler</a></td><td class="desc"></td></tr>
<tr id="row_0_0_59_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/da2/classshaka_1_1media_1_1AACAudioSpecificConfig.html" target="_self">AACAudioSpecificConfig</a></td><td class="desc"></td></tr>
<tr id="row_0_0_60_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html" target="_self">AVCDecoderConfigurationRecord</a></td><td class="desc">Class for parsing AVC decoder configuration record </td></tr>
<tr id="row_0_0_61_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="de/de0/classshaka_1_1media_1_1DecoderConfigurationRecord.html" target="_self">DecoderConfigurationRecord</a></td><td class="desc"></td></tr>
<tr id="row_0_0_62_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d5/d13/classshaka_1_1media_1_1ESDescriptor.html" target="_self">ESDescriptor</a></td><td class="desc"></td></tr>
<tr id="row_0_0_63_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d8/d08/classshaka_1_1media_1_1H264ByteToUnitStreamConverter.html" target="_self">H264ByteToUnitStreamConverter</a></td><td class="desc"></td></tr>
<tr id="row_0_0_64_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d1/d0a/structshaka_1_1media_1_1H264Sps.html" target="_self">H264Sps</a></td><td class="desc"></td></tr>
<tr id="row_0_0_65_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="de/de4/structshaka_1_1media_1_1H264Pps.html" target="_self">H264Pps</a></td><td class="desc"></td></tr>
<tr id="row_0_0_66_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d9/dff/structshaka_1_1media_1_1H264ModificationOfPicNum.html" target="_self">H264ModificationOfPicNum</a></td><td class="desc"></td></tr>
<tr id="row_0_0_67_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/d4c/structshaka_1_1media_1_1H264WeightingFactors.html" target="_self">H264WeightingFactors</a></td><td class="desc"></td></tr>
<tr id="row_0_0_68_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dc/d54/structshaka_1_1media_1_1H264DecRefPicMarking.html" target="_self">H264DecRefPicMarking</a></td><td class="desc"></td></tr>
<tr id="row_0_0_69_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d2/d59/structshaka_1_1media_1_1H264SliceHeader.html" target="_self">H264SliceHeader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_70_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="df/de2/structshaka_1_1media_1_1H264SEIRecoveryPoint.html" target="_self">H264SEIRecoveryPoint</a></td><td class="desc"></td></tr>
<tr id="row_0_0_71_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d6/dd0/structshaka_1_1media_1_1H264SEIMessage.html" target="_self">H264SEIMessage</a></td><td class="desc"></td></tr>
<tr id="row_0_0_72_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d3/d91/classshaka_1_1media_1_1H264Parser.html" target="_self">H264Parser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_73_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html" target="_self">H265ByteToUnitStreamConverter</a></td><td class="desc"></td></tr>
<tr id="row_0_0_74_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d5/dad/structshaka_1_1media_1_1H265ReferencePictureSet.html" target="_self">H265ReferencePictureSet</a></td><td class="desc"></td></tr>
<tr id="row_0_0_75_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d9/d67/structshaka_1_1media_1_1H265VuiParameters.html" target="_self">H265VuiParameters</a></td><td class="desc"></td></tr>
<tr id="row_0_0_76_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="de/d33/structshaka_1_1media_1_1H265Pps.html" target="_self">H265Pps</a></td><td class="desc"></td></tr>
<tr id="row_0_0_77_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/dfd/structshaka_1_1media_1_1H265Sps.html" target="_self">H265Sps</a></td><td class="desc"></td></tr>
<tr id="row_0_0_78_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d5/d9d/structshaka_1_1media_1_1H265ReferencePictureListModifications.html" target="_self">H265ReferencePictureListModifications</a></td><td class="desc"></td></tr>
<tr id="row_0_0_79_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_0_79_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_0_79_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/d05/structshaka_1_1media_1_1H265SliceHeader.html" target="_self">H265SliceHeader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_79_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d7/d9c/structshaka_1_1media_1_1H265SliceHeader_1_1LongTermPicsInfo.html" target="_self">LongTermPicsInfo</a></td><td class="desc"></td></tr>
<tr id="row_0_0_80_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="de/dc2/classshaka_1_1media_1_1H265Parser.html" target="_self">H265Parser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_81_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="de/db4/classshaka_1_1media_1_1H26xBitReader.html" target="_self">H26xBitReader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_82_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="de/dea/classshaka_1_1media_1_1H26xByteToUnitStreamConverter.html" target="_self">H26xByteToUnitStreamConverter</a></td><td class="desc">A base class that is used to convert H.26x byte streams to NAL unit streams </td></tr>
<tr id="row_0_0_83_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/d8a/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord.html" target="_self">HEVCDecoderConfigurationRecord</a></td><td class="desc">Class for parsing HEVC decoder configuration record </td></tr>
<tr id="row_0_0_84_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d5/d66/classshaka_1_1media_1_1NalUnitToByteStreamConverter.html" target="_self">NalUnitToByteStreamConverter</a></td><td class="desc"></td></tr>
<tr id="row_0_0_85_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d6/dff/classshaka_1_1media_1_1Nalu.html" target="_self">Nalu</a></td><td class="desc"></td></tr>
<tr id="row_0_0_86_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/d86/classshaka_1_1media_1_1NaluReader.html" target="_self">NaluReader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_87_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html" target="_self">VideoSliceHeaderParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_88_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="da/df0/classshaka_1_1media_1_1H264VideoSliceHeaderParser.html" target="_self">H264VideoSliceHeaderParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_89_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html" target="_self">H265VideoSliceHeaderParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_90_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d8/d14/classshaka_1_1media_1_1VP8Parser.html" target="_self">VP8Parser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_91_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/d5a/classshaka_1_1media_1_1VP9Parser.html" target="_self">VP9Parser</a></td><td class="desc">Class to parse a vp9 bit stream </td></tr>
<tr id="row_0_0_92_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html" target="_self">VPCodecConfigurationRecord</a></td><td class="desc">Class for parsing or writing VP codec configuration record </td></tr>
<tr id="row_0_0_93_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/d11/structshaka_1_1media_1_1VPxFrameInfo.html" target="_self">VPxFrameInfo</a></td><td class="desc"></td></tr>
<tr id="row_0_0_94_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/dcb/classshaka_1_1media_1_1VPxParser.html" target="_self">VPxParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_95_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d6/d82/structshaka_1_1media_1_1EncryptionOptions.html" target="_self">EncryptionOptions</a></td><td class="desc">This structure defines encryption options </td></tr>
<tr id="row_0_0_96_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d6/d4c/classshaka_1_1media_1_1EncryptionHandler.html" target="_self">EncryptionHandler</a></td><td class="desc"></td></tr>
<tr id="row_0_0_97_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dd/d17/classshaka_1_1media_1_1Demuxer.html" target="_self">Demuxer</a></td><td class="desc"></td></tr>
<tr id="row_0_0_98_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html" target="_self">HlsNotifyMuxerListener</a></td><td class="desc"><a class="el" href="dd/d7a/classshaka_1_1media_1_1MuxerListener.html">MuxerListener</a> that uses HlsNotifier </td></tr>
<tr id="row_0_0_99_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dc/d73/classshaka_1_1media_1_1MockMuxerListener.html" target="_self">MockMuxerListener</a></td><td class="desc"></td></tr>
<tr id="row_0_0_100_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html" target="_self">MpdNotifyMuxerListener</a></td><td class="desc"></td></tr>
<tr id="row_0_0_101_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dd/d7a/classshaka_1_1media_1_1MuxerListener.html" target="_self">MuxerListener</a></td><td class="desc"></td></tr>
<tr id="row_0_0_102_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d6/d26/structshaka_1_1media_1_1VideoStreamInfoParameters.html" target="_self">VideoStreamInfoParameters</a></td><td class="desc"></td></tr>
<tr id="row_0_0_103_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/db8/structshaka_1_1media_1_1OnMediaEndParameters.html" target="_self">OnMediaEndParameters</a></td><td class="desc"></td></tr>
<tr id="row_0_0_104_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/de6/classshaka_1_1media_1_1ProgressListener.html" target="_self">ProgressListener</a></td><td class="desc">This class listens to progress updates events </td></tr>
<tr id="row_0_0_105_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html" target="_self">VodMediaInfoDumpMuxerListener</a></td><td class="desc"></td></tr>
<tr id="row_0_0_106_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d3/d61/classshaka_1_1media_1_1File.html" target="_self">File</a></td><td class="desc">Define an abstract file interface </td></tr>
<tr id="row_0_0_107_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d3/d8b/structshaka_1_1media_1_1FileCloser.html" target="_self">FileCloser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_108_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dd/d7c/classshaka_1_1media_1_1IoCache.html" target="_self">IoCache</a></td><td class="desc">Declaration of class which implements a thread-safe circular buffer </td></tr>
<tr id="row_0_0_109_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d9/de6/classshaka_1_1media_1_1LocalFile.html" target="_self">LocalFile</a></td><td class="desc">Implement <a class="el" href="d9/de6/classshaka_1_1media_1_1LocalFile.html" title="Implement LocalFile which deals with local storage. ">LocalFile</a> which deals with local storage </td></tr>
<tr id="row_0_0_110_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d9/dbd/classshaka_1_1media_1_1MemoryFile.html" target="_self">MemoryFile</a></td><td class="desc"></td></tr>
<tr id="row_0_0_111_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html" target="_self">ThreadedIoFile</a></td><td class="desc">Declaration of class which implements a thread-safe circular buffer </td></tr>
<tr id="row_0_0_112_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d7/d7a/classshaka_1_1media_1_1UdpFile.html" target="_self">UdpFile</a></td><td class="desc">Implements <a class="el" href="d7/d7a/classshaka_1_1media_1_1UdpFile.html" title="Implements UdpFile, which receives UDP unicast and multicast streams. ">UdpFile</a>, which receives UDP unicast and multicast streams </td></tr>
<tr id="row_0_0_113_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/d8e/classshaka_1_1media_1_1UdpOptions.html" target="_self">UdpOptions</a></td><td class="desc">Options parsed from UDP url string of the form: udp://ip:port[?options] </td></tr>
<tr id="row_0_0_114_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d1/dd5/classshaka_1_1media_1_1Cluster.html" target="_self">Cluster</a></td><td class="desc"></td></tr>
<tr id="row_0_0_115_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/d94/classshaka_1_1media_1_1ClusterBuilder.html" target="_self">ClusterBuilder</a></td><td class="desc"></td></tr>
<tr id="row_0_0_116_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d1/d0a/classshaka_1_1media_1_1MkvWriter.html" target="_self">MkvWriter</a></td><td class="desc">An implementation of IMkvWriter using our <a class="el" href="d3/d61/classshaka_1_1media_1_1File.html" title="Define an abstract file interface. ">File</a> type </td></tr>
<tr id="row_0_0_117_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dc/d16/classshaka_1_1media_1_1SeekHead.html" target="_self">SeekHead</a></td><td class="desc"></td></tr>
<tr id="row_0_0_118_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_0_118_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_0_118_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d2/dba/classshaka_1_1media_1_1SegmentTestBase.html" target="_self">SegmentTestBase</a></td><td class="desc"></td></tr>
<tr id="row_0_0_118_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d2/df8/classshaka_1_1media_1_1SegmentTestBase_1_1ClusterParser.html" target="_self">ClusterParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_119_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d8/d74/classshaka_1_1media_1_1TracksBuilder.html" target="_self">TracksBuilder</a></td><td class="desc"></td></tr>
<tr id="row_0_0_120_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d3/d7c/classshaka_1_1media_1_1WebMAudioClient.html" target="_self">WebMAudioClient</a></td><td class="desc">Helper class used to parse an Audio element inside a TrackEntry element </td></tr>
<tr id="row_0_0_121_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="da/de4/classshaka_1_1media_1_1WebMClusterParser.html" target="_self">WebMClusterParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_122_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dc/da6/classshaka_1_1media_1_1ContentEncoding.html" target="_self">ContentEncoding</a></td><td class="desc"></td></tr>
<tr id="row_0_0_123_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d9/d87/classshaka_1_1media_1_1WebMContentEncodingsClient.html" target="_self">WebMContentEncodingsClient</a></td><td class="desc">Parser for WebM ContentEncodings element </td></tr>
<tr id="row_0_0_124_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/dae/classshaka_1_1media_1_1WebMInfoParser.html" target="_self">WebMInfoParser</a></td><td class="desc">Parser for WebM Info element </td></tr>
<tr id="row_0_0_125_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html" target="_self">WebMMediaParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_126_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d5/dec/classshaka_1_1media_1_1WebMParserClient.html" target="_self">WebMParserClient</a></td><td class="desc"></td></tr>
<tr id="row_0_0_127_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dc/dca/classshaka_1_1media_1_1WebMListParser.html" target="_self">WebMListParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_128_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d8/d86/classshaka_1_1media_1_1WebMTracksParser.html" target="_self">WebMTracksParser</a></td><td class="desc">Parser for WebM Tracks element </td></tr>
<tr id="row_0_0_129_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d3/d67/classshaka_1_1media_1_1WebMVideoClient.html" target="_self">WebMVideoClient</a></td><td class="desc">Helper class used to parse a Video element inside a TrackEntry element </td></tr>
<tr id="row_0_0_130_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/d59/classshaka_1_1media_1_1WebMWebVTTParser.html" target="_self">WebMWebVTTParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_131_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dd/dce/structshaka_1_1media_1_1Cue.html" target="_self">Cue</a></td><td class="desc"></td></tr>
<tr id="row_0_0_132_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dc/df2/classshaka_1_1media_1_1WebVttMediaParser.html" target="_self">WebVttMediaParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_133_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="de/ddd/classshaka_1_1media_1_1WebVttSampleConverter.html" target="_self">WebVttSampleConverter</a></td><td class="desc"></td></tr>
<tr id="row_0_0_134_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/dea/classshaka_1_1media_1_1TrickPlayHandler.html" target="_self">TrickPlayHandler</a></td><td class="desc"></td></tr>
<tr id="row_0_0_5_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="df/d87/classshaka_1_1media_1_1AesCryptor.html" target="_self">AesCryptor</a></td><td class="desc"></td></tr>
<tr id="row_0_0_6_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="df/d2d/classshaka_1_1media_1_1AesCbcDecryptor.html" target="_self">AesCbcDecryptor</a></td><td class="desc">Class which implements AES-CBC (Cipher block chaining) decryption </td></tr>
<tr id="row_0_0_7_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d3/d75/classshaka_1_1media_1_1AesEncryptor.html" target="_self">AesEncryptor</a></td><td class="desc"></td></tr>
<tr id="row_0_0_8_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/dd8/classshaka_1_1media_1_1AesCtrEncryptor.html" target="_self">AesCtrEncryptor</a></td><td class="desc"></td></tr>
<tr id="row_0_0_9_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/d20/classshaka_1_1media_1_1AesCbcEncryptor.html" target="_self">AesCbcEncryptor</a></td><td class="desc"></td></tr>
<tr id="row_0_0_10_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html" target="_self">AesPatternCryptor</a></td><td class="desc">Implements pattern-based encryption/decryption </td></tr>
<tr id="row_0_0_11_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html" target="_self">AudioStreamInfo</a></td><td class="desc">Holds audio stream information </td></tr>
<tr id="row_0_0_12_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/d4d/classshaka_1_1media_1_1AudioTimestampHelper.html" target="_self">AudioTimestampHelper</a></td><td class="desc"></td></tr>
<tr id="row_0_0_13_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d6/da9/classshaka_1_1media_1_1BitReader.html" target="_self">BitReader</a></td><td class="desc">A class to read bit streams </td></tr>
<tr id="row_0_0_14_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d9/d13/classshaka_1_1media_1_1BufferReader.html" target="_self">BufferReader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_15_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dc/d41/classshaka_1_1media_1_1BufferWriter.html" target="_self">BufferWriter</a></td><td class="desc"></td></tr>
<tr id="row_0_0_16_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d7/dda/classshaka_1_1media_1_1ByteQueue.html" target="_self">ByteQueue</a></td><td class="desc"></td></tr>
<tr id="row_0_0_17_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dc/df0/classshaka_1_1media_1_1ClosureThread.html" target="_self">ClosureThread</a></td><td class="desc"></td></tr>
<tr id="row_0_0_18_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d1/d34/structshaka_1_1media_1_1SubsampleEntry.html" target="_self">SubsampleEntry</a></td><td class="desc"></td></tr>
<tr id="row_0_0_19_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="de/d49/classshaka_1_1media_1_1DecryptConfig.html" target="_self">DecryptConfig</a></td><td class="desc"></td></tr>
<tr id="row_0_0_20_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d7/d59/classshaka_1_1media_1_1DecryptorSource.html" target="_self">DecryptorSource</a></td><td class="desc"><a class="el" href="d7/d59/classshaka_1_1media_1_1DecryptorSource.html" title="DecryptorSource wraps KeySource and is responsible for decryptor management. ">DecryptorSource</a> wraps <a class="el" href="d1/d1f/classshaka_1_1media_1_1KeySource.html" title="KeySource is responsible for encryption key acquisition. ">KeySource</a> and is responsible for decryptor management </td></tr>
<tr id="row_0_0_21_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d7/d34/structshaka_1_1media_1_1EncryptionConfig.html" target="_self">EncryptionConfig</a></td><td class="desc"></td></tr>
<tr id="row_0_0_22_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/dac/classshaka_1_1media_1_1FixedKeySource.html" target="_self">FixedKeySource</a></td><td class="desc">A key source that uses fixed keys for encryption </td></tr>
<tr id="row_0_0_23_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d7/de0/classshaka_1_1media_1_1HttpKeyFetcher.html" target="_self">HttpKeyFetcher</a></td><td class="desc"></td></tr>
<tr id="row_0_0_24_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="df/d66/classshaka_1_1media_1_1KeyFetcher.html" target="_self">KeyFetcher</a></td><td class="desc">Base class for fetching keys from the license service </td></tr>
<tr id="row_0_0_25_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dd/dbd/structshaka_1_1media_1_1EncryptionKey.html" target="_self">EncryptionKey</a></td><td class="desc"></td></tr>
<tr id="row_0_0_26_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d1/d1f/classshaka_1_1media_1_1KeySource.html" target="_self">KeySource</a></td><td class="desc"><a class="el" href="d1/d1f/classshaka_1_1media_1_1KeySource.html" title="KeySource is responsible for encryption key acquisition. ">KeySource</a> is responsible for encryption key acquisition </td></tr>
<tr id="row_0_0_27_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d7/d58/structshaka_1_1media_1_1PeriodInfo.html" target="_self">PeriodInfo</a></td><td class="desc"></td></tr>
<tr id="row_0_0_28_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="df/dd3/structshaka_1_1media_1_1MediaEvent.html" target="_self">MediaEvent</a></td><td class="desc"></td></tr>
<tr id="row_0_0_29_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/dc0/structshaka_1_1media_1_1SegmentInfo.html" target="_self">SegmentInfo</a></td><td class="desc"></td></tr>
<tr id="row_0_0_30_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/d4c/structshaka_1_1media_1_1StreamData.html" target="_self">StreamData</a></td><td class="desc"></td></tr>
<tr id="row_0_0_31_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="da/dfd/classshaka_1_1media_1_1MediaHandler.html" target="_self">MediaHandler</a></td><td class="desc"></td></tr>
<tr id="row_0_0_32_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d1/d36/classshaka_1_1media_1_1FakeMediaHandler.html" target="_self">FakeMediaHandler</a></td><td class="desc"></td></tr>
<tr id="row_0_0_33_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/d9b/classshaka_1_1media_1_1MediaHandlerTestBase.html" target="_self">MediaHandlerTestBase</a></td><td class="desc"></td></tr>
<tr id="row_0_0_34_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d3/d0a/classshaka_1_1media_1_1MediaParser.html" target="_self">MediaParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_35_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d7/d6d/classshaka_1_1media_1_1MediaSample.html" target="_self">MediaSample</a></td><td class="desc">Class to hold a media sample </td></tr>
<tr id="row_0_0_36_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="df/d46/classshaka_1_1media_1_1Muxer.html" target="_self">Muxer</a></td><td class="desc"></td></tr>
<tr id="row_0_0_37_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/d27/structshaka_1_1media_1_1MuxerOptions.html" target="_self">MuxerOptions</a></td><td class="desc">This structure contains the list of configuration options for <a class="el" href="df/d46/classshaka_1_1media_1_1Muxer.html">Muxer</a> </td></tr>
<tr id="row_0_0_38_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d9/df9/classshaka_1_1media_1_1OffsetByteQueue.html" target="_self">OffsetByteQueue</a></td><td class="desc"></td></tr>
<tr id="row_0_0_39_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/da6/classshaka_1_1media_1_1PlayReadyKeySource.html" target="_self">PlayReadyKeySource</a></td><td class="desc">A key source that uses playready for encryption </td></tr>
<tr id="row_0_0_40_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d5/d33/classshaka_1_1media_1_1ProducerConsumerQueue.html" target="_self">ProducerConsumerQueue</a></td><td class="desc"></td></tr>
<tr id="row_0_0_41_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/dd4/classshaka_1_1media_1_1ProtectionSystemSpecificInfo.html" target="_self">ProtectionSystemSpecificInfo</a></td><td class="desc"></td></tr>
<tr id="row_0_0_42_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="df/d3c/classshaka_1_1media_1_1RequestSigner.html" target="_self">RequestSigner</a></td><td class="desc">Abstract class used for signature generation </td></tr>
<tr id="row_0_0_43_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d9/d8c/classshaka_1_1media_1_1AesRequestSigner.html" target="_self">AesRequestSigner</a></td><td class="desc"><a class="el" href="d9/d8c/classshaka_1_1media_1_1AesRequestSigner.html" title="AesRequestSigner uses AES-CBC signing. ">AesRequestSigner</a> uses AES-CBC signing </td></tr>
<tr id="row_0_0_44_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html" target="_self">RsaRequestSigner</a></td><td class="desc"><a class="el" href="d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html" title="RsaRequestSigner uses RSA-PSS signing. ">RsaRequestSigner</a> uses RSA-PSS signing </td></tr>
<tr id="row_0_0_45_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/dce/classshaka_1_1media_1_1RsaPrivateKey.html" target="_self">RsaPrivateKey</a></td><td class="desc">Rsa private key, used for message signing and decryption </td></tr>
<tr id="row_0_0_46_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d9/d0c/classshaka_1_1media_1_1RsaPublicKey.html" target="_self">RsaPublicKey</a></td><td class="desc">Rsa public key, used for signature verification and encryption </td></tr>
<tr id="row_0_0_47_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/d93/classshaka_1_1media_1_1Status.html" target="_self">Status</a></td><td class="desc"></td></tr>
<tr id="row_0_0_48_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d5/db1/classshaka_1_1media_1_1StreamInfo.html" target="_self">StreamInfo</a></td><td class="desc">Abstract class holds stream information </td></tr>
<tr id="row_0_0_49_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/d1f/classshaka_1_1media_1_1TextSample.html" target="_self">TextSample</a></td><td class="desc"></td></tr>
<tr id="row_0_0_50_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/dab/classshaka_1_1media_1_1TextStreamInfo.html" target="_self">TextStreamInfo</a></td><td class="desc"></td></tr>
<tr id="row_0_0_51_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/d0b/classshaka_1_1media_1_1TextTrack.html" target="_self">TextTrack</a></td><td class="desc"></td></tr>
<tr id="row_0_0_52_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="de/db3/classshaka_1_1media_1_1TextTrackConfig.html" target="_self">TextTrackConfig</a></td><td class="desc"></td></tr>
<tr id="row_0_0_53_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html" target="_self">VideoStreamInfo</a></td><td class="desc">Holds video stream information </td></tr>
<tr id="row_0_0_54_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="da/ddd/classshaka_1_1media_1_1WidevineKeySource.html" target="_self">WidevineKeySource</a></td><td class="desc"></td></tr>
<tr id="row_0_0_55_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/d02/structshaka_1_1media_1_1ChunkingOptions.html" target="_self">ChunkingOptions</a></td><td class="desc"></td></tr>
<tr id="row_0_0_56_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/d43/classshaka_1_1media_1_1ChunkingHandler.html" target="_self">ChunkingHandler</a></td><td class="desc"></td></tr>
<tr id="row_0_0_57_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/da2/classshaka_1_1media_1_1AACAudioSpecificConfig.html" target="_self">AACAudioSpecificConfig</a></td><td class="desc"></td></tr>
<tr id="row_0_0_58_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html" target="_self">AVCDecoderConfigurationRecord</a></td><td class="desc">Class for parsing AVC decoder configuration record </td></tr>
<tr id="row_0_0_59_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="de/de0/classshaka_1_1media_1_1DecoderConfigurationRecord.html" target="_self">DecoderConfigurationRecord</a></td><td class="desc"></td></tr>
<tr id="row_0_0_60_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d5/d13/classshaka_1_1media_1_1ESDescriptor.html" target="_self">ESDescriptor</a></td><td class="desc"></td></tr>
<tr id="row_0_0_61_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d8/d08/classshaka_1_1media_1_1H264ByteToUnitStreamConverter.html" target="_self">H264ByteToUnitStreamConverter</a></td><td class="desc"></td></tr>
<tr id="row_0_0_62_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d1/d0a/structshaka_1_1media_1_1H264Sps.html" target="_self">H264Sps</a></td><td class="desc"></td></tr>
<tr id="row_0_0_63_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="de/de4/structshaka_1_1media_1_1H264Pps.html" target="_self">H264Pps</a></td><td class="desc"></td></tr>
<tr id="row_0_0_64_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d9/dff/structshaka_1_1media_1_1H264ModificationOfPicNum.html" target="_self">H264ModificationOfPicNum</a></td><td class="desc"></td></tr>
<tr id="row_0_0_65_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/d4c/structshaka_1_1media_1_1H264WeightingFactors.html" target="_self">H264WeightingFactors</a></td><td class="desc"></td></tr>
<tr id="row_0_0_66_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dc/d54/structshaka_1_1media_1_1H264DecRefPicMarking.html" target="_self">H264DecRefPicMarking</a></td><td class="desc"></td></tr>
<tr id="row_0_0_67_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d2/d59/structshaka_1_1media_1_1H264SliceHeader.html" target="_self">H264SliceHeader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_68_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="df/de2/structshaka_1_1media_1_1H264SEIRecoveryPoint.html" target="_self">H264SEIRecoveryPoint</a></td><td class="desc"></td></tr>
<tr id="row_0_0_69_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d6/dd0/structshaka_1_1media_1_1H264SEIMessage.html" target="_self">H264SEIMessage</a></td><td class="desc"></td></tr>
<tr id="row_0_0_70_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d3/d91/classshaka_1_1media_1_1H264Parser.html" target="_self">H264Parser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_71_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html" target="_self">H265ByteToUnitStreamConverter</a></td><td class="desc"></td></tr>
<tr id="row_0_0_72_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d5/dad/structshaka_1_1media_1_1H265ReferencePictureSet.html" target="_self">H265ReferencePictureSet</a></td><td class="desc"></td></tr>
<tr id="row_0_0_73_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d9/d67/structshaka_1_1media_1_1H265VuiParameters.html" target="_self">H265VuiParameters</a></td><td class="desc"></td></tr>
<tr id="row_0_0_74_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="de/d33/structshaka_1_1media_1_1H265Pps.html" target="_self">H265Pps</a></td><td class="desc"></td></tr>
<tr id="row_0_0_75_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/dfd/structshaka_1_1media_1_1H265Sps.html" target="_self">H265Sps</a></td><td class="desc"></td></tr>
<tr id="row_0_0_76_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d5/d9d/structshaka_1_1media_1_1H265ReferencePictureListModifications.html" target="_self">H265ReferencePictureListModifications</a></td><td class="desc"></td></tr>
<tr id="row_0_0_77_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_0_77_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_0_77_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/d05/structshaka_1_1media_1_1H265SliceHeader.html" target="_self">H265SliceHeader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_77_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d7/d9c/structshaka_1_1media_1_1H265SliceHeader_1_1LongTermPicsInfo.html" target="_self">LongTermPicsInfo</a></td><td class="desc"></td></tr>
<tr id="row_0_0_78_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="de/dc2/classshaka_1_1media_1_1H265Parser.html" target="_self">H265Parser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_79_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="de/db4/classshaka_1_1media_1_1H26xBitReader.html" target="_self">H26xBitReader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_80_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="de/dea/classshaka_1_1media_1_1H26xByteToUnitStreamConverter.html" target="_self">H26xByteToUnitStreamConverter</a></td><td class="desc">A base class that is used to convert H.26x byte streams to NAL unit streams </td></tr>
<tr id="row_0_0_81_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/d8a/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord.html" target="_self">HEVCDecoderConfigurationRecord</a></td><td class="desc">Class for parsing HEVC decoder configuration record </td></tr>
<tr id="row_0_0_82_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d5/d66/classshaka_1_1media_1_1NalUnitToByteStreamConverter.html" target="_self">NalUnitToByteStreamConverter</a></td><td class="desc"></td></tr>
<tr id="row_0_0_83_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d6/dff/classshaka_1_1media_1_1Nalu.html" target="_self">Nalu</a></td><td class="desc"></td></tr>
<tr id="row_0_0_84_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/d86/classshaka_1_1media_1_1NaluReader.html" target="_self">NaluReader</a></td><td class="desc"></td></tr>
<tr id="row_0_0_85_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html" target="_self">VideoSliceHeaderParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_86_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="da/df0/classshaka_1_1media_1_1H264VideoSliceHeaderParser.html" target="_self">H264VideoSliceHeaderParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_87_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html" target="_self">H265VideoSliceHeaderParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_88_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d8/d14/classshaka_1_1media_1_1VP8Parser.html" target="_self">VP8Parser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_89_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/d5a/classshaka_1_1media_1_1VP9Parser.html" target="_self">VP9Parser</a></td><td class="desc">Class to parse a vp9 bit stream </td></tr>
<tr id="row_0_0_90_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html" target="_self">VPCodecConfigurationRecord</a></td><td class="desc">Class for parsing or writing VP codec configuration record </td></tr>
<tr id="row_0_0_91_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/d11/structshaka_1_1media_1_1VPxFrameInfo.html" target="_self">VPxFrameInfo</a></td><td class="desc"></td></tr>
<tr id="row_0_0_92_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/dcb/classshaka_1_1media_1_1VPxParser.html" target="_self">VPxParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_93_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d6/d82/structshaka_1_1media_1_1EncryptionOptions.html" target="_self">EncryptionOptions</a></td><td class="desc">This structure defines encryption options </td></tr>
<tr id="row_0_0_94_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d6/d4c/classshaka_1_1media_1_1EncryptionHandler.html" target="_self">EncryptionHandler</a></td><td class="desc"></td></tr>
<tr id="row_0_0_95_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dd/d17/classshaka_1_1media_1_1Demuxer.html" target="_self">Demuxer</a></td><td class="desc"></td></tr>
<tr id="row_0_0_96_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html" target="_self">HlsNotifyMuxerListener</a></td><td class="desc"><a class="el" href="dd/d7a/classshaka_1_1media_1_1MuxerListener.html">MuxerListener</a> that uses HlsNotifier </td></tr>
<tr id="row_0_0_97_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dc/d73/classshaka_1_1media_1_1MockMuxerListener.html" target="_self">MockMuxerListener</a></td><td class="desc"></td></tr>
<tr id="row_0_0_98_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html" target="_self">MpdNotifyMuxerListener</a></td><td class="desc"></td></tr>
<tr id="row_0_0_99_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dd/d7a/classshaka_1_1media_1_1MuxerListener.html" target="_self">MuxerListener</a></td><td class="desc"></td></tr>
<tr id="row_0_0_100_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d6/d26/structshaka_1_1media_1_1VideoStreamInfoParameters.html" target="_self">VideoStreamInfoParameters</a></td><td class="desc"></td></tr>
<tr id="row_0_0_101_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/db8/structshaka_1_1media_1_1OnMediaEndParameters.html" target="_self">OnMediaEndParameters</a></td><td class="desc"></td></tr>
<tr id="row_0_0_102_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/de6/classshaka_1_1media_1_1ProgressListener.html" target="_self">ProgressListener</a></td><td class="desc">This class listens to progress updates events </td></tr>
<tr id="row_0_0_103_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html" target="_self">VodMediaInfoDumpMuxerListener</a></td><td class="desc"></td></tr>
<tr id="row_0_0_104_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d3/d61/classshaka_1_1media_1_1File.html" target="_self">File</a></td><td class="desc">Define an abstract file interface </td></tr>
<tr id="row_0_0_105_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d3/d8b/structshaka_1_1media_1_1FileCloser.html" target="_self">FileCloser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_106_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dd/d7c/classshaka_1_1media_1_1IoCache.html" target="_self">IoCache</a></td><td class="desc">Declaration of class which implements a thread-safe circular buffer </td></tr>
<tr id="row_0_0_107_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d9/de6/classshaka_1_1media_1_1LocalFile.html" target="_self">LocalFile</a></td><td class="desc">Implement <a class="el" href="d9/de6/classshaka_1_1media_1_1LocalFile.html" title="Implement LocalFile which deals with local storage. ">LocalFile</a> which deals with local storage </td></tr>
<tr id="row_0_0_108_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d9/dbd/classshaka_1_1media_1_1MemoryFile.html" target="_self">MemoryFile</a></td><td class="desc"></td></tr>
<tr id="row_0_0_109_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html" target="_self">ThreadedIoFile</a></td><td class="desc">Declaration of class which implements a thread-safe circular buffer </td></tr>
<tr id="row_0_0_110_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d7/d7a/classshaka_1_1media_1_1UdpFile.html" target="_self">UdpFile</a></td><td class="desc">Implements <a class="el" href="d7/d7a/classshaka_1_1media_1_1UdpFile.html" title="Implements UdpFile, which receives UDP unicast and multicast streams. ">UdpFile</a>, which receives UDP unicast and multicast streams </td></tr>
<tr id="row_0_0_111_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/d8e/classshaka_1_1media_1_1UdpOptions.html" target="_self">UdpOptions</a></td><td class="desc">Options parsed from UDP url string of the form: udp://ip:port[?options] </td></tr>
<tr id="row_0_0_112_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d1/dd5/classshaka_1_1media_1_1Cluster.html" target="_self">Cluster</a></td><td class="desc"></td></tr>
<tr id="row_0_0_113_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/d94/classshaka_1_1media_1_1ClusterBuilder.html" target="_self">ClusterBuilder</a></td><td class="desc"></td></tr>
<tr id="row_0_0_114_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d1/d0a/classshaka_1_1media_1_1MkvWriter.html" target="_self">MkvWriter</a></td><td class="desc">An implementation of IMkvWriter using our <a class="el" href="d3/d61/classshaka_1_1media_1_1File.html" title="Define an abstract file interface. ">File</a> type </td></tr>
<tr id="row_0_0_115_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dc/d16/classshaka_1_1media_1_1SeekHead.html" target="_self">SeekHead</a></td><td class="desc"></td></tr>
<tr id="row_0_0_116_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_0_116_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_0_116_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d2/dba/classshaka_1_1media_1_1SegmentTestBase.html" target="_self">SegmentTestBase</a></td><td class="desc"></td></tr>
<tr id="row_0_0_116_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d2/df8/classshaka_1_1media_1_1SegmentTestBase_1_1ClusterParser.html" target="_self">ClusterParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_117_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d8/d74/classshaka_1_1media_1_1TracksBuilder.html" target="_self">TracksBuilder</a></td><td class="desc"></td></tr>
<tr id="row_0_0_118_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d3/d7c/classshaka_1_1media_1_1WebMAudioClient.html" target="_self">WebMAudioClient</a></td><td class="desc">Helper class used to parse an Audio element inside a TrackEntry element </td></tr>
<tr id="row_0_0_119_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="da/de4/classshaka_1_1media_1_1WebMClusterParser.html" target="_self">WebMClusterParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_120_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dc/da6/classshaka_1_1media_1_1ContentEncoding.html" target="_self">ContentEncoding</a></td><td class="desc"></td></tr>
<tr id="row_0_0_121_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d9/d87/classshaka_1_1media_1_1WebMContentEncodingsClient.html" target="_self">WebMContentEncodingsClient</a></td><td class="desc">Parser for WebM ContentEncodings element </td></tr>
<tr id="row_0_0_122_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/dae/classshaka_1_1media_1_1WebMInfoParser.html" target="_self">WebMInfoParser</a></td><td class="desc">Parser for WebM Info element </td></tr>
<tr id="row_0_0_123_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html" target="_self">WebMMediaParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_124_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d5/dec/classshaka_1_1media_1_1WebMParserClient.html" target="_self">WebMParserClient</a></td><td class="desc"></td></tr>
<tr id="row_0_0_125_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dc/dca/classshaka_1_1media_1_1WebMListParser.html" target="_self">WebMListParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_126_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d8/d86/classshaka_1_1media_1_1WebMTracksParser.html" target="_self">WebMTracksParser</a></td><td class="desc">Parser for WebM Tracks element </td></tr>
<tr id="row_0_0_127_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d3/d67/classshaka_1_1media_1_1WebMVideoClient.html" target="_self">WebMVideoClient</a></td><td class="desc">Helper class used to parse a Video element inside a TrackEntry element </td></tr>
<tr id="row_0_0_128_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d4/d59/classshaka_1_1media_1_1WebMWebVTTParser.html" target="_self">WebMWebVTTParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_129_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dd/dce/structshaka_1_1media_1_1Cue.html" target="_self">Cue</a></td><td class="desc"></td></tr>
<tr id="row_0_0_130_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dc/df2/classshaka_1_1media_1_1WebVttMediaParser.html" target="_self">WebVttMediaParser</a></td><td class="desc"></td></tr>
<tr id="row_0_0_131_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="de/ddd/classshaka_1_1media_1_1WebVttSampleConverter.html" target="_self">WebVttSampleConverter</a></td><td class="desc"></td></tr>
<tr id="row_0_0_132_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="db/dea/classshaka_1_1media_1_1TrickPlayHandler.html" target="_self">TrickPlayHandler</a></td><td class="desc"></td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_1_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_1_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><b>xml</b></td><td class="desc"></td></tr>
<tr id="row_0_1_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="dd/da4/structshaka_1_1xml_1_1XmlDeleter.html" target="_self">XmlDeleter</a></td><td class="desc"></td></tr>
<tr id="row_0_1_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="d1/d31/classshaka_1_1xml_1_1XmlNode.html" target="_self">XmlNode</a></td><td class="desc"></td></tr>
@ -385,7 +383,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:25 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:22 for DASH Media Packaging SDK 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

@ -89,99 +89,99 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_K">K</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_N">N</a>&#160;|&#160;<a class="qindex" href="#letter_O">O</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a>&#160;|&#160;<a class="qindex" href="#letter_V">V</a>&#160;|&#160;<a class="qindex" href="#letter_W">W</a>&#160;|&#160;<a class="qindex" href="#letter_X">X</a></div>
<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr><td rowspan="2" valign="bottom"><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;A&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="de/def/structshaka_1_1media_1_1mp4_1_1DecodingTimeToSample.html">DecodingTimeToSample</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_K"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;K&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d4/da6/classshaka_1_1media_1_1PlayReadyKeySource.html">PlayReadyKeySource</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/d29/structshaka_1_1media_1_1mp4_1_1TrackExtends.html">TrackExtends</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="de/d49/classshaka_1_1media_1_1DecryptConfig.html">DecryptConfig</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/d0f/structshaka_1_1media_1_1wvm_1_1PrevSampleData.html">PrevSampleData</a> (shaka::media::wvm)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/d7b/structshaka_1_1media_1_1mp4_1_1TrackFragment.html">TrackFragment</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d0/da2/classshaka_1_1media_1_1AACAudioSpecificConfig.html">AACAudioSpecificConfig</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/d59/classshaka_1_1media_1_1DecryptorSource.html">DecryptorSource</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/d66/classshaka_1_1media_1_1KeyFetcher.html">KeyFetcher</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d47/structshaka_1_1media_1_1mp4_1_1PrivFrame.html">PrivFrame</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/d9a/structshaka_1_1media_1_1mp4_1_1TrackFragmentDecodeTime.html">TrackFragmentDecodeTime</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d4/dc8/classshaka_1_1media_1_1mp2t_1_1AacProgramMapTableWriter.html">AacProgramMapTableWriter</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/d17/classshaka_1_1media_1_1Demuxer.html">Demuxer</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d1f/classshaka_1_1media_1_1KeySource.html">KeySource</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/d33/classshaka_1_1media_1_1ProducerConsumerQueue.html">ProducerConsumerQueue</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d6e/structshaka_1_1media_1_1mp4_1_1TrackFragmentHeader.html">TrackFragmentHeader</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d4/dfa/structshaka_1_1media_1_1mp4_1_1AC3Specific.html">AC3Specific</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/da1/structshaka_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html">DemuxStreamIdMediaSample</a> (shaka::media::wvm)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;L&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="dc/d03/classshaka_1_1media_1_1mp2t_1_1ProgramMapTableWriter.html">ProgramMapTableWriter</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/df5/structshaka_1_1media_1_1mp4_1_1TrackFragmentRun.html">TrackFragmentRun</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d8/d8e/classshaka_1_1AdaptationSet.html">AdaptationSet</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/da0/structshaka_1_1media_1_1mp4_1_1DTSSpecific.html">DTSSpecific</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/de6/classshaka_1_1media_1_1ProgressListener.html">ProgressListener</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/dc4/structshaka_1_1media_1_1mp4_1_1TrackHeader.html">TrackHeader</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d1/de7/classshaka_1_1xml_1_1AdaptationSetXmlNode.html">AdaptationSetXmlNode</a> (shaka::xml)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;E&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="da/d1a/structshaka_1_1media_1_1mp4_1_1Language.html">Language</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/de9/structshaka_1_1media_1_1mp4_1_1ProtectionSchemeInfo.html">ProtectionSchemeInfo</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html">TrackRunIterator</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d3/d0c/classshaka_1_1media_1_1mp2t_1_1AdtsHeader.html">AdtsHeader</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d51/classshaka_1_1media_1_1LibcryptoThreading.html">LibcryptoThreading</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d3c/structshaka_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html">ProtectionSystemSpecificHeader</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/d74/classshaka_1_1media_1_1TracksBuilder.html">TracksBuilder</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="df/d2d/classshaka_1_1media_1_1AesCbcDecryptor.html">AesCbcDecryptor</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/d8d/structshaka_1_1media_1_1mp4_1_1EC3Specific.html">EC3Specific</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/de6/classshaka_1_1media_1_1LocalFile.html">LocalFile</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/dd4/classshaka_1_1media_1_1ProtectionSystemSpecificInfo.html">ProtectionSystemSpecificInfo</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/dea/classshaka_1_1media_1_1TrickPlayHandler.html">TrickPlayHandler</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d4/d20/classshaka_1_1media_1_1AesCbcEncryptor.html">AesCbcEncryptor</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/dd0/structshaka_1_1media_1_1mp4_1_1Edit.html">Edit</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/d9c/structshaka_1_1media_1_1H265SliceHeader_1_1LongTermPicsInfo.html">H265SliceHeader::LongTermPicsInfo</a> (shaka::media)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;R&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d3/d71/classshaka_1_1media_1_1mp2t_1_1TsMuxer.html">TsMuxer</a> (shaka::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="df/d87/classshaka_1_1media_1_1AesCryptor.html">AesCryptor</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/dbe/structshaka_1_1media_1_1mp4_1_1EditList.html">EditList</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;M&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d1/d20/classshaka_1_1media_1_1mp4_1_1DecodingTimeIterator.html">DecodingTimeIterator</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/d7c/classshaka_1_1media_1_1IoCache.html">IoCache</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html">PesPacketGenerator</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/db8/structshaka_1_1media_1_1mp4_1_1TrackEncryption.html">TrackEncryption</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="de/def/structshaka_1_1media_1_1mp4_1_1DecodingTimeToSample.html">DecodingTimeToSample</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_K"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;K&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="dd/d71/structshaka_1_1media_1_1mp4_1_1PixelAspectRatio.html">PixelAspectRatio</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/d29/structshaka_1_1media_1_1mp4_1_1TrackExtends.html">TrackExtends</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d0/da2/classshaka_1_1media_1_1AACAudioSpecificConfig.html">AACAudioSpecificConfig</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/d49/classshaka_1_1media_1_1DecryptConfig.html">DecryptConfig</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/da6/classshaka_1_1media_1_1PlayReadyKeySource.html">PlayReadyKeySource</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/d7b/structshaka_1_1media_1_1mp4_1_1TrackFragment.html">TrackFragment</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d4/dc8/classshaka_1_1media_1_1mp2t_1_1AacProgramMapTableWriter.html">AacProgramMapTableWriter</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/d59/classshaka_1_1media_1_1DecryptorSource.html">DecryptorSource</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/d66/classshaka_1_1media_1_1KeyFetcher.html">KeyFetcher</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/d0f/structshaka_1_1media_1_1wvm_1_1PrevSampleData.html">PrevSampleData</a> (shaka::media::wvm)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/d9a/structshaka_1_1media_1_1mp4_1_1TrackFragmentDecodeTime.html">TrackFragmentDecodeTime</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d4/dfa/structshaka_1_1media_1_1mp4_1_1AC3Specific.html">AC3Specific</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/d17/classshaka_1_1media_1_1Demuxer.html">Demuxer</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d1f/classshaka_1_1media_1_1KeySource.html">KeySource</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d47/structshaka_1_1media_1_1mp4_1_1PrivFrame.html">PrivFrame</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d6e/structshaka_1_1media_1_1mp4_1_1TrackFragmentHeader.html">TrackFragmentHeader</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d8/d8e/classshaka_1_1AdaptationSet.html">AdaptationSet</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/da1/structshaka_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html">DemuxStreamIdMediaSample</a> (shaka::media::wvm)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;L&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d5/d33/classshaka_1_1media_1_1ProducerConsumerQueue.html">ProducerConsumerQueue</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/df5/structshaka_1_1media_1_1mp4_1_1TrackFragmentRun.html">TrackFragmentRun</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d1/de7/classshaka_1_1xml_1_1AdaptationSetXmlNode.html">AdaptationSetXmlNode</a> (shaka::xml)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/da0/structshaka_1_1media_1_1mp4_1_1DTSSpecific.html">DTSSpecific</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/d03/classshaka_1_1media_1_1mp2t_1_1ProgramMapTableWriter.html">ProgramMapTableWriter</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/dc4/structshaka_1_1media_1_1mp4_1_1TrackHeader.html">TrackHeader</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d3/d0c/classshaka_1_1media_1_1mp2t_1_1AdtsHeader.html">AdtsHeader</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;E&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="da/d1a/structshaka_1_1media_1_1mp4_1_1Language.html">Language</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/de6/classshaka_1_1media_1_1ProgressListener.html">ProgressListener</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html">TrackRunIterator</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="df/d2d/classshaka_1_1media_1_1AesCbcDecryptor.html">AesCbcDecryptor</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d51/classshaka_1_1media_1_1LibcryptoThreading.html">LibcryptoThreading</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/de9/structshaka_1_1media_1_1mp4_1_1ProtectionSchemeInfo.html">ProtectionSchemeInfo</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/d74/classshaka_1_1media_1_1TracksBuilder.html">TracksBuilder</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d4/d20/classshaka_1_1media_1_1AesCbcEncryptor.html">AesCbcEncryptor</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/d8d/structshaka_1_1media_1_1mp4_1_1EC3Specific.html">EC3Specific</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/de6/classshaka_1_1media_1_1LocalFile.html">LocalFile</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d3c/structshaka_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html">ProtectionSystemSpecificHeader</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/dea/classshaka_1_1media_1_1TrickPlayHandler.html">TrickPlayHandler</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="df/d87/classshaka_1_1media_1_1AesCryptor.html">AesCryptor</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/dd0/structshaka_1_1media_1_1mp4_1_1Edit.html">Edit</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/d9c/structshaka_1_1media_1_1H265SliceHeader_1_1LongTermPicsInfo.html">H265SliceHeader::LongTermPicsInfo</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/dd4/classshaka_1_1media_1_1ProtectionSystemSpecificInfo.html">ProtectionSystemSpecificInfo</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d71/classshaka_1_1media_1_1mp2t_1_1TsMuxer.html">TsMuxer</a> (shaka::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d0/dd8/classshaka_1_1media_1_1AesCtrEncryptor.html">AesCtrEncryptor</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/dbe/structshaka_1_1media_1_1mp4_1_1EditList.html">EditList</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;M&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;R&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="da/da1/classshaka_1_1media_1_1mp2t_1_1TsPacket.html">TsPacket</a> (shaka::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d0/dd8/classshaka_1_1media_1_1AesCtrEncryptor.html">AesCtrEncryptor</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/d18/structshaka_1_1media_1_1mp4_1_1EditListEntry.html">EditListEntry</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/d52/classshaka_1_1Representation.html">Representation</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/d1c/classshaka_1_1media_1_1mp2t_1_1TsSection.html">TsSection</a> (shaka::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d3/d75/classshaka_1_1media_1_1AesEncryptor.html">AesEncryptor</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/da9/structshaka_1_1Element.html">Element</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/ddf/structshaka_1_1media_1_1mp4_1_1Media.html">Media</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/db9/classshaka_1_1xml_1_1RepresentationBaseXmlNode.html">RepresentationBaseXmlNode</a> (shaka::xml)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d26/classshaka_1_1media_1_1mp2t_1_1TsSectionPat.html">TsSectionPat</a> (shaka::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html">AesPatternCryptor</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/d11/structshaka_1_1media_1_1mp4_1_1ElementaryStreamDescriptor.html">ElementaryStreamDescriptor</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/dae/structshaka_1_1media_1_1mp4_1_1MediaData.html">MediaData</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/d94/classshaka_1_1RepresentationStateChangeListener.html">RepresentationStateChangeListener</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d30/classshaka_1_1media_1_1mp2t_1_1TsSectionPes.html">TsSectionPes</a> (shaka::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d9/d8c/classshaka_1_1media_1_1AesRequestSigner.html">AesRequestSigner</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/d34/structshaka_1_1media_1_1EncryptionConfig.html">EncryptionConfig</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/dd3/structshaka_1_1media_1_1MediaEvent.html">MediaEvent</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/d9e/classshaka_1_1xml_1_1RepresentationXmlNode.html">RepresentationXmlNode</a> (shaka::xml)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/de3/classshaka_1_1media_1_1mp2t_1_1TsSectionPmt.html">TsSectionPmt</a> (shaka::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="da/d6e/structshaka_1_1media_1_1mp4_1_1AudioRollRecoveryEntry.html">AudioRollRecoveryEntry</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/d4c/classshaka_1_1media_1_1EncryptionHandler.html">EncryptionHandler</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/dfd/classshaka_1_1media_1_1MediaHandler.html">MediaHandler</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/d3c/classshaka_1_1media_1_1RequestSigner.html">RequestSigner</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/d7e/classshaka_1_1media_1_1mp2t_1_1TsSectionPsi.html">TsSectionPsi</a> (shaka::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d8/d5b/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry.html">AudioSampleEntry</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/dbd/structshaka_1_1media_1_1EncryptionKey.html">EncryptionKey</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/d9b/classshaka_1_1media_1_1MediaHandlerTestBase.html">MediaHandlerTestBase</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/dce/classshaka_1_1media_1_1RsaPrivateKey.html">RsaPrivateKey</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html">TsSegmenter</a> (shaka::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html">AudioStreamInfo</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/d82/structshaka_1_1media_1_1EncryptionOptions.html">EncryptionOptions</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/db9/structshaka_1_1media_1_1mp4_1_1MediaHeader.html">MediaHeader</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/d0c/classshaka_1_1media_1_1RsaPublicKey.html">RsaPublicKey</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html">TsWriter</a> (shaka::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d0/d4d/classshaka_1_1media_1_1AudioTimestampHelper.html">AudioTimestampHelper</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/d13/classshaka_1_1media_1_1ESDescriptor.html">ESDescriptor</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/d86/structshaka_1_1media_1_1mp4_1_1MediaInformation.html">MediaInformation</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html">RsaRequestSigner</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/da5/classshaka_1_1media_1_1webm_1_1TwoPassSingleSegmentSegmenter.html">TwoPassSingleSegmentSegmenter</a> (shaka::media::webm)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html">AVCDecoderConfigurationRecord</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/d10/classshaka_1_1media_1_1mp2t_1_1EsParser.html">EsParser</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d0a/classshaka_1_1media_1_1MediaParser.html">MediaParser</a> (shaka::media)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;S&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;U&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td valign="top"><a class="el" href="d3/d75/classshaka_1_1media_1_1AesEncryptor.html">AesEncryptor</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/d18/structshaka_1_1media_1_1mp4_1_1EditListEntry.html">EditListEntry</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/d1c/classshaka_1_1media_1_1mp2t_1_1TsSection.html">TsSection</a> (shaka::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html">AesPatternCryptor</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/da9/structshaka_1_1Element.html">Element</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/ddf/structshaka_1_1media_1_1mp4_1_1Media.html">Media</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/d52/classshaka_1_1Representation.html">Representation</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d26/classshaka_1_1media_1_1mp2t_1_1TsSectionPat.html">TsSectionPat</a> (shaka::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d9/d8c/classshaka_1_1media_1_1AesRequestSigner.html">AesRequestSigner</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/d11/structshaka_1_1media_1_1mp4_1_1ElementaryStreamDescriptor.html">ElementaryStreamDescriptor</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/dae/structshaka_1_1media_1_1mp4_1_1MediaData.html">MediaData</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/db9/classshaka_1_1xml_1_1RepresentationBaseXmlNode.html">RepresentationBaseXmlNode</a> (shaka::xml)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d30/classshaka_1_1media_1_1mp2t_1_1TsSectionPes.html">TsSectionPes</a> (shaka::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="da/d6e/structshaka_1_1media_1_1mp4_1_1AudioRollRecoveryEntry.html">AudioRollRecoveryEntry</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/d34/structshaka_1_1media_1_1EncryptionConfig.html">EncryptionConfig</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/dd3/structshaka_1_1media_1_1MediaEvent.html">MediaEvent</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/d94/classshaka_1_1RepresentationStateChangeListener.html">RepresentationStateChangeListener</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/de3/classshaka_1_1media_1_1mp2t_1_1TsSectionPmt.html">TsSectionPmt</a> (shaka::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d8/d5b/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry.html">AudioSampleEntry</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/d4c/classshaka_1_1media_1_1EncryptionHandler.html">EncryptionHandler</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/dfd/classshaka_1_1media_1_1MediaHandler.html">MediaHandler</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/d9e/classshaka_1_1xml_1_1RepresentationXmlNode.html">RepresentationXmlNode</a> (shaka::xml)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/d7e/classshaka_1_1media_1_1mp2t_1_1TsSectionPsi.html">TsSectionPsi</a> (shaka::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html">AudioStreamInfo</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/dbd/structshaka_1_1media_1_1EncryptionKey.html">EncryptionKey</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/d9b/classshaka_1_1media_1_1MediaHandlerTestBase.html">MediaHandlerTestBase</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/d3c/classshaka_1_1media_1_1RequestSigner.html">RequestSigner</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html">TsSegmenter</a> (shaka::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d0/d4d/classshaka_1_1media_1_1AudioTimestampHelper.html">AudioTimestampHelper</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/d82/structshaka_1_1media_1_1EncryptionOptions.html">EncryptionOptions</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/db9/structshaka_1_1media_1_1mp4_1_1MediaHeader.html">MediaHeader</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/dce/classshaka_1_1media_1_1RsaPrivateKey.html">RsaPrivateKey</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html">TsWriter</a> (shaka::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html">AVCDecoderConfigurationRecord</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/d13/classshaka_1_1media_1_1ESDescriptor.html">ESDescriptor</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/d86/structshaka_1_1media_1_1mp4_1_1MediaInformation.html">MediaInformation</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/d0c/classshaka_1_1media_1_1RsaPublicKey.html">RsaPublicKey</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/da5/classshaka_1_1media_1_1webm_1_1TwoPassSingleSegmentSegmenter.html">TwoPassSingleSegmentSegmenter</a> (shaka::media::webm)&#160;&#160;&#160;</td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;B&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d6/dcf/classshaka_1_1media_1_1mp2t_1_1EsParserAdts.html">EsParserAdts</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/d6d/classshaka_1_1media_1_1MediaSample.html">MediaSample</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d5/db9/classshaka_1_1media_1_1mp2t_1_1EsParserH264.html">EsParserH264</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/dbd/classshaka_1_1media_1_1MemoryFile.html">MemoryFile</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/dca/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationOffset.html">SampleAuxiliaryInformationOffset</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/d7a/classshaka_1_1media_1_1UdpFile.html">UdpFile</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d2/d6f/classBandwidthEstimator.html">BandwidthEstimator</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/d63/classshaka_1_1media_1_1mp2t_1_1EsParserH265.html">EsParserH265</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/df6/structshaka_1_1media_1_1mp4_1_1Metadata.html">Metadata</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/d13/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize.html">SampleAuxiliaryInformationSize</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/d8e/classshaka_1_1media_1_1UdpOptions.html">UdpOptions</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d6/da9/classshaka_1_1media_1_1BitReader.html">BitReader</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/d23/classshaka_1_1media_1_1mp2t_1_1EsParserH26x.html">EsParserH26x</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d0a/classshaka_1_1media_1_1MkvWriter.html">MkvWriter</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/df5/structshaka_1_1media_1_1mp4_1_1SampleDescription.html">SampleDescription</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_V"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;V&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="da/d10/classshaka_1_1media_1_1mp2t_1_1EsParser.html">EsParser</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d0a/classshaka_1_1media_1_1MediaParser.html">MediaParser</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html">RsaRequestSigner</a> (shaka::media)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;U&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td valign="top"><a class="el" href="d1/d2d/structshaka_1_1media_1_1mp4_1_1Box.html">Box</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;F&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="db/d4b/classshaka_1_1MockAdaptationSet.html">MockAdaptationSet</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/dad/structshaka_1_1media_1_1mp4_1_1SampleEncryption.html">SampleEncryption</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d1/da1/classshaka_1_1media_1_1mp4_1_1BoxBuffer.html">BoxBuffer</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/d60/classshaka_1_1MockMpdBuilder.html">MockMpdBuilder</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/dcb/structshaka_1_1media_1_1mp4_1_1SampleEncryptionEntry.html">SampleEncryptionEntry</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/db0/structshaka_1_1media_1_1mp4_1_1VideoMediaHeader.html">VideoMediaHeader</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d1/dee/classshaka_1_1media_1_1mp4_1_1BoxReader.html">BoxReader</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d36/classshaka_1_1media_1_1FakeMediaHandler.html">FakeMediaHandler</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/d5c/classshaka_1_1MockMpdNotifier.html">MockMpdNotifier</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/d01/structshaka_1_1media_1_1mp4_1_1SampleGroupDescription.html">SampleGroupDescription</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d73/structshaka_1_1media_1_1mp4_1_1VideoSampleEntry.html">VideoSampleEntry</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d9/d13/classshaka_1_1media_1_1BufferReader.html">BufferReader</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d61/classshaka_1_1media_1_1File.html">File</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/d73/classshaka_1_1media_1_1MockMuxerListener.html">MockMuxerListener</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/d42/structshaka_1_1media_1_1mp4_1_1SampleSize.html">SampleSize</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html">VideoSliceHeaderParser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="dc/d41/classshaka_1_1media_1_1BufferWriter.html">BufferWriter</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d8b/structshaka_1_1media_1_1FileCloser.html">FileCloser</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d33/classshaka_1_1MockRepresentation.html">MockRepresentation</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/dee/structshaka_1_1media_1_1mp4_1_1SampleTable.html">SampleTable</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/dc2/structshaka_1_1media_1_1mp2t_1_1EsParserH26x_1_1VideoSliceInfo.html">EsParserH26x::VideoSliceInfo</a> (shaka::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d7/dda/classshaka_1_1media_1_1ByteQueue.html">ByteQueue</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/d03/structshaka_1_1media_1_1mp4_1_1FileType.html">FileType</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d9a/structshaka_1_1media_1_1mp4_1_1Movie.html">Movie</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d87/structshaka_1_1media_1_1mp4_1_1SampleToChunk.html">SampleToChunk</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html">VideoStreamInfo</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d6/dcf/classshaka_1_1media_1_1mp2t_1_1EsParserAdts.html">EsParserAdts</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/d6d/classshaka_1_1media_1_1MediaSample.html">MediaSample</a> (shaka::media)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;S&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td valign="top"><a class="el" href="d2/d6f/classBandwidthEstimator.html">BandwidthEstimator</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/db9/classshaka_1_1media_1_1mp2t_1_1EsParserH264.html">EsParserH264</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/dbd/classshaka_1_1media_1_1MemoryFile.html">MemoryFile</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/d7a/classshaka_1_1media_1_1UdpFile.html">UdpFile</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d6/da9/classshaka_1_1media_1_1BitReader.html">BitReader</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/d63/classshaka_1_1media_1_1mp2t_1_1EsParserH265.html">EsParserH265</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/df6/structshaka_1_1media_1_1mp4_1_1Metadata.html">Metadata</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/dca/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationOffset.html">SampleAuxiliaryInformationOffset</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/d8e/classshaka_1_1media_1_1UdpOptions.html">UdpOptions</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d1/d2d/structshaka_1_1media_1_1mp4_1_1Box.html">Box</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/d23/classshaka_1_1media_1_1mp2t_1_1EsParserH26x.html">EsParserH26x</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d0a/classshaka_1_1media_1_1MkvWriter.html">MkvWriter</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/d13/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize.html">SampleAuxiliaryInformationSize</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_V"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;V&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td valign="top"><a class="el" href="d1/da1/classshaka_1_1media_1_1mp4_1_1BoxBuffer.html">BoxBuffer</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;F&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="db/d4b/classshaka_1_1MockAdaptationSet.html">MockAdaptationSet</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/df5/structshaka_1_1media_1_1mp4_1_1SampleDescription.html">SampleDescription</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d1/dee/classshaka_1_1media_1_1mp4_1_1BoxReader.html">BoxReader</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/d60/classshaka_1_1MockMpdBuilder.html">MockMpdBuilder</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/dad/structshaka_1_1media_1_1mp4_1_1SampleEncryption.html">SampleEncryption</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/db0/structshaka_1_1media_1_1mp4_1_1VideoMediaHeader.html">VideoMediaHeader</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d9/d13/classshaka_1_1media_1_1BufferReader.html">BufferReader</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d36/classshaka_1_1media_1_1FakeMediaHandler.html">FakeMediaHandler</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/d5c/classshaka_1_1MockMpdNotifier.html">MockMpdNotifier</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/dcb/structshaka_1_1media_1_1mp4_1_1SampleEncryptionEntry.html">SampleEncryptionEntry</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d73/structshaka_1_1media_1_1mp4_1_1VideoSampleEntry.html">VideoSampleEntry</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="dc/d41/classshaka_1_1media_1_1BufferWriter.html">BufferWriter</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d61/classshaka_1_1media_1_1File.html">File</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/d73/classshaka_1_1media_1_1MockMuxerListener.html">MockMuxerListener</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/d01/structshaka_1_1media_1_1mp4_1_1SampleGroupDescription.html">SampleGroupDescription</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html">VideoSliceHeaderParser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d7/dda/classshaka_1_1media_1_1ByteQueue.html">ByteQueue</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d8b/structshaka_1_1media_1_1FileCloser.html">FileCloser</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d33/classshaka_1_1MockRepresentation.html">MockRepresentation</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/d42/structshaka_1_1media_1_1mp4_1_1SampleSize.html">SampleSize</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/dc2/structshaka_1_1media_1_1mp2t_1_1EsParserH26x_1_1VideoSliceInfo.html">EsParserH26x::VideoSliceInfo</a> (shaka::media::mp2t)&#160;&#160;&#160;</td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;C&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d0/dac/classshaka_1_1media_1_1FixedKeySource.html">FixedKeySource</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d3e/structshaka_1_1media_1_1mp4_1_1MovieExtends.html">MovieExtends</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d7c/structshaka_1_1media_1_1mp4_1_1SampleToGroup.html">SampleToGroup</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/d26/structshaka_1_1media_1_1VideoStreamInfoParameters.html">VideoStreamInfoParameters</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="db/d95/classshaka_1_1media_1_1mp4_1_1Fragmenter.html">Fragmenter</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/d50/structshaka_1_1media_1_1mp4_1_1MovieExtendsHeader.html">MovieExtendsHeader</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/de0/structshaka_1_1media_1_1mp4_1_1SampleToGroupEntry.html">SampleToGroupEntry</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html">VodMediaInfoDumpMuxerListener</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d8/dd6/structshaka_1_1media_1_1mp4_1_1CencSampleEncryptionInfoEntry.html">CencSampleEncryptionInfoEntry</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/dc1/structshaka_1_1media_1_1mp4_1_1FullBox.html">FullBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/d1f/structshaka_1_1media_1_1mp4_1_1MovieFragment.html">MovieFragment</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/d70/structshaka_1_1media_1_1mp4_1_1SchemeInfo.html">SchemeInfo</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/d14/classshaka_1_1media_1_1VP8Parser.html">VP8Parser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="df/d38/structshaka_1_1media_1_1mp4_1_1ChunkInfo.html">ChunkInfo</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;H&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="dc/d8f/structshaka_1_1media_1_1mp4_1_1MovieFragmentHeader.html">MovieFragmentHeader</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/da2/structshaka_1_1media_1_1mp4_1_1SchemeType.html">SchemeType</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/d5a/classshaka_1_1media_1_1VP9Parser.html">VP9Parser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d9/d57/classshaka_1_1media_1_1mp4_1_1ChunkInfoIterator.html">ChunkInfoIterator</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/d1a/structshaka_1_1media_1_1mp4_1_1MovieHeader.html">MovieHeader</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/d16/classshaka_1_1media_1_1SeekHead.html">SeekHead</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html">VPCodecConfigurationRecord</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d4/d43/classshaka_1_1media_1_1ChunkingHandler.html">ChunkingHandler</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/d08/classshaka_1_1media_1_1H264ByteToUnitStreamConverter.html">H264ByteToUnitStreamConverter</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/dc1/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser.html">Mp2tMediaParser</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/d26/classshaka_1_1media_1_1mp4_1_1Segmenter.html">Segmenter</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d11/structshaka_1_1media_1_1VPxFrameInfo.html">VPxFrameInfo</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="db/d02/structshaka_1_1media_1_1ChunkingOptions.html">ChunkingOptions</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/d54/structshaka_1_1media_1_1H264DecRefPicMarking.html">H264DecRefPicMarking</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/dd5/classshaka_1_1media_1_1mp4_1_1MP4MediaParser.html">MP4MediaParser</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/dc5/classshaka_1_1media_1_1webm_1_1Segmenter.html">Segmenter</a> (shaka::media::webm)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/dcb/classshaka_1_1media_1_1VPxParser.html">VPxParser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="db/d95/structshaka_1_1media_1_1mp4_1_1ChunkLargeOffset.html">ChunkLargeOffset</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/dff/structshaka_1_1media_1_1H264ModificationOfPicNum.html">H264ModificationOfPicNum</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/d30/classshaka_1_1media_1_1mp4_1_1MP4Muxer.html">MP4Muxer</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/df9/structshaka_1_1media_1_1mp4_1_1SegmentIndex.html">SegmentIndex</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/d79/structshaka_1_1media_1_1mp4_1_1VTTAdditionalTextBox.html">VTTAdditionalTextBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="dd/d06/structshaka_1_1media_1_1mp4_1_1ChunkOffset.html">ChunkOffset</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d91/classshaka_1_1media_1_1H264Parser.html">H264Parser</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/da1/classshaka_1_1MpdBuilder.html">MpdBuilder</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/dc0/structshaka_1_1media_1_1SegmentInfo.html">SegmentInfo</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/daa/structshaka_1_1media_1_1mp4_1_1VTTCueBox.html">VTTCueBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="dc/df0/classshaka_1_1media_1_1ClosureThread.html">ClosureThread</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/de4/structshaka_1_1media_1_1H264Pps.html">H264Pps</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/dd0/classshaka_1_1MpdNotifier.html">MpdNotifier</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/de1/structshaka_1_1SegmentInfo.html">SegmentInfo</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/d3c/structshaka_1_1media_1_1mp4_1_1VTTEmptyCueBox.html">VTTEmptyCueBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d1/dd5/classshaka_1_1media_1_1Cluster.html">Cluster</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/d27/classshaka_1_1media_1_1mp2t_1_1H264ProgramMapTableWriter.html">H264ProgramMapTableWriter</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/db4/classshaka_1_1MpdNotifierFactory.html">MpdNotifierFactory</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/d9b/structshaka_1_1media_1_1mp4_1_1SegmentReference.html">SegmentReference</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_W"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;W&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d5/d03/structshaka_1_1media_1_1mp4_1_1FileType.html">FileType</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d9a/structshaka_1_1media_1_1mp4_1_1Movie.html">Movie</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/dee/structshaka_1_1media_1_1mp4_1_1SampleTable.html">SampleTable</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html">VideoStreamInfo</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d0/dac/classshaka_1_1media_1_1FixedKeySource.html">FixedKeySource</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d3e/structshaka_1_1media_1_1mp4_1_1MovieExtends.html">MovieExtends</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d87/structshaka_1_1media_1_1mp4_1_1SampleToChunk.html">SampleToChunk</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/d26/structshaka_1_1media_1_1VideoStreamInfoParameters.html">VideoStreamInfoParameters</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d8/dd6/structshaka_1_1media_1_1mp4_1_1CencSampleEncryptionInfoEntry.html">CencSampleEncryptionInfoEntry</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/d95/classshaka_1_1media_1_1mp4_1_1Fragmenter.html">Fragmenter</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/d50/structshaka_1_1media_1_1mp4_1_1MovieExtendsHeader.html">MovieExtendsHeader</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d7c/structshaka_1_1media_1_1mp4_1_1SampleToGroup.html">SampleToGroup</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html">VodMediaInfoDumpMuxerListener</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="df/d38/structshaka_1_1media_1_1mp4_1_1ChunkInfo.html">ChunkInfo</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/dc1/structshaka_1_1media_1_1mp4_1_1FullBox.html">FullBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/d1f/structshaka_1_1media_1_1mp4_1_1MovieFragment.html">MovieFragment</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/de0/structshaka_1_1media_1_1mp4_1_1SampleToGroupEntry.html">SampleToGroupEntry</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/d14/classshaka_1_1media_1_1VP8Parser.html">VP8Parser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d9/d57/classshaka_1_1media_1_1mp4_1_1ChunkInfoIterator.html">ChunkInfoIterator</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;H&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="dc/d8f/structshaka_1_1media_1_1mp4_1_1MovieFragmentHeader.html">MovieFragmentHeader</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/d70/structshaka_1_1media_1_1mp4_1_1SchemeInfo.html">SchemeInfo</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/d5a/classshaka_1_1media_1_1VP9Parser.html">VP9Parser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d4/d43/classshaka_1_1media_1_1ChunkingHandler.html">ChunkingHandler</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/d1a/structshaka_1_1media_1_1mp4_1_1MovieHeader.html">MovieHeader</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/da2/structshaka_1_1media_1_1mp4_1_1SchemeType.html">SchemeType</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html">VPCodecConfigurationRecord</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="db/d02/structshaka_1_1media_1_1ChunkingOptions.html">ChunkingOptions</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/d08/classshaka_1_1media_1_1H264ByteToUnitStreamConverter.html">H264ByteToUnitStreamConverter</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/dc1/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser.html">Mp2tMediaParser</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/d16/classshaka_1_1media_1_1SeekHead.html">SeekHead</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d11/structshaka_1_1media_1_1VPxFrameInfo.html">VPxFrameInfo</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="db/d95/structshaka_1_1media_1_1mp4_1_1ChunkLargeOffset.html">ChunkLargeOffset</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/d54/structshaka_1_1media_1_1H264DecRefPicMarking.html">H264DecRefPicMarking</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/dd5/classshaka_1_1media_1_1mp4_1_1MP4MediaParser.html">MP4MediaParser</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/d26/classshaka_1_1media_1_1mp4_1_1Segmenter.html">Segmenter</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/dcb/classshaka_1_1media_1_1VPxParser.html">VPxParser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="dd/d06/structshaka_1_1media_1_1mp4_1_1ChunkOffset.html">ChunkOffset</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/dff/structshaka_1_1media_1_1H264ModificationOfPicNum.html">H264ModificationOfPicNum</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/d30/classshaka_1_1media_1_1mp4_1_1MP4Muxer.html">MP4Muxer</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/dc5/classshaka_1_1media_1_1webm_1_1Segmenter.html">Segmenter</a> (shaka::media::webm)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/d79/structshaka_1_1media_1_1mp4_1_1VTTAdditionalTextBox.html">VTTAdditionalTextBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="dc/df0/classshaka_1_1media_1_1ClosureThread.html">ClosureThread</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d91/classshaka_1_1media_1_1H264Parser.html">H264Parser</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/da1/classshaka_1_1MpdBuilder.html">MpdBuilder</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/df9/structshaka_1_1media_1_1mp4_1_1SegmentIndex.html">SegmentIndex</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/daa/structshaka_1_1media_1_1mp4_1_1VTTCueBox.html">VTTCueBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d1/dd5/classshaka_1_1media_1_1Cluster.html">Cluster</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/de4/structshaka_1_1media_1_1H264Pps.html">H264Pps</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/dd0/classshaka_1_1MpdNotifier.html">MpdNotifier</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/dc0/structshaka_1_1media_1_1SegmentInfo.html">SegmentInfo</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/d3c/structshaka_1_1media_1_1mp4_1_1VTTEmptyCueBox.html">VTTEmptyCueBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="db/d94/classshaka_1_1media_1_1ClusterBuilder.html">ClusterBuilder</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/d27/classshaka_1_1media_1_1mp2t_1_1H264ProgramMapTableWriter.html">H264ProgramMapTableWriter</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/db4/classshaka_1_1MpdNotifierFactory.html">MpdNotifierFactory</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/de1/structshaka_1_1SegmentInfo.html">SegmentInfo</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_W"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;W&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td valign="top"><a class="el" href="db/d94/classshaka_1_1media_1_1ClusterBuilder.html">ClusterBuilder</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/dd0/structshaka_1_1media_1_1H264SEIMessage.html">H264SEIMessage</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html">MpdNotifyMuxerListener</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/dba/classshaka_1_1media_1_1SegmentTestBase.html">SegmentTestBase</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d2/df8/classshaka_1_1media_1_1SegmentTestBase_1_1ClusterParser.html">SegmentTestBase::ClusterParser</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/de2/structshaka_1_1media_1_1H264SEIRecoveryPoint.html">H264SEIRecoveryPoint</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/df3/structshaka_1_1MpdOptions.html">MpdOptions</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/dd0/structshaka_1_1media_1_1mp4_1_1SegmentType.html">SegmentType</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d7c/classshaka_1_1media_1_1WebMAudioClient.html">WebMAudioClient</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="db/d11/structshaka_1_1media_1_1mp4_1_1CodecConfiguration.html">CodecConfiguration</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/d59/structshaka_1_1media_1_1H264SliceHeader.html">H264SliceHeader</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/dcd/classshaka_1_1MpdWriter.html">MpdWriter</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/de1/classshaka_1_1SimpleMpdNotifier.html">SimpleMpdNotifier</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/de4/classshaka_1_1media_1_1WebMClusterParser.html">WebMClusterParser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="da/d59/structshaka_1_1media_1_1mp4_1_1CompactSampleSize.html">CompactSampleSize</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d0a/structshaka_1_1media_1_1H264Sps.html">H264Sps</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/db7/classshaka_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html">MultiSegmentSegmenter</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/dab/classshaka_1_1media_1_1mp4_1_1SingleSegmentSegmenter.html">SingleSegmentSegmenter</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/d87/classshaka_1_1media_1_1WebMContentEncodingsClient.html">WebMContentEncodingsClient</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d5/d8c/structshaka_1_1media_1_1mp4_1_1CompositionOffset.html">CompositionOffset</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/df0/classshaka_1_1media_1_1H264VideoSliceHeaderParser.html">H264VideoSliceHeaderParser</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/dd5/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter.html">MultiSegmentSegmenter</a> (shaka::media::webm)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/da1/classshaka_1_1media_1_1webm_1_1SingleSegmentSegmenter.html">SingleSegmentSegmenter</a> (shaka::media::webm)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/dae/classshaka_1_1media_1_1WebMInfoParser.html">WebMInfoParser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="db/d4e/classshaka_1_1media_1_1mp4_1_1CompositionOffsetIterator.html">CompositionOffsetIterator</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/d4c/structshaka_1_1media_1_1H264WeightingFactors.html">H264WeightingFactors</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/d46/classshaka_1_1media_1_1Muxer.html">Muxer</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/d07/structshaka_1_1media_1_1mp4_1_1SoundMediaHeader.html">SoundMediaHeader</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/dca/classshaka_1_1media_1_1WebMListParser.html">WebMListParser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="df/d7b/structshaka_1_1media_1_1mp4_1_1CompositionTimeToSample.html">CompositionTimeToSample</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html">H265ByteToUnitStreamConverter</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/d7a/classshaka_1_1media_1_1MuxerListener.html">MuxerListener</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d93/classshaka_1_1media_1_1Status.html">Status</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html">WebMMediaParser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="dc/da6/classshaka_1_1media_1_1ContentEncoding.html">ContentEncoding</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/dc2/classshaka_1_1media_1_1H265Parser.html">H265Parser</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d27/structshaka_1_1media_1_1MuxerOptions.html">MuxerOptions</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d4c/structshaka_1_1media_1_1StreamData.html">StreamData</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d73/classshaka_1_1media_1_1webm_1_1WebMMuxer.html">WebMMuxer</a> (shaka::media::webm)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="da/d43/structshaka_1_1ContentProtectionElement.html">ContentProtectionElement</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/d33/structshaka_1_1media_1_1H265Pps.html">H265Pps</a> (shaka::media)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;N&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d2/d95/structshaka_1_1media_1_1StreamDescriptor.html">StreamDescriptor</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/dec/classshaka_1_1media_1_1WebMParserClient.html">WebMParserClient</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d8/dd6/classshaka_1_1media_1_1mp2t_1_1ContinuityCounter.html">ContinuityCounter</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/d9d/structshaka_1_1media_1_1H265ReferencePictureListModifications.html">H265ReferencePictureListModifications</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/d3e/classshaka_1_1media_1_1StreamDescriptorCompareFn.html">StreamDescriptorCompareFn</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/d86/classshaka_1_1media_1_1WebMTracksParser.html">WebMTracksParser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="dd/dce/structshaka_1_1media_1_1Cue.html">Cue</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/dad/structshaka_1_1media_1_1H265ReferencePictureSet.html">H265ReferencePictureSet</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/dff/classshaka_1_1media_1_1Nalu.html">Nalu</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/db1/classshaka_1_1media_1_1StreamInfo.html">StreamInfo</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d67/classshaka_1_1media_1_1WebMVideoClient.html">WebMVideoClient</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d5/d09/structshaka_1_1media_1_1mp4_1_1CueIDBox.html">CueIDBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/d05/structshaka_1_1media_1_1H265SliceHeader.html">H265SliceHeader</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/d66/classshaka_1_1media_1_1NalUnitToByteStreamConverter.html">NalUnitToByteStreamConverter</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d34/structshaka_1_1media_1_1SubsampleEntry.html">SubsampleEntry</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/d59/classshaka_1_1media_1_1WebMWebVTTParser.html">WebMWebVTTParser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d2/d7f/structshaka_1_1media_1_1mp4_1_1CuePayloadBox.html">CuePayloadBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/dfd/structshaka_1_1media_1_1H265Sps.html">H265Sps</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/d86/classshaka_1_1media_1_1NaluReader.html">NaluReader</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/d21/structshaka_1_1media_1_1mp4_1_1SubtitleMediaHeader.html">SubtitleMediaHeader</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/d20/structshaka_1_1media_1_1mp4_1_1WebVTTConfigurationBox.html">WebVTTConfigurationBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d0/dd0/structshaka_1_1media_1_1mp4_1_1CueSettingsBox.html">CueSettingsBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html">H265VideoSliceHeaderParser</a> (shaka::media)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_O"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;O&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="dd/d3f/structshaka_1_1media_1_1mp4_1_1SyncSample.html">SyncSample</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/df2/classshaka_1_1media_1_1WebVttMediaParser.html">WebVttMediaParser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d9/d3e/structshaka_1_1media_1_1mp4_1_1CueSourceIDBox.html">CueSourceIDBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/d67/structshaka_1_1media_1_1H265VuiParameters.html">H265VuiParameters</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/d26/classshaka_1_1media_1_1mp4_1_1SyncSampleIterator.html">SyncSampleIterator</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/ddd/classshaka_1_1media_1_1WebVttSampleConverter.html">WebVttSampleConverter</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d8/dc3/structshaka_1_1media_1_1mp4_1_1CueTimeBox.html">CueTimeBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/db4/classshaka_1_1media_1_1H26xBitReader.html">H26xBitReader</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/df9/classshaka_1_1media_1_1OffsetByteQueue.html">OffsetByteQueue</a> (shaka::media)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;T&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d4/d33/structshaka_1_1media_1_1mp4_1_1WebVTTSourceLabelBox.html">WebVTTSourceLabelBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d2/df8/classshaka_1_1media_1_1SegmentTestBase_1_1ClusterParser.html">SegmentTestBase::ClusterParser</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/dd0/structshaka_1_1media_1_1H264SEIMessage.html">H264SEIMessage</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html">MpdNotifyMuxerListener</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/d9b/structshaka_1_1media_1_1mp4_1_1SegmentReference.html">SegmentReference</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="db/d11/structshaka_1_1media_1_1mp4_1_1CodecConfiguration.html">CodecConfiguration</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/de2/structshaka_1_1media_1_1H264SEIRecoveryPoint.html">H264SEIRecoveryPoint</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/df3/structshaka_1_1MpdOptions.html">MpdOptions</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/dba/classshaka_1_1media_1_1SegmentTestBase.html">SegmentTestBase</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d7c/classshaka_1_1media_1_1WebMAudioClient.html">WebMAudioClient</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="da/d59/structshaka_1_1media_1_1mp4_1_1CompactSampleSize.html">CompactSampleSize</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/d59/structshaka_1_1media_1_1H264SliceHeader.html">H264SliceHeader</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/dcd/classshaka_1_1MpdWriter.html">MpdWriter</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/dd0/structshaka_1_1media_1_1mp4_1_1SegmentType.html">SegmentType</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/de4/classshaka_1_1media_1_1WebMClusterParser.html">WebMClusterParser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d5/d8c/structshaka_1_1media_1_1mp4_1_1CompositionOffset.html">CompositionOffset</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d0a/structshaka_1_1media_1_1H264Sps.html">H264Sps</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/db7/classshaka_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html">MultiSegmentSegmenter</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/de1/classshaka_1_1SimpleMpdNotifier.html">SimpleMpdNotifier</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/d87/classshaka_1_1media_1_1WebMContentEncodingsClient.html">WebMContentEncodingsClient</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="db/d4e/classshaka_1_1media_1_1mp4_1_1CompositionOffsetIterator.html">CompositionOffsetIterator</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/df0/classshaka_1_1media_1_1H264VideoSliceHeaderParser.html">H264VideoSliceHeaderParser</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/dd5/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter.html">MultiSegmentSegmenter</a> (shaka::media::webm)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/dab/classshaka_1_1media_1_1mp4_1_1SingleSegmentSegmenter.html">SingleSegmentSegmenter</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/dae/classshaka_1_1media_1_1WebMInfoParser.html">WebMInfoParser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="df/d7b/structshaka_1_1media_1_1mp4_1_1CompositionTimeToSample.html">CompositionTimeToSample</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/d4c/structshaka_1_1media_1_1H264WeightingFactors.html">H264WeightingFactors</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="df/d46/classshaka_1_1media_1_1Muxer.html">Muxer</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/da1/classshaka_1_1media_1_1webm_1_1SingleSegmentSegmenter.html">SingleSegmentSegmenter</a> (shaka::media::webm)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/dca/classshaka_1_1media_1_1WebMListParser.html">WebMListParser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="dc/da6/classshaka_1_1media_1_1ContentEncoding.html">ContentEncoding</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html">H265ByteToUnitStreamConverter</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/d7a/classshaka_1_1media_1_1MuxerListener.html">MuxerListener</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/d07/structshaka_1_1media_1_1mp4_1_1SoundMediaHeader.html">SoundMediaHeader</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html">WebMMediaParser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="da/d43/structshaka_1_1ContentProtectionElement.html">ContentProtectionElement</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/dc2/classshaka_1_1media_1_1H265Parser.html">H265Parser</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d27/structshaka_1_1media_1_1MuxerOptions.html">MuxerOptions</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d93/classshaka_1_1media_1_1Status.html">Status</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d73/classshaka_1_1media_1_1webm_1_1WebMMuxer.html">WebMMuxer</a> (shaka::media::webm)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d8/dd6/classshaka_1_1media_1_1mp2t_1_1ContinuityCounter.html">ContinuityCounter</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/d33/structshaka_1_1media_1_1H265Pps.html">H265Pps</a> (shaka::media)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;N&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d0/d4c/structshaka_1_1media_1_1StreamData.html">StreamData</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/dec/classshaka_1_1media_1_1WebMParserClient.html">WebMParserClient</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="dd/dce/structshaka_1_1media_1_1Cue.html">Cue</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/d9d/structshaka_1_1media_1_1H265ReferencePictureListModifications.html">H265ReferencePictureListModifications</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/db1/classshaka_1_1media_1_1StreamInfo.html">StreamInfo</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/d86/classshaka_1_1media_1_1WebMTracksParser.html">WebMTracksParser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d5/d09/structshaka_1_1media_1_1mp4_1_1CueIDBox.html">CueIDBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/dad/structshaka_1_1media_1_1H265ReferencePictureSet.html">H265ReferencePictureSet</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d6/dff/classshaka_1_1media_1_1Nalu.html">Nalu</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d34/structshaka_1_1media_1_1SubsampleEntry.html">SubsampleEntry</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d67/classshaka_1_1media_1_1WebMVideoClient.html">WebMVideoClient</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d2/d7f/structshaka_1_1media_1_1mp4_1_1CuePayloadBox.html">CuePayloadBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/d05/structshaka_1_1media_1_1H265SliceHeader.html">H265SliceHeader</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/d66/classshaka_1_1media_1_1NalUnitToByteStreamConverter.html">NalUnitToByteStreamConverter</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/d21/structshaka_1_1media_1_1mp4_1_1SubtitleMediaHeader.html">SubtitleMediaHeader</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/d59/classshaka_1_1media_1_1WebMWebVTTParser.html">WebMWebVTTParser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d0/dd0/structshaka_1_1media_1_1mp4_1_1CueSettingsBox.html">CueSettingsBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/dfd/structshaka_1_1media_1_1H265Sps.html">H265Sps</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/d86/classshaka_1_1media_1_1NaluReader.html">NaluReader</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/d3f/structshaka_1_1media_1_1mp4_1_1SyncSample.html">SyncSample</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d8/d20/structshaka_1_1media_1_1mp4_1_1WebVTTConfigurationBox.html">WebVTTConfigurationBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d9/d3e/structshaka_1_1media_1_1mp4_1_1CueSourceIDBox.html">CueSourceIDBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html">H265VideoSliceHeaderParser</a> (shaka::media)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_O"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;O&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d7/d26/classshaka_1_1media_1_1mp4_1_1SyncSampleIterator.html">SyncSampleIterator</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/df2/classshaka_1_1media_1_1WebVttMediaParser.html">WebVttMediaParser</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d8/dc3/structshaka_1_1media_1_1mp4_1_1CueTimeBox.html">CueTimeBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/d67/structshaka_1_1media_1_1H265VuiParameters.html">H265VuiParameters</a> (shaka::media)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;T&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="de/ddd/classshaka_1_1media_1_1WebVttSampleConverter.html">WebVttSampleConverter</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;D&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="de/dea/classshaka_1_1media_1_1H26xByteToUnitStreamConverter.html">H26xByteToUnitStreamConverter</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/db8/structshaka_1_1media_1_1OnMediaEndParameters.html">OnMediaEndParameters</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/ddd/classshaka_1_1media_1_1WidevineKeySource.html">WidevineKeySource</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="da/dbb/structshaka_1_1media_1_1mp4_1_1HandlerReference.html">HandlerReference</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/dfa/structshaka_1_1media_1_1mp4_1_1OpusSpecific.html">OpusSpecific</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/d1f/classshaka_1_1media_1_1TextSample.html">TextSample</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/d18/classshaka_1_1media_1_1wvm_1_1WvmMediaParser.html">WvmMediaParser</a> (shaka::media::wvm)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d4/d70/classshaka_1_1DashIopMpdNotifier.html">DashIopMpdNotifier</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/d8a/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord.html">HEVCDecoderConfigurationRecord</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/d05/structshaka_1_1media_1_1mp4_1_1OriginalFormat.html">OriginalFormat</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/dc3/structshaka_1_1media_1_1mp4_1_1TextSampleEntry.html">TextSampleEntry</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_X"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;X&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="de/db4/classshaka_1_1media_1_1H26xBitReader.html">H26xBitReader</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d9/df9/classshaka_1_1media_1_1OffsetByteQueue.html">OffsetByteQueue</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/d33/structshaka_1_1media_1_1mp4_1_1WebVTTSourceLabelBox.html">WebVTTSourceLabelBox</a> (shaka::media::mp4)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="de/dea/classshaka_1_1media_1_1H26xByteToUnitStreamConverter.html">H26xByteToUnitStreamConverter</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/db8/structshaka_1_1media_1_1OnMediaEndParameters.html">OnMediaEndParameters</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/d1f/classshaka_1_1media_1_1TextSample.html">TextSample</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/ddd/classshaka_1_1media_1_1WidevineKeySource.html">WidevineKeySource</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d4/d70/classshaka_1_1DashIopMpdNotifier.html">DashIopMpdNotifier</a> (<a class="el" href="d8/daf/namespaceshaka.html">shaka</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="da/dbb/structshaka_1_1media_1_1mp4_1_1HandlerReference.html">HandlerReference</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/dfa/structshaka_1_1media_1_1mp4_1_1OpusSpecific.html">OpusSpecific</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/dc3/structshaka_1_1media_1_1mp4_1_1TextSampleEntry.html">TextSampleEntry</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dc/d18/classshaka_1_1media_1_1wvm_1_1WvmMediaParser.html">WvmMediaParser</a> (shaka::media::wvm)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="df/d8a/structshaka_1_1media_1_1mp4_1_1DataEntryUrl.html">DataEntryUrl</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/d8a/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord.html">HEVCDecoderConfigurationRecord</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/d05/structshaka_1_1media_1_1mp4_1_1OriginalFormat.html">OriginalFormat</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/dab/classshaka_1_1media_1_1TextStreamInfo.html">TextStreamInfo</a> (shaka::media)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_X"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;X&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td valign="top"><a class="el" href="df/d8a/structshaka_1_1media_1_1mp4_1_1DataEntryUrl.html">DataEntryUrl</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html">HlsNotifyMuxerListener</a> (shaka::media)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;P&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="db/dab/classshaka_1_1media_1_1TextStreamInfo.html">TextStreamInfo</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d8/d6d/structshaka_1_1media_1_1mp4_1_1DataInformation.html">DataInformation</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/de0/classshaka_1_1media_1_1HttpKeyFetcher.html">HttpKeyFetcher</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d4/d0b/classshaka_1_1media_1_1TextTrack.html">TextTrack</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/da4/structshaka_1_1xml_1_1XmlDeleter.html">XmlDeleter</a> (shaka::xml)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d4/de3/structshaka_1_1media_1_1mp4_1_1DataReference.html">DataReference</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;I&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d7/d58/structshaka_1_1media_1_1PeriodInfo.html">PeriodInfo</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/db3/classshaka_1_1media_1_1TextTrackConfig.html">TextTrackConfig</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d31/classshaka_1_1xml_1_1XmlNode.html">XmlNode</a> (shaka::xml)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="de/de0/classshaka_1_1media_1_1DecoderConfigurationRecord.html">DecoderConfigurationRecord</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/d93/classshaka_1_1media_1_1mp2t_1_1PesPacket.html">PesPacket</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html">ThreadedIoFile</a> (shaka::media)&#160;&#160;&#160;</td><td></td></tr>
<tr><td valign="top"><a class="el" href="d8/d12/structshaka_1_1media_1_1mp4_1_1DecodingTime.html">DecodingTime</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/dad/structshaka_1_1media_1_1mp4_1_1ID3v2.html">ID3v2</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html">PesPacketGenerator</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/db5/structshaka_1_1media_1_1mp4_1_1Track.html">Track</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td></td></tr>
<tr><td valign="top"><a class="el" href="d1/d20/classshaka_1_1media_1_1mp4_1_1DecodingTimeIterator.html">DecodingTimeIterator</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/d7c/classshaka_1_1media_1_1IoCache.html">IoCache</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/d71/structshaka_1_1media_1_1mp4_1_1PixelAspectRatio.html">PixelAspectRatio</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="db/db8/structshaka_1_1media_1_1mp4_1_1TrackEncryption.html">TrackEncryption</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td></td></tr>
<tr><td valign="top"><a class="el" href="d8/d6d/structshaka_1_1media_1_1mp4_1_1DataInformation.html">DataInformation</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html">HlsNotifyMuxerListener</a> (shaka::media)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;P&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d4/d0b/classshaka_1_1media_1_1TextTrack.html">TextTrack</a> (shaka::media)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d4/de3/structshaka_1_1media_1_1mp4_1_1DataReference.html">DataReference</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d7/de0/classshaka_1_1media_1_1HttpKeyFetcher.html">HttpKeyFetcher</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="de/db3/classshaka_1_1media_1_1TextTrackConfig.html">TextTrackConfig</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="dd/da4/structshaka_1_1xml_1_1XmlDeleter.html">XmlDeleter</a> (shaka::xml)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="de/de0/classshaka_1_1media_1_1DecoderConfigurationRecord.html">DecoderConfigurationRecord</a> (shaka::media)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;I&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="d7/d58/structshaka_1_1media_1_1PeriodInfo.html">PeriodInfo</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html">ThreadedIoFile</a> (shaka::media)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d1/d31/classshaka_1_1xml_1_1XmlNode.html">XmlNode</a> (shaka::xml)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="d8/d12/structshaka_1_1media_1_1mp4_1_1DecodingTime.html">DecodingTime</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d2/d93/classshaka_1_1media_1_1mp2t_1_1PesPacket.html">PesPacket</a> (shaka::media::mp2t)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/db5/structshaka_1_1media_1_1mp4_1_1Track.html">Track</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td></td></tr>
<tr><td></td><td valign="top"><a class="el" href="d3/dad/structshaka_1_1media_1_1mp4_1_1ID3v2.html">ID3v2</a> (shaka::media::mp4)&#160;&#160;&#160;</td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_K">K</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_N">N</a>&#160;|&#160;<a class="qindex" href="#letter_O">O</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a>&#160;|&#160;<a class="qindex" href="#letter_V">V</a>&#160;|&#160;<a class="qindex" href="#letter_W">W</a>&#160;|&#160;<a class="qindex" href="#letter_X">X</a></div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:25 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:22 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:23 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:21 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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,57 +97,58 @@ 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/app/mpd_flags.h&quot;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;DEFINE_bool(generate_static_mpd,</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; <span class="keyword">false</span>,</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; <span class="stringliteral">&quot;Set to true to generate static mpd. If segment_template is &quot;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; <span class="stringliteral">&quot;specified in stream descriptors, shaka-packager generates dynamic &quot;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <span class="stringliteral">&quot;mpd by default; if this flag is enabled, shaka-packager generates &quot;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <span class="stringliteral">&quot;static mpd instead. Note that if segment_template is not &quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <span class="stringliteral">&quot;specified, shaka-packager always generates static mpd regardless &quot;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <span class="stringliteral">&quot;of the value of this flag.&quot;</span>);</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// TODO(rkuroiwa, kqyang): Remove the &#39;Exclusive&#39; statements once</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">// --output_media_info can work together with --mpd_output.</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;DEFINE_bool(output_media_info,</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="keyword">false</span>,</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="stringliteral">&quot;Create a human readable format of MediaInfo. The output file name &quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="stringliteral">&quot;will be the name specified by output flag, suffixed with &quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="stringliteral">&quot;&#39;.media_info&#39;. Exclusive with --mpd_output.&quot;</span>);</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;DEFINE_string(mpd_output, <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="stringliteral">&quot;MPD output file name. Exclusive with --output_media_info.&quot;</span>);</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;DEFINE_string(base_urls,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="stringliteral">&quot;Comma separated BaseURLs for the MPD. The values will be added &quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="stringliteral">&quot;as &lt;BaseURL&gt; element(s) immediately under the &lt;MPD&gt; element.&quot;</span>);</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;DEFINE_double(min_buffer_time,</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; 2.0,</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="stringliteral">&quot;Specifies, in seconds, a common duration used in the definition &quot;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="stringliteral">&quot;of the MPD Representation data rate.&quot;</span>);</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;DEFINE_double(minimum_update_period,</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; 5.0,</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="stringliteral">&quot;Indicates to the player how often to refresh the media &quot;</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="stringliteral">&quot;presentation description in seconds. This value is used for &quot;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="stringliteral">&quot;live profile only.&quot;</span>);</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;DEFINE_double(time_shift_buffer_depth,</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; 1800.0,</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="stringliteral">&quot;Guaranteed duration of the time shifting buffer for dynamic &quot;</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="stringliteral">&quot;media presentations, in seconds.&quot;</span>);</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;DEFINE_double(suggested_presentation_delay,</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; 0.0,</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="stringliteral">&quot;Specifies a delay, in seconds, to be added to the media &quot;</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="stringliteral">&quot;presentation time. This value is used for live profile only.&quot;</span>);</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;DEFINE_string(default_language,</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="stringliteral">&quot;Any tracks tagged with this language will have &quot;</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="stringliteral">&quot;&lt;Role ... value=\&quot;main\&quot; /&gt; in the manifest. This allows the &quot;</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="stringliteral">&quot;player to choose the correct default language for the content.&quot;</span>);</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;DEFINE_bool(generate_dash_if_iop_compliant_mpd,</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">true</span>,</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="stringliteral">&quot;Try to generate DASH-IF IOPv3 compliant MPD. This is best effort &quot;</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="stringliteral">&quot;and does not guarantee compliance.&quot;</span>);</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// TODO(kqyang): Rename to generate_static_live_mpd.</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;DEFINE_bool(generate_static_mpd,</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; <span class="keyword">false</span>,</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; <span class="stringliteral">&quot;Set to true to generate static mpd. If segment_template is &quot;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <span class="stringliteral">&quot;specified in stream descriptors, shaka-packager generates dynamic &quot;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <span class="stringliteral">&quot;mpd by default; if this flag is enabled, shaka-packager generates &quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <span class="stringliteral">&quot;static mpd instead. Note that if segment_template is not &quot;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <span class="stringliteral">&quot;specified, shaka-packager always generates static mpd regardless &quot;</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <span class="stringliteral">&quot;of the value of this flag.&quot;</span>);</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">// TODO(rkuroiwa, kqyang): Remove the &#39;Exclusive&#39; statements once</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">// --output_media_info can work together with --mpd_output.</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;DEFINE_bool(output_media_info,</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="keyword">false</span>,</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="stringliteral">&quot;Create a human readable format of MediaInfo. The output file name &quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="stringliteral">&quot;will be the name specified by output flag, suffixed with &quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="stringliteral">&quot;&#39;.media_info&#39;. Exclusive with --mpd_output.&quot;</span>);</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;DEFINE_string(mpd_output, <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="stringliteral">&quot;MPD output file name. Exclusive with --output_media_info.&quot;</span>);</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;DEFINE_string(base_urls,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="stringliteral">&quot;Comma separated BaseURLs for the MPD. The values will be added &quot;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="stringliteral">&quot;as &lt;BaseURL&gt; element(s) immediately under the &lt;MPD&gt; element.&quot;</span>);</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;DEFINE_double(min_buffer_time,</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; 2.0,</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="stringliteral">&quot;Specifies, in seconds, a common duration used in the definition &quot;</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="stringliteral">&quot;of the MPD Representation data rate.&quot;</span>);</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;DEFINE_double(minimum_update_period,</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; 5.0,</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="stringliteral">&quot;Indicates to the player how often to refresh the media &quot;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="stringliteral">&quot;presentation description in seconds. This value is used for &quot;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="stringliteral">&quot;dynamic MPD only.&quot;</span>);</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;DEFINE_double(time_shift_buffer_depth,</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; 1800.0,</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="stringliteral">&quot;Guaranteed duration of the time shifting buffer for dynamic &quot;</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="stringliteral">&quot;media presentations, in seconds.&quot;</span>);</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;DEFINE_double(suggested_presentation_delay,</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; 0.0,</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="stringliteral">&quot;Specifies a delay, in seconds, to be added to the media &quot;</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="stringliteral">&quot;presentation time. This value is used for dynamic MPD only.&quot;</span>);</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;DEFINE_string(default_language,</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="stringliteral">&quot;Any tracks tagged with this language will have &quot;</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="stringliteral">&quot;&lt;Role ... value=\&quot;main\&quot; /&gt; in the manifest. This allows the &quot;</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="stringliteral">&quot;player to choose the correct default language for the content.&quot;</span>);</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;DEFINE_bool(generate_dash_if_iop_compliant_mpd,</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keyword">true</span>,</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="stringliteral">&quot;Try to generate DASH-IF IOP compliant MPD. This is best effort &quot;</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="stringliteral">&quot;and does not guarantee compliance.&quot;</span>);</div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:17 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:22 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:21 for DASH Media Packaging SDK 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 @@ uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>height</b></td></
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:20 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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

@ -138,7 +138,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 Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:20 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:24 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:22 for DASH Media Packaging SDK 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

@ -155,7 +155,7 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>Reset</b> () override
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:22 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:20 for DASH Media Packaging SDK 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

@ -206,7 +206,7 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><b>mp4_include_pssh_in_s
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:20 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:20 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:20 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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

@ -285,7 +285,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 Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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

@ -333,7 +333,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 Jun 13 2017 20:29:20 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:23 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:21 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:17 for DASH Media Packaging SDK 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

@ -280,7 +280,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 Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:17 for DASH Media Packaging SDK 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

@ -257,7 +257,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 Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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

@ -237,7 +237,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 Jun 13 2017 20:29:20 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:24 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:21 for DASH Media Packaging SDK 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::shared_ptr&lt; <a class="el" href="../../d0/dc0/structshaka_1_1media_1_1Seg
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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

@ -131,7 +131,7 @@ int64_t&#160;</td><td class="memItemRight" valign="bottom"><b>GetFramesToTarget<
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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,52 +98,51 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &lt;openssl/thread.h&gt;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;packager/base/logging.h&quot;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;packager/base/synchronization/lock.h&quot;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;packager/base/threading/platform_thread.h&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="keyword">namespace </span>shaka {</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keyword">namespace </span>{</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;std::unique_ptr&lt;base::Lock[]&gt; global_locks;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keywordtype">void</span> LockFunction(<span class="keywordtype">int</span> mode, <span class="keywordtype">int</span> n, <span class="keyword">const</span> <span class="keywordtype">char</span>* file, <span class="keywordtype">int</span> line) {</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; VLOG(2) &lt;&lt; <span class="stringliteral">&quot;CryptoLock @ &quot;</span> &lt;&lt; file &lt;&lt; <span class="stringliteral">&quot;:&quot;</span> &lt;&lt; line;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keywordflow">if</span> (mode &amp; CRYPTO_LOCK)</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; global_locks[n].Acquire();</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; global_locks[n].Release();</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;}</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keywordtype">void</span> ThreadIdFunction(CRYPTO_THREADID* <span class="keywordtype">id</span>) {</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; CRYPTO_THREADID_set_numeric(</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keywordtype">id</span>, static_cast&lt;unsigned long&gt;(base::PlatformThread::CurrentId()));</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;}</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;} <span class="comment">// namespace</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;LibcryptoThreading::LibcryptoThreading() {</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; global_locks.reset(<span class="keyword">new</span> base::Lock[CRYPTO_num_locks()]);</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; CRYPTO_THREADID_set_callback(ThreadIdFunction);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; CRYPTO_set_locking_callback(LockFunction);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;}</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;LibcryptoThreading::~LibcryptoThreading() {</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; CRYPTO_THREADID_set_callback(NULL);</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; CRYPTO_set_locking_callback(NULL);</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; global_locks.reset();</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;}</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;} <span class="comment">// namespace shaka</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;packager/base/logging.h&quot;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;packager/base/synchronization/lock.h&quot;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;packager/base/threading/platform_thread.h&quot;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="keyword">namespace </span>shaka {</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">namespace </span>{</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;std::unique_ptr&lt;base::Lock[]&gt; global_locks;</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">void</span> LockFunction(<span class="keywordtype">int</span> mode, <span class="keywordtype">int</span> n, <span class="keyword">const</span> <span class="keywordtype">char</span>* file, <span class="keywordtype">int</span> line) {</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; VLOG(2) &lt;&lt; <span class="stringliteral">&quot;CryptoLock @ &quot;</span> &lt;&lt; file &lt;&lt; <span class="stringliteral">&quot;:&quot;</span> &lt;&lt; line;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keywordflow">if</span> (mode &amp; CRYPTO_LOCK)</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; global_locks[n].Acquire();</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; global_locks[n].Release();</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;}</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keywordtype">void</span> ThreadIdFunction(CRYPTO_THREADID* <span class="keywordtype">id</span>) {</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; CRYPTO_THREADID_set_numeric(</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keywordtype">id</span>, static_cast&lt;unsigned long&gt;(base::PlatformThread::CurrentId()));</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;}</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;} <span class="comment">// namespace</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;LibcryptoThreading::LibcryptoThreading() {</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; global_locks.reset(<span class="keyword">new</span> base::Lock[CRYPTO_num_locks()]);</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; CRYPTO_THREADID_set_callback(ThreadIdFunction);</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; CRYPTO_set_locking_callback(LockFunction);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;}</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;LibcryptoThreading::~LibcryptoThreading() {</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; CRYPTO_THREADID_set_callback(NULL);</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; CRYPTO_set_locking_callback(NULL);</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; global_locks.reset();</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;}</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;} <span class="comment">// namespace shaka</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:17 for DASH Media Packaging SDK 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

@ -132,7 +132,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 Jun 13 2017 20:29:22 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:20 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:22 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:20 for DASH Media Packaging SDK 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

@ -438,7 +438,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:22 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:20 for DASH Media Packaging SDK 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

@ -1,105 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>DASH Media Packaging SDK: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">DASH Media Packaging SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
<li><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
<li><a href="../../files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../d8/daf/namespaceshaka.html">shaka</a></li><li class="navelem"><b>media</b></li><li class="navelem"><a class="el" href="../../d8/d3e/classshaka_1_1media_1_1StreamDescriptorCompareFn.html">StreamDescriptorCompareFn</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">shaka::media::StreamDescriptorCompareFn Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d8/d3e/classshaka_1_1media_1_1StreamDescriptorCompareFn.html">shaka::media::StreamDescriptorCompareFn</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator()</b>(const StreamDescriptor &amp;a, const StreamDescriptor &amp;b) (defined in <a class="el" href="../../d8/d3e/classshaka_1_1media_1_1StreamDescriptorCompareFn.html">shaka::media::StreamDescriptorCompareFn</a>)</td><td class="entry"><a class="el" href="../../d8/d3e/classshaka_1_1media_1_1StreamDescriptorCompareFn.html">shaka::media::StreamDescriptorCompareFn</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:20 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>

View File

@ -197,7 +197,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:23 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:21 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:23 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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

@ -302,7 +302,7 @@ static const <a class="el" href="../../d0/d93/classshaka_1_1media_1_1Status.html
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -186,7 +186,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:24 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:22 for DASH Media Packaging SDK 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

@ -344,7 +344,7 @@ static const size_t&#160;</td><td class="memItemRight" valign="bottom"><a class=
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:24 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:22 for DASH Media Packaging SDK 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,241 +95,177 @@ 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/app/stream_descriptor.h&quot;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;packager/app/packager_util.h&quot;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;packager/base/logging.h&quot;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;packager/base/strings/string_number_conversions.h&quot;</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;packager/base/strings/string_split.h&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/container_names.h&quot;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/language_utils.h&quot;</span></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/strings/string_number_conversions.h&quot;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;packager/base/strings/string_split.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/language_utils.h&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keyword">namespace </span>shaka {</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="keyword">namespace </span>shaka {</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword">namespace </span>{</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keyword">enum</span> FieldType {</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; kUnknownField = 0,</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; kStreamSelectorField,</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; kInputField,</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; kOutputField,</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; kSegmentTemplateField,</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; kBandwidthField,</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; kLanguageField,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; kOutputFormatField,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; kHlsNameField,</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; kHlsGroupIdField,</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; kHlsPlaylistNameField,</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; kTrickPlayFactorField,</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; kSkipEncryptionField,</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;};</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keyword">struct </span>FieldNameToTypeMapping {</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* field_name;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; FieldType field_type;</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;<span class="keyword">const</span> FieldNameToTypeMapping kFieldNameTypeMappings[] = {</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; {<span class="stringliteral">&quot;stream_selector&quot;</span>, kStreamSelectorField},</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; {<span class="stringliteral">&quot;stream&quot;</span>, kStreamSelectorField},</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; {<span class="stringliteral">&quot;input&quot;</span>, kInputField},</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; {<span class="stringliteral">&quot;in&quot;</span>, kInputField},</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; {<span class="stringliteral">&quot;output&quot;</span>, kOutputField},</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; {<span class="stringliteral">&quot;out&quot;</span>, kOutputField},</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; {<span class="stringliteral">&quot;init_segment&quot;</span>, kOutputField},</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; {<span class="stringliteral">&quot;segment_template&quot;</span>, kSegmentTemplateField},</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; {<span class="stringliteral">&quot;template&quot;</span>, kSegmentTemplateField},</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; {<span class="stringliteral">&quot;bandwidth&quot;</span>, kBandwidthField},</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; {<span class="stringliteral">&quot;bw&quot;</span>, kBandwidthField},</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; {<span class="stringliteral">&quot;bitrate&quot;</span>, kBandwidthField},</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {<span class="stringliteral">&quot;language&quot;</span>, kLanguageField},</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; {<span class="stringliteral">&quot;lang&quot;</span>, kLanguageField},</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; {<span class="stringliteral">&quot;output_format&quot;</span>, kOutputFormatField},</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {<span class="stringliteral">&quot;format&quot;</span>, kOutputFormatField},</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; {<span class="stringliteral">&quot;hls_name&quot;</span>, kHlsNameField},</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; {<span class="stringliteral">&quot;hls_group_id&quot;</span>, kHlsGroupIdField},</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; {<span class="stringliteral">&quot;playlist_name&quot;</span>, kHlsPlaylistNameField},</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; {<span class="stringliteral">&quot;trick_play_factor&quot;</span>, kTrickPlayFactorField},</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; {<span class="stringliteral">&quot;tpf&quot;</span>, kTrickPlayFactorField},</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; {<span class="stringliteral">&quot;skip_encryption&quot;</span>, kSkipEncryptionField},</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;FieldType GetFieldType(<span class="keyword">const</span> std::string&amp; field_name) {</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> idx = 0; idx &lt; arraysize(kFieldNameTypeMappings); ++idx) {</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">if</span> (field_name == kFieldNameTypeMappings[idx].field_name)</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">return</span> kFieldNameTypeMappings[idx].field_type;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; }</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">return</span> kUnknownField;</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;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;} <span class="comment">// anonymous namespace</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;StreamDescriptor::StreamDescriptor() {}</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;StreamDescriptor::~StreamDescriptor() {}</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="keywordtype">bool</span> InsertStreamDescriptor(<span class="keyword">const</span> std::string&amp; descriptor_string,</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; StreamDescriptorList* descriptor_list) {</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; StreamDescriptor descriptor;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="comment">// Split descriptor string into name/value pairs.</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; base::StringPairs pairs;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">if</span> (!base::SplitStringIntoKeyValuePairs(descriptor_string,</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="charliteral">&#39;=&#39;</span>,</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="charliteral">&#39;,&#39;</span>,</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; &amp;pairs)) {</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Invalid stream descriptors name/value pairs.&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; <span class="keywordflow">for</span> (base::StringPairs::const_iterator iter = pairs.begin();</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; iter != pairs.end(); ++iter) {</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">switch</span> (GetFieldType(iter-&gt;first)) {</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">case</span> kStreamSelectorField:</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; descriptor.stream_selector = iter-&gt;second;</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="keyword">namespace </span>{</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="keyword">enum</span> FieldType {</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; kUnknownField = 0,</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; kStreamSelectorField,</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; kInputField,</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; kOutputField,</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; kSegmentTemplateField,</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; kBandwidthField,</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; kLanguageField,</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; kOutputFormatField,</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; kHlsNameField,</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; kHlsGroupIdField,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; kHlsPlaylistNameField,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; kTrickPlayFactorField,</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; kSkipEncryptionField,</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;};</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keyword">struct </span>FieldNameToTypeMapping {</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* field_name;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; FieldType field_type;</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;<span class="keyword">const</span> FieldNameToTypeMapping kFieldNameTypeMappings[] = {</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; {<span class="stringliteral">&quot;stream_selector&quot;</span>, kStreamSelectorField},</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; {<span class="stringliteral">&quot;stream&quot;</span>, kStreamSelectorField},</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; {<span class="stringliteral">&quot;input&quot;</span>, kInputField},</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; {<span class="stringliteral">&quot;in&quot;</span>, kInputField},</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; {<span class="stringliteral">&quot;output&quot;</span>, kOutputField},</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; {<span class="stringliteral">&quot;out&quot;</span>, kOutputField},</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; {<span class="stringliteral">&quot;init_segment&quot;</span>, kOutputField},</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; {<span class="stringliteral">&quot;segment_template&quot;</span>, kSegmentTemplateField},</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; {<span class="stringliteral">&quot;template&quot;</span>, kSegmentTemplateField},</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; {<span class="stringliteral">&quot;bandwidth&quot;</span>, kBandwidthField},</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; {<span class="stringliteral">&quot;bw&quot;</span>, kBandwidthField},</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; {<span class="stringliteral">&quot;bitrate&quot;</span>, kBandwidthField},</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; {<span class="stringliteral">&quot;language&quot;</span>, kLanguageField},</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; {<span class="stringliteral">&quot;lang&quot;</span>, kLanguageField},</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; {<span class="stringliteral">&quot;output_format&quot;</span>, kOutputFormatField},</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {<span class="stringliteral">&quot;format&quot;</span>, kOutputFormatField},</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; {<span class="stringliteral">&quot;hls_name&quot;</span>, kHlsNameField},</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; {<span class="stringliteral">&quot;hls_group_id&quot;</span>, kHlsGroupIdField},</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {<span class="stringliteral">&quot;playlist_name&quot;</span>, kHlsPlaylistNameField},</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; {<span class="stringliteral">&quot;trick_play_factor&quot;</span>, kTrickPlayFactorField},</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; {<span class="stringliteral">&quot;tpf&quot;</span>, kTrickPlayFactorField},</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; {<span class="stringliteral">&quot;skip_encryption&quot;</span>, kSkipEncryptionField},</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;FieldType GetFieldType(<span class="keyword">const</span> std::string&amp; field_name) {</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> idx = 0; idx &lt; arraysize(kFieldNameTypeMappings); ++idx) {</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">if</span> (field_name == kFieldNameTypeMappings[idx].field_name)</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">return</span> kFieldNameTypeMappings[idx].field_type;</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">return</span> kUnknownField;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;}</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;} <span class="comment">// anonymous namespace</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="../../d8/daf/namespaceshaka.html#a8d03e8120932485c8fa0c686e1e32dac"> 74</a></span>&#160;base::Optional&lt;StreamDescriptor&gt; <a class="code" href="../../d8/daf/namespaceshaka.html#a8d03e8120932485c8fa0c686e1e32dac">ParseStreamDescriptor</a>(</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keyword">const</span> std::string&amp; descriptor_string) {</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; StreamDescriptor descriptor;</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">// Split descriptor string into name/value pairs.</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; base::StringPairs pairs;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">if</span> (!base::SplitStringIntoKeyValuePairs(descriptor_string, <span class="charliteral">&#39;=&#39;</span>, <span class="charliteral">&#39;,&#39;</span>,</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; &amp;pairs)) {</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Invalid stream descriptors name/value pairs.&quot;</span>;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">return</span> base::nullopt;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; }</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">for</span> (base::StringPairs::const_iterator iter = pairs.begin();</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; iter != pairs.end(); ++iter) {</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">switch</span> (GetFieldType(iter-&gt;first)) {</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">case</span> kStreamSelectorField:</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; descriptor.stream_selector = iter-&gt;second;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">case</span> kInputField:</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; descriptor.input = iter-&gt;second;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">case</span> kOutputField:</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; descriptor.output = iter-&gt;second;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">case</span> kSegmentTemplateField:</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; descriptor.segment_template = iter-&gt;second;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">case</span> kInputField:</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; descriptor.input = iter-&gt;second;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">case</span> kOutputField:</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; descriptor.output = iter-&gt;second;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">case</span> kSegmentTemplateField:</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; descriptor.segment_template = iter-&gt;second;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">case</span> kBandwidthField: {</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordtype">unsigned</span> bw;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">if</span> (!base::StringToUint(iter-&gt;second, &amp;bw)) {</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Non-numeric bandwidth specified.&quot;</span>;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; descriptor.bandwidth = bw;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; }</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">case</span> kLanguageField: {</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; std::string language = <a class="code" href="../../d8/daf/namespaceshaka.html#a05a31cd741e2ee18f1399284e921e527">LanguageToISO_639_2</a>(iter-&gt;second);</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">if</span> (language == <span class="stringliteral">&quot;und&quot;</span>) {</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Unknown/invalid language specified: &quot;</span> &lt;&lt; iter-&gt;second;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; descriptor.language = language;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">case</span> kBandwidthField: {</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordtype">unsigned</span> bw;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">if</span> (!base::StringToUint(iter-&gt;second, &amp;bw)) {</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Non-numeric bandwidth specified.&quot;</span>;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">return</span> base::nullopt;</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; descriptor.bandwidth = bw;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">case</span> kLanguageField: {</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="comment">// TODO(kqyang): Move to packager.cc.</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; std::string language = <a class="code" href="../../d8/daf/namespaceshaka.html#a05a31cd741e2ee18f1399284e921e527">LanguageToISO_639_2</a>(iter-&gt;second);</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">if</span> (language == <span class="stringliteral">&quot;und&quot;</span>) {</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Unknown/invalid language specified: &quot;</span> &lt;&lt; iter-&gt;second;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">return</span> base::nullopt;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; }</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; descriptor.language = language;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; }</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">case</span> kOutputFormatField: {</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; descriptor.output_format = iter-&gt;second;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; }</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">case</span> kHlsNameField: {</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; descriptor.hls_name = iter-&gt;second;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; }</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">case</span> kOutputFormatField: {</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; MediaContainerName output_format =</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; DetermineContainerFromFormatName(iter-&gt;second);</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">if</span> (output_format == CONTAINER_UNKNOWN) {</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Unrecognized output format &quot;</span> &lt;&lt; iter-&gt;second;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; }</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; descriptor.output_format = output_format;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">case</span> kHlsNameField: {</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; descriptor.hls_name = iter-&gt;second;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; }</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">case</span> kHlsGroupIdField: {</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; descriptor.hls_group_id = iter-&gt;second;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">break</span>;</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; <span class="keywordflow">case</span> kHlsPlaylistNameField: {</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; descriptor.hls_playlist_name = iter-&gt;second;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">case</span> kHlsGroupIdField: {</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; descriptor.hls_group_id = iter-&gt;second;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">case</span> kHlsPlaylistNameField: {</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; descriptor.hls_playlist_name = iter-&gt;second;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; }</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">case</span> kTrickPlayFactorField: {</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordtype">unsigned</span> factor;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">if</span> (!base::StringToUint(iter-&gt;second, &amp;factor)) {</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Non-numeric trick play factor &quot;</span> &lt;&lt; iter-&gt;second</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; &lt;&lt; <span class="stringliteral">&quot; specified.&quot;</span>;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">return</span> base::nullopt;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">if</span> (factor == 0) {</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Stream trick_play_factor should be &gt; 0.&quot;</span>;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">return</span> base::nullopt;</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; descriptor.trick_play_factor = factor;</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">break</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="keywordflow">case</span> kTrickPlayFactorField: {</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordtype">unsigned</span> factor;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">if</span> (!base::StringToUint(iter-&gt;second, &amp;factor)) {</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Non-numeric trick play factor &quot;</span> &lt;&lt; iter-&gt;second</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; &lt;&lt; <span class="stringliteral">&quot; specified.&quot;</span>;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">case</span> kSkipEncryptionField: {</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordtype">unsigned</span> skip_encryption_value;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">if</span> (!base::StringToUint(iter-&gt;second, &amp;skip_encryption_value)) {</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Non-numeric option for skip encryption field &quot;</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="stringliteral">&quot;specified (&quot;</span> &lt;&lt; iter-&gt;second &lt;&lt; <span class="stringliteral">&quot;).&quot;</span>;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">return</span> base::nullopt;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; }</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">if</span> (factor == 0) {</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Stream trick_play_factor should be &gt; 0.&quot;</span>;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">if</span> (skip_encryption_value &gt; 1) {</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;skip_encryption should be either 0 or 1.&quot;</span>;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">return</span> base::nullopt;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; }</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; descriptor.trick_play_factor = factor;</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; }</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">case</span> kSkipEncryptionField: {</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordtype">unsigned</span> skip_encryption_value;</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">if</span> (!base::StringToUint(iter-&gt;second, &amp;skip_encryption_value)) {</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Non-numeric option for skip encryption field &quot;</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="stringliteral">&quot;specified (&quot;</span> &lt;&lt; iter-&gt;second &lt;&lt; <span class="stringliteral">&quot;).&quot;</span>;</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; descriptor.skip_encryption = skip_encryption_value &gt; 0;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; }</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Unknown field in stream descriptor (\&quot;&quot;</span> &lt;&lt; iter-&gt;first</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; &lt;&lt; <span class="stringliteral">&quot;\&quot;).&quot;</span>;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">return</span> base::nullopt;</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; }</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; }</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">if</span> (skip_encryption_value &gt; 1) {</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;skip_encryption should be either 0 or 1.&quot;</span>;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; }</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; descriptor.skip_encryption = skip_encryption_value &gt; 0;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; }</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Unknown field in stream descriptor (\&quot;&quot;</span> &lt;&lt; iter-&gt;first</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; &lt;&lt; <span class="stringliteral">&quot;\&quot;).&quot;</span>;</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; }</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="comment">// Validate and insert the descriptor</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">if</span> (descriptor.input.empty()) {</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Stream input not specified.&quot;</span>;</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; }</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">if</span> (!FLAGS_dump_stream_info &amp;&amp; descriptor.stream_selector.empty()) {</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Stream stream_selector not specified.&quot;</span>;</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; }</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">if</span> (descriptor.output_format == CONTAINER_UNKNOWN) {</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keyword">const</span> std::string&amp; output_name = descriptor.output.empty()</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; ? descriptor.segment_template</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; : descriptor.output;</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">if</span> (!output_name.empty()) {</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; descriptor.output_format = DetermineContainerFromFileName(output_name);</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">if</span> (descriptor.output_format == CONTAINER_UNKNOWN) {</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Unable to determine output format for file &quot;</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; &lt;&lt; output_name;</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; }</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; }</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; }</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">if</span> (descriptor.output_format == MediaContainerName::CONTAINER_MPEG2TS) {</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">if</span> (descriptor.segment_template.empty()) {</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Please specify segment_template. Single file TS output is &quot;</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="stringliteral">&quot;not supported.&quot;</span>;</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; }</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="comment">// Note that MPEG2 TS doesn&#39;t need a separate initialization segment, so</span></div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="comment">// output field is not needed.</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">if</span> (!descriptor.output.empty()) {</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; LOG(WARNING) &lt;&lt; <span class="stringliteral">&quot;TS output &#39;&quot;</span> &lt;&lt; descriptor.output</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; &lt;&lt; <span class="stringliteral">&quot;&#39; ignored. TS muxer does not support initialization &quot;</span></div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="stringliteral">&quot;segment generation.&quot;</span>;</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; }</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; }</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="comment">// For TS output, segment template is sufficient, and does not require an</span></div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="comment">// output entry.</span></div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> output_specified =</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; !descriptor.output.empty() ||</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; (descriptor.output_format == CONTAINER_MPEG2TS &amp;&amp;</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; !descriptor.segment_template.empty());</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">if</span> (!FLAGS_dump_stream_info &amp;&amp; !output_specified) {</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Stream output not specified.&quot;</span>;</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; descriptor_list-&gt;insert(descriptor);</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;}</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;} <span class="comment">// namespace shaka</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">return</span> descriptor;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;}</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;} <span class="comment">// namespace shaka</span></div>
<div class="ttc" id="namespaceshaka_html_a8d03e8120932485c8fa0c686e1e32dac"><div class="ttname"><a href="../../d8/daf/namespaceshaka.html#a8d03e8120932485c8fa0c686e1e32dac">shaka::ParseStreamDescriptor</a></div><div class="ttdeci">base::Optional&lt; StreamDescriptor &gt; ParseStreamDescriptor(const std::string &amp;descriptor_string)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/da6/stream__descriptor_8cc_source.html#l00074">stream_descriptor.cc:74</a></div></div>
<div class="ttc" id="namespaceshaka_html_a05a31cd741e2ee18f1399284e921e527"><div class="ttname"><a href="../../d8/daf/namespaceshaka.html#a05a31cd741e2ee18f1399284e921e527">shaka::LanguageToISO_639_2</a></div><div class="ttdeci">std::string LanguageToISO_639_2(const std::string &amp;language)</div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d72/language__utils_8cc_source.html#l00117">language_utils.cc:117</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:17 for DASH Media Packaging SDK 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

@ -261,7 +261,7 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>set_progress_target</
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:24 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:22 for DASH Media Packaging SDK 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

@ -122,7 +122,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 Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:20 for DASH Media Packaging SDK 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

@ -417,7 +417,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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');
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:20 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:24 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:22 for DASH Media Packaging SDK 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 @@ std::shared_ptr&lt; <a class="el" href="../../d7/d34/structshaka_1_1media_1_1Enc
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:24 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:22 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:24 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:22 for DASH Media Packaging SDK 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 @@ Static Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:24 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:22 for DASH Media Packaging SDK 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

@ -222,7 +222,7 @@ Static Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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

@ -205,7 +205,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 Jun 13 2017 20:29:20 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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

@ -165,7 +165,7 @@ AES_KEY *&#160;</td><td class="memItemRight" valign="bottom"><b>mutable_aes_key<
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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

@ -213,7 +213,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 Jun 13 2017 20:29:20 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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,249 +95,264 @@ 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/app/packager_util.h&quot;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &lt;gflags/gflags.h&gt;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;packager/app/crypto_flags.h&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;packager/app/fixed_key_encryption_flags.h&quot;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;packager/app/mpd_flags.h&quot;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;packager/app/muxer_flags.h&quot;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;packager/app/playready_key_encryption_flags.h&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &quot;packager/app/widevine_encryption_flags.h&quot;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#include &quot;packager/base/logging.h&quot;</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &quot;packager/base/strings/string_number_conversions.h&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/fixed_key_source.h&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/media_handler.h&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/muxer_options.h&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/playready_key_source.h&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/request_signer.h&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/status.h&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/widevine_key_source.h&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;packager/media/chunking/chunking_handler.h&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &quot;packager/media/crypto/encryption_handler.h&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &quot;packager/media/file/file.h&quot;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;packager/mpd/base/mpd_options.h&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;DEFINE_bool(mp4_use_decoding_timestamp_in_timeline,</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keyword">false</span>,</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="stringliteral">&quot;If set, decoding timestamp instead of presentation timestamp will &quot;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="stringliteral">&quot;be used when generating media timeline, e.g. timestamps in sidx &quot;</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="stringliteral">&quot;and mpd. This is to workaround a Chromium bug that decoding &quot;</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="stringliteral">&quot;timestamp is used in buffered range, https://crbug.com/398130.&quot;</span>);</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;DEFINE_bool(dump_stream_info, <span class="keyword">false</span>, <span class="stringliteral">&quot;Dump demuxed stream info.&quot;</span>);</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">namespace </span>shaka {</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">namespace </span>{</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/strings/string_number_conversions.h&quot;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;packager/base/strings/string_split.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/fixed_key_source.h&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/media_handler.h&quot;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/muxer_options.h&quot;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/playready_key_source.h&quot;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/request_signer.h&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/status.h&quot;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#include &quot;packager/media/base/widevine_key_source.h&quot;</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &quot;packager/media/chunking/chunking_handler.h&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;packager/media/crypto/encryption_handler.h&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;packager/media/file/file.h&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &quot;packager/mpd/base/mpd_options.h&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &quot;packager/packager.h&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keyword">namespace </span>shaka {</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="keyword">namespace </span>media {</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="keyword">namespace </span>{</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;FourCC GetProtectionScheme(<span class="keyword">const</span> std::string&amp; protection_scheme) {</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordflow">if</span> (protection_scheme == <span class="stringliteral">&quot;cenc&quot;</span>) {</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keywordflow">return</span> FOURCC_cenc;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (protection_scheme == <span class="stringliteral">&quot;cens&quot;</span>) {</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keywordflow">return</span> FOURCC_cens;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (protection_scheme == <span class="stringliteral">&quot;cbc1&quot;</span>) {</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keywordflow">return</span> FOURCC_cbc1;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (protection_scheme == <span class="stringliteral">&quot;cbcs&quot;</span>) {</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordflow">return</span> FOURCC_cbcs;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Unknown protection scheme: &quot;</span> &lt;&lt; protection_scheme;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordflow">return</span> FOURCC_NULL;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; }</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;}</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;FourCC GetProtectionScheme(<span class="keyword">const</span> std::string&amp; protection_scheme) {</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">if</span> (protection_scheme == <span class="stringliteral">&quot;cenc&quot;</span>) {</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">return</span> FOURCC_cenc;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (protection_scheme == <span class="stringliteral">&quot;cens&quot;</span>) {</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">return</span> FOURCC_cens;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (protection_scheme == <span class="stringliteral">&quot;cbc1&quot;</span>) {</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">return</span> FOURCC_cbc1;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (protection_scheme == <span class="stringliteral">&quot;cbcs&quot;</span>) {</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">return</span> FOURCC_cbcs;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Unknown protection scheme: &quot;</span> &lt;&lt; protection_scheme;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">return</span> FOURCC_NULL;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; }</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;}</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;} <span class="comment">// namespace</span></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;std::unique_ptr&lt;RequestSigner&gt; CreateSigner() {</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; std::unique_ptr&lt;RequestSigner&gt; signer;</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> (!FLAGS_aes_signing_key.empty()) {</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; signer.reset(<a class="code" href="../../d9/d8c/classshaka_1_1media_1_1AesRequestSigner.html#a43f4cc9fad9901fa905805be81f7d58c">AesRequestSigner::CreateSigner</a>(</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; FLAGS_signer, FLAGS_aes_signing_key, FLAGS_aes_signing_iv));</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">if</span> (!signer) {</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Cannot create an AES signer object from &#39;&quot;</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; &lt;&lt; FLAGS_aes_signing_key &lt;&lt; <span class="stringliteral">&quot;&#39;:&#39;&quot;</span> &lt;&lt; FLAGS_aes_signing_iv</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; &lt;&lt; <span class="stringliteral">&quot;&#39;.&quot;</span>;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">return</span> std::unique_ptr&lt;RequestSigner&gt;();</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!FLAGS_rsa_signing_key_path.empty()) {</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; std::string rsa_private_key;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="../../d3/d61/classshaka_1_1media_1_1File.html#a622dbc8abacebb40b816aa0174ba7c60">File::ReadFileToString</a>(FLAGS_rsa_signing_key_path.c_str(),</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; &amp;rsa_private_key)) {</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Failed to read from &#39;&quot;</span> &lt;&lt; FLAGS_rsa_signing_key_path</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; &lt;&lt; <span class="stringliteral">&quot;&#39;.&quot;</span>;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> std::unique_ptr&lt;RequestSigner&gt;();</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; signer.reset(<a class="code" href="../../d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html#af6af635a7c0a01bb638befb71b88386c">RsaRequestSigner::CreateSigner</a>(FLAGS_signer, rsa_private_key));</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">if</span> (!signer) {</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Cannot create a RSA signer object from &#39;&quot;</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; &lt;&lt; FLAGS_rsa_signing_key_path &lt;&lt; <span class="stringliteral">&quot;&#39;.&quot;</span>;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> std::unique_ptr&lt;RequestSigner&gt;();</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; }</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">return</span> signer;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;}</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;std::unique_ptr&lt;KeySource&gt; CreateEncryptionKeySource(FourCC protection_scheme) {</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; std::unique_ptr&lt;KeySource&gt; encryption_key_source;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">if</span> (FLAGS_enable_widevine_encryption) {</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; std::unique_ptr&lt;WidevineKeySource&gt; widevine_key_source(</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keyword">new</span> WidevineKeySource(FLAGS_key_server_url, FLAGS_include_common_pssh));</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; widevine_key_source-&gt;set_protection_scheme(protection_scheme);</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">if</span> (!FLAGS_signer.empty()) {</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; std::unique_ptr&lt;RequestSigner&gt; request_signer(CreateSigner());</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">if</span> (!request_signer)</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">return</span> std::unique_ptr&lt;KeySource&gt;();</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; widevine_key_source-&gt;set_signer(std::move(request_signer));</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; }</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; std::vector&lt;uint8_t&gt; content_id;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">if</span> (!base::HexStringToBytes(FLAGS_content_id, &amp;content_id)) {</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Invalid content_id hex string specified.&quot;</span>;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">return</span> std::unique_ptr&lt;KeySource&gt;();</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; Status status = widevine_key_source-&gt;FetchKeys(content_id, FLAGS_policy);</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">if</span> (!status.ok()) {</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Widevine encryption key source failed to fetch keys: &quot;</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; &lt;&lt; status.ToString();</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">return</span> std::unique_ptr&lt;KeySource&gt;();</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; encryption_key_source = std::move(widevine_key_source);</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (FLAGS_enable_fixed_key_encryption) {</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; encryption_key_source = <a class="code" href="../../d0/dac/classshaka_1_1media_1_1FixedKeySource.html#a9a91ba439d785022a1e2ceeaa9ebe81a">FixedKeySource::CreateFromHexStrings</a>(</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; FLAGS_key_id, FLAGS_key, FLAGS_pssh, FLAGS_iv);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (FLAGS_enable_playready_encryption) {</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">if</span> (!FLAGS_playready_key_id.empty() &amp;&amp; !FLAGS_playready_key.empty()) {</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; encryption_key_source = <a class="code" href="../../d4/da6/classshaka_1_1media_1_1PlayReadyKeySource.html#a4f539e8a54fef68aea5629489669508b">PlayReadyKeySource::CreateFromKeyAndKeyId</a>(</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; FLAGS_playready_key_id, FLAGS_playready_key);</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!FLAGS_playready_server_url.empty() &amp;&amp;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; !FLAGS_program_identifier.empty()) {</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; std::unique_ptr&lt;PlayReadyKeySource&gt; playready_key_source;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">if</span> (!FLAGS_client_cert_file.empty() &amp;&amp;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; !FLAGS_client_cert_private_key_file.empty() &amp;&amp;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; !FLAGS_client_cert_private_key_password.empty()) {</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; playready_key_source.reset(<span class="keyword">new</span> PlayReadyKeySource(</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; FLAGS_playready_server_url,</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; FLAGS_client_cert_file,</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; FLAGS_client_cert_private_key_file,</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; FLAGS_client_cert_private_key_password));</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; playready_key_source.reset(<span class="keyword">new</span> PlayReadyKeySource(</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; FLAGS_playready_server_url));</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; }</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">if</span> (!FLAGS_ca_file.empty()) {</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; playready_key_source-&gt;<a class="code" href="../../d4/da6/classshaka_1_1media_1_1PlayReadyKeySource.html#adeac90b9cff39bfa259f81ff3e93679c">SetCaFile</a>(FLAGS_ca_file);</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; }</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; playready_key_source-&gt;FetchKeysWithProgramIdentifier(FLAGS_program_identifier);</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; encryption_key_source = std::move(playready_key_source);</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Error creating PlayReady key source.&quot;</span>;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">return</span> std::unique_ptr&lt;KeySource&gt;();</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; }</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">return</span> encryption_key_source;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;}</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;std::unique_ptr&lt;KeySource&gt; CreateDecryptionKeySource() {</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; std::unique_ptr&lt;KeySource&gt; decryption_key_source;</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">if</span> (FLAGS_enable_widevine_decryption) {</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; std::unique_ptr&lt;WidevineKeySource&gt; widevine_key_source(</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keyword">new</span> WidevineKeySource(FLAGS_key_server_url, FLAGS_include_common_pssh));</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">if</span> (!FLAGS_signer.empty()) {</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; std::unique_ptr&lt;RequestSigner&gt; request_signer(CreateSigner());</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">if</span> (!request_signer)</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">return</span> std::unique_ptr&lt;KeySource&gt;();</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; widevine_key_source-&gt;set_signer(std::move(request_signer));</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; decryption_key_source = std::move(widevine_key_source);</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (FLAGS_enable_fixed_key_decryption) {</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> kNoPssh[] = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> kNoIv[] = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; decryption_key_source = <a class="code" href="../../d0/dac/classshaka_1_1media_1_1FixedKeySource.html#a9a91ba439d785022a1e2ceeaa9ebe81a">FixedKeySource::CreateFromHexStrings</a>(</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; FLAGS_key_id, FLAGS_key, kNoPssh, kNoIv);</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; }</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">return</span> decryption_key_source;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;}</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;ChunkingOptions GetChunkingOptions() {</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; ChunkingOptions chunking_options;</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; chunking_options.<a class="code" href="../../db/d02/structshaka_1_1media_1_1ChunkingOptions.html#a1cdbde61303f629cc9b4cbcd98f2d711">segment_duration_in_seconds</a> = FLAGS_segment_duration;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; chunking_options.subsegment_duration_in_seconds = FLAGS_fragment_duration;</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; chunking_options.segment_sap_aligned = FLAGS_segment_sap_aligned;</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; chunking_options.subsegment_sap_aligned = FLAGS_fragment_sap_aligned;</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">return</span> chunking_options;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;}</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;EncryptionOptions GetEncryptionOptions() {</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; EncryptionOptions encryption_options;</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; encryption_options.<a class="code" href="../../d6/d82/structshaka_1_1media_1_1EncryptionOptions.html#a3d58dc01a4af0ebfb56f3c4979f745f7">clear_lead_in_seconds</a> = FLAGS_clear_lead;</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; encryption_options.protection_scheme =</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; GetProtectionScheme(FLAGS_protection_scheme);</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; encryption_options.max_sd_pixels = FLAGS_max_sd_pixels;</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; encryption_options.max_hd_pixels = FLAGS_max_hd_pixels;</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; encryption_options.max_uhd1_pixels = FLAGS_max_uhd1_pixels;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; encryption_options.crypto_period_duration_in_seconds =</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; FLAGS_crypto_period_duration;</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; encryption_options.vp9_subsample_encryption = FLAGS_vp9_subsample_encryption;</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">return</span> encryption_options;</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;}</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;MuxerOptions GetMuxerOptions() {</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; MuxerOptions muxer_options;</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; muxer_options.<a class="code" href="../../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#a2db773300dadf681c40bef0b3eca3ece">num_subsegments_per_sidx</a> = FLAGS_num_subsegments_per_sidx;</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; muxer_options.mp4_include_pssh_in_stream = FLAGS_mp4_include_pssh_in_stream;</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">if</span> (FLAGS_mp4_use_decoding_timestamp_in_timeline) {</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; LOG(WARNING) &lt;&lt; <span class="stringliteral">&quot;Flag --mp4_use_decoding_timestamp_in_timeline is set. &quot;</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="stringliteral">&quot;Note that it is a temporary hack to workaround Chromium &quot;</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="stringliteral">&quot;bug https://crbug.com/398130. The flag may be removed &quot;</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="stringliteral">&quot;when the Chromium bug is fixed.&quot;</span>;</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; }</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; muxer_options.mp4_use_decoding_timestamp_in_timeline =</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; FLAGS_mp4_use_decoding_timestamp_in_timeline;</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; muxer_options.temp_dir = FLAGS_temp_dir;</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">return</span> muxer_options;</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;}</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;MpdOptions GetMpdOptions(<span class="keywordtype">bool</span> on_demand_profile) {</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; MpdOptions mpd_options;</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; mpd_options.dash_profile =</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; on_demand_profile ? DashProfile::kOnDemand : DashProfile::kLive;</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; mpd_options.mpd_type = (on_demand_profile || FLAGS_generate_static_mpd)</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; ? MpdType::kStatic</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; : MpdType::kDynamic;</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; mpd_options.minimum_update_period = FLAGS_minimum_update_period;</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; mpd_options.min_buffer_time = FLAGS_min_buffer_time;</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; mpd_options.time_shift_buffer_depth = FLAGS_time_shift_buffer_depth;</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; mpd_options.suggested_presentation_delay = FLAGS_suggested_presentation_delay;</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; mpd_options.default_language = FLAGS_default_language;</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">return</span> mpd_options;</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;}</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;Status ConnectHandlers(std::vector&lt;std::shared_ptr&lt;MediaHandler&gt;&gt;&amp; handlers) {</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordtype">size_t</span> num_handlers = handlers.size();</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; Status status;</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 1; i &lt; num_handlers; ++i) {</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; status.<a class="code" href="../../d0/d93/classshaka_1_1media_1_1Status.html#a74d29f349b4673d2eef69a47f5152fe4">Update</a>(handlers[i - 1]-&gt;AddHandler(handlers[i]));</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">return</span> status;</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;}</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;} <span class="comment">// namespace shaka</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;} <span class="comment">// namespace</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;std::unique_ptr&lt;RequestSigner&gt; CreateSigner(<span class="keyword">const</span> WidevineSigner&amp; signer) {</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; std::unique_ptr&lt;RequestSigner&gt; request_signer;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">switch</span> (signer.signing_key_type) {</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">case</span> WidevineSigner::SigningKeyType::kAes:</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; request_signer.reset(<a class="code" href="../../d9/d8c/classshaka_1_1media_1_1AesRequestSigner.html#a43f4cc9fad9901fa905805be81f7d58c">AesRequestSigner::CreateSigner</a>(</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; signer.signer_name, signer.aes.key, signer.aes.iv));</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">case</span> WidevineSigner::SigningKeyType::kRsa:</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; request_signer.reset(</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="../../d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html#af6af635a7c0a01bb638befb71b88386c">RsaRequestSigner::CreateSigner</a>(signer.signer_name, signer.rsa.key));</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">case</span> WidevineSigner::SigningKeyType::kNone:</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">break</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; <span class="keywordflow">if</span> (!request_signer)</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Failed to create the signer object.&quot;</span>;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">return</span> request_signer;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;}</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;std::unique_ptr&lt;KeySource&gt; CreateEncryptionKeySource(</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; FourCC protection_scheme,</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keyword">const</span> EncryptionParams&amp; encryption_params) {</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; std::unique_ptr&lt;KeySource&gt; encryption_key_source;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">switch</span> (encryption_params.key_provider) {</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">case</span> KeyProvider::kWidevine: {</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keyword">const</span> WidevineEncryptionParams&amp; widevine = encryption_params.widevine;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">if</span> (widevine.key_server_url.empty()) {</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;&#39;key_server_url&#39; should not be empty.&quot;</span>;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> std::unique_ptr&lt;KeySource&gt;();</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">if</span> (widevine.content_id.empty()) {</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;&#39;content_id&#39; should not be empty.&quot;</span>;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> std::unique_ptr&lt;KeySource&gt;();</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; }</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; std::unique_ptr&lt;WidevineKeySource&gt; widevine_key_source(</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keyword">new</span> WidevineKeySource(widevine.key_server_url,</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; widevine.include_common_pssh));</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; widevine_key_source-&gt;set_protection_scheme(protection_scheme);</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">if</span> (!widevine.signer.signer_name.empty()) {</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; std::unique_ptr&lt;RequestSigner&gt; request_signer(</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; CreateSigner(widevine.signer));</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">if</span> (!request_signer)</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">return</span> std::unique_ptr&lt;KeySource&gt;();</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; widevine_key_source-&gt;set_signer(std::move(request_signer));</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; Status status =</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; widevine_key_source-&gt;FetchKeys(widevine.content_id, widevine.policy);</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">if</span> (!status.ok()) {</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Widevine encryption key source failed to fetch keys: &quot;</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; &lt;&lt; status.ToString();</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">return</span> std::unique_ptr&lt;KeySource&gt;();</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; encryption_key_source = std::move(widevine_key_source);</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">case</span> KeyProvider::kRawKey: {</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keyword">const</span> RawKeyEncryptionParams&amp; raw_key = encryption_params.raw_key;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keyword">const</span> std::string kDefaultTrackType;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="comment">// TODO(kqyang): Refactor FixedKeySource.</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; encryption_key_source = <a class="code" href="../../d0/dac/classshaka_1_1media_1_1FixedKeySource.html#a9a91ba439d785022a1e2ceeaa9ebe81a">FixedKeySource::CreateFromHexStrings</a>(</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; raw_key.key_map.find(<span class="stringliteral">&quot;&quot;</span>)-&gt;second.key_id,</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; raw_key.key_map.find(<span class="stringliteral">&quot;&quot;</span>)-&gt;second.key, raw_key.pssh, raw_key.iv);</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; }</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">case</span> KeyProvider::kPlayready: {</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keyword">const</span> PlayreadyEncryptionParams&amp; playready = encryption_params.playready;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">if</span> (!playready.key_id.empty() &amp;&amp; !playready.key.empty()) {</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; encryption_key_source = <a class="code" href="../../d4/da6/classshaka_1_1media_1_1PlayReadyKeySource.html#a4f539e8a54fef68aea5629489669508b">PlayReadyKeySource::CreateFromKeyAndKeyId</a>(</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; playready.key_id, playready.key);</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!playready.key_server_url.empty() &amp;&amp;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; !playready.program_identifier.empty()) {</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; std::unique_ptr&lt;PlayReadyKeySource&gt; playready_key_source;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">if</span> (!playready.client_cert_file.empty() &amp;&amp;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; !playready.client_cert_private_key_file.empty() &amp;&amp;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; !playready.client_cert_private_key_password.empty()) {</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; playready_key_source.reset(<span class="keyword">new</span> PlayReadyKeySource(</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; playready.key_server_url, playready.client_cert_file,</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; playready.client_cert_private_key_file,</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; playready.client_cert_private_key_password));</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; playready_key_source.reset(</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keyword">new</span> PlayReadyKeySource(playready.key_server_url));</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">if</span> (!playready.ca_file.empty()) {</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; playready_key_source-&gt;<a class="code" href="../../d4/da6/classshaka_1_1media_1_1PlayReadyKeySource.html#adeac90b9cff39bfa259f81ff3e93679c">SetCaFile</a>(playready.ca_file);</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; playready_key_source-&gt;FetchKeysWithProgramIdentifier(</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; playready.program_identifier);</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; encryption_key_source = std::move(playready_key_source);</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;Error creating PlayReady key source.&quot;</span>;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">return</span> std::unique_ptr&lt;KeySource&gt;();</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; }</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">case</span> KeyProvider::kNone:</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">break</span>;</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; <span class="keywordflow">return</span> encryption_key_source;</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;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;std::unique_ptr&lt;KeySource&gt; CreateDecryptionKeySource(</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keyword">const</span> DecryptionParams&amp; decryption_params) {</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; std::unique_ptr&lt;KeySource&gt; decryption_key_source;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">switch</span> (decryption_params.key_provider) {</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">case</span> KeyProvider::kWidevine: {</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keyword">const</span> WidevineDecryptionParams&amp; widevine = decryption_params.widevine;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">if</span> (widevine.key_server_url.empty()) {</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; LOG(ERROR) &lt;&lt; <span class="stringliteral">&quot;&#39;key_server_url&#39; should not be empty.&quot;</span>;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">return</span> std::unique_ptr&lt;KeySource&gt;();</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; }</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; std::unique_ptr&lt;WidevineKeySource&gt; widevine_key_source(</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keyword">new</span> WidevineKeySource(widevine.key_server_url,</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keyword">true</span> <span class="comment">/* commmon pssh, does not matter here */</span>));</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">if</span> (!widevine.signer.signer_name.empty()) {</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; std::unique_ptr&lt;RequestSigner&gt; request_signer(</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; CreateSigner(widevine.signer));</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">if</span> (!request_signer)</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">return</span> std::unique_ptr&lt;KeySource&gt;();</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; widevine_key_source-&gt;set_signer(std::move(request_signer));</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; }</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; decryption_key_source = std::move(widevine_key_source);</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; }</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">case</span> KeyProvider::kRawKey: {</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keyword">const</span> RawKeyDecryptionParams&amp; raw_key = decryption_params.raw_key;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> kNoPssh[] = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> kNoIv[] = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; decryption_key_source = <a class="code" href="../../d0/dac/classshaka_1_1media_1_1FixedKeySource.html#a9a91ba439d785022a1e2ceeaa9ebe81a">FixedKeySource::CreateFromHexStrings</a>(</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; raw_key.key_map.find(<span class="stringliteral">&quot;&quot;</span>)-&gt;second.key_id,</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; raw_key.key_map.find(<span class="stringliteral">&quot;&quot;</span>)-&gt;second.key, kNoPssh, kNoIv);</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; }</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">case</span> KeyProvider::kNone:</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">case</span> KeyProvider::kPlayready:</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; }</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">return</span> decryption_key_source;</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;}</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;ChunkingOptions GetChunkingOptions(<span class="keyword">const</span> ChunkingParams&amp; chunking_params) {</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; ChunkingOptions chunking_options;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; chunking_options.<a class="code" href="../../db/d02/structshaka_1_1media_1_1ChunkingOptions.html#a1cdbde61303f629cc9b4cbcd98f2d711">segment_duration_in_seconds</a> =</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; chunking_params.segment_duration_in_seconds;</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; chunking_options.subsegment_duration_in_seconds =</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; chunking_params.subsegment_duration_in_seconds;</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; chunking_options.segment_sap_aligned = chunking_params.segment_sap_aligned;</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; chunking_options.subsegment_sap_aligned =</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; chunking_params.subsegment_sap_aligned;</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">return</span> chunking_options;</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;}</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;EncryptionOptions GetEncryptionOptions(</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keyword">const</span> EncryptionParams&amp; encryption_params) {</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; EncryptionOptions encryption_options;</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; encryption_options.<a class="code" href="../../d6/d82/structshaka_1_1media_1_1EncryptionOptions.html#a3d58dc01a4af0ebfb56f3c4979f745f7">clear_lead_in_seconds</a> =</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; encryption_params.clear_lead_in_seconds;</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; encryption_options.protection_scheme =</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; GetProtectionScheme(encryption_params.protection_scheme);</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; encryption_options.crypto_period_duration_in_seconds =</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; encryption_params.crypto_period_duration_in_seconds;</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; encryption_options.vp9_subsample_encryption =</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; encryption_params.vp9_subsample_encryption;</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; encryption_options.stream_label_func = encryption_params.stream_label_func;</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">return</span> encryption_options;</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;}</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;MuxerOptions GetMuxerOptions(<span class="keyword">const</span> std::string&amp; temp_dir,</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keyword">const</span> Mp4OutputParams&amp; mp4_params) {</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; MuxerOptions muxer_options;</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; muxer_options.<a class="code" href="../../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#a2db773300dadf681c40bef0b3eca3ece">num_subsegments_per_sidx</a> = mp4_params.num_subsegments_per_sidx;</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; muxer_options.mp4_include_pssh_in_stream = mp4_params.include_pssh_in_stream;</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; muxer_options.mp4_use_decoding_timestamp_in_timeline =</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; mp4_params.use_decoding_timestamp_in_timeline;</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; muxer_options.temp_dir = temp_dir;</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">return</span> muxer_options;</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;}</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;MpdOptions GetMpdOptions(<span class="keywordtype">bool</span> on_demand_profile, <span class="keyword">const</span> MpdParams&amp; mpd_params) {</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; MpdOptions mpd_options;</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; mpd_options.dash_profile =</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; on_demand_profile ? DashProfile::kOnDemand : DashProfile::kLive;</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; mpd_options.mpd_type =</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; (on_demand_profile || mpd_params.generate_static_live_mpd)</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; ? MpdType::kStatic</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; : MpdType::kDynamic;</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; mpd_options.minimum_update_period = mpd_params.minimum_update_period;</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; mpd_options.min_buffer_time = mpd_params.min_buffer_time;</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; mpd_options.time_shift_buffer_depth = mpd_params.time_shift_buffer_depth;</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; mpd_options.suggested_presentation_delay =</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; mpd_params.suggested_presentation_delay;</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; mpd_options.default_language = mpd_params.default_language;</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">return</span> mpd_options;</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;}</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;Status ConnectHandlers(std::vector&lt;std::shared_ptr&lt;MediaHandler&gt;&gt;&amp; handlers) {</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordtype">size_t</span> num_handlers = handlers.size();</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; Status status;</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 1; i &lt; num_handlers; ++i) {</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; status.<a class="code" href="../../d0/d93/classshaka_1_1media_1_1Status.html#a74d29f349b4673d2eef69a47f5152fe4">Update</a>(handlers[i - 1]-&gt;AddHandler(handlers[i]));</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; }</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">return</span> status;</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;}</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;} <span class="comment">// namespace media</span></div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;} <span class="comment">// namespace shaka</span></div>
<div class="ttc" id="classshaka_1_1media_1_1RsaRequestSigner_html_af6af635a7c0a01bb638befb71b88386c"><div class="ttname"><a href="../../d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html#af6af635a7c0a01bb638befb71b88386c">shaka::media::RsaRequestSigner::CreateSigner</a></div><div class="ttdeci">static RsaRequestSigner * CreateSigner(const std::string &amp;signer_name, const std::string &amp;pkcs1_rsa_key)</div><div class="ttdef"><b>Definition:</b> <a href="../../d4/df5/request__signer_8cc_source.html#l00064">request_signer.cc:64</a></div></div>
<div class="ttc" id="classshaka_1_1media_1_1AesRequestSigner_html_a43f4cc9fad9901fa905805be81f7d58c"><div class="ttname"><a href="../../d9/d8c/classshaka_1_1media_1_1AesRequestSigner.html#a43f4cc9fad9901fa905805be81f7d58c">shaka::media::AesRequestSigner::CreateSigner</a></div><div class="ttdeci">static AesRequestSigner * CreateSigner(const std::string &amp;signer_name, const std::string &amp;aes_key_hex, const std::string &amp;iv_hex)</div><div class="ttdef"><b>Definition:</b> <a href="../../d4/df5/request__signer_8cc_source.html#l00029">request_signer.cc:29</a></div></div>
<div class="ttc" id="classshaka_1_1media_1_1Status_html_a74d29f349b4673d2eef69a47f5152fe4"><div class="ttname"><a href="../../d0/d93/classshaka_1_1media_1_1Status.html#a74d29f349b4673d2eef69a47f5152fe4">shaka::media::Status::Update</a></div><div class="ttdeci">void Update(const Status &amp;new_status)</div><div class="ttdef"><b>Definition:</b> <a href="../../d1/d13/status_8h_source.html#l00130">status.h:130</a></div></div>
<div class="ttc" id="classshaka_1_1media_1_1FixedKeySource_html_a9a91ba439d785022a1e2ceeaa9ebe81a"><div class="ttname"><a href="../../d0/dac/classshaka_1_1media_1_1FixedKeySource.html#a9a91ba439d785022a1e2ceeaa9ebe81a">shaka::media::FixedKeySource::CreateFromHexStrings</a></div><div class="ttdeci">static std::unique_ptr&lt; FixedKeySource &gt; CreateFromHexStrings(const std::string &amp;key_id_hex, const std::string &amp;key_hex, const std::string &amp;pssh_boxes_hex, const std::string &amp;iv_hex)</div><div class="ttdef"><b>Definition:</b> <a href="../../d3/d6b/fixed__key__source_8cc_source.html#l00077">fixed_key_source.cc:77</a></div></div>
<div class="ttc" id="classshaka_1_1media_1_1PlayReadyKeySource_html_adeac90b9cff39bfa259f81ff3e93679c"><div class="ttname"><a href="../../d4/da6/classshaka_1_1media_1_1PlayReadyKeySource.html#adeac90b9cff39bfa259f81ff3e93679c">shaka::media::PlayReadyKeySource::SetCaFile</a></div><div class="ttdeci">void SetCaFile(const std::string &amp;ca_file)</div><div class="ttdoc">Sets the Certificate Authority file for validating self-signed certificates. </div><div class="ttdef"><b>Definition:</b> <a href="../../df/d00/playready__key__source_8h_source.html#l00063">playready_key_source.h:63</a></div></div>
<div class="ttc" id="structshaka_1_1media_1_1MuxerOptions_html_a2db773300dadf681c40bef0b3eca3ece"><div class="ttname"><a href="../../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#a2db773300dadf681c40bef0b3eca3ece">shaka::media::MuxerOptions::num_subsegments_per_sidx</a></div><div class="ttdeci">int num_subsegments_per_sidx</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d0e/muxer__options_8h_source.html#l00027">muxer_options.h:27</a></div></div>
<div class="ttc" id="structshaka_1_1media_1_1EncryptionOptions_html_a3d58dc01a4af0ebfb56f3c4979f745f7"><div class="ttname"><a href="../../d6/d82/structshaka_1_1media_1_1EncryptionOptions.html#a3d58dc01a4af0ebfb56f3c4979f745f7">shaka::media::EncryptionOptions::clear_lead_in_seconds</a></div><div class="ttdeci">double clear_lead_in_seconds</div><div class="ttdoc">Clear lead duration in seconds. </div><div class="ttdef"><b>Definition:</b> <a href="../../dd/dbc/encryption__handler_8h_source.html#l00025">encryption_handler.h:25</a></div></div>
<div class="ttc" id="structshaka_1_1media_1_1EncryptionOptions_html_a3d58dc01a4af0ebfb56f3c4979f745f7"><div class="ttname"><a href="../../d6/d82/structshaka_1_1media_1_1EncryptionOptions.html#a3d58dc01a4af0ebfb56f3c4979f745f7">shaka::media::EncryptionOptions::clear_lead_in_seconds</a></div><div class="ttdeci">double clear_lead_in_seconds</div><div class="ttdoc">Clear lead duration in seconds. </div><div class="ttdef"><b>Definition:</b> <a href="../../dd/dbc/encryption__handler_8h_source.html#l00026">encryption_handler.h:26</a></div></div>
<div class="ttc" id="structshaka_1_1media_1_1ChunkingOptions_html_a1cdbde61303f629cc9b4cbcd98f2d711"><div class="ttname"><a href="../../db/d02/structshaka_1_1media_1_1ChunkingOptions.html#a1cdbde61303f629cc9b4cbcd98f2d711">shaka::media::ChunkingOptions::segment_duration_in_seconds</a></div><div class="ttdeci">double segment_duration_in_seconds</div><div class="ttdoc">Segment duration in seconds. </div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d79/chunking__handler_8h_source.html#l00019">chunking_handler.h:19</a></div></div>
<div class="ttc" id="classshaka_1_1media_1_1File_html_a622dbc8abacebb40b816aa0174ba7c60"><div class="ttname"><a href="../../d3/d61/classshaka_1_1media_1_1File.html#a622dbc8abacebb40b816aa0174ba7c60">shaka::media::File::ReadFileToString</a></div><div class="ttdeci">static bool ReadFileToString(const char *file_name, std::string *contents)</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/dfc/file_8cc_source.html#l00185">file.cc:185</a></div></div>
<div class="ttc" id="classshaka_1_1media_1_1PlayReadyKeySource_html_a4f539e8a54fef68aea5629489669508b"><div class="ttname"><a href="../../d4/da6/classshaka_1_1media_1_1PlayReadyKeySource.html#a4f539e8a54fef68aea5629489669508b">shaka::media::PlayReadyKeySource::CreateFromKeyAndKeyId</a></div><div class="ttdeci">static std::unique_ptr&lt; PlayReadyKeySource &gt; CreateFromKeyAndKeyId(const std::string &amp;key_id_hex, const std::string &amp;key_hex)</div><div class="ttdef"><b>Definition:</b> <a href="../../da/dd0/playready__key__source_8cc_source.html#l00184">playready_key_source.cc:184</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:17 for DASH Media Packaging SDK 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 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:23 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:21 for DASH Media Packaging SDK 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

@ -376,7 +376,7 @@ Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:22 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:20 for DASH Media Packaging SDK 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 @@ int&#160;</td><td class="memItemRight" valign="bottom"><b>chroma_array_type</b><
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:20 for DASH Media Packaging SDK 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

@ -245,7 +245,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 Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:22 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:20 for DASH Media Packaging SDK 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

@ -252,7 +252,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 Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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

@ -282,7 +282,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 Jun 13 2017 20:29:20 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

View File

@ -133,10 +133,16 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;DEFINE_bool(mp4_include_pssh_in_stream,</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keyword">true</span>,</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="stringliteral">&quot;MP4 only: include pssh in the encrypted stream.&quot;</span>);</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;DEFINE_bool(mp4_use_decoding_timestamp_in_timeline,</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keyword">false</span>,</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="stringliteral">&quot;If set, decoding timestamp instead of presentation timestamp will &quot;</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="stringliteral">&quot;be used when generating media timeline, e.g. timestamps in sidx &quot;</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="stringliteral">&quot;and mpd. This is to workaround a Chromium bug that decoding &quot;</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="stringliteral">&quot;timestamp is used in buffered range, https://crbug.com/398130.&quot;</span>);</div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:17 for DASH Media Packaging SDK 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

@ -349,7 +349,7 @@ static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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

@ -235,7 +235,7 @@ Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:24 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:22 for DASH Media Packaging SDK 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

@ -107,7 +107,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 Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:22 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:20 for DASH Media Packaging SDK 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

@ -206,7 +206,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 Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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

@ -135,7 +135,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 Jun 13 2017 20:29:20 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:24 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:21 for DASH Media Packaging SDK 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

@ -385,7 +385,7 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>BoxBuffer</b></td></
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:22 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:21 for DASH Media Packaging SDK 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

@ -483,7 +483,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 Jun 13 2017 20:29:20 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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

@ -142,7 +142,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:22 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:20 for DASH Media Packaging SDK 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

@ -419,7 +419,7 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../.
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:24 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:22 for DASH Media Packaging SDK 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

@ -122,7 +122,7 @@ uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>cipher_bytes</b><
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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

@ -269,7 +269,7 @@ std::vector&lt; std::unique_ptr<br class="typebreak"/>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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 @@ 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 Jun 13 2017 20:29:20 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:17 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:24 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:22 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:20 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:20 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:19 for DASH Media Packaging SDK 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

@ -222,7 +222,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:24 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:22 for DASH Media Packaging SDK 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

@ -289,7 +289,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 Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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

@ -231,7 +231,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 Jun 13 2017 20:29:19 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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

@ -535,7 +535,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 Jun 13 2017 20:29:20 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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

@ -152,7 +152,7 @@ int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href=".
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:20 for DASH Media Packaging SDK 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

@ -334,7 +334,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 Jun 13 2017 20:29:20 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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

@ -103,7 +103,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 Jun 13 2017 20:29:21 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:20 for DASH Media Packaging SDK 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 Jun 13 2017 20:29:20 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Tue Jun 13 2017 22:09:18 for DASH Media Packaging SDK 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