diff --git a/docs/annotated.html b/docs/annotated.html
index b559d22b31..203991d4a9 100644
--- a/docs/annotated.html
+++ b/docs/annotated.html
@@ -371,7 +371,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/classes.html b/docs/classes.html
index 1af2d5f1e1..8c85f5663d 100644
--- a/docs/classes.html
+++ b/docs/classes.html
@@ -179,7 +179,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/d0/d00/structshaka_1_1media_1_1mp4_1_1HandlerReference-members.html b/docs/d0/d00/structshaka_1_1media_1_1mp4_1_1HandlerReference-members.html
index fe7069de7f..e9932d879a 100644
--- a/docs/d0/d00/structshaka_1_1media_1_1mp4_1_1HandlerReference-members.html
+++ b/docs/d0/d00/structshaka_1_1media_1_1mp4_1_1HandlerReference-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d04/classshaka_1_1media_1_1RsaRequestSigner-members.html b/docs/d0/d04/classshaka_1_1media_1_1RsaRequestSigner-members.html
index 7cd3a1a5c3..2a443ed322 100644
--- a/docs/d0/d04/classshaka_1_1media_1_1RsaRequestSigner-members.html
+++ b/docs/d0/d04/classshaka_1_1media_1_1RsaRequestSigner-members.html
@@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d06/mpd__flags_8cc_source.html b/docs/d0/d06/mpd__flags_8cc_source.html
index d21bcb1e21..415aa1858b 100644
--- a/docs/d0/d06/mpd__flags_8cc_source.html
+++ b/docs/d0/d06/mpd__flags_8cc_source.html
@@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d0e/classshaka_1_1media_1_1HttpKeyFetcher-members.html b/docs/d0/d0e/classshaka_1_1media_1_1HttpKeyFetcher-members.html
index 2ef6175b9d..7235c037e8 100644
--- a/docs/d0/d0e/classshaka_1_1media_1_1HttpKeyFetcher-members.html
+++ b/docs/d0/d0e/classshaka_1_1media_1_1HttpKeyFetcher-members.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d0e/hevc__decoder__configuration__record_8h_source.html b/docs/d0/d0e/hevc__decoder__configuration__record_8h_source.html
index 73dca37b0d..77a0f0c99c 100644
--- a/docs/d0/d0e/hevc__decoder__configuration__record_8h_source.html
+++ b/docs/d0/d0e/hevc__decoder__configuration__record_8h_source.html
@@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
31 bool ParseInternal()
override;
@@ -132,13 +132,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
47 #endif // MEDIA_CODECS_HEVC_DECODER_CONFIGURATION_RECORD_H_
-
+
diff --git a/docs/d0/d0e/muxer__options_8h_source.html b/docs/d0/d0e/muxer__options_8h_source.html
index c7fa2e0dbf..a09d15b60c 100644
--- a/docs/d0/d0e/muxer__options_8h_source.html
+++ b/docs/d0/d0e/muxer__options_8h_source.html
@@ -128,12 +128,15 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
-
-
-
+
+
+ 78 bool webm_subsample_encryption;
+
- 81 #endif // MEDIA_BASE_MUXER_OPTIONS_H_
+
+
+
+ 84 #endif // MEDIA_BASE_MUXER_OPTIONS_H_
@@ -149,7 +152,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d0f/classshaka_1_1media_1_1mp2t_1_1TsSectionPmt-members.html b/docs/d0/d0f/classshaka_1_1media_1_1mp2t_1_1TsSectionPmt-members.html
index 3e664853e6..f2fb3cda44 100644
--- a/docs/d0/d0f/classshaka_1_1media_1_1mp2t_1_1TsSectionPmt-members.html
+++ b/docs/d0/d0f/classshaka_1_1media_1_1mp2t_1_1TsSectionPmt-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d11/structshaka_1_1media_1_1VPxFrameInfo.html b/docs/d0/d11/structshaka_1_1media_1_1VPxFrameInfo.html
index 085d861d6e..b97b97b7df 100644
--- a/docs/d0/d11/structshaka_1_1media_1_1VPxFrameInfo.html
+++ b/docs/d0/d11/structshaka_1_1media_1_1VPxFrameInfo.html
@@ -121,7 +121,7 @@ uint32_t height |
diff --git a/docs/d0/d1e/classshaka_1_1media_1_1H265ByteToUnitStreamConverter-members.html b/docs/d0/d1e/classshaka_1_1media_1_1H265ByteToUnitStreamConverter-members.html
index 11bd63e46f..062356d033 100644
--- a/docs/d0/d1e/classshaka_1_1media_1_1H265ByteToUnitStreamConverter-members.html
+++ b/docs/d0/d1e/classshaka_1_1media_1_1H265ByteToUnitStreamConverter-members.html
@@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d1f/structshaka_1_1media_1_1mp4_1_1VTTCueBox-members.html b/docs/d0/d1f/structshaka_1_1media_1_1mp4_1_1VTTCueBox-members.html
index e6530e2494..4fc0566b49 100644
--- a/docs/d0/d1f/structshaka_1_1media_1_1mp4_1_1VTTCueBox-members.html
+++ b/docs/d0/d1f/structshaka_1_1media_1_1mp4_1_1VTTCueBox-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d26/classshaka_1_1media_1_1mp2t_1_1TsSectionPat.html b/docs/d0/d26/classshaka_1_1media_1_1mp2t_1_1TsSectionPat.html
index 10cd9cb0a5..393011c7d8 100644
--- a/docs/d0/d26/classshaka_1_1media_1_1mp2t_1_1TsSectionPat.html
+++ b/docs/d0/d26/classshaka_1_1media_1_1mp2t_1_1TsSectionPat.html
@@ -155,7 +155,7 @@ void Reset () override
diff --git a/docs/d0/d27/structshaka_1_1media_1_1MuxerOptions.html b/docs/d0/d27/structshaka_1_1media_1_1MuxerOptions.html
index 162e5c2960..96075955c8 100644
--- a/docs/d0/d27/structshaka_1_1media_1_1MuxerOptions.html
+++ b/docs/d0/d27/structshaka_1_1media_1_1MuxerOptions.html
@@ -125,6 +125,9 @@ std::string | | |
uint32_t | bandwidth |
|
+
+bool | webm_subsample_encryption |
+ |
This structure contains the list of configuration options for Muxer.
@@ -288,7 +291,7 @@ std::string
diff --git a/docs/d0/d30/mock__mpd__notifier_8h_source.html b/docs/d0/d30/mock__mpd__notifier_8h_source.html
index 6fec8fae4c..4a04a93154 100644
--- a/docs/d0/d30/mock__mpd__notifier_8h_source.html
+++ b/docs/d0/d30/mock__mpd__notifier_8h_source.html
@@ -148,7 +148,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d32/mp2t__common_8h_source.html b/docs/d0/d32/mp2t__common_8h_source.html
index af4f7dc336..42020994dc 100644
--- a/docs/d0/d32/mp2t__common_8h_source.html
+++ b/docs/d0/d32/mp2t__common_8h_source.html
@@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d33/classshaka_1_1MockRepresentation.html b/docs/d0/d33/classshaka_1_1MockRepresentation.html
index 2d86d0f9f3..725b54a366 100644
--- a/docs/d0/d33/classshaka_1_1MockRepresentation.html
+++ b/docs/d0/d33/classshaka_1_1MockRepresentation.html
@@ -160,7 +160,7 @@ Additional Inherited Members |
diff --git a/docs/d0/d35/es__descriptor_8cc_source.html b/docs/d0/d35/es__descriptor_8cc_source.html
index 9b65b2486e..4672fdcb33 100644
--- a/docs/d0/d35/es__descriptor_8cc_source.html
+++ b/docs/d0/d35/es__descriptor_8cc_source.html
@@ -285,7 +285,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d3a/hls__notify__muxer__listener_8cc_source.html b/docs/d0/d3a/hls__notify__muxer__listener_8cc_source.html
index 0fbeb602fd..aa5b43155d 100644
--- a/docs/d0/d3a/hls__notify__muxer__listener_8cc_source.html
+++ b/docs/d0/d3a/hls__notify__muxer__listener_8cc_source.html
@@ -208,7 +208,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
@@ -220,7 +220,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d3a/webm__constants_8h_source.html b/docs/d0/d3a/webm__constants_8h_source.html
index f384d02387..d6748a86e9 100644
--- a/docs/d0/d3a/webm__constants_8h_source.html
+++ b/docs/d0/d3a/webm__constants_8h_source.html
@@ -94,226 +94,231 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
5 #ifndef MEDIA_FORMATS_WEBM_WEBM_CONSTANTS_H_
6 #define MEDIA_FORMATS_WEBM_WEBM_CONSTANTS_H_
-
-
-
-
-
- 16 const int kWebMIdAESSettingsCipherMode = 0x47E8;
- 17 const int kWebMIdAlphaMode = 0x53C0;
- 18 const int kWebMIdAspectRatioType = 0x54B3;
- 19 const int kWebMIdAttachedFile = 0x61A7;
- 20 const int kWebMIdAttachmentLink = 0x7446;
- 21 const int kWebMIdAttachments = 0x1941A469;
- 22 const int kWebMIdAudio = 0xE1;
- 23 const int kWebMIdBitDepth = 0x6264;
- 24 const int kWebMIdBlock = 0xA1;
- 25 const int kWebMIdBlockAddID = 0xEE;
- 26 const int kWebMIdBlockAdditions = 0x75A1;
- 27 const int kWebMIdBlockAdditional = 0xA5;
- 28 const int kWebMIdBlockDuration = 0x9B;
- 29 const int kWebMIdBlockGroup = 0xA0;
- 30 const int kWebMIdBlockMore = 0xA6;
- 31 const int kWebMIdChannels = 0x9F;
- 32 const int kWebMIdChapCountry = 0x437E;
- 33 const int kWebMIdChapLanguage = 0x437C;
- 34 const int kWebMIdChapProcess = 0x6944;
- 35 const int kWebMIdChapProcessCodecID = 0x6955;
- 36 const int kWebMIdChapProcessCommand = 0x6911;
- 37 const int kWebMIdChapProcessData = 0x6933;
- 38 const int kWebMIdChapProcessPrivate = 0x450D;
- 39 const int kWebMIdChapProcessTime = 0x6922;
- 40 const int kWebMIdChapString = 0x85;
- 41 const int kWebMIdChapterAtom = 0xB6;
- 42 const int kWebMIdChapterDisplay = 0x80;
- 43 const int kWebMIdChapterFlagEnabled = 0x4598;
- 44 const int kWebMIdChapterFlagHidden = 0x98;
- 45 const int kWebMIdChapterPhysicalEquiv = 0x63C3;
- 46 const int kWebMIdChapters = 0x1043A770;
- 47 const int kWebMIdChapterSegmentEditionUID = 0x6EBC;
- 48 const int kWebMIdChapterSegmentUID = 0x6E67;
- 49 const int kWebMIdChapterTimeEnd = 0x92;
- 50 const int kWebMIdChapterTimeStart = 0x91;
- 51 const int kWebMIdChapterTrack = 0x8F;
- 52 const int kWebMIdChapterTrackNumber = 0x89;
- 53 const int kWebMIdChapterTranslate = 0x6924;
- 54 const int kWebMIdChapterTranslateCodec = 0x69BF;
- 55 const int kWebMIdChapterTranslateEditionUID = 0x69FC;
- 56 const int kWebMIdChapterTranslateID = 0x69A5;
- 57 const int kWebMIdChapterUID = 0x73C4;
- 58 const int kWebMIdCluster = 0x1F43B675;
- 59 const int kWebMIdCodecDecodeAll = 0xAA;
- 60 const int kWebMIdCodecDelay = 0x56AA;
- 61 const int kWebMIdCodecID = 0x86;
- 62 const int kWebMIdCodecName = 0x258688;
- 63 const int kWebMIdCodecPrivate = 0x63A2;
- 64 const int kWebMIdCodecState = 0xA4;
- 65 const int kWebMIdColorSpace = 0x2EB524;
- 66 const int kWebMIdContentCompAlgo = 0x4254;
- 67 const int kWebMIdContentCompression = 0x5034;
- 68 const int kWebMIdContentCompSettings = 0x4255;
- 69 const int kWebMIdContentEncAESSettings = 0x47E7;
- 70 const int kWebMIdContentEncAlgo = 0x47E1;
- 71 const int kWebMIdContentEncKeyID = 0x47E2;
- 72 const int kWebMIdContentEncoding = 0x6240;
- 73 const int kWebMIdContentEncodingOrder = 0x5031;
- 74 const int kWebMIdContentEncodings = 0x6D80;
- 75 const int kWebMIdContentEncodingScope = 0x5032;
- 76 const int kWebMIdContentEncodingType = 0x5033;
- 77 const int kWebMIdContentEncryption = 0x5035;
- 78 const int kWebMIdContentSigAlgo = 0x47E5;
- 79 const int kWebMIdContentSigHashAlgo = 0x47E6;
- 80 const int kWebMIdContentSigKeyID = 0x47E4;
- 81 const int kWebMIdContentSignature = 0x47E3;
- 82 const int kWebMIdCRC32 = 0xBF;
- 83 const int kWebMIdCueBlockNumber = 0x5378;
- 84 const int kWebMIdCueClusterPosition = 0xF1;
- 85 const int kWebMIdCueCodecState = 0xEA;
- 86 const int kWebMIdCuePoint = 0xBB;
- 87 const int kWebMIdCueReference = 0xDB;
- 88 const int kWebMIdCueRefTime = 0x96;
- 89 const int kWebMIdCues = 0x1C53BB6B;
- 90 const int kWebMIdCueTime = 0xB3;
- 91 const int kWebMIdCueTrack = 0xF7;
- 92 const int kWebMIdCueTrackPositions = 0xB7;
- 93 const int kWebMIdDateUTC = 0x4461;
- 94 const int kWebMIdDefaultDuration = 0x23E383;
- 95 const int kWebMIdDiscardPadding = 0x75A2;
- 96 const int kWebMIdDisplayHeight = 0x54BA;
- 97 const int kWebMIdDisplayUnit = 0x54B2;
- 98 const int kWebMIdDisplayWidth = 0x54B0;
- 99 const int kWebMIdDocType = 0x4282;
- 100 const int kWebMIdDocTypeReadVersion = 0x4285;
- 101 const int kWebMIdDocTypeVersion = 0x4287;
- 102 const int kWebMIdDuration = 0x4489;
- 103 const int kWebMIdEBMLHeader = 0x1A45DFA3;
- 104 const int kWebMIdEBMLMaxIDLength = 0x42F2;
- 105 const int kWebMIdEBMLMaxSizeLength = 0x42F3;
- 106 const int kWebMIdEBMLReadVersion = 0x42F7;
- 107 const int kWebMIdEBMLVersion = 0x4286;
- 108 const int kWebMIdEditionEntry = 0x45B9;
- 109 const int kWebMIdEditionFlagDefault = 0x45DB;
- 110 const int kWebMIdEditionFlagHidden = 0x45BD;
- 111 const int kWebMIdEditionFlagOrdered = 0x45DD;
- 112 const int kWebMIdEditionUID = 0x45BC;
- 113 const int kWebMIdFileData = 0x465C;
- 114 const int kWebMIdFileDescription = 0x467E;
- 115 const int kWebMIdFileMimeType = 0x4660;
- 116 const int kWebMIdFileName = 0x466E;
- 117 const int kWebMIdFileUID = 0x46AE;
- 118 const int kWebMIdFlagDefault = 0x88;
- 119 const int kWebMIdFlagEnabled = 0xB9;
- 120 const int kWebMIdFlagForced = 0x55AA;
- 121 const int kWebMIdFlagInterlaced = 0x9A;
- 122 const int kWebMIdFlagLacing = 0x9C;
- 123 const int kWebMIdFrameRate = 0x2383E3;
- 124 const int kWebMIdInfo = 0x1549A966;
- 125 const int kWebMIdJoinBlocks = 0xE9;
- 126 const int kWebMIdLaceNumber = 0xCC;
- 127 const int kWebMIdLanguage = 0x22B59C;
- 128 const int kWebMIdMaxBlockAdditionId = 0x55EE;
- 129 const int kWebMIdMaxCache = 0x6DF8;
- 130 const int kWebMIdMinCache = 0x6DE7;
- 131 const int kWebMIdMuxingApp = 0x4D80;
- 132 const int kWebMIdName = 0x536E;
- 133 const int kWebMIdNextFilename = 0x3E83BB;
- 134 const int kWebMIdNextUID = 0x3EB923;
- 135 const int kWebMIdOutputSamplingFrequency = 0x78B5;
- 136 const int kWebMIdPixelCropBottom = 0x54AA;
- 137 const int kWebMIdPixelCropLeft = 0x54CC;
- 138 const int kWebMIdPixelCropRight = 0x54DD;
- 139 const int kWebMIdPixelCropTop = 0x54BB;
- 140 const int kWebMIdPixelHeight = 0xBA;
- 141 const int kWebMIdPixelWidth = 0xB0;
- 142 const int kWebMIdPosition = 0xA7;
- 143 const int kWebMIdPrevFilename = 0x3C83AB;
- 144 const int kWebMIdPrevSize = 0xAB;
- 145 const int kWebMIdPrevUID = 0x3CB923;
- 146 const int kWebMIdReferenceBlock = 0xFB;
- 147 const int kWebMIdReferencePriority = 0xFA;
- 148 const int kWebMIdSamplingFrequency = 0xB5;
- 149 const int kWebMIdSeek = 0x4DBB;
- 150 const int kWebMIdSeekHead = 0x114D9B74;
- 151 const int kWebMIdSeekID = 0x53AB;
- 152 const int kWebMIdSeekPosition = 0x53AC;
- 153 const int kWebMIdSeekPreRoll = 0x56BB;
- 154 const int kWebMIdSegment = 0x18538067;
- 155 const int kWebMIdSegmentFamily = 0x4444;
- 156 const int kWebMIdSegmentFilename = 0x7384;
- 157 const int kWebMIdSegmentUID = 0x73A4;
- 158 const int kWebMIdSilentTrackNumber = 0x58D7;
- 159 const int kWebMIdSilentTracks = 0x5854;
- 160 const int kWebMIdSimpleBlock = 0xA3;
- 161 const int kWebMIdSimpleTag = 0x67C8;
- 162 const int kWebMIdSlices = 0x8E;
- 163 const int kWebMIdStereoMode = 0x53B8;
- 164 const int kWebMIdTag = 0x7373;
- 165 const int kWebMIdTagAttachmentUID = 0x63C6;
- 166 const int kWebMIdTagBinary = 0x4485;
- 167 const int kWebMIdTagChapterUID = 0x63C4;
- 168 const int kWebMIdTagDefault = 0x4484;
- 169 const int kWebMIdTagEditionUID = 0x63C9;
- 170 const int kWebMIdTagLanguage = 0x447A;
- 171 const int kWebMIdTagName = 0x45A3;
- 172 const int kWebMIdTags = 0x1254C367;
- 173 const int kWebMIdTagString = 0x4487;
- 174 const int kWebMIdTagTrackUID = 0x63C5;
- 175 const int kWebMIdTargets = 0x63C0;
- 176 const int kWebMIdTargetType = 0x63CA;
- 177 const int kWebMIdTargetTypeValue = 0x68CA;
- 178 const int kWebMIdTimecode = 0xE7;
- 179 const int kWebMIdTimecodeScale = 0x2AD7B1;
- 180 const int kWebMIdTimeSlice = 0xE8;
- 181 const int kWebMIdTitle = 0x7BA9;
- 182 const int kWebMIdTrackCombinePlanes = 0xE3;
- 183 const int kWebMIdTrackEntry = 0xAE;
- 184 const int kWebMIdTrackJoinUID = 0xED;
- 185 const int kWebMIdTrackNumber = 0xD7;
- 186 const int kWebMIdTrackOperation = 0xE2;
- 187 const int kWebMIdTrackOverlay = 0x6FAB;
- 188 const int kWebMIdTrackPlane = 0xE4;
- 189 const int kWebMIdTrackPlaneType = 0xE6;
- 190 const int kWebMIdTrackPlaneUID = 0xE5;
- 191 const int kWebMIdTracks = 0x1654AE6B;
- 192 const int kWebMIdTrackTimecodeScale = 0x23314F;
- 193 const int kWebMIdTrackTranslate = 0x6624;
- 194 const int kWebMIdTrackTranslateCodec = 0x66BF;
- 195 const int kWebMIdTrackTranslateEditionUID = 0x66FC;
- 196 const int kWebMIdTrackTranslateTrackID = 0x66A5;
- 197 const int kWebMIdTrackType = 0x83;
- 198 const int kWebMIdTrackUID = 0x73C5;
- 199 const int kWebMIdVideo = 0xE0;
- 200 const int kWebMIdVoid = 0xEC;
- 201 const int kWebMIdWritingApp = 0x5741;
-
- 203 const int64_t kWebMReservedId = 0x1FFFFFFF;
- 204 const int64_t kWebMUnknownSize = 0x00FFFFFFFFFFFFFFLL;
-
- 206 const uint8_t kWebMFlagKeyframe = 0x80;
-
- 210 const uint8_t kWebMFlagEncryptedFrame = 0x1;
- 211 const int kWebMIvSize = 8;
- 212 const int kWebMSignalByteSize = 1;
-
-
- 217 const int kWebMTrackTypeVideo = 1;
- 218 const int kWebMTrackTypeAudio = 2;
- 219 const int kWebMTrackTypeSubtitlesOrCaptions = 0x11;
- 220 const int kWebMTrackTypeDescriptionsOrMetadata = 0x21;
+
+
+
+
+
+
+ 17 const int kWebMIdAESSettingsCipherMode = 0x47E8;
+ 18 const int kWebMIdAlphaMode = 0x53C0;
+ 19 const int kWebMIdAspectRatioType = 0x54B3;
+ 20 const int kWebMIdAttachedFile = 0x61A7;
+ 21 const int kWebMIdAttachmentLink = 0x7446;
+ 22 const int kWebMIdAttachments = 0x1941A469;
+ 23 const int kWebMIdAudio = 0xE1;
+ 24 const int kWebMIdBitDepth = 0x6264;
+ 25 const int kWebMIdBlock = 0xA1;
+ 26 const int kWebMIdBlockAddID = 0xEE;
+ 27 const int kWebMIdBlockAdditions = 0x75A1;
+ 28 const int kWebMIdBlockAdditional = 0xA5;
+ 29 const int kWebMIdBlockDuration = 0x9B;
+ 30 const int kWebMIdBlockGroup = 0xA0;
+ 31 const int kWebMIdBlockMore = 0xA6;
+ 32 const int kWebMIdChannels = 0x9F;
+ 33 const int kWebMIdChapCountry = 0x437E;
+ 34 const int kWebMIdChapLanguage = 0x437C;
+ 35 const int kWebMIdChapProcess = 0x6944;
+ 36 const int kWebMIdChapProcessCodecID = 0x6955;
+ 37 const int kWebMIdChapProcessCommand = 0x6911;
+ 38 const int kWebMIdChapProcessData = 0x6933;
+ 39 const int kWebMIdChapProcessPrivate = 0x450D;
+ 40 const int kWebMIdChapProcessTime = 0x6922;
+ 41 const int kWebMIdChapString = 0x85;
+ 42 const int kWebMIdChapterAtom = 0xB6;
+ 43 const int kWebMIdChapterDisplay = 0x80;
+ 44 const int kWebMIdChapterFlagEnabled = 0x4598;
+ 45 const int kWebMIdChapterFlagHidden = 0x98;
+ 46 const int kWebMIdChapterPhysicalEquiv = 0x63C3;
+ 47 const int kWebMIdChapters = 0x1043A770;
+ 48 const int kWebMIdChapterSegmentEditionUID = 0x6EBC;
+ 49 const int kWebMIdChapterSegmentUID = 0x6E67;
+ 50 const int kWebMIdChapterTimeEnd = 0x92;
+ 51 const int kWebMIdChapterTimeStart = 0x91;
+ 52 const int kWebMIdChapterTrack = 0x8F;
+ 53 const int kWebMIdChapterTrackNumber = 0x89;
+ 54 const int kWebMIdChapterTranslate = 0x6924;
+ 55 const int kWebMIdChapterTranslateCodec = 0x69BF;
+ 56 const int kWebMIdChapterTranslateEditionUID = 0x69FC;
+ 57 const int kWebMIdChapterTranslateID = 0x69A5;
+ 58 const int kWebMIdChapterUID = 0x73C4;
+ 59 const int kWebMIdCluster = 0x1F43B675;
+ 60 const int kWebMIdCodecDecodeAll = 0xAA;
+ 61 const int kWebMIdCodecDelay = 0x56AA;
+ 62 const int kWebMIdCodecID = 0x86;
+ 63 const int kWebMIdCodecName = 0x258688;
+ 64 const int kWebMIdCodecPrivate = 0x63A2;
+ 65 const int kWebMIdCodecState = 0xA4;
+ 66 const int kWebMIdColorSpace = 0x2EB524;
+ 67 const int kWebMIdContentCompAlgo = 0x4254;
+ 68 const int kWebMIdContentCompression = 0x5034;
+ 69 const int kWebMIdContentCompSettings = 0x4255;
+ 70 const int kWebMIdContentEncAESSettings = 0x47E7;
+ 71 const int kWebMIdContentEncAlgo = 0x47E1;
+ 72 const int kWebMIdContentEncKeyID = 0x47E2;
+ 73 const int kWebMIdContentEncoding = 0x6240;
+ 74 const int kWebMIdContentEncodingOrder = 0x5031;
+ 75 const int kWebMIdContentEncodings = 0x6D80;
+ 76 const int kWebMIdContentEncodingScope = 0x5032;
+ 77 const int kWebMIdContentEncodingType = 0x5033;
+ 78 const int kWebMIdContentEncryption = 0x5035;
+ 79 const int kWebMIdContentSigAlgo = 0x47E5;
+ 80 const int kWebMIdContentSigHashAlgo = 0x47E6;
+ 81 const int kWebMIdContentSigKeyID = 0x47E4;
+ 82 const int kWebMIdContentSignature = 0x47E3;
+ 83 const int kWebMIdCRC32 = 0xBF;
+ 84 const int kWebMIdCueBlockNumber = 0x5378;
+ 85 const int kWebMIdCueClusterPosition = 0xF1;
+ 86 const int kWebMIdCueCodecState = 0xEA;
+ 87 const int kWebMIdCuePoint = 0xBB;
+ 88 const int kWebMIdCueReference = 0xDB;
+ 89 const int kWebMIdCueRefTime = 0x96;
+ 90 const int kWebMIdCues = 0x1C53BB6B;
+ 91 const int kWebMIdCueTime = 0xB3;
+ 92 const int kWebMIdCueTrack = 0xF7;
+ 93 const int kWebMIdCueTrackPositions = 0xB7;
+ 94 const int kWebMIdDateUTC = 0x4461;
+ 95 const int kWebMIdDefaultDuration = 0x23E383;
+ 96 const int kWebMIdDiscardPadding = 0x75A2;
+ 97 const int kWebMIdDisplayHeight = 0x54BA;
+ 98 const int kWebMIdDisplayUnit = 0x54B2;
+ 99 const int kWebMIdDisplayWidth = 0x54B0;
+ 100 const int kWebMIdDocType = 0x4282;
+ 101 const int kWebMIdDocTypeReadVersion = 0x4285;
+ 102 const int kWebMIdDocTypeVersion = 0x4287;
+ 103 const int kWebMIdDuration = 0x4489;
+ 104 const int kWebMIdEBMLHeader = 0x1A45DFA3;
+ 105 const int kWebMIdEBMLMaxIDLength = 0x42F2;
+ 106 const int kWebMIdEBMLMaxSizeLength = 0x42F3;
+ 107 const int kWebMIdEBMLReadVersion = 0x42F7;
+ 108 const int kWebMIdEBMLVersion = 0x4286;
+ 109 const int kWebMIdEditionEntry = 0x45B9;
+ 110 const int kWebMIdEditionFlagDefault = 0x45DB;
+ 111 const int kWebMIdEditionFlagHidden = 0x45BD;
+ 112 const int kWebMIdEditionFlagOrdered = 0x45DD;
+ 113 const int kWebMIdEditionUID = 0x45BC;
+ 114 const int kWebMIdFileData = 0x465C;
+ 115 const int kWebMIdFileDescription = 0x467E;
+ 116 const int kWebMIdFileMimeType = 0x4660;
+ 117 const int kWebMIdFileName = 0x466E;
+ 118 const int kWebMIdFileUID = 0x46AE;
+ 119 const int kWebMIdFlagDefault = 0x88;
+ 120 const int kWebMIdFlagEnabled = 0xB9;
+ 121 const int kWebMIdFlagForced = 0x55AA;
+ 122 const int kWebMIdFlagInterlaced = 0x9A;
+ 123 const int kWebMIdFlagLacing = 0x9C;
+ 124 const int kWebMIdFrameRate = 0x2383E3;
+ 125 const int kWebMIdInfo = 0x1549A966;
+ 126 const int kWebMIdJoinBlocks = 0xE9;
+ 127 const int kWebMIdLaceNumber = 0xCC;
+ 128 const int kWebMIdLanguage = 0x22B59C;
+ 129 const int kWebMIdMaxBlockAdditionId = 0x55EE;
+ 130 const int kWebMIdMaxCache = 0x6DF8;
+ 131 const int kWebMIdMinCache = 0x6DE7;
+ 132 const int kWebMIdMuxingApp = 0x4D80;
+ 133 const int kWebMIdName = 0x536E;
+ 134 const int kWebMIdNextFilename = 0x3E83BB;
+ 135 const int kWebMIdNextUID = 0x3EB923;
+ 136 const int kWebMIdOutputSamplingFrequency = 0x78B5;
+ 137 const int kWebMIdPixelCropBottom = 0x54AA;
+ 138 const int kWebMIdPixelCropLeft = 0x54CC;
+ 139 const int kWebMIdPixelCropRight = 0x54DD;
+ 140 const int kWebMIdPixelCropTop = 0x54BB;
+ 141 const int kWebMIdPixelHeight = 0xBA;
+ 142 const int kWebMIdPixelWidth = 0xB0;
+ 143 const int kWebMIdPosition = 0xA7;
+ 144 const int kWebMIdPrevFilename = 0x3C83AB;
+ 145 const int kWebMIdPrevSize = 0xAB;
+ 146 const int kWebMIdPrevUID = 0x3CB923;
+ 147 const int kWebMIdReferenceBlock = 0xFB;
+ 148 const int kWebMIdReferencePriority = 0xFA;
+ 149 const int kWebMIdSamplingFrequency = 0xB5;
+ 150 const int kWebMIdSeek = 0x4DBB;
+ 151 const int kWebMIdSeekHead = 0x114D9B74;
+ 152 const int kWebMIdSeekID = 0x53AB;
+ 153 const int kWebMIdSeekPosition = 0x53AC;
+ 154 const int kWebMIdSeekPreRoll = 0x56BB;
+ 155 const int kWebMIdSegment = 0x18538067;
+ 156 const int kWebMIdSegmentFamily = 0x4444;
+ 157 const int kWebMIdSegmentFilename = 0x7384;
+ 158 const int kWebMIdSegmentUID = 0x73A4;
+ 159 const int kWebMIdSilentTrackNumber = 0x58D7;
+ 160 const int kWebMIdSilentTracks = 0x5854;
+ 161 const int kWebMIdSimpleBlock = 0xA3;
+ 162 const int kWebMIdSimpleTag = 0x67C8;
+ 163 const int kWebMIdSlices = 0x8E;
+ 164 const int kWebMIdStereoMode = 0x53B8;
+ 165 const int kWebMIdTag = 0x7373;
+ 166 const int kWebMIdTagAttachmentUID = 0x63C6;
+ 167 const int kWebMIdTagBinary = 0x4485;
+ 168 const int kWebMIdTagChapterUID = 0x63C4;
+ 169 const int kWebMIdTagDefault = 0x4484;
+ 170 const int kWebMIdTagEditionUID = 0x63C9;
+ 171 const int kWebMIdTagLanguage = 0x447A;
+ 172 const int kWebMIdTagName = 0x45A3;
+ 173 const int kWebMIdTags = 0x1254C367;
+ 174 const int kWebMIdTagString = 0x4487;
+ 175 const int kWebMIdTagTrackUID = 0x63C5;
+ 176 const int kWebMIdTargets = 0x63C0;
+ 177 const int kWebMIdTargetType = 0x63CA;
+ 178 const int kWebMIdTargetTypeValue = 0x68CA;
+ 179 const int kWebMIdTimecode = 0xE7;
+ 180 const int kWebMIdTimecodeScale = 0x2AD7B1;
+ 181 const int kWebMIdTimeSlice = 0xE8;
+ 182 const int kWebMIdTitle = 0x7BA9;
+ 183 const int kWebMIdTrackCombinePlanes = 0xE3;
+ 184 const int kWebMIdTrackEntry = 0xAE;
+ 185 const int kWebMIdTrackJoinUID = 0xED;
+ 186 const int kWebMIdTrackNumber = 0xD7;
+ 187 const int kWebMIdTrackOperation = 0xE2;
+ 188 const int kWebMIdTrackOverlay = 0x6FAB;
+ 189 const int kWebMIdTrackPlane = 0xE4;
+ 190 const int kWebMIdTrackPlaneType = 0xE6;
+ 191 const int kWebMIdTrackPlaneUID = 0xE5;
+ 192 const int kWebMIdTracks = 0x1654AE6B;
+ 193 const int kWebMIdTrackTimecodeScale = 0x23314F;
+ 194 const int kWebMIdTrackTranslate = 0x6624;
+ 195 const int kWebMIdTrackTranslateCodec = 0x66BF;
+ 196 const int kWebMIdTrackTranslateEditionUID = 0x66FC;
+ 197 const int kWebMIdTrackTranslateTrackID = 0x66A5;
+ 198 const int kWebMIdTrackType = 0x83;
+ 199 const int kWebMIdTrackUID = 0x73C5;
+ 200 const int kWebMIdVideo = 0xE0;
+ 201 const int kWebMIdVoid = 0xEC;
+ 202 const int kWebMIdWritingApp = 0x5741;
+
+ 204 const int64_t kWebMReservedId = 0x1FFFFFFF;
+ 205 const int64_t kWebMUnknownSize = 0x00FFFFFFFFFFFFFFLL;
+
+ 207 const uint8_t kWebMFlagKeyframe = 0x80;
+
+ 211 const size_t kWebMIvSize = 8;
+ 212 const size_t kWebMSignalByteSize = 1;
+ 213 const uint8_t kWebMEncryptedSignal = 0x01;
+ 214 const uint8_t kWebMPartitionedSignal = 0x02;
+ 215 const size_t kWebMNumPartitionsSize = 1;
+ 216 const size_t kWebMPartitionOffsetSize =
sizeof(uint32_t);
+ 217 const uint8_t kWebMMaxSubsamples = 127;
+
- 222 extern const char kWebMCodecSubtitles[];
- 223 extern const char kWebMCodecCaptions[];
- 224 extern const char kWebMCodecDescriptions[];
- 225 extern const char kWebMCodecMetadata[];
+ 222 const int kWebMTrackTypeVideo = 1;
+ 223 const int kWebMTrackTypeAudio = 2;
+ 224 const int kWebMTrackTypeSubtitlesOrCaptions = 0x11;
+ 225 const int kWebMTrackTypeDescriptionsOrMetadata = 0x21;
-
-
-
- 230 #endif // MEDIA_FORMATS_WEBM_WEBM_CONSTANTS_H_
+ 227 extern const char kWebMCodecSubtitles[];
+ 228 extern const char kWebMCodecCaptions[];
+ 229 extern const char kWebMCodecDescriptions[];
+ 230 extern const char kWebMCodecMetadata[];
+
+
+
+
+ 235 #endif // MEDIA_FORMATS_WEBM_WEBM_CONSTANTS_H_
diff --git a/docs/d0/d3c/structshaka_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html b/docs/d0/d3c/structshaka_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html
index 9fc5313258..41d2ccffc4 100644
--- a/docs/d0/d3c/structshaka_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html
+++ b/docs/d0/d3c/structshaka_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html
@@ -182,7 +182,7 @@ Additional Inherited Members
diff --git a/docs/d0/d42/aes__cryptor_8h_source.html b/docs/d0/d42/aes__cryptor_8h_source.html
index 36b08ac7f7..584e531489 100644
--- a/docs/d0/d42/aes__cryptor_8h_source.html
+++ b/docs/d0/d42/aes__cryptor_8h_source.html
@@ -215,7 +215,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d42/widevine__encryption__flags_8cc_source.html b/docs/d0/d42/widevine__encryption__flags_8cc_source.html
index b515477c98..288bcd7c72 100644
--- a/docs/d0/d42/widevine__encryption__flags_8cc_source.html
+++ b/docs/d0/d42/widevine__encryption__flags_8cc_source.html
@@ -258,7 +258,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d46/fourccs_8h_source.html b/docs/d0/d46/fourccs_8h_source.html
index de72349073..ff916242e5 100644
--- a/docs/d0/d46/fourccs_8h_source.html
+++ b/docs/d0/d46/fourccs_8h_source.html
@@ -248,7 +248,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d49/vod__media__info__dump__muxer__listener_8cc_source.html b/docs/d0/d49/vod__media__info__dump__muxer__listener_8cc_source.html
index 788c0a7ce5..f76d4177f9 100644
--- a/docs/d0/d49/vod__media__info__dump__muxer__listener_8cc_source.html
+++ b/docs/d0/d49/vod__media__info__dump__muxer__listener_8cc_source.html
@@ -221,7 +221,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
@@ -237,7 +237,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d4b/structshaka_1_1media_1_1mp4_1_1MediaInformation-members.html b/docs/d0/d4b/structshaka_1_1media_1_1mp4_1_1MediaInformation-members.html
index 2ee82586d4..adb5b9f2a5 100644
--- a/docs/d0/d4b/structshaka_1_1media_1_1mp4_1_1MediaInformation-members.html
+++ b/docs/d0/d4b/structshaka_1_1media_1_1mp4_1_1MediaInformation-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d4d/classshaka_1_1media_1_1AudioTimestampHelper.html b/docs/d0/d4d/classshaka_1_1media_1_1AudioTimestampHelper.html
index 457c323ec7..14b7dcc65c 100644
--- a/docs/d0/d4d/classshaka_1_1media_1_1AudioTimestampHelper.html
+++ b/docs/d0/d4d/classshaka_1_1media_1_1AudioTimestampHelper.html
@@ -131,7 +131,7 @@ int64_t GetFramesToTarget<
diff --git a/docs/d0/d4e/libcrypto__threading_8cc_source.html b/docs/d0/d4e/libcrypto__threading_8cc_source.html
index 9cd4bbda29..7adf49004c 100644
--- a/docs/d0/d4e/libcrypto__threading_8cc_source.html
+++ b/docs/d0/d4e/libcrypto__threading_8cc_source.html
@@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d53/classshaka_1_1media_1_1mp2t_1_1TsMuxer-members.html b/docs/d0/d53/classshaka_1_1media_1_1mp2t_1_1TsMuxer-members.html
index d357c048a4..8a681dc2b2 100644
--- a/docs/d0/d53/classshaka_1_1media_1_1mp2t_1_1TsMuxer-members.html
+++ b/docs/d0/d53/classshaka_1_1media_1_1mp2t_1_1TsMuxer-members.html
@@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d5b/classshaka_1_1media_1_1MpdNotifyMuxerListener-members.html b/docs/d0/d5b/classshaka_1_1media_1_1MpdNotifyMuxerListener-members.html
index 85e2cf7ed2..3ba4ed0811 100644
--- a/docs/d0/d5b/classshaka_1_1media_1_1MpdNotifyMuxerListener-members.html
+++ b/docs/d0/d5b/classshaka_1_1media_1_1MpdNotifyMuxerListener-members.html
@@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html b/docs/d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html
index 3601c206da..bed4c6d4a3 100644
--- a/docs/d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html
+++ b/docs/d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html
@@ -438,7 +438,7 @@ Additional Inherited Members |
diff --git a/docs/d0/d6a/classshaka_1_1media_1_1StreamDescriptorCompareFn-members.html b/docs/d0/d6a/classshaka_1_1media_1_1StreamDescriptorCompareFn-members.html
index 265bb97b98..e14a09cbef 100644
--- a/docs/d0/d6a/classshaka_1_1media_1_1StreamDescriptorCompareFn-members.html
+++ b/docs/d0/d6a/classshaka_1_1media_1_1StreamDescriptorCompareFn-members.html
@@ -97,7 +97,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d73/structshaka_1_1media_1_1mp4_1_1VideoSampleEntry.html b/docs/d0/d73/structshaka_1_1media_1_1mp4_1_1VideoSampleEntry.html
index e655911388..494cd34bd8 100644
--- a/docs/d0/d73/structshaka_1_1media_1_1mp4_1_1VideoSampleEntry.html
+++ b/docs/d0/d73/structshaka_1_1media_1_1mp4_1_1VideoSampleEntry.html
@@ -197,7 +197,7 @@ Additional Inherited Members
diff --git a/docs/d0/d7c/structshaka_1_1media_1_1mp4_1_1SampleToGroup.html b/docs/d0/d7c/structshaka_1_1media_1_1mp4_1_1SampleToGroup.html
index 91edcd6052..5b96e9849e 100644
--- a/docs/d0/d7c/structshaka_1_1media_1_1mp4_1_1SampleToGroup.html
+++ b/docs/d0/d7c/structshaka_1_1media_1_1mp4_1_1SampleToGroup.html
@@ -188,7 +188,7 @@ Additional Inherited Members
diff --git a/docs/d0/d7d/decryptor__source_8h_source.html b/docs/d0/d7d/decryptor__source_8h_source.html
index 4b5fef9094..7725ca95b6 100644
--- a/docs/d0/d7d/decryptor__source_8h_source.html
+++ b/docs/d0/d7d/decryptor__source_8h_source.html
@@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d80/classshaka_1_1media_1_1AesCbcEncryptor-members.html b/docs/d0/d80/classshaka_1_1media_1_1AesCbcEncryptor-members.html
index b14161a008..64d92ac82e 100644
--- a/docs/d0/d80/classshaka_1_1media_1_1AesCbcEncryptor-members.html
+++ b/docs/d0/d80/classshaka_1_1media_1_1AesCbcEncryptor-members.html
@@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d80/classshaka_1_1media_1_1Status-members.html b/docs/d0/d80/classshaka_1_1media_1_1Status-members.html
index 5dc54de915..e9a4aab346 100644
--- a/docs/d0/d80/classshaka_1_1media_1_1Status-members.html
+++ b/docs/d0/d80/classshaka_1_1media_1_1Status-members.html
@@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d93/classshaka_1_1media_1_1Status.html b/docs/d0/d93/classshaka_1_1media_1_1Status.html
index 0a4a9e71c6..76c284e4bb 100644
--- a/docs/d0/d93/classshaka_1_1media_1_1Status.html
+++ b/docs/d0/d93/classshaka_1_1media_1_1Status.html
@@ -302,7 +302,7 @@ static const
diff --git a/docs/d0/d9a/structshaka_1_1media_1_1mp4_1_1Movie.html b/docs/d0/d9a/structshaka_1_1media_1_1mp4_1_1Movie.html
index e08e5636e9..39f7aa84ab 100644
--- a/docs/d0/d9a/structshaka_1_1media_1_1mp4_1_1Movie.html
+++ b/docs/d0/d9a/structshaka_1_1media_1_1mp4_1_1Movie.html
@@ -186,7 +186,7 @@ Additional Inherited Members
diff --git a/docs/d0/da2/classshaka_1_1media_1_1AACAudioSpecificConfig.html b/docs/d0/da2/classshaka_1_1media_1_1AACAudioSpecificConfig.html
index 55c243acaf..811de3dbe9 100644
--- a/docs/d0/da2/classshaka_1_1media_1_1AACAudioSpecificConfig.html
+++ b/docs/d0/da2/classshaka_1_1media_1_1AACAudioSpecificConfig.html
@@ -329,7 +329,7 @@ static const size_t
diff --git a/docs/d0/da2/classshaka_1_1media_1_1RequestSigner-members.html b/docs/d0/da2/classshaka_1_1media_1_1RequestSigner-members.html
index e82ffe251b..77258ab7c2 100644
--- a/docs/d0/da2/classshaka_1_1media_1_1RequestSigner-members.html
+++ b/docs/d0/da2/classshaka_1_1media_1_1RequestSigner-members.html
@@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/da2/structshaka_1_1xml_1_1XmlDeleter-members.html b/docs/d0/da2/structshaka_1_1xml_1_1XmlDeleter-members.html
index 3fc22d8ccb..2483778ab5 100644
--- a/docs/d0/da2/structshaka_1_1xml_1_1XmlDeleter-members.html
+++ b/docs/d0/da2/structshaka_1_1xml_1_1XmlDeleter-members.html
@@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/da6/stream__descriptor_8cc_source.html b/docs/d0/da6/stream__descriptor_8cc_source.html
index 36bbe76496..59b2d9a9df 100644
--- a/docs/d0/da6/stream__descriptor_8cc_source.html
+++ b/docs/d0/da6/stream__descriptor_8cc_source.html
@@ -295,7 +295,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/dab/classshaka_1_1media_1_1mp4_1_1SingleSegmentSegmenter.html b/docs/d0/dab/classshaka_1_1media_1_1mp4_1_1SingleSegmentSegmenter.html
index b5061e6d4f..efd9bcb8ed 100644
--- a/docs/d0/dab/classshaka_1_1media_1_1mp4_1_1SingleSegmentSegmenter.html
+++ b/docs/d0/dab/classshaka_1_1media_1_1mp4_1_1SingleSegmentSegmenter.html
@@ -259,7 +259,7 @@ void | set_progress_target
diff --git a/docs/d0/dac/classshaka_1_1media_1_1FixedKeySource.html b/docs/d0/dac/classshaka_1_1media_1_1FixedKeySource.html
index b85dd5d2e1..62c35b417f 100644
--- a/docs/d0/dac/classshaka_1_1media_1_1FixedKeySource.html
+++ b/docs/d0/dac/classshaka_1_1media_1_1FixedKeySource.html
@@ -479,7 +479,7 @@ Additional Inherited Members |
diff --git a/docs/d0/dbd/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter-members.html b/docs/d0/dbd/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter-members.html
index 6db7438d09..7c80903d06 100644
--- a/docs/d0/dbd/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter-members.html
+++ b/docs/d0/dbd/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter-members.html
@@ -123,7 +123,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/dc1/structshaka_1_1media_1_1mp4_1_1VTTEmptyCueBox-members.html b/docs/d0/dc1/structshaka_1_1media_1_1mp4_1_1VTTEmptyCueBox-members.html
index 0f0f666708..01d604da8b 100644
--- a/docs/d0/dc1/structshaka_1_1media_1_1mp4_1_1VTTEmptyCueBox-members.html
+++ b/docs/d0/dc1/structshaka_1_1media_1_1mp4_1_1VTTEmptyCueBox-members.html
@@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/dc8/classshaka_1_1xml_1_1AdaptationSetXmlNode-members.html b/docs/d0/dc8/classshaka_1_1xml_1_1AdaptationSetXmlNode-members.html
index 58f51062d8..a09feb1b65 100644
--- a/docs/d0/dc8/classshaka_1_1xml_1_1AdaptationSetXmlNode-members.html
+++ b/docs/d0/dc8/classshaka_1_1xml_1_1AdaptationSetXmlNode-members.html
@@ -114,7 +114,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/dce/classshaka_1_1media_1_1RsaPrivateKey.html b/docs/d0/dce/classshaka_1_1media_1_1RsaPrivateKey.html
index 372bb2b1a2..09a0be9fad 100644
--- a/docs/d0/dce/classshaka_1_1media_1_1RsaPrivateKey.html
+++ b/docs/d0/dce/classshaka_1_1media_1_1RsaPrivateKey.html
@@ -224,7 +224,7 @@ Static Public Member Functions
diff --git a/docs/d0/dd0/structshaka_1_1media_1_1mp4_1_1CueSettingsBox.html b/docs/d0/dd0/structshaka_1_1media_1_1mp4_1_1CueSettingsBox.html
index 64304e810e..858ff2ef3a 100644
--- a/docs/d0/dd0/structshaka_1_1media_1_1mp4_1_1CueSettingsBox.html
+++ b/docs/d0/dd0/structshaka_1_1media_1_1mp4_1_1CueSettingsBox.html
@@ -173,7 +173,7 @@ Additional Inherited Members
diff --git a/docs/d0/dd4/classshaka_1_1media_1_1ProtectionSystemSpecificInfo.html b/docs/d0/dd4/classshaka_1_1media_1_1ProtectionSystemSpecificInfo.html
index fb6ab3f71d..a958e3345c 100644
--- a/docs/d0/dd4/classshaka_1_1media_1_1ProtectionSystemSpecificInfo.html
+++ b/docs/d0/dd4/classshaka_1_1media_1_1ProtectionSystemSpecificInfo.html
@@ -222,7 +222,7 @@ Static Public Member Functions
diff --git a/docs/d0/dd6/webm__crypto__helpers_8cc_source.html b/docs/d0/dd6/webm__crypto__helpers_8cc_source.html
index 0d6b94e0f8..5910737916 100644
--- a/docs/d0/dd6/webm__crypto__helpers_8cc_source.html
+++ b/docs/d0/dd6/webm__crypto__helpers_8cc_source.html
@@ -95,68 +95,117 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
7 #include "packager/base/logging.h"
8 #include "packager/base/sys_byteorder.h"
- 9 #include "packager/media/formats/webm/webm_constants.h"
-
-
-
-
-
-
-
-
-
- 19 std::string GenerateWebMCounterBlock(
const uint8_t* iv,
int iv_size) {
- 20 std::string counter_block(reinterpret_cast<const char*>(iv), iv_size);
-
-
-
-
-
+ 9 #include "packager/media/base/buffer_reader.h"
+ 10 #include "packager/media/formats/webm/webm_constants.h"
+
+
+
+
+
+
+
+
+
+ 20 std::vector<uint8_t> GenerateWebMCounterBlock(
const uint8_t* iv,
int iv_size) {
+ 21 std::vector<uint8_t> counter_block(iv, iv + iv_size);
+ 22 counter_block.insert(counter_block.end(),
+
+
+
- 27 bool WebMCreateDecryptConfig(
const uint8_t* data,
-
- 29 const uint8_t* key_id,
-
- 31 scoped_ptr<DecryptConfig>* decrypt_config,
-
- 33 if (data_size < kWebMSignalByteSize) {
- 34 DVLOG(1) <<
"Got a block from an encrypted stream with no data.";
-
-
-
- 38 uint8_t signal_byte = data[0];
- 39 int frame_offset =
sizeof(signal_byte);
-
-
-
-
- 44 std::string counter_block;
-
- 46 if (signal_byte & kWebMFlagEncryptedFrame) {
- 47 if (data_size < kWebMSignalByteSize + kWebMIvSize) {
- 48 DVLOG(1) <<
"Got an encrypted block with not enough data " << data_size;
-
-
- 51 counter_block = GenerateWebMCounterBlock(data + frame_offset, kWebMIvSize);
- 52 frame_offset += kWebMIvSize;
-
-
- 55 decrypt_config->reset(
new DecryptConfig(
- 56 std::vector<uint8_t>(key_id, key_id + key_id_size),
- 57 std::vector<uint8_t>(counter_block.begin(), counter_block.end()),
- 58 std::vector<SubsampleEntry>()));
- 59 *data_offset = frame_offset;
-
-
-
-
-
-
+
+
+
+ 30 bool WebMCreateDecryptConfig(
const uint8_t* data,
+
+ 32 const uint8_t* key_id,
+
+ 34 scoped_ptr<DecryptConfig>* decrypt_config,
+
+ 36 int header_size = kWebMSignalByteSize;
+ 37 if (data_size < header_size) {
+ 38 DVLOG(1) <<
"Empty WebM sample.";
+
+
+ 41 uint8_t signal_byte = data[0];
+
+ 43 if (signal_byte & kWebMEncryptedSignal) {
+
+ 45 header_size += kWebMIvSize;
+ 46 if (data_size < header_size) {
+ 47 DVLOG(1) <<
"Encrypted WebM sample too small to hold IV: " << data_size;
+
+
+ 50 std::vector<SubsampleEntry> subsamples;
+ 51 if (signal_byte & kWebMPartitionedSignal) {
+
+ 53 header_size += kWebMNumPartitionsSize;
+ 54 if (data_size < header_size) {
+
+ 56 <<
"Encrypted WebM sample too small to hold number of partitions: "
+
+
+
+ 60 uint8_t num_partitions = data[kWebMSignalByteSize + kWebMIvSize];
+ 61 BufferReader offsets_buffer(data + header_size, data_size - header_size);
+ 62 header_size += num_partitions * kWebMPartitionOffsetSize;
+ 63 uint32_t subsample_offset = 0;
+ 64 bool encrypted_subsample =
false;
+ 65 uint16_t clear_size = 0;
+ 66 uint32_t encrypted_size = 0;
+ 67 for (uint8_t partition_idx = 0; partition_idx < num_partitions;
+
+ 69 uint32_t partition_offset;
+ 70 if (!offsets_buffer.Read4(&partition_offset)) {
+
+ 72 <<
"Encrypted WebM sample too small to hold partition offsets: "
+
+
+
+ 76 if (partition_offset < subsample_offset) {
+ 77 DVLOG(1) <<
"Partition offsets out of order.";
+
+
+ 80 if (encrypted_subsample) {
+ 81 encrypted_size = partition_offset - subsample_offset;
+ 82 subsamples.push_back(SubsampleEntry(clear_size, encrypted_size));
+
+ 84 clear_size = partition_offset - subsample_offset;
+ 85 if (partition_idx == (num_partitions - 1)) {
+ 86 encrypted_size = data_size - header_size - subsample_offset - clear_size;
+ 87 subsamples.push_back(SubsampleEntry(clear_size, encrypted_size));
+
+
+ 90 subsample_offset = partition_offset;
+ 91 encrypted_subsample = !encrypted_subsample;
+
+ 93 if (!(num_partitions % 2)) {
+
+ 95 clear_size = data_size - header_size - subsample_offset;
+
+ 97 subsamples.push_back(SubsampleEntry(clear_size, encrypted_size));
+
+
+ 100 decrypt_config->reset(
new DecryptConfig(
+ 101 std::vector<uint8_t>(key_id, key_id + key_id_size),
+ 102 GenerateWebMCounterBlock(data + kWebMSignalByteSize, kWebMIvSize),
+
+
+
+ 106 decrypt_config->reset();
+
+
+ 109 *data_offset = header_size;
+
+
+
+
+
diff --git a/docs/d0/dd8/classshaka_1_1media_1_1AesCtrEncryptor.html b/docs/d0/dd8/classshaka_1_1media_1_1AesCtrEncryptor.html
index e14e3750d0..c48c9fedb9 100644
--- a/docs/d0/dd8/classshaka_1_1media_1_1AesCtrEncryptor.html
+++ b/docs/d0/dd8/classshaka_1_1media_1_1AesCtrEncryptor.html
@@ -165,7 +165,7 @@ AES_KEY * mutable_aes_key<
diff --git a/docs/d0/dee/segmenter__test__base_8h_source.html b/docs/d0/dee/segmenter__test__base_8h_source.html
index 4492988f61..c5deed59b8 100644
--- a/docs/d0/dee/segmenter__test__base_8h_source.html
+++ b/docs/d0/dee/segmenter__test__base_8h_source.html
@@ -198,7 +198,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
116 #endif // MEDIA_FORMATS_WEBM_SEGMENTER_TEST_UTILS_H_
-
+
@@ -208,14 +208,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
diff --git a/docs/d0/df3/packager__util_8cc_source.html b/docs/d0/df3/packager__util_8cc_source.html
index 8476190e6f..4cb4da9d63 100644
--- a/docs/d0/df3/packager__util_8cc_source.html
+++ b/docs/d0/df3/packager__util_8cc_source.html
@@ -243,7 +243,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
154 muxer_options->segment_sap_aligned = FLAGS_segment_sap_aligned;
155 muxer_options->fragment_sap_aligned = FLAGS_fragment_sap_aligned;
156 muxer_options->num_subsegments_per_sidx = FLAGS_num_subsegments_per_sidx;
-
+ 157 muxer_options->webm_subsample_encryption = FLAGS_webm_subsample_encryption;
158 if (FLAGS_mp4_use_decoding_timestamp_in_timeline) {
159 LOG(WARNING) << "Flag --mp4_use_decoding_timestamp_in_timeline is set. "
160 "Note that it is a temporary hack to workaround Chromium "
@@ -334,7 +334,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/dfc/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry-members.html b/docs/d0/dfc/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry-members.html
index bdb4013ea6..9a904f5057 100644
--- a/docs/d0/dfc/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry-members.html
+++ b/docs/d0/dfc/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry-members.html
@@ -120,7 +120,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d0a/classshaka_1_1media_1_1MkvWriter.html b/docs/d1/d0a/classshaka_1_1media_1_1MkvWriter.html
index 9d4d7385dc..be070f5844 100644
--- a/docs/d1/d0a/classshaka_1_1media_1_1MkvWriter.html
+++ b/docs/d1/d0a/classshaka_1_1media_1_1MkvWriter.html
@@ -376,7 +376,7 @@ Public Member Functions |
diff --git a/docs/d1/d0a/structshaka_1_1media_1_1H264Sps.html b/docs/d1/d0a/structshaka_1_1media_1_1H264Sps.html
index d3e0fec383..1a014de2a3 100644
--- a/docs/d1/d0a/structshaka_1_1media_1_1H264Sps.html
+++ b/docs/d1/d0a/structshaka_1_1media_1_1H264Sps.html
@@ -242,7 +242,7 @@ int chroma_array_type<
diff --git a/docs/d1/d0b/hevc__decoder__configuration__record_8cc_source.html b/docs/d1/d0b/hevc__decoder__configuration__record_8cc_source.html
index 03df4f25c3..bdec6b4e89 100644
--- a/docs/d1/d0b/hevc__decoder__configuration__record_8cc_source.html
+++ b/docs/d1/d0b/hevc__decoder__configuration__record_8cc_source.html
@@ -148,7 +148,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
59 return TrimLeadingZeros(base::HexEncode(bytes, arraysize(bytes)));
- 62 std::string CodecAsString(VideoCodec codec) {
+ 62 std::string CodecAsString(Codec codec) {
@@ -221,43 +221,42 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
- 136 VideoCodec codec) const {
-
- 138 std::vector<std::string> fields;
- 139 fields.push_back(CodecAsString(codec));
- 140 fields.push_back(GeneralProfileSpaceAsString(general_profile_space_) +
- 141 base::IntToString(general_profile_idc_));
-
- 143 ReverseBitsAndHexEncode(general_profile_compatibility_flags_));
- 144 fields.push_back((general_tier_flag_ ? "H" : "L") +
- 145 base::IntToString(general_level_idc_));
-
-
- 148 std::vector<uint8_t> constraints = general_constraint_indicator_flags_;
- 149 size_t size = constraints.size();
- 150 for (; size > 0; --size) {
- 151 if (constraints[size - 1] != 0) break;
-
- 153 constraints.resize(size);
- 154 for (uint8_t constraint : constraints)
- 155 fields.push_back(TrimLeadingZeros(base::HexEncode(&constraint, 1)));
-
- 157 return base::JoinString(fields, ".");
-
-
-
-
-
+
+
+ 137 std::vector<std::string> fields;
+ 138 fields.push_back(CodecAsString(codec));
+ 139 fields.push_back(GeneralProfileSpaceAsString(general_profile_space_) +
+ 140 base::IntToString(general_profile_idc_));
+
+ 142 ReverseBitsAndHexEncode(general_profile_compatibility_flags_));
+ 143 fields.push_back((general_tier_flag_ ? "H" : "L") +
+ 144 base::IntToString(general_level_idc_));
+
+
+ 147 std::vector<uint8_t> constraints = general_constraint_indicator_flags_;
+ 148 size_t size = constraints.size();
+ 149 for (; size > 0; --size) {
+ 150 if (constraints[size - 1] != 0) break;
+
+ 152 constraints.resize(size);
+ 153 for (uint8_t constraint : constraints)
+ 154 fields.push_back(TrimLeadingZeros(base::HexEncode(&constraint, 1)));
+
+ 156 return base::JoinString(fields, ".");
+
+
+
+
+
diff --git a/docs/d1/d12/classshaka_1_1media_1_1mp2t_1_1EsParserH264-members.html b/docs/d1/d12/classshaka_1_1media_1_1mp2t_1_1EsParserH264-members.html
index b12dd6812b..e9de61bd16 100644
--- a/docs/d1/d12/classshaka_1_1media_1_1mp2t_1_1EsParserH264-members.html
+++ b/docs/d1/d12/classshaka_1_1media_1_1mp2t_1_1EsParserH264-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d13/status_8h_source.html b/docs/d1/d13/status_8h_source.html
index 48cb048c63..022aba2dea 100644
--- a/docs/d1/d13/status_8h_source.html
+++ b/docs/d1/d13/status_8h_source.html
@@ -239,7 +239,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d1c/two__pass__single__segment__segmenter_8cc_source.html b/docs/d1/d1c/two__pass__single__segment__segmenter_8cc_source.html
index 10d947ddf0..d46e6eae7b 100644
--- a/docs/d1/d1c/two__pass__single__segment__segmenter_8cc_source.html
+++ b/docs/d1/d1c/two__pass__single__segment__segmenter_8cc_source.html
@@ -276,7 +276,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d1d/muxer__flags_8cc_source.html b/docs/d1/d1d/muxer__flags_8cc_source.html
index 0c80e16aef..3e5087664f 100644
--- a/docs/d1/d1d/muxer__flags_8cc_source.html
+++ b/docs/d1/d1d/muxer__flags_8cc_source.html
@@ -139,11 +139,12 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
51 "Specify a directory in which to store temporary (intermediate) "
52 " files. Used only if single_segment=true.");
-
+ 53 DEFINE_bool(webm_subsample_encryption, true,
+ 54 "Enable WebM subsample encryption.");
diff --git a/docs/d1/d1f/classshaka_1_1media_1_1KeySource.html b/docs/d1/d1f/classshaka_1_1media_1_1KeySource.html
index 53abfb8689..57fcb042cf 100644
--- a/docs/d1/d1f/classshaka_1_1media_1_1KeySource.html
+++ b/docs/d1/d1f/classshaka_1_1media_1_1KeySource.html
@@ -407,7 +407,7 @@ static std::string |
diff --git a/docs/d1/d20/classshaka_1_1media_1_1mp4_1_1DecodingTimeIterator.html b/docs/d1/d20/classshaka_1_1media_1_1mp4_1_1DecodingTimeIterator.html
index 91d734df90..244e87c8c2 100644
--- a/docs/d1/d20/classshaka_1_1media_1_1mp4_1_1DecodingTimeIterator.html
+++ b/docs/d1/d20/classshaka_1_1media_1_1mp4_1_1DecodingTimeIterator.html
@@ -235,7 +235,7 @@ Public Member Functions |
diff --git a/docs/d1/d27/key__fetcher_8h_source.html b/docs/d1/d27/key__fetcher_8h_source.html
index 18e553aaec..4effb6503c 100644
--- a/docs/d1/d27/key__fetcher_8h_source.html
+++ b/docs/d1/d27/key__fetcher_8h_source.html
@@ -126,7 +126,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d28/classshaka_1_1media_1_1mp2t_1_1AdtsHeader-members.html b/docs/d1/d28/classshaka_1_1media_1_1mp2t_1_1AdtsHeader-members.html
index 597bbfeca6..fb9b2e5665 100644
--- a/docs/d1/d28/classshaka_1_1media_1_1mp2t_1_1AdtsHeader-members.html
+++ b/docs/d1/d28/classshaka_1_1media_1_1mp2t_1_1AdtsHeader-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d2a/decryptor__source_8cc_source.html b/docs/d1/d2a/decryptor__source_8cc_source.html
index c2f9702a3a..88dc5e739a 100644
--- a/docs/d1/d2a/decryptor__source_8cc_source.html
+++ b/docs/d1/d2a/decryptor__source_8cc_source.html
@@ -209,7 +209,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d2c/structshaka_1_1media_1_1mp4_1_1DataReference-members.html b/docs/d1/d2c/structshaka_1_1media_1_1mp4_1_1DataReference-members.html
index f2b6156525..8ea59a9855 100644
--- a/docs/d1/d2c/structshaka_1_1media_1_1mp4_1_1DataReference-members.html
+++ b/docs/d1/d2c/structshaka_1_1media_1_1mp4_1_1DataReference-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d2d/structshaka_1_1media_1_1mp4_1_1Box.html b/docs/d1/d2d/structshaka_1_1media_1_1mp4_1_1Box.html
index 503fb604c9..302aee3461 100644
--- a/docs/d1/d2d/structshaka_1_1media_1_1mp4_1_1Box.html
+++ b/docs/d1/d2d/structshaka_1_1media_1_1mp4_1_1Box.html
@@ -385,7 +385,7 @@ class BoxBuffer |
diff --git a/docs/d1/d2f/webvtt__media__parser_8cc_source.html b/docs/d1/d2f/webvtt__media__parser_8cc_source.html
index 3157e3691d..8cea43b8d9 100644
--- a/docs/d1/d2f/webvtt__media__parser_8cc_source.html
+++ b/docs/d1/d2f/webvtt__media__parser_8cc_source.html
@@ -383,102 +383,99 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
296 const char kLanguage[] =
"";
-
-
-
-
-
-
- 303 base::JoinString(header_,
"\n"),
-
-
-
- 307 init_cb_.Run(streams);
- 308 state_ = kCueIdentifierOrTimingOrComment;
-
-
-
- 312 header_.push_back(line);
-
-
- 315 case kCueIdentifierOrTimingOrComment: {
-
-
-
-
-
-
-
- 323 if (base::StartsWith(line,
"NOTE",
- 324 base::CompareCase::INSENSITIVE_ASCII)) {
-
- 326 current_cue_.comment.push_back(line);
-
-
-
- 330 current_cue_.identifier = line;
-
-
-
-
-
-
-
-
-
-
- 341 FALLTHROUGH_INTENDED;
-
-
-
- 345 if (!ParseTimingAndSettingsLine(line, ¤t_cue_.start_time,
- 346 ¤t_cue_.duration,
- 347 ¤t_cue_.settings)) {
- 348 state_ = kParseError;
-
-
- 351 state_ = kCuePayload;
-
-
-
-
- 356 state_ = kCueIdentifierOrTimingOrComment;
- 357 if (!new_sample_cb_.Run(kTrackId, CueToMediaSample(current_cue_))) {
- 358 state_ = kParseError;
-
-
- 361 current_cue_ =
Cue();
-
-
-
- 365 current_cue_.payload.push_back(line);
-
-
-
-
- 370 state_ = kCueIdentifierOrTimingOrComment;
- 371 if (!new_sample_cb_.Run(kTrackId, CueToMediaSample(current_cue_))) {
- 372 state_ = kParseError;
-
-
- 375 current_cue_ =
Cue();
-
-
-
- 379 current_cue_.comment.push_back(line);
-
-
-
-
-
-
-
+ 297 streams.push_back(
new TextStreamInfo(kTrackId, kTimescale, kDuration,
+
+ 299 base::JoinString(header_,
"\n"),
+
+
+
+
+ 304 init_cb_.Run(streams);
+ 305 state_ = kCueIdentifierOrTimingOrComment;
+
+
+
+ 309 header_.push_back(line);
+
+
+ 312 case kCueIdentifierOrTimingOrComment: {
+
+
+
+
+
+
+
+ 320 if (base::StartsWith(line,
"NOTE",
+ 321 base::CompareCase::INSENSITIVE_ASCII)) {
+
+ 323 current_cue_.comment.push_back(line);
+
+
+
+ 327 current_cue_.identifier = line;
+
+
+
+
+
+
+
+
+
+
+ 338 FALLTHROUGH_INTENDED;
+
+
+
+ 342 if (!ParseTimingAndSettingsLine(line, ¤t_cue_.start_time,
+ 343 ¤t_cue_.duration,
+ 344 ¤t_cue_.settings)) {
+ 345 state_ = kParseError;
+
+
+ 348 state_ = kCuePayload;
+
+
+
+
+ 353 state_ = kCueIdentifierOrTimingOrComment;
+ 354 if (!new_sample_cb_.Run(kTrackId, CueToMediaSample(current_cue_))) {
+ 355 state_ = kParseError;
+
+
+ 358 current_cue_ =
Cue();
+
+
+
+ 362 current_cue_.payload.push_back(line);
+
+
+
+
+ 367 state_ = kCueIdentifierOrTimingOrComment;
+ 368 if (!new_sample_cb_.Run(kTrackId, CueToMediaSample(current_cue_))) {
+ 369 state_ = kParseError;
+
+
+ 372 current_cue_ =
Cue();
+
+
+
+ 376 current_cue_.comment.push_back(line);
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
@@ -491,7 +488,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d30/classshaka_1_1media_1_1mp2t_1_1TsSectionPes.html b/docs/d1/d30/classshaka_1_1media_1_1mp2t_1_1TsSectionPes.html
index dd0e3e1a45..024ff10f17 100644
--- a/docs/d1/d30/classshaka_1_1media_1_1mp2t_1_1TsSectionPes.html
+++ b/docs/d1/d30/classshaka_1_1media_1_1mp2t_1_1TsSectionPes.html
@@ -142,7 +142,7 @@ Additional Inherited Members
diff --git a/docs/d1/d31/classshaka_1_1xml_1_1XmlNode.html b/docs/d1/d31/classshaka_1_1xml_1_1XmlNode.html
index 1d1637c96e..5f78b04b1b 100644
--- a/docs/d1/d31/classshaka_1_1xml_1_1XmlNode.html
+++ b/docs/d1/d31/classshaka_1_1xml_1_1XmlNode.html
@@ -419,7 +419,7 @@ bool
diff --git a/docs/d1/d34/structshaka_1_1media_1_1SubsampleEntry.html b/docs/d1/d34/structshaka_1_1media_1_1SubsampleEntry.html
index b68ed1c605..a784d8f0f0 100644
--- a/docs/d1/d34/structshaka_1_1media_1_1SubsampleEntry.html
+++ b/docs/d1/d34/structshaka_1_1media_1_1SubsampleEntry.html
@@ -122,7 +122,7 @@ uint32_t | cipher_bytes<
diff --git a/docs/d1/d37/es__parser__h264_8h_source.html b/docs/d1/d37/es__parser__h264_8h_source.html
index 1f23f5fd64..4129702dec 100644
--- a/docs/d1/d37/es__parser__h264_8h_source.html
+++ b/docs/d1/d37/es__parser__h264_8h_source.html
@@ -153,7 +153,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d3b/mpd__generator__flags_8h_source.html b/docs/d1/d3b/mpd__generator__flags_8h_source.html
index 2262f959e4..2cfbb0e12c 100644
--- a/docs/d1/d3b/mpd__generator__flags_8h_source.html
+++ b/docs/d1/d3b/mpd__generator__flags_8h_source.html
@@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d3e/structshaka_1_1media_1_1mp4_1_1MovieExtends.html b/docs/d1/d3e/structshaka_1_1media_1_1mp4_1_1MovieExtends.html
index 8f916b7f4d..8b08fe2033 100644
--- a/docs/d1/d3e/structshaka_1_1media_1_1mp4_1_1MovieExtends.html
+++ b/docs/d1/d3e/structshaka_1_1media_1_1mp4_1_1MovieExtends.html
@@ -176,7 +176,7 @@ Additional Inherited Members |
diff --git a/docs/d1/d40/classshaka_1_1MpdWriter-members.html b/docs/d1/d40/classshaka_1_1MpdWriter-members.html
index 61606f28b4..0eb4f13f19 100644
--- a/docs/d1/d40/classshaka_1_1MpdWriter-members.html
+++ b/docs/d1/d40/classshaka_1_1MpdWriter-members.html
@@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d45/decoding__time__iterator_8cc_source.html b/docs/d1/d45/decoding__time__iterator_8cc_source.html
index 856dfb5515..5c33c4ca2d 100644
--- a/docs/d1/d45/decoding__time__iterator_8cc_source.html
+++ b/docs/d1/d45/decoding__time__iterator_8cc_source.html
@@ -168,7 +168,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d48/text__track__config_8h_source.html b/docs/d1/d48/text__track__config_8h_source.html
index ca5391b568..bdc8b60b62 100644
--- a/docs/d1/d48/text__track__config_8h_source.html
+++ b/docs/d1/d48/text__track__config_8h_source.html
@@ -139,7 +139,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d4f/classshaka_1_1media_1_1OffsetByteQueue-members.html b/docs/d1/d4f/classshaka_1_1media_1_1OffsetByteQueue-members.html
index 6ea5546af8..ef6bd54c82 100644
--- a/docs/d1/d4f/classshaka_1_1media_1_1OffsetByteQueue-members.html
+++ b/docs/d1/d4f/classshaka_1_1media_1_1OffsetByteQueue-members.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d5a/structshaka_1_1media_1_1EncryptionKey-members.html b/docs/d1/d5a/structshaka_1_1media_1_1EncryptionKey-members.html
index 6b4cf2323a..981eba861f 100644
--- a/docs/d1/d5a/structshaka_1_1media_1_1EncryptionKey-members.html
+++ b/docs/d1/d5a/structshaka_1_1media_1_1EncryptionKey-members.html
@@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d6e/structshaka_1_1media_1_1mp4_1_1TrackFragmentHeader.html b/docs/d1/d6e/structshaka_1_1media_1_1mp4_1_1TrackFragmentHeader.html
index 5b2fb5625b..9166a0b8b6 100644
--- a/docs/d1/d6e/structshaka_1_1media_1_1mp4_1_1TrackFragmentHeader.html
+++ b/docs/d1/d6e/structshaka_1_1media_1_1mp4_1_1TrackFragmentHeader.html
@@ -222,7 +222,7 @@ Additional Inherited Members
diff --git a/docs/d1/d70/vp8__parser_8cc_source.html b/docs/d1/d70/vp8__parser_8cc_source.html
index a5081daff0..f8bf9b0964 100644
--- a/docs/d1/d70/vp8__parser_8cc_source.html
+++ b/docs/d1/d70/vp8__parser_8cc_source.html
@@ -293,7 +293,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d72/language__utils_8cc_source.html b/docs/d1/d72/language__utils_8cc_source.html
index acc31e5a6b..e0341d9ad9 100644
--- a/docs/d1/d72/language__utils_8cc_source.html
+++ b/docs/d1/d72/language__utils_8cc_source.html
@@ -226,7 +226,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d74/mp2t__media__parser_8cc_source.html b/docs/d1/d74/mp2t__media__parser_8cc_source.html
index 23f07a4cbe..c565fb5904 100644
--- a/docs/d1/d74/mp2t__media__parser_8cc_source.html
+++ b/docs/d1/d74/mp2t__media__parser_8cc_source.html
@@ -539,7 +539,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html b/docs/d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html
index 2e6982a5c1..262a3c2475 100644
--- a/docs/d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html
+++ b/docs/d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html
@@ -152,7 +152,7 @@ int64_t
diff --git a/docs/d1/d7d/webm__video__client_8cc_source.html b/docs/d1/d7d/webm__video__client_8cc_source.html
index a11b623289..1780d4643b 100644
--- a/docs/d1/d7d/webm__video__client_8cc_source.html
+++ b/docs/d1/d7d/webm__video__client_8cc_source.html
@@ -142,7 +142,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
53 const std::string& codec_id,
54 const std::vector<uint8_t>& codec_private,
- 56 VideoCodec video_codec = kUnknownVideoCodec;
+ 56 Codec video_codec = kUnknownCodec;
57 if (codec_id == "V_VP8") {
58 video_codec = kCodecVP8;
59 } else if (codec_id == "V_VP9") {
@@ -199,9 +199,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
- 113 track_num, kWebMTimeScale, 0, video_codec, std::string(), std::string(),
- 114 width_after_crop, height_after_crop, sar_x, sar_y, 0, 0,
- 115 codec_private.data(), codec_private.size(), is_encrypted));
+ 113 track_num, kWebMTimeScale, 0, video_codec, std::string(),
+ 114 codec_private.data(), codec_private.size(), width_after_crop,
+ 115 height_after_crop, sar_x, sar_y, 0, 0, std::string(), is_encrypted));
118 bool WebMVideoClient::OnUInt( int id, int64_t val) {
@@ -266,11 +266,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
diff --git a/docs/d1/d81/structshaka_1_1media_1_1H265ReferencePictureSet-members.html b/docs/d1/d81/structshaka_1_1media_1_1H265ReferencePictureSet-members.html
index 574384572e..72074d2c20 100644
--- a/docs/d1/d81/structshaka_1_1media_1_1H265ReferencePictureSet-members.html
+++ b/docs/d1/d81/structshaka_1_1media_1_1H265ReferencePictureSet-members.html
@@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d82/adts__constants_8h_source.html b/docs/d1/d82/adts__constants_8h_source.html
index f8481badca..4c3f19eac7 100644
--- a/docs/d1/d82/adts__constants_8h_source.html
+++ b/docs/d1/d82/adts__constants_8h_source.html
@@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d82/classshaka_1_1media_1_1WebMParserClient-members.html b/docs/d1/d82/classshaka_1_1media_1_1WebMParserClient-members.html
index 455df65e86..275323de9f 100644
--- a/docs/d1/d82/classshaka_1_1media_1_1WebMParserClient-members.html
+++ b/docs/d1/d82/classshaka_1_1media_1_1WebMParserClient-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d86/classshaka_1_1media_1_1mp4_1_1KeyRotationFragmenter-members.html b/docs/d1/d86/classshaka_1_1media_1_1mp4_1_1KeyRotationFragmenter-members.html
index 4392a17e43..735d74a8f6 100644
--- a/docs/d1/d86/classshaka_1_1media_1_1mp4_1_1KeyRotationFragmenter-members.html
+++ b/docs/d1/d86/classshaka_1_1media_1_1mp4_1_1KeyRotationFragmenter-members.html
@@ -124,7 +124,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d8e/webm__audio__client_8cc_source.html b/docs/d1/d8e/webm__audio__client_8cc_source.html
index acbab1cf7b..8176f7d531 100644
--- a/docs/d1/d8e/webm__audio__client_8cc_source.html
+++ b/docs/d1/d8e/webm__audio__client_8cc_source.html
@@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
37 const std::string& language,
- 39 AudioCodec audio_codec = kUnknownAudioCodec;
+ 39 Codec audio_codec = kUnknownCodec;
40 if (codec_id == "A_VORBIS") {
41 audio_codec = kCodecVorbis;
42 } else if (codec_id == "A_OPUS") {
@@ -159,10 +159,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
70 const uint8_t kSampleSizeInBits = 16u;
72 track_num, kWebMTimeScale, 0, audio_codec,
-
- 74 kSampleSizeInBits, channels_, sampling_frequency,
+
+ 74 codec_config_size, kSampleSizeInBits, channels_, sampling_frequency,
75 seek_preroll < 0 ? 0 : seek_preroll, codec_delay < 0 ? 0 : codec_delay, 0,
- 76 0, codec_config, codec_config_size, is_encrypted));
+ 76 0, language, is_encrypted));
79 bool WebMAudioClient::OnUInt( int id, int64_t val) {
@@ -207,14 +207,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
-
+
diff --git a/docs/d1/d91/classshaka_1_1media_1_1H26xBitReader-members.html b/docs/d1/d91/classshaka_1_1media_1_1H26xBitReader-members.html
index 8f5946e421..0c9331bfb5 100644
--- a/docs/d1/d91/classshaka_1_1media_1_1H26xBitReader-members.html
+++ b/docs/d1/d91/classshaka_1_1media_1_1H26xBitReader-members.html
@@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d9d/classshaka_1_1media_1_1ByteQueue-members.html b/docs/d1/d9d/classshaka_1_1media_1_1ByteQueue-members.html
index e76bf6e88d..8a580c164a 100644
--- a/docs/d1/d9d/classshaka_1_1media_1_1ByteQueue-members.html
+++ b/docs/d1/d9d/classshaka_1_1media_1_1ByteQueue-members.html
@@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d9d/tracks__builder_8h_source.html b/docs/d1/d9d/tracks__builder_8h_source.html
index 35d523fd38..9163d51b56 100644
--- a/docs/d1/d9d/tracks__builder_8h_source.html
+++ b/docs/d1/d9d/tracks__builder_8h_source.html
@@ -210,7 +210,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d9e/structshaka_1_1media_1_1mp4_1_1CodecConfiguration-members.html b/docs/d1/d9e/structshaka_1_1media_1_1mp4_1_1CodecConfiguration-members.html
index 719bb053b6..fc27adff7c 100644
--- a/docs/d1/d9e/structshaka_1_1media_1_1mp4_1_1CodecConfiguration-members.html
+++ b/docs/d1/d9e/structshaka_1_1media_1_1mp4_1_1CodecConfiguration-members.html
@@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/da1/classshaka_1_1media_1_1mp4_1_1BoxBuffer.html b/docs/d1/da1/classshaka_1_1media_1_1mp4_1_1BoxBuffer.html
index 1e37190951..4a63ea25e2 100644
--- a/docs/d1/da1/classshaka_1_1media_1_1mp4_1_1BoxBuffer.html
+++ b/docs/d1/da1/classshaka_1_1media_1_1mp4_1_1BoxBuffer.html
@@ -589,7 +589,7 @@ bool | ReadWriteInt64 (i
diff --git a/docs/d1/da1/structshaka_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html b/docs/d1/da1/structshaka_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html
index 2907b08e31..827ae75354 100644
--- a/docs/d1/da1/structshaka_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html
+++ b/docs/d1/da1/structshaka_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html
@@ -116,7 +116,7 @@ scoped_refptr<
diff --git a/docs/d1/da2/classshaka_1_1media_1_1NalUnitToByteStreamConverter-members.html b/docs/d1/da2/classshaka_1_1media_1_1NalUnitToByteStreamConverter-members.html
index e64b899738..9d51397438 100644
--- a/docs/d1/da2/classshaka_1_1media_1_1NalUnitToByteStreamConverter-members.html
+++ b/docs/d1/da2/classshaka_1_1media_1_1NalUnitToByteStreamConverter-members.html
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html b/docs/d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html
index aea1d67be1..e8cee3242b 100644
--- a/docs/d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html
+++ b/docs/d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html
@@ -139,8 +139,8 @@ Public Member Functions |
|
void | WriteWebM (std::vector< uint8_t > *data) const |
|
-std::string | GetCodecString (VideoCodec codec) const |
- |
+std::string | GetCodecString (Codec codec) const |
+ |
void | MergeFrom (const VPCodecConfigurationRecord &other) |
|
@@ -192,14 +192,14 @@ bool video_full_range_flag
Definition at line 21 of file vp_codec_configuration_record.h.
-
+
std::string shaka::media::VPCodecConfigurationRecord::GetCodecString |
( |
- VideoCodec |
+ Codec |
codec | ) |
const |
@@ -306,7 +306,7 @@ bool video_full_range_flag
diff --git a/docs/d1/dad/classshaka_1_1media_1_1Demuxer-members.html b/docs/d1/dad/classshaka_1_1media_1_1Demuxer-members.html
index 56b2d2d702..cb7725a24c 100644
--- a/docs/d1/dad/classshaka_1_1media_1_1Demuxer-members.html
+++ b/docs/d1/dad/classshaka_1_1media_1_1Demuxer-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
|
diff --git a/docs/d1/db0/structshaka_1_1media_1_1mp4_1_1VideoMediaHeader.html b/docs/d1/db0/structshaka_1_1media_1_1mp4_1_1VideoMediaHeader.html
index f36936297e..9d6f83a331 100644
--- a/docs/d1/db0/structshaka_1_1media_1_1mp4_1_1VideoMediaHeader.html
+++ b/docs/d1/db0/structshaka_1_1media_1_1mp4_1_1VideoMediaHeader.html
@@ -191,7 +191,7 @@ Additional Inherited Members |
diff --git a/docs/d1/db2/decoder__configuration__record_8h_source.html b/docs/d1/db2/decoder__configuration__record_8h_source.html
index 913378796b..08f78f6aa2 100644
--- a/docs/d1/db2/decoder__configuration__record_8h_source.html
+++ b/docs/d1/db2/decoder__configuration__record_8h_source.html
@@ -166,7 +166,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/dc2/h26x__bit__reader_8h_source.html b/docs/d1/dc2/h26x__bit__reader_8h_source.html
index 649d93656a..c4aa21398e 100644
--- a/docs/d1/dc2/h26x__bit__reader_8h_source.html
+++ b/docs/d1/dc2/h26x__bit__reader_8h_source.html
@@ -192,7 +192,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/dcb/encrypting__fragmenter_8h_source.html b/docs/d1/dcb/encrypting__fragmenter_8h_source.html
index aa4fc9a67e..856f061803 100644
--- a/docs/d1/dcb/encrypting__fragmenter_8h_source.html
+++ b/docs/d1/dcb/encrypting__fragmenter_8h_source.html
@@ -160,7 +160,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
94 const uint8_t nalu_length_size_;
- 95 const VideoCodec video_codec_;
+ 95 const Codec video_codec_;
97 const FourCC protection_scheme_;
98 const uint8_t crypt_byte_block_;
@@ -178,24 +178,24 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
112 #endif // MEDIA_FORMATS_MP4_ENCRYPTING_FRAGMENTER_H_
-
+
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/docs/d1/dd5/classshaka_1_1media_1_1Cluster.html b/docs/d1/dd5/classshaka_1_1media_1_1Cluster.html
index ced4664dfa..5e4f1386f7 100644
--- a/docs/d1/dd5/classshaka_1_1media_1_1Cluster.html
+++ b/docs/d1/dd5/classshaka_1_1media_1_1Cluster.html
@@ -116,7 +116,7 @@ int size () const |
diff --git a/docs/d1/dd6/structshaka_1_1media_1_1mp4_1_1DataInformation-members.html b/docs/d1/dd6/structshaka_1_1media_1_1mp4_1_1DataInformation-members.html
index 72f209374b..d16f4e86b9 100644
--- a/docs/d1/dd6/structshaka_1_1media_1_1mp4_1_1DataInformation-members.html
+++ b/docs/d1/dd6/structshaka_1_1media_1_1mp4_1_1DataInformation-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/de2/classshaka_1_1media_1_1VideoStreamInfo-members.html b/docs/d1/de2/classshaka_1_1media_1_1VideoStreamInfo-members.html
index 2002183749..4388e66a2f 100644
--- a/docs/d1/de2/classshaka_1_1media_1_1VideoStreamInfo-members.html
+++ b/docs/d1/de2/classshaka_1_1media_1_1VideoStreamInfo-members.html
@@ -93,7 +93,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
This is the complete list of members for shaka::media::VideoStreamInfo, including all inherited members.
- codec() const (defined in shaka::media::VideoStreamInfo) | shaka::media::VideoStreamInfo | inline |
+ codec() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
codec_config() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
codec_string() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
duration() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
nalu_length_size() const (defined in shaka::media::VideoStreamInfo) | shaka::media::VideoStreamInfo | inline |
pixel_height() const | shaka::media::VideoStreamInfo | inline |
pixel_width() const | shaka::media::VideoStreamInfo | inline |
- set_codec(VideoCodec codec) (defined in shaka::media::VideoStreamInfo) | shaka::media::VideoStreamInfo | inline |
+ set_codec(Codec codec) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
set_codec_config(const std::vector< uint8_t > &data) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
set_codec_string(const std::string &codec_string) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
set_duration(int duration) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
@@ -114,18 +114,18 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
set_pixel_width(uint32_t pixel_width) (defined in shaka::media::VideoStreamInfo) | shaka::media::VideoStreamInfo | inline |
set_width(uint32_t width) (defined in shaka::media::VideoStreamInfo) | shaka::media::VideoStreamInfo | inline |
stream_type() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
- StreamInfo(StreamType stream_type, int track_id, uint32_t time_scale, uint64_t duration, const std::string &codec_string, const std::string &language, const uint8_t *codec_config, size_t codec_config_size, bool is_encrypted) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | |
+ StreamInfo(StreamType stream_type, int track_id, uint32_t time_scale, uint64_t duration, Codec codec, const std::string &codec_string, const uint8_t *codec_config, size_t codec_config_size, const std::string &language, bool is_encrypted) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | |
time_scale() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
ToString() const override | shaka::media::VideoStreamInfo | virtual |
track_id() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
trick_play_rate() const (defined in shaka::media::VideoStreamInfo) | shaka::media::VideoStreamInfo | inline |
- VideoStreamInfo(int track_id, uint32_t time_scale, uint64_t duration, VideoCodec codec, const std::string &codec_string, const std::string &language, uint16_t width, uint16_t height, uint32_t pixel_width, uint32_t pixel_height, int16_t trick_play_rate, uint8_t nalu_length_size, const uint8_t *codec_config, size_t codec_config_size, bool is_encrypted) | shaka::media::VideoStreamInfo | |
+ VideoStreamInfo(int track_id, uint32_t time_scale, uint64_t duration, Codec codec, const std::string &codec_string, const uint8_t *codec_config, size_t codec_config_size, uint16_t width, uint16_t height, uint32_t pixel_width, uint32_t pixel_height, int16_t trick_play_rate, uint8_t nalu_length_size, const std::string &language, bool is_encrypted) | shaka::media::VideoStreamInfo | |
width() const (defined in shaka::media::VideoStreamInfo) | shaka::media::VideoStreamInfo | inline |
~StreamInfo() (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | protectedvirtual |
diff --git a/docs/d1/de2/composition__offset__iterator_8cc_source.html b/docs/d1/de2/composition__offset__iterator_8cc_source.html
index 283d994831..b30cec7d25 100644
--- a/docs/d1/de2/composition__offset__iterator_8cc_source.html
+++ b/docs/d1/de2/composition__offset__iterator_8cc_source.html
@@ -159,7 +159,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/de4/classshaka_1_1media_1_1KeyFetcher-members.html b/docs/d1/de4/classshaka_1_1media_1_1KeyFetcher-members.html
index 1e6d4467d8..ef30bd9d3e 100644
--- a/docs/d1/de4/classshaka_1_1media_1_1KeyFetcher-members.html
+++ b/docs/d1/de4/classshaka_1_1media_1_1KeyFetcher-members.html
@@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/de7/classshaka_1_1xml_1_1AdaptationSetXmlNode.html b/docs/d1/de7/classshaka_1_1xml_1_1AdaptationSetXmlNode.html
index 67dc16b2a1..f94e7f4fda 100644
--- a/docs/d1/de7/classshaka_1_1xml_1_1AdaptationSetXmlNode.html
+++ b/docs/d1/de7/classshaka_1_1xml_1_1AdaptationSetXmlNode.html
@@ -197,7 +197,7 @@ Additional Inherited Members
diff --git a/docs/d1/de7/structshaka_1_1media_1_1H265ReferencePictureListModifications-members.html b/docs/d1/de7/structshaka_1_1media_1_1H265ReferencePictureListModifications-members.html
index ec9f96886c..a347ec85e0 100644
--- a/docs/d1/de7/structshaka_1_1media_1_1H265ReferencePictureListModifications-members.html
+++ b/docs/d1/de7/structshaka_1_1media_1_1H265ReferencePictureListModifications-members.html
@@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/de9/classshaka_1_1media_1_1ProgressListener-members.html b/docs/d1/de9/classshaka_1_1media_1_1ProgressListener-members.html
index 6a56fbb49a..f04cb14d34 100644
--- a/docs/d1/de9/classshaka_1_1media_1_1ProgressListener-members.html
+++ b/docs/d1/de9/classshaka_1_1media_1_1ProgressListener-members.html
@@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/dee/classshaka_1_1media_1_1mp4_1_1BoxReader.html b/docs/d1/dee/classshaka_1_1media_1_1mp4_1_1BoxReader.html
index e62f16d046..7f74d4780a 100644
--- a/docs/d1/dee/classshaka_1_1media_1_1mp4_1_1BoxReader.html
+++ b/docs/d1/dee/classshaka_1_1media_1_1mp4_1_1BoxReader.html
@@ -468,7 +468,7 @@ template<typename T >
diff --git a/docs/d1/dee/structshaka_1_1media_1_1mp4_1_1SampleTable.html b/docs/d1/dee/structshaka_1_1media_1_1mp4_1_1SampleTable.html
index 842f6f3839..792ef64e74 100644
--- a/docs/d1/dee/structshaka_1_1media_1_1mp4_1_1SampleTable.html
+++ b/docs/d1/dee/structshaka_1_1media_1_1mp4_1_1SampleTable.html
@@ -198,7 +198,7 @@ Additional Inherited Members
diff --git a/docs/d1/df0/aes__encryptor_8h_source.html b/docs/d1/df0/aes__encryptor_8h_source.html
index f128438583..3012e2ab02 100644
--- a/docs/d1/df0/aes__encryptor_8h_source.html
+++ b/docs/d1/df0/aes__encryptor_8h_source.html
@@ -195,7 +195,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/df3/structshaka_1_1MpdOptions.html b/docs/d1/df3/structshaka_1_1MpdOptions.html
index 7aec038693..b0e8148304 100644
--- a/docs/d1/df3/structshaka_1_1MpdOptions.html
+++ b/docs/d1/df3/structshaka_1_1MpdOptions.html
@@ -127,7 +127,7 @@ double suggested_presentat
diff --git a/docs/d1/df5/nalu__reader_8cc_source.html b/docs/d1/df5/nalu__reader_8cc_source.html
index 58c1ded760..a3e0c54e91 100644
--- a/docs/d1/df5/nalu__reader_8cc_source.html
+++ b/docs/d1/df5/nalu__reader_8cc_source.html
@@ -434,7 +434,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/df9/structshaka_1_1media_1_1mp4_1_1VideoMediaHeader-members.html b/docs/d1/df9/structshaka_1_1media_1_1mp4_1_1VideoMediaHeader-members.html
index 8340effeae..31409c8b74 100644
--- a/docs/d1/df9/structshaka_1_1media_1_1mp4_1_1VideoMediaHeader-members.html
+++ b/docs/d1/df9/structshaka_1_1media_1_1mp4_1_1VideoMediaHeader-members.html
@@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d02/timestamp_8h_source.html b/docs/d2/d02/timestamp_8h_source.html
index 3fc8e03957..523d23c1d1 100644
--- a/docs/d2/d02/timestamp_8h_source.html
+++ b/docs/d2/d02/timestamp_8h_source.html
@@ -114,7 +114,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d0b/classshaka_1_1media_1_1SeekHead-members.html b/docs/d2/d0b/classshaka_1_1media_1_1SeekHead-members.html
index 67e23227d9..bc2fb1a22c 100644
--- a/docs/d2/d0b/classshaka_1_1media_1_1SeekHead-members.html
+++ b/docs/d2/d0b/classshaka_1_1media_1_1SeekHead-members.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d0f/classshaka_1_1MpdBuilder-members.html b/docs/d2/d0f/classshaka_1_1MpdBuilder-members.html
index 18e49ad14f..6aa5edb709 100644
--- a/docs/d2/d0f/classshaka_1_1MpdBuilder-members.html
+++ b/docs/d2/d0f/classshaka_1_1MpdBuilder-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d0f/structshaka_1_1media_1_1wvm_1_1PrevSampleData.html b/docs/d2/d0f/structshaka_1_1media_1_1wvm_1_1PrevSampleData.html
index 65c96b597b..8fed701897 100644
--- a/docs/d2/d0f/structshaka_1_1media_1_1wvm_1_1PrevSampleData.html
+++ b/docs/d2/d0f/structshaka_1_1media_1_1wvm_1_1PrevSampleData.html
@@ -132,7 +132,7 @@ int64_t | video_sample_durat
diff --git a/docs/d2/d11/classshaka_1_1media_1_1MuxerListener-members.html b/docs/d2/d11/classshaka_1_1media_1_1MuxerListener-members.html
index 188d645e37..d03ccd2d8d 100644
--- a/docs/d2/d11/classshaka_1_1media_1_1MuxerListener-members.html
+++ b/docs/d2/d11/classshaka_1_1media_1_1MuxerListener-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d17/ts__section__pat_8cc_source.html b/docs/d2/d17/ts__section__pat_8cc_source.html
index f9c87013c7..f861e5abc3 100644
--- a/docs/d2/d17/ts__section__pat_8cc_source.html
+++ b/docs/d2/d17/ts__section__pat_8cc_source.html
@@ -214,7 +214,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d23/threaded__io__file_8cc_source.html b/docs/d2/d23/threaded__io__file_8cc_source.html
index e285dc7933..34a06fe2dc 100644
--- a/docs/d2/d23/threaded__io__file_8cc_source.html
+++ b/docs/d2/d23/threaded__io__file_8cc_source.html
@@ -315,7 +315,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d24/packager__util_8h_source.html b/docs/d2/d24/packager__util_8h_source.html
index 667e1035fc..c24e6792bd 100644
--- a/docs/d2/d24/packager__util_8h_source.html
+++ b/docs/d2/d24/packager__util_8h_source.html
@@ -141,7 +141,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d29/classshaka_1_1media_1_1mp4_1_1KeyRotationFragmenter.html b/docs/d2/d29/classshaka_1_1media_1_1mp4_1_1KeyRotationFragmenter.html
index ea6a0cf488..3725cf3f1d 100644
--- a/docs/d2/d29/classshaka_1_1media_1_1mp4_1_1KeyRotationFragmenter.html
+++ b/docs/d2/d29/classshaka_1_1media_1_1mp4_1_1KeyRotationFragmenter.html
@@ -328,7 +328,7 @@ void | set_encryption_key
diff --git a/docs/d2/d30/tracks__builder_8cc_source.html b/docs/d2/d30/tracks__builder_8cc_source.html
index ad417faafa..23b2dd481c 100644
--- a/docs/d2/d30/tracks__builder_8cc_source.html
+++ b/docs/d2/d30/tracks__builder_8cc_source.html
@@ -487,7 +487,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d33/video__slice__header__parser_8h_source.html b/docs/d2/d33/video__slice__header__parser_8h_source.html
index 59512637f8..d4c0367c90 100644
--- a/docs/d2/d33/video__slice__header__parser_8h_source.html
+++ b/docs/d2/d33/video__slice__header__parser_8h_source.html
@@ -167,7 +167,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d35/classshaka_1_1media_1_1WidevineKeySource-members.html b/docs/d2/d35/classshaka_1_1media_1_1WidevineKeySource-members.html
index 262ed9c177..9252990dbe 100644
--- a/docs/d2/d35/classshaka_1_1media_1_1WidevineKeySource-members.html
+++ b/docs/d2/d35/classshaka_1_1media_1_1WidevineKeySource-members.html
@@ -119,7 +119,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d3c/structshaka_1_1media_1_1mp4_1_1TrackFragmentHeader-members.html b/docs/d2/d3c/structshaka_1_1media_1_1mp4_1_1TrackFragmentHeader-members.html
index c5c7d84e2e..33c9376867 100644
--- a/docs/d2/d3c/structshaka_1_1media_1_1mp4_1_1TrackFragmentHeader-members.html
+++ b/docs/d2/d3c/structshaka_1_1media_1_1mp4_1_1TrackFragmentHeader-members.html
@@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d45/program__map__table__writer_8cc_source.html b/docs/d2/d45/program__map__table__writer_8cc_source.html
index 2a867e269a..f069cdf6d8 100644
--- a/docs/d2/d45/program__map__table__writer_8cc_source.html
+++ b/docs/d2/d45/program__map__table__writer_8cc_source.html
@@ -500,7 +500,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d4c/nal__unit__to__byte__stream__converter_8cc_source.html b/docs/d2/d4c/nal__unit__to__byte__stream__converter_8cc_source.html
index 7d7b86c6f5..485403918e 100644
--- a/docs/d2/d4c/nal__unit__to__byte__stream__converter_8cc_source.html
+++ b/docs/d2/d4c/nal__unit__to__byte__stream__converter_8cc_source.html
@@ -291,7 +291,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d4d/file_8h_source.html b/docs/d2/d4d/file_8h_source.html
index 174d4a38da..9034f9afc6 100644
--- a/docs/d2/d4d/file_8h_source.html
+++ b/docs/d2/d4d/file_8h_source.html
@@ -191,7 +191,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d4f/structshaka_1_1Element-members.html b/docs/d2/d4f/structshaka_1_1Element-members.html
index caeff49fbe..3a49ca1497 100644
--- a/docs/d2/d4f/structshaka_1_1Element-members.html
+++ b/docs/d2/d4f/structshaka_1_1Element-members.html
@@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d51/classshaka_1_1MockMpdNotifier-members.html b/docs/d2/d51/classshaka_1_1MockMpdNotifier-members.html
index 5fd14feac6..ee073142e2 100644
--- a/docs/d2/d51/classshaka_1_1MockMpdNotifier-members.html
+++ b/docs/d2/d51/classshaka_1_1MockMpdNotifier-members.html
@@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d59/structshaka_1_1media_1_1H264SliceHeader.html b/docs/d2/d59/structshaka_1_1media_1_1H264SliceHeader.html
index 81a6bc9a4f..23f8baf2a1 100644
--- a/docs/d2/d59/structshaka_1_1media_1_1H264SliceHeader.html
+++ b/docs/d2/d59/structshaka_1_1media_1_1H264SliceHeader.html
@@ -276,7 +276,7 @@ int | slice_beta_offset_div2
diff --git a/docs/d2/d5b/classshaka_1_1media_1_1KeySource-members.html b/docs/d2/d5b/classshaka_1_1media_1_1KeySource-members.html
index f6734ad318..c49f15daf4 100644
--- a/docs/d2/d5b/classshaka_1_1media_1_1KeySource-members.html
+++ b/docs/d2/d5b/classshaka_1_1media_1_1KeySource-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d5c/classshaka_1_1SimpleMpdNotifier-members.html b/docs/d2/d5c/classshaka_1_1SimpleMpdNotifier-members.html
index 769635d70c..fa65c6ad15 100644
--- a/docs/d2/d5c/classshaka_1_1SimpleMpdNotifier-members.html
+++ b/docs/d2/d5c/classshaka_1_1SimpleMpdNotifier-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d61/structshaka_1_1media_1_1H264ModificationOfPicNum-members.html b/docs/d2/d61/structshaka_1_1media_1_1H264ModificationOfPicNum-members.html
index cfebbadcd2..a93b2e8f1f 100644
--- a/docs/d2/d61/structshaka_1_1media_1_1H264ModificationOfPicNum-members.html
+++ b/docs/d2/d61/structshaka_1_1media_1_1H264ModificationOfPicNum-members.html
@@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d62/simple__mpd__notifier_8h_source.html b/docs/d2/d62/simple__mpd__notifier_8h_source.html
index e0fabde8b6..d523980a3a 100644
--- a/docs/d2/d62/simple__mpd__notifier_8h_source.html
+++ b/docs/d2/d62/simple__mpd__notifier_8h_source.html
@@ -186,7 +186,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d62/structshaka_1_1media_1_1mp4_1_1Movie-members.html b/docs/d2/d62/structshaka_1_1media_1_1mp4_1_1Movie-members.html
index 55c7d77c95..e23ae983be 100644
--- a/docs/d2/d62/structshaka_1_1media_1_1mp4_1_1Movie-members.html
+++ b/docs/d2/d62/structshaka_1_1media_1_1mp4_1_1Movie-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d6a/classshaka_1_1media_1_1AesCryptor-members.html b/docs/d2/d6a/classshaka_1_1media_1_1AesCryptor-members.html
index 6b98d402c4..f1d7808046 100644
--- a/docs/d2/d6a/classshaka_1_1media_1_1AesCryptor-members.html
+++ b/docs/d2/d6a/classshaka_1_1media_1_1AesCryptor-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d6f/classBandwidthEstimator.html b/docs/d2/d6f/classBandwidthEstimator.html
index 55dfa2f3d7..ef82913500 100644
--- a/docs/d2/d6f/classBandwidthEstimator.html
+++ b/docs/d2/d6f/classBandwidthEstimator.html
@@ -151,7 +151,7 @@ static const int | kUseAllBl
diff --git a/docs/d2/d70/structshaka_1_1media_1_1mp4_1_1SchemeInfo.html b/docs/d2/d70/structshaka_1_1media_1_1mp4_1_1SchemeInfo.html
index b1dbcaa58c..cb45fd0b43 100644
--- a/docs/d2/d70/structshaka_1_1media_1_1mp4_1_1SchemeInfo.html
+++ b/docs/d2/d70/structshaka_1_1media_1_1mp4_1_1SchemeInfo.html
@@ -173,7 +173,7 @@ Additional Inherited Members |
diff --git a/docs/d2/d7b/classshaka_1_1DashIopMpdNotifier-members.html b/docs/d2/d7b/classshaka_1_1DashIopMpdNotifier-members.html
index 1dbe98a63d..08e03f3e33 100644
--- a/docs/d2/d7b/classshaka_1_1DashIopMpdNotifier-members.html
+++ b/docs/d2/d7b/classshaka_1_1DashIopMpdNotifier-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d7b/simple__mpd__notifier_8cc_source.html b/docs/d2/d7b/simple__mpd__notifier_8cc_source.html
index 8caf87db53..b405dfc67a 100644
--- a/docs/d2/d7b/simple__mpd__notifier_8cc_source.html
+++ b/docs/d2/d7b/simple__mpd__notifier_8cc_source.html
@@ -239,7 +239,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d7e/aac__audio__specific__config_8h_source.html b/docs/d2/d7e/aac__audio__specific__config_8h_source.html
index 96eef595a2..5f179b24b8 100644
--- a/docs/d2/d7e/aac__audio__specific__config_8h_source.html
+++ b/docs/d2/d7e/aac__audio__specific__config_8h_source.html
@@ -164,7 +164,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d7f/structshaka_1_1media_1_1mp4_1_1CuePayloadBox.html b/docs/d2/d7f/structshaka_1_1media_1_1mp4_1_1CuePayloadBox.html
index b471cb7eda..673c7ab6b3 100644
--- a/docs/d2/d7f/structshaka_1_1media_1_1mp4_1_1CuePayloadBox.html
+++ b/docs/d2/d7f/structshaka_1_1media_1_1mp4_1_1CuePayloadBox.html
@@ -173,7 +173,7 @@ Additional Inherited Members
diff --git a/docs/d2/d8a/hls__notify__muxer__listener_8h_source.html b/docs/d2/d8a/hls__notify__muxer__listener_8h_source.html
index 1fb0d75bfe..859b7c3bb1 100644
--- a/docs/d2/d8a/hls__notify__muxer__listener_8h_source.html
+++ b/docs/d2/d8a/hls__notify__muxer__listener_8h_source.html
@@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
86 #endif // PACKAGER_MEDIA_EVENT_HLS_NOTIFY_MUXER_LISTENER_H_
-
+
@@ -175,7 +175,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d91/structshaka_1_1media_1_1mp4_1_1CuePayloadBox-members.html b/docs/d2/d91/structshaka_1_1media_1_1mp4_1_1CuePayloadBox-members.html
index db069f7fdc..205e9f16f6 100644
--- a/docs/d2/d91/structshaka_1_1media_1_1mp4_1_1CuePayloadBox-members.html
+++ b/docs/d2/d91/structshaka_1_1media_1_1mp4_1_1CuePayloadBox-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d92/box__reader_8h_source.html b/docs/d2/d92/box__reader_8h_source.html
index 7771740265..21f371fcbe 100644
--- a/docs/d2/d92/box__reader_8h_source.html
+++ b/docs/d2/d92/box__reader_8h_source.html
@@ -246,7 +246,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/d93/classshaka_1_1media_1_1mp2t_1_1PesPacket.html b/docs/d2/d93/classshaka_1_1media_1_1mp2t_1_1PesPacket.html
index 74b81378fb..8da8a9018e 100644
--- a/docs/d2/d93/classshaka_1_1media_1_1mp2t_1_1PesPacket.html
+++ b/docs/d2/d93/classshaka_1_1media_1_1mp2t_1_1PesPacket.html
@@ -387,7 +387,7 @@ const std::vector< uint8_t > &
diff --git a/docs/d2/d95/structshaka_1_1media_1_1StreamDescriptor.html b/docs/d2/d95/structshaka_1_1media_1_1StreamDescriptor.html
index c429ecb8aa..bb7d7e6576 100644
--- a/docs/d2/d95/structshaka_1_1media_1_1StreamDescriptor.html
+++ b/docs/d2/d95/structshaka_1_1media_1_1StreamDescriptor.html
@@ -140,7 +140,7 @@ std::string | hls_playlist_n
diff --git a/docs/d2/da6/threaded__io__file_8h_source.html b/docs/d2/da6/threaded__io__file_8h_source.html
index 55801069f6..147e7aeb13 100644
--- a/docs/d2/da6/threaded__io__file_8h_source.html
+++ b/docs/d2/da6/threaded__io__file_8h_source.html
@@ -172,7 +172,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/da8/mp4_2segmenter_8cc_source.html b/docs/d2/da8/mp4_2segmenter_8cc_source.html
index b59764e715..98cef8ac00 100644
--- a/docs/d2/da8/mp4_2segmenter_8cc_source.html
+++ b/docs/d2/da8/mp4_2segmenter_8cc_source.html
@@ -575,8 +575,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
-
+
+
@@ -591,17 +591,17 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
-
+
diff --git a/docs/d2/da9/classshaka_1_1media_1_1BufferWriter-members.html b/docs/d2/da9/classshaka_1_1media_1_1BufferWriter-members.html
index 74edfc355c..299c6050fb 100644
--- a/docs/d2/da9/classshaka_1_1media_1_1BufferWriter-members.html
+++ b/docs/d2/da9/classshaka_1_1media_1_1BufferWriter-members.html
@@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/dae/classshaka_1_1MockAdaptationSet-members.html b/docs/d2/dae/classshaka_1_1MockAdaptationSet-members.html
index 49c4703b50..63c0ba0493 100644
--- a/docs/d2/dae/classshaka_1_1MockAdaptationSet-members.html
+++ b/docs/d2/dae/classshaka_1_1MockAdaptationSet-members.html
@@ -126,7 +126,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/dae/webm__muxer_8cc_source.html b/docs/d2/dae/webm__muxer_8cc_source.html
index 4a970628b0..a16d49e560 100644
--- a/docs/d2/dae/webm__muxer_8cc_source.html
+++ b/docs/d2/dae/webm__muxer_8cc_source.html
@@ -225,7 +225,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/db1/structshaka_1_1media_1_1mp4_1_1SampleToGroup-members.html b/docs/d2/db1/structshaka_1_1media_1_1mp4_1_1SampleToGroup-members.html
index b360338aa3..a7496b7cb3 100644
--- a/docs/d2/db1/structshaka_1_1media_1_1mp4_1_1SampleToGroup-members.html
+++ b/docs/d2/db1/structshaka_1_1media_1_1mp4_1_1SampleToGroup-members.html
@@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/db6/structshaka_1_1media_1_1mp4_1_1FileType-members.html b/docs/d2/db6/structshaka_1_1media_1_1mp4_1_1FileType-members.html
index 45677b9053..4152d3144f 100644
--- a/docs/d2/db6/structshaka_1_1media_1_1mp4_1_1FileType-members.html
+++ b/docs/d2/db6/structshaka_1_1media_1_1mp4_1_1FileType-members.html
@@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/db8/structshaka_1_1media_1_1mp4_1_1CueSourceIDBox-members.html b/docs/d2/db8/structshaka_1_1media_1_1mp4_1_1CueSourceIDBox-members.html
index ad3e364168..cf34497ad2 100644
--- a/docs/d2/db8/structshaka_1_1media_1_1mp4_1_1CueSourceIDBox-members.html
+++ b/docs/d2/db8/structshaka_1_1media_1_1mp4_1_1CueSourceIDBox-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/dba/classshaka_1_1media_1_1SegmentTestBase.html b/docs/d2/dba/classshaka_1_1media_1_1SegmentTestBase.html
index 891e59e002..59176ea73e 100644
--- a/docs/d2/dba/classshaka_1_1media_1_1SegmentTestBase.html
+++ b/docs/d2/dba/classshaka_1_1media_1_1SegmentTestBase.html
@@ -180,7 +180,7 @@ bool | single_segment_
diff --git a/docs/d2/dc3/structshaka_1_1media_1_1mp4_1_1Track-members.html b/docs/d2/dc3/structshaka_1_1media_1_1mp4_1_1Track-members.html
index dfa0002b27..11cda3fd73 100644
--- a/docs/d2/dc3/structshaka_1_1media_1_1mp4_1_1Track-members.html
+++ b/docs/d2/dc3/structshaka_1_1media_1_1mp4_1_1Track-members.html
@@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/dc7/structshaka_1_1MpdOptions-members.html b/docs/d2/dc7/structshaka_1_1MpdOptions-members.html
index 2e6dcdb948..c66223f759 100644
--- a/docs/d2/dc7/structshaka_1_1MpdOptions-members.html
+++ b/docs/d2/dc7/structshaka_1_1MpdOptions-members.html
@@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/dcd/program__map__table__writer_8h_source.html b/docs/d2/dcd/program__map__table__writer_8h_source.html
index 33862a4b1c..9b64d7de9b 100644
--- a/docs/d2/dcd/program__map__table__writer_8h_source.html
+++ b/docs/d2/dcd/program__map__table__writer_8h_source.html
@@ -190,7 +190,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/dcd/structshaka_1_1media_1_1mp4_1_1EditList-members.html b/docs/d2/dcd/structshaka_1_1media_1_1mp4_1_1EditList-members.html
index 1815b1709f..226f504a90 100644
--- a/docs/d2/dcd/structshaka_1_1media_1_1mp4_1_1EditList-members.html
+++ b/docs/d2/dcd/structshaka_1_1media_1_1mp4_1_1EditList-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/dd5/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter.html b/docs/d2/dd5/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter.html
index c76ed6b97a..37da9a6762 100644
--- a/docs/d2/dd5/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter.html
+++ b/docs/d2/dd5/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter.html
@@ -277,7 +277,7 @@ double | cluster_length_sec<
diff --git a/docs/d2/dd6/mkv__writer_8h_source.html b/docs/d2/dd6/mkv__writer_8h_source.html
index 4e78cc2ddd..711251db23 100644
--- a/docs/d2/dd6/mkv__writer_8h_source.html
+++ b/docs/d2/dd6/mkv__writer_8h_source.html
@@ -152,7 +152,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html b/docs/d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html
index ce9e89dfd5..75c6836f00 100644
--- a/docs/d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html
+++ b/docs/d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html
@@ -256,7 +256,7 @@ track_id, const scoped_refptr
diff --git a/docs/d2/de3/classshaka_1_1media_1_1mp2t_1_1TsSectionPmt.html b/docs/d2/de3/classshaka_1_1media_1_1mp2t_1_1TsSectionPmt.html
index 92a9d6dad5..f135a66d62 100644
--- a/docs/d2/de3/classshaka_1_1media_1_1mp2t_1_1TsSectionPmt.html
+++ b/docs/d2/de3/classshaka_1_1media_1_1mp2t_1_1TsSectionPmt.html
@@ -155,7 +155,7 @@ void | Reset () override
diff --git a/docs/d2/de6/packager__main_8cc_source.html b/docs/d2/de6/packager__main_8cc_source.html
index 135e09ada0..149e0b3a6e 100644
--- a/docs/d2/de6/packager__main_8cc_source.html
+++ b/docs/d2/de6/packager__main_8cc_source.html
@@ -692,7 +692,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/de7/classshaka_1_1media_1_1TextStreamInfo-members.html b/docs/d2/de7/classshaka_1_1media_1_1TextStreamInfo-members.html
index e9015ddf9c..200d75585a 100644
--- a/docs/d2/de7/classshaka_1_1media_1_1TextStreamInfo-members.html
+++ b/docs/d2/de7/classshaka_1_1media_1_1TextStreamInfo-members.html
@@ -93,20 +93,22 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
This is the complete list of members for shaka::media::TextStreamInfo, including all inherited members.
- codec_config() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
- codec_string() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
- duration() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
- height() const (defined in shaka::media::TextStreamInfo) | shaka::media::TextStreamInfo | inline |
- is_encrypted() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
- IsValidConfig() const override | shaka::media::TextStreamInfo | virtual |
- language() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
+ codec() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
+ codec_config() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
+ codec_string() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
+ duration() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
+ height() const (defined in shaka::media::TextStreamInfo) | shaka::media::TextStreamInfo | inline |
+ is_encrypted() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
+ IsValidConfig() const override | shaka::media::TextStreamInfo | virtual |
+ language() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
+ set_codec(Codec codec) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
set_codec_config(const std::vector< uint8_t > &data) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
set_codec_string(const std::string &codec_string) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
set_duration(int duration) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
set_language(const std::string &language) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
stream_type() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
- StreamInfo(StreamType stream_type, int track_id, uint32_t time_scale, uint64_t duration, const std::string &codec_string, const std::string &language, const uint8_t *codec_config, size_t codec_config_size, bool is_encrypted) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | |
- TextStreamInfo(int track_id, uint32_t time_scale, uint64_t duration, const std::string &codec_string, const std::string &language, const std::string &codec_config, uint16_t width, uint16_t height) | shaka::media::TextStreamInfo | |
+ StreamInfo(StreamType stream_type, int track_id, uint32_t time_scale, uint64_t duration, Codec codec, const std::string &codec_string, const uint8_t *codec_config, size_t codec_config_size, const std::string &language, bool is_encrypted) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | |
+ TextStreamInfo(int track_id, uint32_t time_scale, uint64_t duration, const std::string &codec_string, const std::string &codec_config, uint16_t width, uint16_t height, const std::string &language) | shaka::media::TextStreamInfo | |
time_scale() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
ToString() const | shaka::media::StreamInfo | virtual |
track_id() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
@@ -116,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/de7/structshaka_1_1media_1_1mp4_1_1Edit-members.html b/docs/d2/de7/structshaka_1_1media_1_1mp4_1_1Edit-members.html
index f0ffd3f823..bb8d6c4325 100644
--- a/docs/d2/de7/structshaka_1_1media_1_1mp4_1_1Edit-members.html
+++ b/docs/d2/de7/structshaka_1_1media_1_1mp4_1_1Edit-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/de9/mock__muxer__listener_8h_source.html b/docs/d2/de9/mock__muxer__listener_8h_source.html
index ec04a527b9..e691c40a13 100644
--- a/docs/d2/de9/mock__muxer__listener_8h_source.html
+++ b/docs/d2/de9/mock__muxer__listener_8h_source.html
@@ -153,7 +153,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
@@ -163,7 +163,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/deb/es__parser_8h_source.html b/docs/d2/deb/es__parser_8h_source.html
index b288072648..0a69dd94d0 100644
--- a/docs/d2/deb/es__parser_8h_source.html
+++ b/docs/d2/deb/es__parser_8h_source.html
@@ -145,7 +145,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/dee/classshaka_1_1media_1_1mp2t_1_1TsSectionPes-members.html b/docs/d2/dee/classshaka_1_1media_1_1mp2t_1_1TsSectionPes-members.html
index 3dd57bc417..efd3dc6370 100644
--- a/docs/d2/dee/classshaka_1_1media_1_1mp2t_1_1TsSectionPes-members.html
+++ b/docs/d2/dee/classshaka_1_1media_1_1mp2t_1_1TsSectionPes-members.html
@@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/dee/pes__packet__generator_8cc_source.html b/docs/d2/dee/pes__packet__generator_8cc_source.html
index a82763f86a..ecde576908 100644
--- a/docs/d2/dee/pes__packet__generator_8cc_source.html
+++ b/docs/d2/dee/pes__packet__generator_8cc_source.html
@@ -186,7 +186,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
97 if (stream_type_ == kStreamVideo) {
- 100 if (video_stream_info.codec() != VideoCodec::kCodecH264) {
+ 100 if (video_stream_info.codec() != Codec::kCodecH264) {
101 NOTIMPLEMENTED() << "Video codec " << video_stream_info.codec()
102 << " is not supported.";
@@ -199,7 +199,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
110 } else if (stream_type_ == kStreamAudio) {
- 113 if (audio_stream_info.codec() != AudioCodec::kCodecAAC) {
+ 113 if (audio_stream_info.codec() != Codec::kCodecAAC) {
114 NOTIMPLEMENTED() << "Audio codec " << audio_stream_info.codec()
115 << " is not supported yet.";
@@ -310,7 +310,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
@@ -321,14 +321,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
-
+
+
diff --git a/docs/d2/df8/classshaka_1_1media_1_1SegmentTestBase_1_1ClusterParser.html b/docs/d2/df8/classshaka_1_1media_1_1SegmentTestBase_1_1ClusterParser.html
index 8b5d525cf3..bf52c63aab 100644
--- a/docs/d2/df8/classshaka_1_1media_1_1SegmentTestBase_1_1ClusterParser.html
+++ b/docs/d2/df8/classshaka_1_1media_1_1SegmentTestBase_1_1ClusterParser.html
@@ -128,7 +128,7 @@ int | cluster_count () c
diff --git a/docs/d2/dfc/classshaka_1_1media_1_1MkvWriter-members.html b/docs/d2/dfc/classshaka_1_1media_1_1MkvWriter-members.html
index b4bf3c9eed..3c80e4bfc9 100644
--- a/docs/d2/dfc/classshaka_1_1media_1_1MkvWriter-members.html
+++ b/docs/d2/dfc/classshaka_1_1media_1_1MkvWriter-members.html
@@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d2/dfd/adts__header_8h_source.html b/docs/d2/dfd/adts__header_8h_source.html
index 10f5096362..e34c557052 100644
--- a/docs/d2/dfd/adts__header_8h_source.html
+++ b/docs/d2/dfd/adts__header_8h_source.html
@@ -150,7 +150,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/d07/classshaka_1_1media_1_1mp4_1_1BoxReader-members.html b/docs/d3/d07/classshaka_1_1media_1_1mp4_1_1BoxReader-members.html
index 47fe0f487a..0a2d1fe87b 100644
--- a/docs/d3/d07/classshaka_1_1media_1_1mp4_1_1BoxReader-members.html
+++ b/docs/d3/d07/classshaka_1_1media_1_1mp4_1_1BoxReader-members.html
@@ -127,7 +127,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/d09/classshaka_1_1media_1_1mp4_1_1SyncSampleIterator-members.html b/docs/d3/d09/classshaka_1_1media_1_1mp4_1_1SyncSampleIterator-members.html
index 110358d0cf..86123387f5 100644
--- a/docs/d3/d09/classshaka_1_1media_1_1mp4_1_1SyncSampleIterator-members.html
+++ b/docs/d3/d09/classshaka_1_1media_1_1mp4_1_1SyncSampleIterator-members.html
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/d0a/classshaka_1_1media_1_1MediaParser.html b/docs/d3/d0a/classshaka_1_1media_1_1MediaParser.html
index 68056c8ecb..6ee2516fe0 100644
--- a/docs/d3/d0a/classshaka_1_1media_1_1MediaParser.html
+++ b/docs/d3/d0a/classshaka_1_1media_1_1MediaParser.html
@@ -298,7 +298,7 @@ Public Member Functions |
diff --git a/docs/d3/d0c/classshaka_1_1media_1_1mp2t_1_1AdtsHeader.html b/docs/d3/d0c/classshaka_1_1media_1_1mp2t_1_1AdtsHeader.html
index 3335e2209d..3dbfe17c7c 100644
--- a/docs/d3/d0c/classshaka_1_1media_1_1mp2t_1_1AdtsHeader.html
+++ b/docs/d3/d0c/classshaka_1_1media_1_1mp2t_1_1AdtsHeader.html
@@ -336,7 +336,7 @@ Static Public Member Functions
diff --git a/docs/d3/d12/classshaka_1_1media_1_1LibcryptoThreading-members.html b/docs/d3/d12/classshaka_1_1media_1_1LibcryptoThreading-members.html
index 2031bdf89b..20b0916741 100644
--- a/docs/d3/d12/classshaka_1_1media_1_1LibcryptoThreading-members.html
+++ b/docs/d3/d12/classshaka_1_1media_1_1LibcryptoThreading-members.html
@@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/d15/udp__file__win_8cc_source.html b/docs/d3/d15/udp__file__win_8cc_source.html
index 729f36457e..8ccf16e476 100644
--- a/docs/d3/d15/udp__file__win_8cc_source.html
+++ b/docs/d3/d15/udp__file__win_8cc_source.html
@@ -160,7 +160,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/d18/classshaka_1_1media_1_1mp2t_1_1TsSectionPat-members.html b/docs/d3/d18/classshaka_1_1media_1_1mp2t_1_1TsSectionPat-members.html
index 7fd5efb9fb..f9b0f3cd44 100644
--- a/docs/d3/d18/classshaka_1_1media_1_1mp2t_1_1TsSectionPat-members.html
+++ b/docs/d3/d18/classshaka_1_1media_1_1mp2t_1_1TsSectionPat-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/d19/io__cache_8h_source.html b/docs/d3/d19/io__cache_8h_source.html
index 3a3fd9c02a..a765ba7476 100644
--- a/docs/d3/d19/io__cache_8h_source.html
+++ b/docs/d3/d19/io__cache_8h_source.html
@@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/d35/video__slice__header__parser_8cc_source.html b/docs/d3/d35/video__slice__header__parser_8cc_source.html
index 17562f6f46..0699193106 100644
--- a/docs/d3/d35/video__slice__header__parser_8cc_source.html
+++ b/docs/d3/d35/video__slice__header__parser_8cc_source.html
@@ -200,7 +200,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/d47/structshaka_1_1media_1_1mp4_1_1PrivFrame.html b/docs/d3/d47/structshaka_1_1media_1_1mp4_1_1PrivFrame.html
index 2e05930f25..a3fdaeacff 100644
--- a/docs/d3/d47/structshaka_1_1media_1_1mp4_1_1PrivFrame.html
+++ b/docs/d3/d47/structshaka_1_1media_1_1mp4_1_1PrivFrame.html
@@ -129,7 +129,7 @@ std::string value |
diff --git a/docs/d3/d51/classshaka_1_1media_1_1LibcryptoThreading.html b/docs/d3/d51/classshaka_1_1media_1_1LibcryptoThreading.html
index b85732ed87..4f1d5e89a8 100644
--- a/docs/d3/d51/classshaka_1_1media_1_1LibcryptoThreading.html
+++ b/docs/d3/d51/classshaka_1_1media_1_1LibcryptoThreading.html
@@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/d56/decrypt__config_8cc_source.html b/docs/d3/d56/decrypt__config_8cc_source.html
index 1f09d738d5..2799378019 100644
--- a/docs/d3/d56/decrypt__config_8cc_source.html
+++ b/docs/d3/d56/decrypt__config_8cc_source.html
@@ -127,7 +127,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/d61/classshaka_1_1media_1_1File.html b/docs/d3/d61/classshaka_1_1media_1_1File.html
index 5177afb955..2925dc44c1 100644
--- a/docs/d3/d61/classshaka_1_1media_1_1File.html
+++ b/docs/d3/d61/classshaka_1_1media_1_1File.html
@@ -811,7 +811,7 @@ class ThreadedIoFile
diff --git a/docs/d3/d62/continuity__counter_8h_source.html b/docs/d3/d62/continuity__counter_8h_source.html
index 115f04adf4..94d6f1c633 100644
--- a/docs/d3/d62/continuity__counter_8h_source.html
+++ b/docs/d3/d62/continuity__counter_8h_source.html
@@ -124,7 +124,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/d62/rcheck_8h_source.html b/docs/d3/d62/rcheck_8h_source.html
index 86f0ddf49f..8a7103a6b1 100644
--- a/docs/d3/d62/rcheck_8h_source.html
+++ b/docs/d3/d62/rcheck_8h_source.html
@@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/d66/structshaka_1_1media_1_1mp4_1_1DataEntryUrl-members.html b/docs/d3/d66/structshaka_1_1media_1_1mp4_1_1DataEntryUrl-members.html
index 4d18ec407a..312694924b 100644
--- a/docs/d3/d66/structshaka_1_1media_1_1mp4_1_1DataEntryUrl-members.html
+++ b/docs/d3/d66/structshaka_1_1media_1_1mp4_1_1DataEntryUrl-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/d67/classshaka_1_1media_1_1WebMVideoClient.html b/docs/d3/d67/classshaka_1_1media_1_1WebMVideoClient.html
index 37e3d28823..931d77de07 100644
--- a/docs/d3/d67/classshaka_1_1media_1_1WebMVideoClient.html
+++ b/docs/d3/d67/classshaka_1_1media_1_1WebMVideoClient.html
@@ -190,7 +190,7 @@ An empty scoped_refptr if there was unexpected values in the provided parameters
diff --git a/docs/d3/d6b/fixed__key__source_8cc_source.html b/docs/d3/d6b/fixed__key__source_8cc_source.html
index e7a4557272..6fe3e28439 100644
--- a/docs/d3/d6b/fixed__key__source_8cc_source.html
+++ b/docs/d3/d6b/fixed__key__source_8cc_source.html
@@ -245,7 +245,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/d71/classshaka_1_1media_1_1mp2t_1_1TsMuxer.html b/docs/d3/d71/classshaka_1_1media_1_1mp2t_1_1TsMuxer.html
index d7378e1caa..30ca0f4e72 100644
--- a/docs/d3/d71/classshaka_1_1media_1_1mp2t_1_1TsMuxer.html
+++ b/docs/d3/d71/classshaka_1_1media_1_1mp2t_1_1TsMuxer.html
@@ -178,7 +178,7 @@ FourCC | protection_scheme
diff --git a/docs/d3/d72/fixed__key__source_8h_source.html b/docs/d3/d72/fixed__key__source_8h_source.html
index a352e37805..47761e4f58 100644
--- a/docs/d3/d72/fixed__key__source_8h_source.html
+++ b/docs/d3/d72/fixed__key__source_8h_source.html
@@ -160,7 +160,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/d73/classshaka_1_1media_1_1webm_1_1WebMMuxer.html b/docs/d3/d73/classshaka_1_1media_1_1webm_1_1WebMMuxer.html
index 8e4c0291f1..4a78ea08f2 100644
--- a/docs/d3/d73/classshaka_1_1media_1_1webm_1_1WebMMuxer.html
+++ b/docs/d3/d73/classshaka_1_1media_1_1webm_1_1WebMMuxer.html
@@ -182,7 +182,7 @@ FourCC | protection_scheme
diff --git a/docs/d3/d75/classshaka_1_1media_1_1AesEncryptor.html b/docs/d3/d75/classshaka_1_1media_1_1AesEncryptor.html
index d1c15e4627..c0ff98bd05 100644
--- a/docs/d3/d75/classshaka_1_1media_1_1AesEncryptor.html
+++ b/docs/d3/d75/classshaka_1_1media_1_1AesEncryptor.html
@@ -236,7 +236,7 @@ AES_KEY * | mutable_aes_key<
diff --git a/docs/d3/d75/classshaka_1_1media_1_1mp4_1_1ChunkInfoIterator-members.html b/docs/d3/d75/classshaka_1_1media_1_1mp4_1_1ChunkInfoIterator-members.html
index 7fd957fe5c..6ba8c1da99 100644
--- a/docs/d3/d75/classshaka_1_1media_1_1mp4_1_1ChunkInfoIterator-members.html
+++ b/docs/d3/d75/classshaka_1_1media_1_1mp4_1_1ChunkInfoIterator-members.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/d76/muxer__flags_8h_source.html b/docs/d3/d76/muxer__flags_8h_source.html
index 9c6e8c7e0a..53eb678007 100644
--- a/docs/d3/d76/muxer__flags_8h_source.html
+++ b/docs/d3/d76/muxer__flags_8h_source.html
@@ -109,12 +109,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
20 DECLARE_bool(fragment_sap_aligned);
21 DECLARE_int32(num_subsegments_per_sidx);
22 DECLARE_string(temp_dir);
-
- 24 #endif // APP_MUXER_FLAGS_H_
+ 23 DECLARE_bool(webm_subsample_encryption);
+
+ 25 #endif // APP_MUXER_FLAGS_H_
diff --git a/docs/d3/d77/structshaka_1_1media_1_1mp4_1_1TextSampleEntry-members.html b/docs/d3/d77/structshaka_1_1media_1_1mp4_1_1TextSampleEntry-members.html
index 3a2171b2e4..ad9b687049 100644
--- a/docs/d3/d77/structshaka_1_1media_1_1mp4_1_1TextSampleEntry-members.html
+++ b/docs/d3/d77/structshaka_1_1media_1_1mp4_1_1TextSampleEntry-members.html
@@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/d7b/classshaka_1_1media_1_1RsaPublicKey-members.html b/docs/d3/d7b/classshaka_1_1media_1_1RsaPublicKey-members.html
index 30ac0b37c7..757edbb231 100644
--- a/docs/d3/d7b/classshaka_1_1media_1_1RsaPublicKey-members.html
+++ b/docs/d3/d7b/classshaka_1_1media_1_1RsaPublicKey-members.html
@@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/d7c/classshaka_1_1media_1_1WebMAudioClient.html b/docs/d3/d7c/classshaka_1_1media_1_1WebMAudioClient.html
index d13fff7c6d..b40107dd49 100644
--- a/docs/d3/d7c/classshaka_1_1media_1_1WebMAudioClient.html
+++ b/docs/d3/d7c/classshaka_1_1media_1_1WebMAudioClient.html
@@ -223,7 +223,7 @@ An empty scoped_refptr if there was unexpected values in the provided parameters
diff --git a/docs/d3/d80/muxer__util_8h_source.html b/docs/d3/d80/muxer__util_8h_source.html
index c42b440b3b..00158b1f97 100644
--- a/docs/d3/d80/muxer__util_8h_source.html
+++ b/docs/d3/d80/muxer__util_8h_source.html
@@ -127,7 +127,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/d87/structshaka_1_1media_1_1mp4_1_1SampleToChunk.html b/docs/d3/d87/structshaka_1_1media_1_1mp4_1_1SampleToChunk.html
index e6be9e411f..05bb42e17c 100644
--- a/docs/d3/d87/structshaka_1_1media_1_1mp4_1_1SampleToChunk.html
+++ b/docs/d3/d87/structshaka_1_1media_1_1mp4_1_1SampleToChunk.html
@@ -182,7 +182,7 @@ Additional Inherited Members |
diff --git a/docs/d3/d8b/structshaka_1_1media_1_1FileCloser.html b/docs/d3/d8b/structshaka_1_1media_1_1FileCloser.html
index 2e6c594592..a33ae1ffaa 100644
--- a/docs/d3/d8b/structshaka_1_1media_1_1FileCloser.html
+++ b/docs/d3/d8b/structshaka_1_1media_1_1FileCloser.html
@@ -112,7 +112,7 @@ void operator() (
diff --git a/docs/d3/d8d/webm__audio__client_8h_source.html b/docs/d3/d8d/webm__audio__client_8h_source.html
index f9201c4443..589858051d 100644
--- a/docs/d3/d8d/webm__audio__client_8h_source.html
+++ b/docs/d3/d8d/webm__audio__client_8h_source.html
@@ -144,7 +144,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/d90/ec3__audio__util_8cc_source.html b/docs/d3/d90/ec3__audio__util_8cc_source.html
index cd6413a7e6..4e0b50d2e6 100644
--- a/docs/d3/d90/ec3__audio__util_8cc_source.html
+++ b/docs/d3/d90/ec3__audio__util_8cc_source.html
@@ -245,7 +245,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/d91/classshaka_1_1media_1_1H264Parser.html b/docs/d3/d91/classshaka_1_1media_1_1H264Parser.html
index 52f288c4c1..4faf5ea926 100644
--- a/docs/d3/d91/classshaka_1_1media_1_1H264Parser.html
+++ b/docs/d3/d91/classshaka_1_1media_1_1H264Parser.html
@@ -135,7 +135,7 @@ Result | ParseSEI (const
diff --git a/docs/d3/da0/ec3__audio__util_8h_source.html b/docs/d3/da0/ec3__audio__util_8h_source.html
index 44125c4da5..fd7a2fa73d 100644
--- a/docs/d3/da0/ec3__audio__util_8h_source.html
+++ b/docs/d3/da0/ec3__audio__util_8h_source.html
@@ -114,7 +114,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/da1/classshaka_1_1media_1_1webm_1_1SingleSegmentSegmenter.html b/docs/d3/da1/classshaka_1_1media_1_1webm_1_1SingleSegmentSegmenter.html
index 9accd988d9..c8f41c924a 100644
--- a/docs/d3/da1/classshaka_1_1media_1_1webm_1_1SingleSegmentSegmenter.html
+++ b/docs/d3/da1/classshaka_1_1media_1_1webm_1_1SingleSegmentSegmenter.html
@@ -293,7 +293,7 @@ double | cluster_length_sec<
diff --git a/docs/d3/da2/structshaka_1_1media_1_1mp4_1_1SchemeType.html b/docs/d3/da2/structshaka_1_1media_1_1mp4_1_1SchemeType.html
index bd1be83d06..79289b5c5b 100644
--- a/docs/d3/da2/structshaka_1_1media_1_1mp4_1_1SchemeType.html
+++ b/docs/d3/da2/structshaka_1_1media_1_1mp4_1_1SchemeType.html
@@ -185,7 +185,7 @@ Additional Inherited Members |
diff --git a/docs/d3/dad/structshaka_1_1media_1_1mp4_1_1ID3v2.html b/docs/d3/dad/structshaka_1_1media_1_1mp4_1_1ID3v2.html
index 31f7918aeb..80220f21ae 100644
--- a/docs/d3/dad/structshaka_1_1media_1_1mp4_1_1ID3v2.html
+++ b/docs/d3/dad/structshaka_1_1media_1_1mp4_1_1ID3v2.html
@@ -189,7 +189,7 @@ Additional Inherited Members
diff --git a/docs/d3/db4/classshaka_1_1media_1_1WebMWebVTTParser-members.html b/docs/d3/db4/classshaka_1_1media_1_1WebMWebVTTParser-members.html
index 34a33dc086..34781f76b1 100644
--- a/docs/d3/db4/classshaka_1_1media_1_1WebMWebVTTParser-members.html
+++ b/docs/d3/db4/classshaka_1_1media_1_1WebMWebVTTParser-members.html
@@ -97,7 +97,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/db5/structshaka_1_1media_1_1mp4_1_1Track.html b/docs/d3/db5/structshaka_1_1media_1_1mp4_1_1Track.html
index f66a364985..81791f5f04 100644
--- a/docs/d3/db5/structshaka_1_1media_1_1mp4_1_1Track.html
+++ b/docs/d3/db5/structshaka_1_1media_1_1mp4_1_1Track.html
@@ -182,7 +182,7 @@ Additional Inherited Members
diff --git a/docs/d3/db6/webm__parser_8cc_source.html b/docs/d3/db6/webm__parser_8cc_source.html
index 3afa330510..d9cd70316c 100644
--- a/docs/d3/db6/webm__parser_8cc_source.html
+++ b/docs/d3/db6/webm__parser_8cc_source.html
@@ -1068,7 +1068,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/dbc/seek__head_8cc_source.html b/docs/d3/dbc/seek__head_8cc_source.html
index d1ee938014..bcce34018f 100644
--- a/docs/d3/dbc/seek__head_8cc_source.html
+++ b/docs/d3/dbc/seek__head_8cc_source.html
@@ -216,7 +216,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/dbe/demuxer_8cc_source.html b/docs/d3/dbe/demuxer_8cc_source.html
index 53a6726ef2..a87e81eaf0 100644
--- a/docs/d3/dbe/demuxer_8cc_source.html
+++ b/docs/d3/dbe/demuxer_8cc_source.html
@@ -345,7 +345,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/dbe/structshaka_1_1media_1_1mp4_1_1EditList.html b/docs/d3/dbe/structshaka_1_1media_1_1mp4_1_1EditList.html
index b44728e349..04d00ac9ca 100644
--- a/docs/d3/dbe/structshaka_1_1media_1_1mp4_1_1EditList.html
+++ b/docs/d3/dbe/structshaka_1_1media_1_1mp4_1_1EditList.html
@@ -182,7 +182,7 @@ Additional Inherited Members
diff --git a/docs/d3/dc1/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser.html b/docs/d3/dc1/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser.html
index 92c5913797..a93d923b1c 100644
--- a/docs/d3/dc1/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser.html
+++ b/docs/d3/dc1/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser.html
@@ -256,7 +256,7 @@ track_id, const scoped_refptr
diff --git a/docs/d3/dd0/classshaka_1_1MpdNotifier.html b/docs/d3/dd0/classshaka_1_1MpdNotifier.html
index 9a897c9d31..6b7e4ab9e2 100644
--- a/docs/d3/dd0/classshaka_1_1MpdNotifier.html
+++ b/docs/d3/dd0/classshaka_1_1MpdNotifier.html
@@ -472,7 +472,7 @@ Public Member Functions
diff --git a/docs/d3/dd0/structshaka_1_1media_1_1mp4_1_1SegmentType.html b/docs/d3/dd0/structshaka_1_1media_1_1mp4_1_1SegmentType.html
index 5ae744116f..6b3408750b 100644
--- a/docs/d3/dd0/structshaka_1_1media_1_1mp4_1_1SegmentType.html
+++ b/docs/d3/dd0/structshaka_1_1media_1_1mp4_1_1SegmentType.html
@@ -177,7 +177,7 @@ std::vector< FourCC > <
diff --git a/docs/d3/de4/seek__head_8h_source.html b/docs/d3/de4/seek__head_8h_source.html
index 28ab163b06..0f616b6a46 100644
--- a/docs/d3/de4/seek__head_8h_source.html
+++ b/docs/d3/de4/seek__head_8h_source.html
@@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/de9/classshaka_1_1media_1_1mp4_1_1BoxBuffer-members.html b/docs/d3/de9/classshaka_1_1media_1_1mp4_1_1BoxBuffer-members.html
index a8b4493e6b..7c2d27905b 100644
--- a/docs/d3/de9/classshaka_1_1media_1_1mp4_1_1BoxBuffer-members.html
+++ b/docs/d3/de9/classshaka_1_1media_1_1mp4_1_1BoxBuffer-members.html
@@ -121,7 +121,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/de9/structshaka_1_1media_1_1mp4_1_1SampleGroupDescription-members.html b/docs/d3/de9/structshaka_1_1media_1_1mp4_1_1SampleGroupDescription-members.html
index e51e1eebb1..88ca2faa3b 100644
--- a/docs/d3/de9/structshaka_1_1media_1_1mp4_1_1SampleGroupDescription-members.html
+++ b/docs/d3/de9/structshaka_1_1media_1_1mp4_1_1SampleGroupDescription-members.html
@@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/df1/box__reader_8cc_source.html b/docs/d3/df1/box__reader_8cc_source.html
index 4ef379c8e9..f9d293d75e 100644
--- a/docs/d3/df1/box__reader_8cc_source.html
+++ b/docs/d3/df1/box__reader_8cc_source.html
@@ -260,7 +260,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html b/docs/d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html
index d675ab7005..99aabfa21d 100644
--- a/docs/d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html
+++ b/docs/d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html
@@ -297,7 +297,7 @@ AES_KEY * | mutable_aes_key<
diff --git a/docs/d4/d00/mp4_2multi__segment__segmenter_8cc_source.html b/docs/d4/d00/mp4_2multi__segment__segmenter_8cc_source.html
index 47c52db63a..6ca2126656 100644
--- a/docs/d4/d00/mp4_2multi__segment__segmenter_8cc_source.html
+++ b/docs/d4/d00/mp4_2multi__segment__segmenter_8cc_source.html
@@ -304,7 +304,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d4/d08/classshaka_1_1media_1_1mp4_1_1MP4MediaParser-members.html b/docs/d4/d08/classshaka_1_1media_1_1mp4_1_1MP4MediaParser-members.html
index 7f2b2bb275..589c97c1be 100644
--- a/docs/d4/d08/classshaka_1_1media_1_1mp4_1_1MP4MediaParser-members.html
+++ b/docs/d4/d08/classshaka_1_1media_1_1mp4_1_1MP4MediaParser-members.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d4/d0b/classshaka_1_1media_1_1TextTrack.html b/docs/d4/d0b/classshaka_1_1media_1_1TextTrack.html
index d1c4059605..07811909d2 100644
--- a/docs/d4/d0b/classshaka_1_1media_1_1TextTrack.html
+++ b/docs/d4/d0b/classshaka_1_1media_1_1TextTrack.html
@@ -109,7 +109,7 @@ virtual void | addWebVTTCue<
diff --git a/docs/d4/d14/classshaka_1_1media_1_1WebVttMediaParser-members.html b/docs/d4/d14/classshaka_1_1media_1_1WebVttMediaParser-members.html
index 1318a5d1b7..669e52fadc 100644
--- a/docs/d4/d14/classshaka_1_1media_1_1WebVttMediaParser-members.html
+++ b/docs/d4/d14/classshaka_1_1media_1_1WebVttMediaParser-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d4/d18/structshaka_1_1media_1_1mp4_1_1EditListEntry.html b/docs/d4/d18/structshaka_1_1media_1_1mp4_1_1EditListEntry.html
index a42b48f68f..1d971f3906 100644
--- a/docs/d4/d18/structshaka_1_1media_1_1mp4_1_1EditListEntry.html
+++ b/docs/d4/d18/structshaka_1_1media_1_1mp4_1_1EditListEntry.html
@@ -118,7 +118,7 @@ int16_t | media_rate_fractio
diff --git a/docs/d4/d20/classshaka_1_1media_1_1AesCbcEncryptor.html b/docs/d4/d20/classshaka_1_1media_1_1AesCbcEncryptor.html
index c27921bf04..e6aee0802c 100644
--- a/docs/d4/d20/classshaka_1_1media_1_1AesCbcEncryptor.html
+++ b/docs/d4/d20/classshaka_1_1media_1_1AesCbcEncryptor.html
@@ -235,7 +235,7 @@ AES_KEY * | mutable_aes_key<
diff --git a/docs/d4/d20/structshaka_1_1media_1_1mp4_1_1ChunkLargeOffset-members.html b/docs/d4/d20/structshaka_1_1media_1_1mp4_1_1ChunkLargeOffset-members.html
index 51035c0f24..8d31cd1343 100644
--- a/docs/d4/d20/structshaka_1_1media_1_1mp4_1_1ChunkLargeOffset-members.html
+++ b/docs/d4/d20/structshaka_1_1media_1_1mp4_1_1ChunkLargeOffset-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d4/d2c/structshaka_1_1media_1_1mp4_1_1ID3v2-members.html b/docs/d4/d2c/structshaka_1_1media_1_1mp4_1_1ID3v2-members.html
index bee13b7e8c..d74b262df4 100644
--- a/docs/d4/d2c/structshaka_1_1media_1_1mp4_1_1ID3v2-members.html
+++ b/docs/d4/d2c/structshaka_1_1media_1_1mp4_1_1ID3v2-members.html
@@ -114,7 +114,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d4/d33/structshaka_1_1media_1_1mp4_1_1WebVTTSourceLabelBox.html b/docs/d4/d33/structshaka_1_1media_1_1mp4_1_1WebVTTSourceLabelBox.html
index 67ac9c234b..e8777d1dd0 100644
--- a/docs/d4/d33/structshaka_1_1media_1_1mp4_1_1WebVTTSourceLabelBox.html
+++ b/docs/d4/d33/structshaka_1_1media_1_1mp4_1_1WebVTTSourceLabelBox.html
@@ -173,7 +173,7 @@ Additional Inherited Members |
diff --git a/docs/d4/d37/io__cache_8cc_source.html b/docs/d4/d37/io__cache_8cc_source.html
index f2dc5ca04c..082880ee24 100644
--- a/docs/d4/d37/io__cache_8cc_source.html
+++ b/docs/d4/d37/io__cache_8cc_source.html
@@ -252,7 +252,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d4/d3a/structshaka_1_1media_1_1H264Sps-members.html b/docs/d4/d3a/structshaka_1_1media_1_1H264Sps-members.html
index a1d56c2f61..21bac3d4ed 100644
--- a/docs/d4/d3a/structshaka_1_1media_1_1H264Sps-members.html
+++ b/docs/d4/d3a/structshaka_1_1media_1_1H264Sps-members.html
@@ -142,7 +142,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d4/d4a/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationOffset-members.html b/docs/d4/d4a/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationOffset-members.html
index f95396ab11..f9153c123f 100644
--- a/docs/d4/d4a/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationOffset-members.html
+++ b/docs/d4/d4a/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationOffset-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d4/d4c/structshaka_1_1media_1_1H264WeightingFactors.html b/docs/d4/d4c/structshaka_1_1media_1_1H264WeightingFactors.html
index 4d780c6650..a4b4a98b59 100644
--- a/docs/d4/d4c/structshaka_1_1media_1_1H264WeightingFactors.html
+++ b/docs/d4/d4c/structshaka_1_1media_1_1H264WeightingFactors.html
@@ -124,7 +124,7 @@ int chroma_offset [32]
diff --git a/docs/d4/d58/classshaka_1_1media_1_1Nalu-members.html b/docs/d4/d58/classshaka_1_1media_1_1Nalu-members.html
index e0c8ff3cf6..55842ebf48 100644
--- a/docs/d4/d58/classshaka_1_1media_1_1Nalu-members.html
+++ b/docs/d4/d58/classshaka_1_1media_1_1Nalu-members.html
@@ -157,7 +157,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d4/d59/classshaka_1_1media_1_1WebMWebVTTParser.html b/docs/d4/d59/classshaka_1_1media_1_1WebMWebVTTParser.html
index 5d481d07f6..eaa3cd9442 100644
--- a/docs/d4/d59/classshaka_1_1media_1_1WebMWebVTTParser.html
+++ b/docs/d4/d59/classshaka_1_1media_1_1WebMWebVTTParser.html
@@ -111,7 +111,7 @@ static void |
diff --git a/docs/d4/d5c/classshaka_1_1media_1_1DecryptConfig-members.html b/docs/d4/d5c/classshaka_1_1media_1_1DecryptConfig-members.html
index 2221a267ef..14d8822005 100644
--- a/docs/d4/d5c/classshaka_1_1media_1_1DecryptConfig-members.html
+++ b/docs/d4/d5c/classshaka_1_1media_1_1DecryptConfig-members.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d4/d5d/classshaka_1_1media_1_1UdpFile-members.html b/docs/d4/d5d/classshaka_1_1media_1_1UdpFile-members.html
index ddcb4047c7..23cf890a46 100644
--- a/docs/d4/d5d/classshaka_1_1media_1_1UdpFile-members.html
+++ b/docs/d4/d5d/classshaka_1_1media_1_1UdpFile-members.html
@@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d4/d70/classshaka_1_1DashIopMpdNotifier.html b/docs/d4/d70/classshaka_1_1DashIopMpdNotifier.html
index 42c2ee6bc9..6f68db1276 100644
--- a/docs/d4/d70/classshaka_1_1DashIopMpdNotifier.html
+++ b/docs/d4/d70/classshaka_1_1DashIopMpdNotifier.html
@@ -473,7 +473,7 @@ class | DashIopMpdNotifierTe
diff --git a/docs/d4/d70/structshaka_1_1SegmentInfo-members.html b/docs/d4/d70/structshaka_1_1SegmentInfo-members.html
index db2428d820..5fc5aecf05 100644
--- a/docs/d4/d70/structshaka_1_1SegmentInfo-members.html
+++ b/docs/d4/d70/structshaka_1_1SegmentInfo-members.html
@@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d4/d87/nalu__reader_8h_source.html b/docs/d4/d87/nalu__reader_8h_source.html
index c572988f74..16182c3c29 100644
--- a/docs/d4/d87/nalu__reader_8h_source.html
+++ b/docs/d4/d87/nalu__reader_8h_source.html
@@ -297,7 +297,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d4/d8a/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord.html b/docs/d4/d8a/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord.html
index 02b3144335..6ce5c9c332 100644
--- a/docs/d4/d8a/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord.html
+++ b/docs/d4/d8a/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord.html
@@ -110,8 +110,8 @@ Inheritance diagram for shaka::media::HEVCDecoderConfigurationRecord:
|
-std::string | GetCodecString (VideoCodec codec) const |
- |
+std::string | GetCodecString (Codec codec) const |
+ |
bool | Parse (const std::vector< uint8_t > &data) |
|
@@ -145,14 +145,14 @@ void 22 of file hevc_decoder_configuration_record.h.
-
+
std::string shaka::media::HEVCDecoderConfigurationRecord::GetCodecString |
( |
- VideoCodec |
+ Codec |
codec | ) |
const |
@@ -171,7 +171,7 @@ void
diff --git a/docs/d4/d8d/structshaka_1_1media_1_1mp4_1_1EC3Specific.html b/docs/d4/d8d/structshaka_1_1media_1_1mp4_1_1EC3Specific.html
index f879317f42..4be67b59b1 100644
--- a/docs/d4/d8d/structshaka_1_1media_1_1mp4_1_1EC3Specific.html
+++ b/docs/d4/d8d/structshaka_1_1media_1_1mp4_1_1EC3Specific.html
@@ -173,7 +173,7 @@ Additional Inherited Members |
diff --git a/docs/d4/da7/segmenter__test__base_8cc_source.html b/docs/d4/da7/segmenter__test__base_8cc_source.html
index 1888011a4a..4ae7798915 100644
--- a/docs/d4/da7/segmenter__test__base_8cc_source.html
+++ b/docs/d4/da7/segmenter__test__base_8cc_source.html
@@ -114,7 +114,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
25 const int kTrackId = 1;
26 const uint32_t kTimeScale = 1000;
27 const uint64_t kDuration = 8000;
- 28 const VideoCodec kVideoCodec = kCodecVP8;
+ 28 const Codec kCodec = kCodecVP8;
29 const std::string kCodecString = "vp8";
30 const std::string kLanguage = "en";
31 const uint16_t kWidth = 100;
@@ -181,10 +181,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
- 95 return new VideoStreamInfo(kTrackId, kTimeScale, kDuration, kVideoCodec,
- 96 kCodecString, kLanguage, kWidth, kHeight,
+
+ 96 kCodecString, NULL, 0, kWidth, kHeight,
97 kPixelWidth, kPixelHeight, kTrickPlayRate,
- 98 kNaluLengthSize, NULL, 0, false);
+ 98 kNaluLengthSize, kLanguage, false);
@@ -289,7 +289,6 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
@@ -305,13 +304,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
diff --git a/docs/d4/dad/structshaka_1_1media_1_1mp4_1_1SampleEncryption.html b/docs/d4/dad/structshaka_1_1media_1_1mp4_1_1SampleEncryption.html
index 15d1853000..4ee9273095 100644
--- a/docs/d4/dad/structshaka_1_1media_1_1mp4_1_1SampleEncryption.html
+++ b/docs/d4/dad/structshaka_1_1media_1_1mp4_1_1SampleEncryption.html
@@ -250,7 +250,7 @@ Additional Inherited Members
diff --git a/docs/d4/db1/structshaka_1_1media_1_1mp4_1_1CompactSampleSize-members.html b/docs/d4/db1/structshaka_1_1media_1_1mp4_1_1CompactSampleSize-members.html
index c65ab60422..5a5d339dee 100644
--- a/docs/d4/db1/structshaka_1_1media_1_1mp4_1_1CompactSampleSize-members.html
+++ b/docs/d4/db1/structshaka_1_1media_1_1mp4_1_1CompactSampleSize-members.html
@@ -114,7 +114,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d4/db2/cluster__builder_8h_source.html b/docs/d4/db2/cluster__builder_8h_source.html
index cbfe492acf..925c4b3011 100644
--- a/docs/d4/db2/cluster__builder_8h_source.html
+++ b/docs/d4/db2/cluster__builder_8h_source.html
@@ -176,7 +176,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d4/db4/classshaka_1_1MpdNotifierFactory.html b/docs/d4/db4/classshaka_1_1MpdNotifierFactory.html
index 40ff70b897..e6e5ca6155 100644
--- a/docs/d4/db4/classshaka_1_1MpdNotifierFactory.html
+++ b/docs/d4/db4/classshaka_1_1MpdNotifierFactory.html
@@ -112,7 +112,7 @@ virtual scoped_ptr<
diff --git a/docs/d4/db9/structshaka_1_1media_1_1mp4_1_1MediaHeader.html b/docs/d4/db9/structshaka_1_1media_1_1mp4_1_1MediaHeader.html
index 4243bf5fbf..0fdfc4382c 100644
--- a/docs/d4/db9/structshaka_1_1media_1_1mp4_1_1MediaHeader.html
+++ b/docs/d4/db9/structshaka_1_1media_1_1mp4_1_1MediaHeader.html
@@ -194,7 +194,7 @@ Additional Inherited Members |
diff --git a/docs/d4/dc8/classshaka_1_1media_1_1mp2t_1_1AacProgramMapTableWriter.html b/docs/d4/dc8/classshaka_1_1media_1_1mp2t_1_1AacProgramMapTableWriter.html
index ab35be23c6..b8ff3d4364 100644
--- a/docs/d4/dc8/classshaka_1_1media_1_1mp2t_1_1AacProgramMapTableWriter.html
+++ b/docs/d4/dc8/classshaka_1_1media_1_1mp2t_1_1AacProgramMapTableWriter.html
@@ -140,7 +140,7 @@ static const uint8_t kElem
diff --git a/docs/d4/dd3/bit__reader_8h_source.html b/docs/d4/dd3/bit__reader_8h_source.html
index a817d89e0a..e5f157ef35 100644
--- a/docs/d4/dd3/bit__reader_8h_source.html
+++ b/docs/d4/dd3/bit__reader_8h_source.html
@@ -187,7 +187,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d4/dd4/structshaka_1_1media_1_1mp4_1_1FullBox-members.html b/docs/d4/dd4/structshaka_1_1media_1_1mp4_1_1FullBox-members.html
index f205bbbfed..d435af16fa 100644
--- a/docs/d4/dd4/structshaka_1_1media_1_1mp4_1_1FullBox-members.html
+++ b/docs/d4/dd4/structshaka_1_1media_1_1mp4_1_1FullBox-members.html
@@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
|
diff --git a/docs/d4/ddb/classshaka_1_1media_1_1MemoryFile-members.html b/docs/d4/ddb/classshaka_1_1media_1_1MemoryFile-members.html
index 469d515055..7e1a2298f4 100644
--- a/docs/d4/ddb/classshaka_1_1media_1_1MemoryFile-members.html
+++ b/docs/d4/ddb/classshaka_1_1media_1_1MemoryFile-members.html
@@ -119,7 +119,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d4/dde/webvtt__util_8h_source.html b/docs/d4/dde/webvtt__util_8h_source.html
index a1fe607a5b..23a7278ede 100644
--- a/docs/d4/dde/webvtt__util_8h_source.html
+++ b/docs/d4/dde/webvtt__util_8h_source.html
@@ -122,7 +122,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d4/de3/structshaka_1_1media_1_1mp4_1_1DataReference.html b/docs/d4/de3/structshaka_1_1media_1_1mp4_1_1DataReference.html
index e720ea7a8b..f6091a7134 100644
--- a/docs/d4/de3/structshaka_1_1media_1_1mp4_1_1DataReference.html
+++ b/docs/d4/de3/structshaka_1_1media_1_1mp4_1_1DataReference.html
@@ -182,7 +182,7 @@ Additional Inherited Members |
diff --git a/docs/d4/de6/classshaka_1_1media_1_1ProgressListener.html b/docs/d4/de6/classshaka_1_1media_1_1ProgressListener.html
index 5a1573589a..8aba26bc9d 100644
--- a/docs/d4/de6/classshaka_1_1media_1_1ProgressListener.html
+++ b/docs/d4/de6/classshaka_1_1media_1_1ProgressListener.html
@@ -146,7 +146,7 @@ Public Member Functions
diff --git a/docs/d4/de7/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener-members.html b/docs/d4/de7/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener-members.html
index d3a6505220..f17b11b6c4 100644
--- a/docs/d4/de7/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener-members.html
+++ b/docs/d4/de7/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener-members.html
@@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d4/dec/hls__flags_8h_source.html b/docs/d4/dec/hls__flags_8h_source.html
index c4cfd98db3..9b36631167 100644
--- a/docs/d4/dec/hls__flags_8h_source.html
+++ b/docs/d4/dec/hls__flags_8h_source.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d4/df5/request__signer_8cc_source.html b/docs/d4/df5/request__signer_8cc_source.html
index 7bbc77772c..78661cc69a 100644
--- a/docs/d4/df5/request__signer_8cc_source.html
+++ b/docs/d4/df5/request__signer_8cc_source.html
@@ -178,7 +178,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d4/df9/structshaka_1_1media_1_1mp4_1_1SegmentIndex.html b/docs/d4/df9/structshaka_1_1media_1_1mp4_1_1SegmentIndex.html
index 3da988f177..d9220d3639 100644
--- a/docs/d4/df9/structshaka_1_1media_1_1mp4_1_1SegmentIndex.html
+++ b/docs/d4/df9/structshaka_1_1media_1_1mp4_1_1SegmentIndex.html
@@ -194,7 +194,7 @@ Additional Inherited Members
diff --git a/docs/d4/dfa/structshaka_1_1media_1_1mp4_1_1AC3Specific.html b/docs/d4/dfa/structshaka_1_1media_1_1mp4_1_1AC3Specific.html
index c81eca0bb5..d7656a254d 100644
--- a/docs/d4/dfa/structshaka_1_1media_1_1mp4_1_1AC3Specific.html
+++ b/docs/d4/dfa/structshaka_1_1media_1_1mp4_1_1AC3Specific.html
@@ -173,7 +173,7 @@ Additional Inherited Members
diff --git a/docs/d4/dfd/structshaka_1_1media_1_1H265Sps.html b/docs/d4/dfd/structshaka_1_1media_1_1H265Sps.html
index 868de63f72..da674cb1f4 100644
--- a/docs/d4/dfd/structshaka_1_1media_1_1H265Sps.html
+++ b/docs/d4/dfd/structshaka_1_1media_1_1H265Sps.html
@@ -256,7 +256,7 @@ bool vui_parameters_presen
diff --git a/docs/d4/dff/webm__media__parser_8cc_source.html b/docs/d4/dff/webm__media__parser_8cc_source.html
index f5daaa26fc..19c62abb9f 100644
--- a/docs/d4/dff/webm__media__parser_8cc_source.html
+++ b/docs/d4/dff/webm__media__parser_8cc_source.html
@@ -364,7 +364,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d03/structshaka_1_1media_1_1mp4_1_1FileType.html b/docs/d5/d03/structshaka_1_1media_1_1mp4_1_1FileType.html
index 629ba6778d..adf8fed2b5 100644
--- a/docs/d5/d03/structshaka_1_1media_1_1mp4_1_1FileType.html
+++ b/docs/d5/d03/structshaka_1_1media_1_1mp4_1_1FileType.html
@@ -182,7 +182,7 @@ Additional Inherited Members |
diff --git a/docs/d5/d05/structshaka_1_1media_1_1mp4_1_1OriginalFormat.html b/docs/d5/d05/structshaka_1_1media_1_1mp4_1_1OriginalFormat.html
index 26d7d2c029..7f89b9586c 100644
--- a/docs/d5/d05/structshaka_1_1media_1_1mp4_1_1OriginalFormat.html
+++ b/docs/d5/d05/structshaka_1_1media_1_1mp4_1_1OriginalFormat.html
@@ -173,7 +173,7 @@ Additional Inherited Members
diff --git a/docs/d5/d09/structshaka_1_1media_1_1mp4_1_1CueIDBox.html b/docs/d5/d09/structshaka_1_1media_1_1mp4_1_1CueIDBox.html
index ce7e20ae77..a7e6666a28 100644
--- a/docs/d5/d09/structshaka_1_1media_1_1mp4_1_1CueIDBox.html
+++ b/docs/d5/d09/structshaka_1_1media_1_1mp4_1_1CueIDBox.html
@@ -173,7 +173,7 @@ Additional Inherited Members
diff --git a/docs/d5/d11/classshaka_1_1media_1_1WebMInfoParser-members.html b/docs/d5/d11/classshaka_1_1media_1_1WebMInfoParser-members.html
index 9415105216..ab07716815 100644
--- a/docs/d5/d11/classshaka_1_1media_1_1WebMInfoParser-members.html
+++ b/docs/d5/d11/classshaka_1_1media_1_1WebMInfoParser-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d11/structshaka_1_1media_1_1mp4_1_1ElementaryStreamDescriptor.html b/docs/d5/d11/structshaka_1_1media_1_1mp4_1_1ElementaryStreamDescriptor.html
index 4af3c72c9a..3d61b1692d 100644
--- a/docs/d5/d11/structshaka_1_1media_1_1mp4_1_1ElementaryStreamDescriptor.html
+++ b/docs/d5/d11/structshaka_1_1media_1_1mp4_1_1ElementaryStreamDescriptor.html
@@ -185,7 +185,7 @@ Additional Inherited Members
diff --git a/docs/d5/d13/classshaka_1_1media_1_1ESDescriptor.html b/docs/d5/d13/classshaka_1_1media_1_1ESDescriptor.html
index ace6c1f2be..51655eb661 100644
--- a/docs/d5/d13/classshaka_1_1media_1_1ESDescriptor.html
+++ b/docs/d5/d13/classshaka_1_1media_1_1ESDescriptor.html
@@ -181,7 +181,7 @@ bool IsDTS () const
diff --git a/docs/d5/d15/producer__consumer__queue_8h_source.html b/docs/d5/d15/producer__consumer__queue_8h_source.html
index 3e418215d1..186abde921 100644
--- a/docs/d5/d15/producer__consumer__queue_8h_source.html
+++ b/docs/d5/d15/producer__consumer__queue_8h_source.html
@@ -374,7 +374,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d1a/ts__section_8h_source.html b/docs/d5/d1a/ts__section_8h_source.html
index 0b5aefc1a3..2ce0aa205b 100644
--- a/docs/d5/d1a/ts__section_8h_source.html
+++ b/docs/d5/d1a/ts__section_8h_source.html
@@ -134,7 +134,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d26/classshaka_1_1media_1_1mp4_1_1TrackRunIterator-members.html b/docs/d5/d26/classshaka_1_1media_1_1mp4_1_1TrackRunIterator-members.html
index f141a85ec3..4386160a15 100644
--- a/docs/d5/d26/classshaka_1_1media_1_1mp4_1_1TrackRunIterator-members.html
+++ b/docs/d5/d26/classshaka_1_1media_1_1mp4_1_1TrackRunIterator-members.html
@@ -122,7 +122,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d27/key__fetcher_8cc_source.html b/docs/d5/d27/key__fetcher_8cc_source.html
index c3e1a096b6..83df585ec8 100644
--- a/docs/d5/d27/key__fetcher_8cc_source.html
+++ b/docs/d5/d27/key__fetcher_8cc_source.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d33/classshaka_1_1media_1_1ProducerConsumerQueue.html b/docs/d5/d33/classshaka_1_1media_1_1ProducerConsumerQueue.html
index 3d622f1828..7a4fb1aae6 100644
--- a/docs/d5/d33/classshaka_1_1media_1_1ProducerConsumerQueue.html
+++ b/docs/d5/d33/classshaka_1_1media_1_1ProducerConsumerQueue.html
@@ -501,7 +501,7 @@ template<class T >
diff --git a/docs/d5/d3b/structshaka_1_1media_1_1mp4_1_1Media-members.html b/docs/d5/d3b/structshaka_1_1media_1_1mp4_1_1Media-members.html
index e9b3d022ce..ed938ef461 100644
--- a/docs/d5/d3b/structshaka_1_1media_1_1mp4_1_1Media-members.html
+++ b/docs/d5/d3b/structshaka_1_1media_1_1mp4_1_1Media-members.html
@@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d40/webm_2single__segment__segmenter_8h_source.html b/docs/d5/d40/webm_2single__segment__segmenter_8h_source.html
index 4edf446bcf..a77c94703e 100644
--- a/docs/d5/d40/webm_2single__segment__segmenter_8h_source.html
+++ b/docs/d5/d40/webm_2single__segment__segmenter_8h_source.html
@@ -156,7 +156,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d4b/classshaka_1_1media_1_1mp2t_1_1TsSectionPsi-members.html b/docs/d5/d4b/classshaka_1_1media_1_1mp2t_1_1TsSectionPsi-members.html
index 54d29ae922..5b32ce2817 100644
--- a/docs/d5/d4b/classshaka_1_1media_1_1mp2t_1_1TsSectionPsi-members.html
+++ b/docs/d5/d4b/classshaka_1_1media_1_1mp2t_1_1TsSectionPsi-members.html
@@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d4d/box_8cc_source.html b/docs/d5/d4d/box_8cc_source.html
index dce52d1ef6..a672414fd6 100644
--- a/docs/d5/d4d/box_8cc_source.html
+++ b/docs/d5/d4d/box_8cc_source.html
@@ -195,7 +195,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d52/ts__section__pes_8h_source.html b/docs/d5/d52/ts__section__pes_8h_source.html
index e7d027548c..eddfdc5f76 100644
--- a/docs/d5/d52/ts__section__pes_8h_source.html
+++ b/docs/d5/d52/ts__section__pes_8h_source.html
@@ -161,7 +161,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d53/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize-members.html b/docs/d5/d53/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize-members.html
index 62e93bea13..648e5c20d4 100644
--- a/docs/d5/d53/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize-members.html
+++ b/docs/d5/d53/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize-members.html
@@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d57/classshaka_1_1RepresentationStateChangeListener-members.html b/docs/d5/d57/classshaka_1_1RepresentationStateChangeListener-members.html
index 4e74aaed15..5f5c5daddb 100644
--- a/docs/d5/d57/classshaka_1_1RepresentationStateChangeListener-members.html
+++ b/docs/d5/d57/classshaka_1_1RepresentationStateChangeListener-members.html
@@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d59/classshaka_1_1MockRepresentation-members.html b/docs/d5/d59/classshaka_1_1MockRepresentation-members.html
index deeeb5e5fd..5f737c7a21 100644
--- a/docs/d5/d59/classshaka_1_1MockRepresentation-members.html
+++ b/docs/d5/d59/classshaka_1_1MockRepresentation-members.html
@@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d5c/continuity__counter_8cc_source.html b/docs/d5/d5c/continuity__counter_8cc_source.html
index 11825620f4..d94de0fa18 100644
--- a/docs/d5/d5c/continuity__counter_8cc_source.html
+++ b/docs/d5/d5c/continuity__counter_8cc_source.html
@@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d63/classshaka_1_1media_1_1mp2t_1_1EsParserH265.html b/docs/d5/d63/classshaka_1_1media_1_1mp2t_1_1EsParserH265.html
index 52bcfd64b4..9b425b23e3 100644
--- a/docs/d5/d63/classshaka_1_1media_1_1mp2t_1_1EsParserH265.html
+++ b/docs/d5/d63/classshaka_1_1media_1_1mp2t_1_1EsParserH265.html
@@ -161,7 +161,7 @@ const
diff --git a/docs/d5/d63/network__util_8cc_source.html b/docs/d5/d63/network__util_8cc_source.html
index cca972202f..c49e94f235 100644
--- a/docs/d5/d63/network__util_8cc_source.html
+++ b/docs/d5/d63/network__util_8cc_source.html
@@ -122,7 +122,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d66/classshaka_1_1media_1_1NalUnitToByteStreamConverter.html b/docs/d5/d66/classshaka_1_1media_1_1NalUnitToByteStreamConverter.html
index f81f5afb5a..ef6c5fe01a 100644
--- a/docs/d5/d66/classshaka_1_1media_1_1NalUnitToByteStreamConverter.html
+++ b/docs/d5/d66/classshaka_1_1media_1_1NalUnitToByteStreamConverter.html
@@ -229,7 +229,7 @@ class | NalUnitToByteStreamC
diff --git a/docs/d5/d6f/vlog__flags_8cc_source.html b/docs/d5/d6f/vlog__flags_8cc_source.html
index 01df42884d..8daf0b8108 100644
--- a/docs/d5/d6f/vlog__flags_8cc_source.html
+++ b/docs/d5/d6f/vlog__flags_8cc_source.html
@@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d72/avc__decoder__configuration__record_8cc_source.html b/docs/d5/d72/avc__decoder__configuration__record_8cc_source.html
index 13bc3502ec..58a411db7c 100644
--- a/docs/d5/d72/avc__decoder__configuration__record_8cc_source.html
+++ b/docs/d5/d72/avc__decoder__configuration__record_8cc_source.html
@@ -203,7 +203,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d7b/box__definitions_8h_source.html b/docs/d5/d7b/box__definitions_8h_source.html
index ec090b56a8..7174f57366 100644
--- a/docs/d5/d7b/box__definitions_8h_source.html
+++ b/docs/d5/d7b/box__definitions_8h_source.html
@@ -1000,7 +1000,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d86/structshaka_1_1media_1_1mp4_1_1MediaInformation.html b/docs/d5/d86/structshaka_1_1media_1_1mp4_1_1MediaInformation.html
index 6d147853c7..1d38d2658a 100644
--- a/docs/d5/d86/structshaka_1_1media_1_1mp4_1_1MediaInformation.html
+++ b/docs/d5/d86/structshaka_1_1media_1_1mp4_1_1MediaInformation.html
@@ -185,7 +185,7 @@ Additional Inherited Members |
diff --git a/docs/d5/d89/widevine__key__source_8cc_source.html b/docs/d5/d89/widevine__key__source_8cc_source.html
index 1e666d2ade..8fe5529592 100644
--- a/docs/d5/d89/widevine__key__source_8cc_source.html
+++ b/docs/d5/d89/widevine__key__source_8cc_source.html
@@ -720,7 +720,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d8c/structshaka_1_1media_1_1mp4_1_1CompositionOffset.html b/docs/d5/d8c/structshaka_1_1media_1_1mp4_1_1CompositionOffset.html
index 2fe6eebf10..629ecac688 100644
--- a/docs/d5/d8c/structshaka_1_1media_1_1mp4_1_1CompositionOffset.html
+++ b/docs/d5/d8c/structshaka_1_1media_1_1mp4_1_1CompositionOffset.html
@@ -112,7 +112,7 @@ int64_t sample_offset<
diff --git a/docs/d5/d8f/webm__cluster__parser_8cc_source.html b/docs/d5/d8f/webm__cluster__parser_8cc_source.html
index 2703921795..5f594e6e25 100644
--- a/docs/d5/d8f/webm__cluster__parser_8cc_source.html
+++ b/docs/d5/d8f/webm__cluster__parser_8cc_source.html
@@ -116,635 +116,631 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
- 30 bool IsKeyframe( bool is_video,
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 45 NOTIMPLEMENTED() << "Unsupported codec " << codec;
-
-
-
-
-
-
-
- 53 int64_t timecode_scale,
- 54 scoped_refptr<AudioStreamInfo> audio_stream_info,
- 55 scoped_refptr<VideoStreamInfo> video_stream_info,
- 56 int64_t audio_default_duration,
- 57 int64_t video_default_duration,
- 58 const WebMTracksParser::TextTracks& text_tracks,
- 59 const std::set<int64_t>& ignored_tracks,
- 60 const std::string& audio_encryption_key_id,
- 61 const std::string& video_encryption_key_id,
-
-
-
- 65 : timecode_multiplier_(timecode_scale / 1000.0),
- 66 audio_stream_info_(audio_stream_info),
- 67 video_stream_info_(video_stream_info),
- 68 ignored_tracks_(ignored_tracks),
- 69 audio_encryption_key_id_(audio_encryption_key_id),
- 70 video_encryption_key_id_(video_encryption_key_id),
- 71 parser_(kWebMIdCluster, this),
-
-
- 74 cluster_start_time_(kNoTimestamp),
- 75 audio_(audio_stream_info ? audio_stream_info->track_id() : -1,
-
- 77 audio_default_duration,
-
- 79 video_(video_stream_info ? video_stream_info->track_id() : -1,
-
- 81 video_default_duration,
-
- 83 if (decryption_key_source)
-
- 85 for (WebMTracksParser::TextTracks::const_iterator it = text_tracks.begin();
- 86 it != text_tracks.end();
-
- 88 text_track_map_.insert(std::make_pair(
- 89 it->first, Track(it->first, false, kNoTimestamp, new_sample_cb)));
-
-
-
- 93 WebMClusterParser::~WebMClusterParser() {}
-
-
- 96 last_block_timecode_ = -1;
- 97 cluster_timecode_ = -1;
- 98 cluster_start_time_ = kNoTimestamp;
- 99 cluster_ended_ = false;
-
-
-
-
-
-
-
-
- 108 bool audio_result = audio_.ApplyDurationEstimateIfNeeded();
- 109 bool video_result = video_.ApplyDurationEstimateIfNeeded();
-
- 111 return audio_result && video_result;
-
+ 30 bool IsKeyframe( bool is_video, Codec codec, const uint8_t* data, int size) {
+
+
+
+
+
+
+
+
+
+
+
+ 42 NOTIMPLEMENTED() << "Unsupported codec " << codec;
+
+
+
+
+
+
+
+ 50 int64_t timecode_scale,
+ 51 scoped_refptr<AudioStreamInfo> audio_stream_info,
+ 52 scoped_refptr<VideoStreamInfo> video_stream_info,
+ 53 int64_t audio_default_duration,
+ 54 int64_t video_default_duration,
+ 55 const WebMTracksParser::TextTracks& text_tracks,
+ 56 const std::set<int64_t>& ignored_tracks,
+ 57 const std::string& audio_encryption_key_id,
+ 58 const std::string& video_encryption_key_id,
+
+
+
+ 62 : timecode_multiplier_(timecode_scale / 1000.0),
+ 63 audio_stream_info_(audio_stream_info),
+ 64 video_stream_info_(video_stream_info),
+ 65 ignored_tracks_(ignored_tracks),
+ 66 audio_encryption_key_id_(audio_encryption_key_id),
+ 67 video_encryption_key_id_(video_encryption_key_id),
+ 68 parser_(kWebMIdCluster, this),
+
+
+ 71 cluster_start_time_(kNoTimestamp),
+ 72 audio_(audio_stream_info ? audio_stream_info->track_id() : -1,
+
+ 74 audio_default_duration,
+
+ 76 video_(video_stream_info ? video_stream_info->track_id() : -1,
+
+ 78 video_default_duration,
+
+ 80 if (decryption_key_source)
+
+ 82 for (WebMTracksParser::TextTracks::const_iterator it = text_tracks.begin();
+ 83 it != text_tracks.end();
+
+ 85 text_track_map_.insert(std::make_pair(
+ 86 it->first, Track(it->first, false, kNoTimestamp, new_sample_cb)));
+
+
+
+ 90 WebMClusterParser::~WebMClusterParser() {}
+
+
+ 93 last_block_timecode_ = -1;
+ 94 cluster_timecode_ = -1;
+ 95 cluster_start_time_ = kNoTimestamp;
+ 96 cluster_ended_ = false;
+
+
+
+
+
+
+
+
+ 105 bool audio_result = audio_.ApplyDurationEstimateIfNeeded();
+ 106 bool video_result = video_.ApplyDurationEstimateIfNeeded();
+
+ 108 return audio_result && video_result;
+
+
+
+ 112 int result = parser_. Parse(buf, size);
-
- 115 int result = parser_. Parse(buf, size);
-
-
- 118 cluster_ended_ = false;
-
-
-
-
- 123 if (cluster_ended_) {
-
-
- 126 if (cluster_start_time_ == kNoTimestamp) {
-
-
- 129 if (cluster_timecode_ < 0)
-
+
+ 115 cluster_ended_ = false;
+
+
+
+
+ 120 if (cluster_ended_) {
+
+
+ 123 if (cluster_start_time_ == kNoTimestamp) {
+
+
+ 126 if (cluster_timecode_ < 0)
+
+
+ 129 cluster_start_time_ = cluster_timecode_ * timecode_multiplier_;
+
- 132 cluster_start_time_ = cluster_timecode_ * timecode_multiplier_;
-
-
-
-
-
-
-
- 140 last_block_timecode_ = -1;
- 141 cluster_timecode_ = -1;
-
+
+
+
+
+
+ 137 last_block_timecode_ = -1;
+ 138 cluster_timecode_ = -1;
+
+
+
+
-
-
-
-
- 148 if ( id == kWebMIdCluster) {
- 149 cluster_timecode_ = -1;
- 150 cluster_start_time_ = kNoTimestamp;
- 151 } else if ( id == kWebMIdBlockGroup) {
-
- 153 block_data_size_ = -1;
- 154 block_duration_ = -1;
- 155 discard_padding_ = -1;
- 156 discard_padding_set_ = false;
- 157 } else if ( id == kWebMIdBlockAdditions) {
-
- 159 block_additional_data_.reset();
- 160 block_additional_data_size_ = 0;
-
+
+ 145 if ( id == kWebMIdCluster) {
+ 146 cluster_timecode_ = -1;
+ 147 cluster_start_time_ = kNoTimestamp;
+ 148 } else if ( id == kWebMIdBlockGroup) {
+
+ 150 block_data_size_ = -1;
+ 151 block_duration_ = -1;
+ 152 discard_padding_ = -1;
+ 153 discard_padding_set_ = false;
+ 154 } else if ( id == kWebMIdBlockAdditions) {
+
+ 156 block_additional_data_.reset();
+ 157 block_additional_data_size_ = 0;
+
+
+
+
-
-
-
- 166 bool WebMClusterParser::OnListEnd( int id) {
- 167 if ( id != kWebMIdBlockGroup)
-
-
-
- 171 if (block_data_size_ == -1) {
- 172 LOG(ERROR) << "Block missing from BlockGroup.";
-
-
-
- 176 bool result = ParseBlock( false, block_data_.get(), block_data_size_,
- 177 block_additional_data_.get(),
- 178 block_additional_data_size_, block_duration_,
- 179 discard_padding_set_ ? discard_padding_ : 0);
-
- 181 block_data_size_ = -1;
- 182 block_duration_ = -1;
-
- 184 block_additional_data_.reset();
- 185 block_additional_data_size_ = 0;
- 186 discard_padding_ = -1;
- 187 discard_padding_set_ = false;
-
-
-
- 191 bool WebMClusterParser::OnUInt( int id, int64_t val) {
-
-
- 194 case kWebMIdTimecode:
- 195 dst = &cluster_timecode_;
+ 163 bool WebMClusterParser::OnListEnd( int id) {
+ 164 if ( id != kWebMIdBlockGroup)
+
+
+
+ 168 if (block_data_size_ == -1) {
+ 169 LOG(ERROR) << "Block missing from BlockGroup.";
+
+
+
+ 173 bool result = ParseBlock( false, block_data_.get(), block_data_size_,
+ 174 block_additional_data_.get(),
+ 175 block_additional_data_size_, block_duration_,
+ 176 discard_padding_set_ ? discard_padding_ : 0);
+
+ 178 block_data_size_ = -1;
+ 179 block_duration_ = -1;
+
+ 181 block_additional_data_.reset();
+ 182 block_additional_data_size_ = 0;
+ 183 discard_padding_ = -1;
+ 184 discard_padding_set_ = false;
+
+
+
+ 188 bool WebMClusterParser::OnUInt( int id, int64_t val) {
+
+
+ 191 case kWebMIdTimecode:
+ 192 dst = &cluster_timecode_;
+
+ 194 case kWebMIdBlockDuration:
+ 195 dst = &block_duration_;
- 197 case kWebMIdBlockDuration:
- 198 dst = &block_duration_;
+ 197 case kWebMIdBlockAddID:
+ 198 dst = &block_add_id_;
- 200 case kWebMIdBlockAddID:
- 201 dst = &block_add_id_;
-
-
-
-
-
-
-
-
-
-
- 212 bool WebMClusterParser::ParseBlock( bool is_simple_block,
-
-
- 215 const uint8_t* additional,
-
-
- 218 int64_t discard_padding) {
-
-
-
-
-
- 224 if (!(buf[0] & 0x80)) {
- 225 LOG(ERROR) << "TrackNumber over 127 not supported";
-
-
-
- 229 int track_num = buf[0] & 0x7f;
- 230 int timecode = buf[1] << 8 | buf[2];
- 231 int flags = buf[3] & 0xff;
- 232 int lacing = (flags >> 1) & 0x3;
-
-
- 235 LOG(ERROR) << "Lacing " << lacing << " is not supported yet.";
-
-
-
-
- 240 if (timecode & 0x8000)
-
-
- 243 const uint8_t* frame_data = buf + 4;
- 244 int frame_size = size - (frame_data - buf);
- 245 return OnBlock(is_simple_block, track_num, timecode, duration, flags,
- 246 frame_data, frame_size, additional, additional_size,
-
-
-
- 250 bool WebMClusterParser::OnBinary( int id, const uint8_t* data, int size) {
-
- 252 case kWebMIdSimpleBlock:
- 253 return ParseBlock( true, data, size, NULL, 0, -1, 0);
-
-
-
- 257 LOG(ERROR) << "More than 1 Block in a BlockGroup is not "
-
-
-
- 261 block_data_.reset( new uint8_t[size]);
- 262 memcpy(block_data_.get(), data, size);
- 263 block_data_size_ = size;
-
-
- 266 case kWebMIdBlockAdditional: {
- 267 uint64_t block_add_id = base::HostToNet64(block_add_id_);
- 268 if (block_additional_data_) {
-
-
-
-
- 273 LOG(ERROR) << "More than 1 BlockAdditional in a "
- 274 "BlockGroup is not supported.";
-
-
-
-
-
- 280 block_additional_data_size_ = size + sizeof(block_add_id);
- 281 block_additional_data_.reset( new uint8_t[block_additional_data_size_]);
- 282 memcpy(block_additional_data_.get(), &block_add_id,
- 283 sizeof(block_add_id));
- 284 memcpy(block_additional_data_.get() + 8, data, size);
-
-
- 287 case kWebMIdDiscardPadding: {
- 288 if (discard_padding_set_ || size <= 0 || size > 8)
-
- 290 discard_padding_set_ = true;
-
-
- 293 discard_padding_ = static_cast<int8_t >(data[0]);
- 294 for ( int i = 1; i < size; ++i)
- 295 discard_padding_ = (discard_padding_ << 8) | data[i];
-
+
+
+
+
+
+
+
+
+
+ 209 bool WebMClusterParser::ParseBlock( bool is_simple_block,
+
+
+ 212 const uint8_t* additional,
+
+
+ 215 int64_t discard_padding) {
+
+
+
+
+
+ 221 if (!(buf[0] & 0x80)) {
+ 222 LOG(ERROR) << "TrackNumber over 127 not supported";
+
+
+
+ 226 int track_num = buf[0] & 0x7f;
+ 227 int timecode = buf[1] << 8 | buf[2];
+ 228 int flags = buf[3] & 0xff;
+ 229 int lacing = (flags >> 1) & 0x3;
+
+
+ 232 LOG(ERROR) << "Lacing " << lacing << " is not supported yet.";
+
+
+
+
+ 237 if (timecode & 0x8000)
+
+
+ 240 const uint8_t* frame_data = buf + 4;
+ 241 int frame_size = size - (frame_data - buf);
+ 242 return OnBlock(is_simple_block, track_num, timecode, duration, flags,
+ 243 frame_data, frame_size, additional, additional_size,
+
+
+
+ 247 bool WebMClusterParser::OnBinary( int id, const uint8_t* data, int size) {
+
+ 249 case kWebMIdSimpleBlock:
+ 250 return ParseBlock( true, data, size, NULL, 0, -1, 0);
+
+
+
+ 254 LOG(ERROR) << "More than 1 Block in a BlockGroup is not "
+
+
+
+ 258 block_data_.reset( new uint8_t[size]);
+ 259 memcpy(block_data_.get(), data, size);
+ 260 block_data_size_ = size;
+
+
+ 263 case kWebMIdBlockAdditional: {
+ 264 uint64_t block_add_id = base::HostToNet64(block_add_id_);
+ 265 if (block_additional_data_) {
+
+
+
+
+ 270 LOG(ERROR) << "More than 1 BlockAdditional in a "
+ 271 "BlockGroup is not supported.";
+
+
+
+
+
+ 277 block_additional_data_size_ = size + sizeof(block_add_id);
+ 278 block_additional_data_.reset( new uint8_t[block_additional_data_size_]);
+ 279 memcpy(block_additional_data_.get(), &block_add_id,
+ 280 sizeof(block_add_id));
+ 281 memcpy(block_additional_data_.get() + 8, data, size);
+
+
+ 284 case kWebMIdDiscardPadding: {
+ 285 if (discard_padding_set_ || size <= 0 || size > 8)
+
+ 287 discard_padding_set_ = true;
+
+
+ 290 discard_padding_ = static_cast<int8_t >(data[0]);
+ 291 for ( int i = 1; i < size; ++i)
+ 292 discard_padding_ = (discard_padding_ << 8) | data[i];
+
+
+
+
-
-
-
-
-
-
- 304 bool WebMClusterParser::OnBlock( bool is_simple_block,
-
-
-
-
-
-
- 311 const uint8_t* additional,
-
- 313 int64_t discard_padding) {
-
- 315 if (cluster_timecode_ == -1) {
- 316 LOG(ERROR) << "Got a block before cluster timecode.";
-
-
-
-
-
-
- 323 LOG(ERROR) << "Got a block with negative timecode offset " << timecode;
-
-
-
- 327 if (last_block_timecode_ != -1 && timecode < last_block_timecode_) {
- 328 LOG(ERROR) << "Got a block with a timecode before the previous block.";
-
-
-
-
- 333 StreamType stream_type = kStreamUnknown;
- 334 std::string encryption_key_id;
- 335 if (track_num == audio_.track_num()) {
-
- 337 encryption_key_id = audio_encryption_key_id_;
- 338 stream_type = kStreamAudio;
- 339 } else if (track_num == video_.track_num()) {
-
- 341 encryption_key_id = video_encryption_key_id_;
- 342 stream_type = kStreamVideo;
- 343 } else if (ignored_tracks_.find(track_num) != ignored_tracks_.end()) {
-
- 345 } else if (Track* const text_track = FindTextTrack(track_num)) {
-
-
- 348 if (block_duration < 0)
-
-
- 351 stream_type = kStreamText;
-
- 353 LOG(ERROR) << "Unexpected track number " << track_num;
-
-
- 356 DCHECK_NE(stream_type, kStreamUnknown);
-
- 358 last_block_timecode_ = timecode;
-
- 360 int64_t timestamp = (cluster_timecode_ + timecode) * timecode_multiplier_;
-
- 362 scoped_refptr<MediaSample> buffer;
- 363 if (stream_type != kStreamText) {
-
-
-
-
-
-
- 370 ? (flags & 0x80) != 0
- 371 : IsKeyframe(stream_type == kStreamVideo,
- 372 video_stream_info_ ? video_stream_info_->codec()
- 373 : kUnknownVideoCodec,
-
-
-
-
-
- 379 scoped_ptr<DecryptConfig> decrypt_config;
-
- 381 if (!encryption_key_id.empty() &&
- 382 !WebMCreateDecryptConfig(
-
- 384 reinterpret_cast<const uint8_t*>(encryption_key_id.data()),
- 385 encryption_key_id.size(),
- 386 &decrypt_config, &data_offset)) {
-
-
+
+
+
+ 301 bool WebMClusterParser::OnBlock( bool is_simple_block,
+
+
+
+
+
+
+ 308 const uint8_t* additional,
+
+ 310 int64_t discard_padding) {
+
+ 312 if (cluster_timecode_ == -1) {
+ 313 LOG(ERROR) << "Got a block before cluster timecode.";
+
+
+
+
+
+
+ 320 LOG(ERROR) << "Got a block with negative timecode offset " << timecode;
+
+
+
+ 324 if (last_block_timecode_ != -1 && timecode < last_block_timecode_) {
+ 325 LOG(ERROR) << "Got a block with a timecode before the previous block.";
+
+
+
+
+ 330 StreamType stream_type = kStreamUnknown;
+ 331 std::string encryption_key_id;
+ 332 if (track_num == audio_.track_num()) {
+
+ 334 encryption_key_id = audio_encryption_key_id_;
+ 335 stream_type = kStreamAudio;
+ 336 } else if (track_num == video_.track_num()) {
+
+ 338 encryption_key_id = video_encryption_key_id_;
+ 339 stream_type = kStreamVideo;
+ 340 } else if (ignored_tracks_.find(track_num) != ignored_tracks_.end()) {
+
+ 342 } else if (Track* const text_track = FindTextTrack(track_num)) {
+
+
+ 345 if (block_duration < 0)
+
+
+ 348 stream_type = kStreamText;
+
+ 350 LOG(ERROR) << "Unexpected track number " << track_num;
+
+
+ 353 DCHECK_NE(stream_type, kStreamUnknown);
+
+ 355 last_block_timecode_ = timecode;
+
+ 357 int64_t timestamp = (cluster_timecode_ + timecode) * timecode_multiplier_;
+
+ 359 scoped_refptr<MediaSample> buffer;
+ 360 if (stream_type != kStreamText) {
+
+
+
+
+
+
+ 367 ? (flags & 0x80) != 0
+ 368 : IsKeyframe(stream_type == kStreamVideo,
+ 369 video_stream_info_ ? video_stream_info_->codec()
+
+
+
+
+
+
+ 376 scoped_ptr<DecryptConfig> decrypt_config;
+
+ 378 if (!encryption_key_id.empty() &&
+ 379 !WebMCreateDecryptConfig(
+
+ 381 reinterpret_cast<const uint8_t*>(encryption_key_id.data()),
+ 382 encryption_key_id.size(),
+ 383 &decrypt_config, &data_offset)) {
+
+
+
+
+ 388 additional, additional_size, is_keyframe);
-
- 391 additional, additional_size, is_keyframe);
-
-
- 394 if (decrypt_config && !decrypt_config->iv().empty()) {
- 395 if (!decryptor_source_) {
- 396 LOG(ERROR) << "Encrypted media sample encountered, but decryption is "
-
-
-
- 400 if (!decryptor_source_->DecryptSampleBuffer(decrypt_config.get(),
- 401 buffer->writable_data(),
- 402 buffer->data_size())) {
- 403 LOG(ERROR) << "Cannot decrypt samples";
-
-
-
-
- 408 std::string id, settings, content;
-
-
- 411 std::vector<uint8_t> side_data;
- 412 MakeSideData( id.begin(), id.end(),
- 413 settings.begin(), settings.end(),
-
-
-
- 417 reinterpret_cast<const uint8_t*>(content.data()), content.length(),
- 418 &side_data[0], side_data.size(), true);
-
-
- 421 buffer->set_dts(timestamp);
- 422 buffer->set_pts(timestamp);
- 423 if (cluster_start_time_ == kNoTimestamp)
- 424 cluster_start_time_ = timestamp;
- 425 buffer->set_duration(block_duration > 0
- 426 ? (block_duration * timecode_multiplier_)
-
-
- 429 if (!init_cb_.is_null() && !initialized_) {
- 430 std::vector<scoped_refptr<StreamInfo>> streams;
- 431 if (audio_stream_info_)
- 432 streams.push_back(audio_stream_info_);
- 433 if (video_stream_info_) {
- 434 if (stream_type == kStreamVideo) {
- 435 scoped_ptr<VPxParser> vpx_parser;
- 436 switch (video_stream_info_->codec()) {
-
- 438 vpx_parser.reset( new VP8Parser);
-
-
- 441 vpx_parser.reset( new VP9Parser);
-
-
- 444 NOTIMPLEMENTED() << "Unsupported codec "
- 445 << video_stream_info_->codec();
-
-
- 448 std::vector<VPxFrameInfo> vpx_frames;
- 449 if (!vpx_parser->Parse(buffer->data(), buffer->data_size(),
-
- 451 LOG(ERROR) << "Failed to parse vpx frame.";
+ 390 if (decrypt_config) {
+ 391 if (!decryptor_source_) {
+ 392 LOG(ERROR) << "Encrypted media sample encountered, but decryption is "
+
+
+
+ 396 if (!decryptor_source_->DecryptSampleBuffer(decrypt_config.get(),
+ 397 buffer->writable_data(),
+ 398 buffer->data_size())) {
+ 399 LOG(ERROR) << "Cannot decrypt samples";
+
+
+
+
+ 404 std::string id, settings, content;
+
+
+ 407 std::vector<uint8_t> side_data;
+ 408 MakeSideData( id.begin(), id.end(),
+ 409 settings.begin(), settings.end(),
+
+
+
+ 413 reinterpret_cast<const uint8_t*>(content.data()), content.length(),
+ 414 &side_data[0], side_data.size(), true);
+
+
+ 417 buffer->set_dts(timestamp);
+ 418 buffer->set_pts(timestamp);
+ 419 if (cluster_start_time_ == kNoTimestamp)
+ 420 cluster_start_time_ = timestamp;
+ 421 buffer->set_duration(block_duration > 0
+ 422 ? (block_duration * timecode_multiplier_)
+
+
+ 425 if (!init_cb_.is_null() && !initialized_) {
+ 426 std::vector<scoped_refptr<StreamInfo>> streams;
+ 427 if (audio_stream_info_)
+ 428 streams.push_back(audio_stream_info_);
+ 429 if (video_stream_info_) {
+ 430 if (stream_type == kStreamVideo) {
+ 431 scoped_ptr<VPxParser> vpx_parser;
+ 432 switch (video_stream_info_->codec()) {
+
+ 434 vpx_parser.reset( new VP8Parser);
+
+
+ 437 vpx_parser.reset( new VP9Parser);
+
+
+ 440 NOTIMPLEMENTED() << "Unsupported codec "
+ 441 << video_stream_info_->codec();
+
+
+ 444 std::vector<VPxFrameInfo> vpx_frames;
+ 445 if (!vpx_parser->Parse(buffer->data(), buffer->data_size(),
+
+ 447 LOG(ERROR) << "Failed to parse vpx frame.";
+
+
+ 450 if (vpx_frames.size() != 1u || !vpx_frames[0].is_keyframe) {
+ 451 LOG(ERROR) << "The first frame should be a key frame.";
- 454 if (vpx_frames.size() != 1u || !vpx_frames[0].is_keyframe) {
- 455 LOG(ERROR) << "The first frame should be a key frame.";
-
-
-
- 459 VPCodecConfigurationRecord codec_config;
- 460 if (!video_stream_info_->codec_config().empty())
- 461 codec_config.ParseWebM(video_stream_info_->codec_config());
- 462 codec_config.MergeFrom(vpx_parser->codec_config());
-
- 464 video_stream_info_->set_codec_string(
- 465 codec_config.GetCodecString(video_stream_info_->codec()));
- 466 std::vector<uint8_t> config_serialized;
- 467 codec_config.WriteMP4(&config_serialized);
- 468 video_stream_info_->set_codec_config(config_serialized);
- 469 streams.push_back(video_stream_info_);
- 470 init_cb_.Run(streams);
-
-
-
- 474 init_cb_.Run(streams);
-
-
-
-
- 479 return track->EmitBuffer(buffer);
-
-
- 482 WebMClusterParser::Track::Track( int track_num,
-
- 484 int64_t default_duration,
-
- 486 : track_num_(track_num),
-
- 488 default_duration_(default_duration),
- 489 estimated_next_frame_duration_(kNoTimestamp),
- 490 new_sample_cb_(new_sample_cb) {
- 491 DCHECK(default_duration_ == kNoTimestamp || default_duration_ > 0);
-
-
- 494 WebMClusterParser::Track::~Track() {}
-
- 496 bool WebMClusterParser::Track::EmitBuffer(
- 497 const scoped_refptr<MediaSample>& buffer) {
- 498 DVLOG(2) << "EmitBuffer() : " << track_num_
- 499 << " ts " << buffer->pts()
- 500 << " dur " << buffer->duration()
- 501 << " kf " << buffer->is_key_frame()
- 502 << " size " << buffer->data_size();
-
- 504 if (last_added_buffer_missing_duration_.get()) {
- 505 int64_t derived_duration =
- 506 buffer->pts() - last_added_buffer_missing_duration_->pts();
- 507 last_added_buffer_missing_duration_->set_duration(derived_duration);
-
- 509 DVLOG(2) << "EmitBuffer() : applied derived duration to held-back buffer : "
-
- 511 << last_added_buffer_missing_duration_->pts()
-
- 513 << last_added_buffer_missing_duration_->duration()
- 514 << " kf " << last_added_buffer_missing_duration_->is_key_frame()
- 515 << " size " << last_added_buffer_missing_duration_->data_size();
- 516 scoped_refptr<MediaSample> updated_buffer =
- 517 last_added_buffer_missing_duration_;
- 518 last_added_buffer_missing_duration_ = NULL;
- 519 if (!EmitBufferHelp(updated_buffer))
-
-
-
- 523 if (buffer->duration() == kNoTimestamp) {
- 524 last_added_buffer_missing_duration_ = buffer;
- 525 DVLOG(2) << "EmitBuffer() : holding back buffer that is missing duration";
-
-
-
- 529 return EmitBufferHelp(buffer);
-
+
+ 455 VPCodecConfigurationRecord codec_config;
+ 456 if (!video_stream_info_->codec_config().empty())
+ 457 codec_config.ParseWebM(video_stream_info_->codec_config());
+ 458 codec_config.MergeFrom(vpx_parser->codec_config());
+
+ 460 video_stream_info_->set_codec_string(
+ 461 codec_config.GetCodecString(video_stream_info_->codec()));
+ 462 std::vector<uint8_t> config_serialized;
+ 463 codec_config.WriteMP4(&config_serialized);
+ 464 video_stream_info_->set_codec_config(config_serialized);
+ 465 streams.push_back(video_stream_info_);
+ 466 init_cb_.Run(streams);
+
+
+
+ 470 init_cb_.Run(streams);
+
+
+
+
+ 475 return track->EmitBuffer(buffer);
+
+
+ 478 WebMClusterParser::Track::Track( int track_num,
+
+ 480 int64_t default_duration,
+
+ 482 : track_num_(track_num),
+
+ 484 default_duration_(default_duration),
+ 485 estimated_next_frame_duration_(kNoTimestamp),
+ 486 new_sample_cb_(new_sample_cb) {
+ 487 DCHECK(default_duration_ == kNoTimestamp || default_duration_ > 0);
+
+
+ 490 WebMClusterParser::Track::~Track() {}
+
+ 492 bool WebMClusterParser::Track::EmitBuffer(
+ 493 const scoped_refptr<MediaSample>& buffer) {
+ 494 DVLOG(2) << "EmitBuffer() : " << track_num_
+ 495 << " ts " << buffer->pts()
+ 496 << " dur " << buffer->duration()
+ 497 << " kf " << buffer->is_key_frame()
+ 498 << " size " << buffer->data_size();
+
+ 500 if (last_added_buffer_missing_duration_.get()) {
+ 501 int64_t derived_duration =
+ 502 buffer->pts() - last_added_buffer_missing_duration_->pts();
+ 503 last_added_buffer_missing_duration_->set_duration(derived_duration);
+
+ 505 DVLOG(2) << "EmitBuffer() : applied derived duration to held-back buffer : "
+
+ 507 << last_added_buffer_missing_duration_->pts()
+
+ 509 << last_added_buffer_missing_duration_->duration()
+ 510 << " kf " << last_added_buffer_missing_duration_->is_key_frame()
+ 511 << " size " << last_added_buffer_missing_duration_->data_size();
+ 512 scoped_refptr<MediaSample> updated_buffer =
+ 513 last_added_buffer_missing_duration_;
+ 514 last_added_buffer_missing_duration_ = NULL;
+ 515 if (!EmitBufferHelp(updated_buffer))
+
+
+
+ 519 if (buffer->duration() == kNoTimestamp) {
+ 520 last_added_buffer_missing_duration_ = buffer;
+ 521 DVLOG(2) << "EmitBuffer() : holding back buffer that is missing duration";
+
+
+
+ 525 return EmitBufferHelp(buffer);
+
+
+ 528 bool WebMClusterParser::Track::ApplyDurationEstimateIfNeeded() {
+ 529 if (!last_added_buffer_missing_duration_.get())
+
- 532 bool WebMClusterParser::Track::ApplyDurationEstimateIfNeeded() {
- 533 if (!last_added_buffer_missing_duration_.get())
-
-
- 536 int64_t estimated_duration = GetDurationEstimate();
- 537 last_added_buffer_missing_duration_->set_duration(estimated_duration);
-
- 539 VLOG(1) << "Track " << track_num_ << ": Estimating WebM block duration to be "
- 540 << estimated_duration / 1000
- 541 << "ms for the last (Simple)Block in the Cluster for this Track. Use "
- 542 "BlockGroups with BlockDurations at the end of each Track in a "
- 543 "Cluster to avoid estimation.";
-
- 545 DVLOG(2) << " new dur : ts " << last_added_buffer_missing_duration_->pts()
- 546 << " dur " << last_added_buffer_missing_duration_->duration()
- 547 << " kf " << last_added_buffer_missing_duration_->is_key_frame()
- 548 << " size " << last_added_buffer_missing_duration_->data_size();
-
-
-
- 552 if (!new_sample_cb_.Run(track_num_, last_added_buffer_missing_duration_))
-
- 554 last_added_buffer_missing_duration_ = NULL;
-
+ 532 int64_t estimated_duration = GetDurationEstimate();
+ 533 last_added_buffer_missing_duration_->set_duration(estimated_duration);
+
+ 535 VLOG(1) << "Track " << track_num_ << ": Estimating WebM block duration to be "
+ 536 << estimated_duration / 1000
+ 537 << "ms for the last (Simple)Block in the Cluster for this Track. Use "
+ 538 "BlockGroups with BlockDurations at the end of each Track in a "
+ 539 "Cluster to avoid estimation.";
+
+ 541 DVLOG(2) << " new dur : ts " << last_added_buffer_missing_duration_->pts()
+ 542 << " dur " << last_added_buffer_missing_duration_->duration()
+ 543 << " kf " << last_added_buffer_missing_duration_->is_key_frame()
+ 544 << " size " << last_added_buffer_missing_duration_->data_size();
+
+
+
+ 548 if (!new_sample_cb_.Run(track_num_, last_added_buffer_missing_duration_))
+
+ 550 last_added_buffer_missing_duration_ = NULL;
+
+
+
+ 554 void WebMClusterParser::Track::Reset() {
+ 555 last_added_buffer_missing_duration_ = NULL;
- 558 void WebMClusterParser::Track::Reset() {
- 559 last_added_buffer_missing_duration_ = NULL;
-
+ 558 bool WebMClusterParser::Track::EmitBufferHelp(
+ 559 const scoped_refptr<MediaSample>& buffer) {
+ 560 DCHECK(!last_added_buffer_missing_duration_.get());
- 562 bool WebMClusterParser::Track::EmitBufferHelp(
- 563 const scoped_refptr<MediaSample>& buffer) {
- 564 DCHECK(!last_added_buffer_missing_duration_.get());
-
- 566 int64_t duration = buffer->duration();
- 567 if (duration < 0 || duration == kNoTimestamp) {
- 568 LOG(ERROR) << "Invalid buffer duration: " << duration;
-
-
-
-
-
-
- 575 int64_t orig_duration_estimate = estimated_next_frame_duration_;
- 576 if (estimated_next_frame_duration_ == kNoTimestamp) {
- 577 estimated_next_frame_duration_ = duration;
-
- 579 estimated_next_frame_duration_ =
- 580 std::max(duration, estimated_next_frame_duration_);
-
-
- 583 if (orig_duration_estimate != estimated_next_frame_duration_) {
- 584 DVLOG(3) << "Updated duration estimate:"
- 585 << orig_duration_estimate
-
- 587 << estimated_next_frame_duration_
-
-
-
-
-
- 593 return new_sample_cb_.Run(track_num_, buffer);
-
-
- 596 int64_t WebMClusterParser::Track::GetDurationEstimate() {
- 597 int64_t duration = kNoTimestamp;
- 598 if (default_duration_ != kNoTimestamp) {
- 599 duration = default_duration_;
- 600 DVLOG(3) << __FUNCTION__ << " : using track default duration " << duration;
- 601 } else if (estimated_next_frame_duration_ != kNoTimestamp) {
- 602 duration = estimated_next_frame_duration_;
- 603 DVLOG(3) << __FUNCTION__ << " : using estimated duration " << duration;
-
-
- 606 duration = kDefaultVideoBufferDurationInMs * kMicrosecondsPerMillisecond;
-
- 608 duration = kDefaultAudioBufferDurationInMs * kMicrosecondsPerMillisecond;
-
- 610 DVLOG(3) << __FUNCTION__ << " : using hardcoded default duration "
-
-
-
- 614 DCHECK_GT(duration, 0);
- 615 DCHECK_NE(duration, kNoTimestamp);
-
-
-
- 619 void WebMClusterParser::ResetTextTracks() {
- 620 for (TextTrackMap::iterator it = text_track_map_.begin();
- 621 it != text_track_map_.end();
-
-
-
-
+ 562 int64_t duration = buffer->duration();
+ 563 if (duration < 0 || duration == kNoTimestamp) {
+ 564 LOG(ERROR) << "Invalid buffer duration: " << duration;
+
+
+
+
+
+
+ 571 int64_t orig_duration_estimate = estimated_next_frame_duration_;
+ 572 if (estimated_next_frame_duration_ == kNoTimestamp) {
+ 573 estimated_next_frame_duration_ = duration;
+
+ 575 estimated_next_frame_duration_ =
+ 576 std::max(duration, estimated_next_frame_duration_);
+
+
+ 579 if (orig_duration_estimate != estimated_next_frame_duration_) {
+ 580 DVLOG(3) << "Updated duration estimate:"
+ 581 << orig_duration_estimate
+
+ 583 << estimated_next_frame_duration_
+
+
+
+
+
+ 589 return new_sample_cb_.Run(track_num_, buffer);
+
+
+ 592 int64_t WebMClusterParser::Track::GetDurationEstimate() {
+ 593 int64_t duration = kNoTimestamp;
+ 594 if (default_duration_ != kNoTimestamp) {
+ 595 duration = default_duration_;
+ 596 DVLOG(3) << __FUNCTION__ << " : using track default duration " << duration;
+ 597 } else if (estimated_next_frame_duration_ != kNoTimestamp) {
+ 598 duration = estimated_next_frame_duration_;
+ 599 DVLOG(3) << __FUNCTION__ << " : using estimated duration " << duration;
+
+
+ 602 duration = kDefaultVideoBufferDurationInMs * kMicrosecondsPerMillisecond;
+
+ 604 duration = kDefaultAudioBufferDurationInMs * kMicrosecondsPerMillisecond;
+
+ 606 DVLOG(3) << __FUNCTION__ << " : using hardcoded default duration "
+
+
+
+ 610 DCHECK_GT(duration, 0);
+ 611 DCHECK_NE(duration, kNoTimestamp);
+
+
+
+ 615 void WebMClusterParser::ResetTextTracks() {
+ 616 for (TextTrackMap::iterator it = text_track_map_.begin();
+ 617 it != text_track_map_.end();
+
+
+
+
+
+ 623 WebMClusterParser::Track*
+ 624 WebMClusterParser::FindTextTrack( int track_num) {
+ 625 const TextTrackMap::iterator it = text_track_map_.find(track_num);
- 627 WebMClusterParser::Track*
- 628 WebMClusterParser::FindTextTrack( int track_num) {
- 629 const TextTrackMap::iterator it = text_track_map_.find(track_num);
-
- 631 if (it == text_track_map_.end())
-
-
-
-
-
-
-
+ 627 if (it == text_track_map_.end())
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
diff --git a/docs/d5/d91/es__parser__adts_8cc_source.html b/docs/d5/d91/es__parser__adts_8cc_source.html
index 212c426ae1..b98ffc5e6a 100644
--- a/docs/d5/d91/es__parser__adts_8cc_source.html
+++ b/docs/d5/d91/es__parser__adts_8cc_source.html
@@ -310,75 +310,63 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
221 ? std::min(2 * samples_per_second, 48000)
222 : samples_per_second;
- 224 last_audio_decoder_config_ = scoped_refptr<StreamInfo>(
-
-
-
-
-
-
- 231 adts_header.GetObjectType()),
-
-
- 234 adts_header.GetNumChannels(),
- 235 extended_samples_per_second,
-
-
-
-
- 240 audio_specific_config.data(),
- 241 audio_specific_config.size(),
-
-
- 244 DVLOG(1) << "Sampling frequency: " << samples_per_second;
- 245 DVLOG(1) << "Extended sampling frequency: " << extended_samples_per_second;
- 246 DVLOG(1) << "Channel config: " << adts_header.GetNumChannels();
- 247 DVLOG(1) << "Object type: " << adts_header.GetObjectType();
-
- 249 if (audio_timestamp_helper_) {
- 250 int64_t base_timestamp = audio_timestamp_helper_->GetTimestamp();
- 251 audio_timestamp_helper_.reset(
- 252 new AudioTimestampHelper(kMpeg2Timescale, samples_per_second));
- 253 audio_timestamp_helper_->SetBaseTimestamp(base_timestamp);
-
- 255 audio_timestamp_helper_.reset(
- 256 new AudioTimestampHelper(kMpeg2Timescale, extended_samples_per_second));
-
-
-
- 260 new_stream_info_cb_.Run(last_audio_decoder_config_);
+ 224 last_audio_decoder_config_ = scoped_refptr<StreamInfo>( new AudioStreamInfo(
+ 225 pid(), kMpeg2Timescale, kInfiniteDuration, kCodecAAC,
+
+ 227 audio_specific_config.data(), audio_specific_config.size(),
+ 228 kAacSampleSizeBits, adts_header.GetNumChannels(),
+ 229 extended_samples_per_second, 0 , 0 ,
+ 230 0 , 0 , std::string(), false));
+
+ 232 DVLOG(1) << "Sampling frequency: " << samples_per_second;
+ 233 DVLOG(1) << "Extended sampling frequency: " << extended_samples_per_second;
+ 234 DVLOG(1) << "Channel config: " << adts_header.GetNumChannels();
+ 235 DVLOG(1) << "Object type: " << adts_header.GetObjectType();
+
+ 237 if (audio_timestamp_helper_) {
+ 238 int64_t base_timestamp = audio_timestamp_helper_->GetTimestamp();
+ 239 audio_timestamp_helper_.reset(
+ 240 new AudioTimestampHelper(kMpeg2Timescale, samples_per_second));
+ 241 audio_timestamp_helper_->SetBaseTimestamp(base_timestamp);
+
+ 243 audio_timestamp_helper_.reset(
+ 244 new AudioTimestampHelper(kMpeg2Timescale, extended_samples_per_second));
+
+
+
+ 248 new_stream_info_cb_.Run(last_audio_decoder_config_);
+
+
+
+
+ 253 void EsParserAdts::DiscardEs( int nbytes) {
+ 254 DCHECK_GE(nbytes, 0);
+
+
+
+
+ 259 for (EsPtsList::iterator it = pts_list_.begin(); it != pts_list_.end(); ++it)
+
-
-
-
- 265 void EsParserAdts::DiscardEs( int nbytes) {
- 266 DCHECK_GE(nbytes, 0);
-
-
-
-
- 271 for (EsPtsList::iterator it = pts_list_.begin(); it != pts_list_.end(); ++it)
-
-
-
- 275 es_byte_queue_. Pop(nbytes);
-
-
-
-
-
-
+
+ 263 es_byte_queue_. Pop(nbytes);
+
+
+
+
+
+
diff --git a/docs/d5/d95/structshaka_1_1media_1_1mp4_1_1EditListEntry-members.html b/docs/d5/d95/structshaka_1_1media_1_1mp4_1_1EditListEntry-members.html
index 68f77c6909..f613104387 100644
--- a/docs/d5/d95/structshaka_1_1media_1_1mp4_1_1EditListEntry-members.html
+++ b/docs/d5/d95/structshaka_1_1media_1_1mp4_1_1EditListEntry-members.html
@@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d98/encryptor_8cc_source.html b/docs/d5/d98/encryptor_8cc_source.html
index e50637960f..6228691714 100644
--- a/docs/d5/d98/encryptor_8cc_source.html
+++ b/docs/d5/d98/encryptor_8cc_source.html
@@ -95,146 +95,228 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
7 #include "packager/media/formats/webm/encryptor.h"
- 9 #include "packager/media/base/aes_encryptor.h"
- 10 #include "packager/media/base/fourccs.h"
- 11 #include "packager/media/base/media_sample.h"
-
-
-
-
-
-
- 18 Status CreateContentEncryption(mkvmuxer::Track* track, EncryptionKey* key) {
- 19 if (!track->AddContentEncoding()) {
- 20 return Status(error::INTERNAL_ERROR,
- 21 "Could not add ContentEncoding to track.");
-
+ 9 #include <gflags/gflags.h>
+ 10 #include "packager/media/base/aes_encryptor.h"
+ 11 #include "packager/media/base/buffer_writer.h"
+ 12 #include "packager/media/base/fourccs.h"
+ 13 #include "packager/media/base/media_sample.h"
+ 14 #include "packager/media/codecs/vp9_parser.h"
+ 15 #include "packager/media/formats/webm/webm_constants.h"
+
+
+
+
+
+
+ 22 const size_t kAesBlockSize = 16;
- 24 mkvmuxer::ContentEncoding* const encoding =
- 25 track->GetContentEncodingByIndex(0);
-
- 27 return Status(error::INTERNAL_ERROR,
- 28 "Could not add ContentEncoding to track.");
-
-
- 31 mkvmuxer::ContentEncAESSettings* const aes = encoding->enc_aes_settings();
-
+ 24 Status CreateContentEncryption(mkvmuxer::Track* track, EncryptionKey* key) {
+ 25 if (!track->AddContentEncoding()) {
+ 26 return Status(error::INTERNAL_ERROR,
+ 27 "Could not add ContentEncoding to track.");
+
+
+ 30 mkvmuxer::ContentEncoding* const encoding =
+ 31 track->GetContentEncodingByIndex(0);
+
33 return Status(error::INTERNAL_ERROR,
- 34 "Error getting ContentEncAESSettings.");
+ 34 "Could not add ContentEncoding to track.");
- 36 if (aes->cipher_mode() != mkvmuxer::ContentEncAESSettings::kCTR) {
- 37 return Status(error::INTERNAL_ERROR, "Cipher Mode is not CTR.");
-
-
- 40 if (!key->key_id.empty() &&
- 41 !encoding->SetEncryptionID(
- 42 reinterpret_cast<const uint8*>(key->key_id.data()),
- 43 key->key_id.size())) {
- 44 return Status(error::INTERNAL_ERROR, "Error setting encryption ID.");
-
-
-
-
-
-
- 51 Encryptor::Encryptor() {}
-
- 53 Encryptor::~Encryptor() {}
+
+ 37 mkvmuxer::ContentEncAESSettings* const aes = encoding->enc_aes_settings();
+
+ 39 return Status(error::INTERNAL_ERROR,
+ 40 "Error getting ContentEncAESSettings.");
+
+ 42 if (aes->cipher_mode() != mkvmuxer::ContentEncAESSettings::kCTR) {
+ 43 return Status(error::INTERNAL_ERROR, "Cipher Mode is not CTR.");
+
+
+ 46 if (!key->key_id.empty() &&
+ 47 !encoding->SetEncryptionID(
+ 48 reinterpret_cast<const uint8*>(key->key_id.data()),
+ 49 key->key_id.size())) {
+ 50 return Status(error::INTERNAL_ERROR, "Error setting encryption ID.");
+
+
+
-
- 56 KeySource::TrackType track_type,
-
-
- 59 return CreateEncryptor(muxer_listener, track_type, key_source);
-
-
-
-
- 64 return CreateContentEncryption(track, key_.get());
-
-
-
-
-
+
+
+ 57 Encryptor::Encryptor() {}
+
+ 59 Encryptor::~Encryptor() {}
+
+
+ 62 KeySource::TrackType track_type,
+
+
+ 65 bool webm_subsample_encryption) {
+
+ 67 return CreateEncryptor(muxer_listener, track_type, codec, key_source,
+ 68 webm_subsample_encryption);
+
- 71 const size_t sample_size = sample->data_size();
-
-
- 74 const size_t iv_size = encryptor_->iv().size();
- 75 sample->resize_data(sample_size + iv_size + 1);
- 76 uint8_t* sample_data = sample->writable_data();
-
-
- 79 if (!encryptor_->Crypt(sample_data, sample_size, sample_data)) {
- 80 return Status(error::MUXER_FAILURE, "Failed to encrypt the frame.");
-
-
-
-
- 85 memmove(sample_data + iv_size + 1, sample_data, sample_size);
- 86 sample_data[0] = 0x01;
- 87 memcpy(sample_data + 1, encryptor_->iv().data(), iv_size);
-
- 89 encryptor_->UpdateIv();
-
-
- 92 sample->resize_data(sample_size + 1);
- 93 uint8_t* sample_data = sample->writable_data();
- 94 memmove(sample_data + 1, sample_data, sample_size);
- 95 sample_data[0] = 0x00;
-
-
-
-
+
+
+ 73 return CreateContentEncryption(track, key_.get());
+
+
+
+
+
+
+ 80 const size_t sample_size = sample->data_size();
+
+
+
+ 84 std::vector<VPxFrameInfo> vpx_frames;
+
+ 86 if (!vpx_parser_->Parse(sample->data(), sample_size, &vpx_frames)) {
+ 87 return Status(error::MUXER_FAILURE, "Failed to parse VPx frame.");
+
+
+
+
+ 92 const size_t iv_size = encryptor_->iv().size();
+ 93 if (iv_size != kWebMIvSize) {
+ 94 return Status(error::MUXER_FAILURE,
+ 95 "Incorrect size WebM encryption IV.");
+
+ 97 if (vpx_frames.size()) {
+
+
-
- 102 KeySource::TrackType track_type,
-
- 104 scoped_ptr<EncryptionKey> encryption_key( new EncryptionKey());
- 105 Status status = key_source-> GetKey(track_type, encryption_key.get());
-
-
- 108 if (encryption_key->iv.empty()) {
-
- 110 return Status(error::INTERNAL_ERROR, "Failed to generate random iv.");
-
-
-
- 114 const bool initialized =
- 115 encryptor->InitializeWithIv(encryption_key->key, encryption_key->iv);
-
- 117 return Status(error::INTERNAL_ERROR, "Failed to create the encryptor.");
-
- 119 if (muxer_listener) {
- 120 const bool kInitialEncryptionInfo = true;
-
- 122 kInitialEncryptionInfo, FOURCC_cenc, encryption_key->key_id,
- 123 encryptor->iv(), encryption_key->key_system_info);
-
-
- 126 key_ = encryption_key.Pass();
- 127 encryptor_ = encryptor.Pass();
-
-
-
-
-
-
+ 101 if (vpx_frames.size() > kWebMMaxSubsamples) {
+ 102 return Status(error::MUXER_FAILURE,
+ 103 "Maximum number of VPx encryption partitions exceeded.");
+
+ 105 uint8_t num_partitions =
+ 106 vpx_frames.size() == 1 ? 1 : vpx_frames.size() * 2;
+ 107 size_t header_size = kWebMSignalByteSize + iv_size +
+ 108 kWebMNumPartitionsSize +
+ 109 (kWebMPartitionOffsetSize * num_partitions);
+ 110 sample->resize_data(header_size + sample_size);
+ 111 uint8_t* sample_data = sample->writable_data();
+ 112 memmove(sample_data + header_size, sample_data, sample_size);
+ 113 sample_data[0] = kWebMEncryptedSignal | kWebMPartitionedSignal;
+ 114 memcpy(sample_data + kWebMSignalByteSize, encryptor_->iv().data(),
+
+ 116 sample_data[kWebMSignalByteSize + kWebMIvSize] = num_partitions;
+ 117 uint32 partition_offset = 0;
+ 118 BufferWriter offsets_buffer(kWebMPartitionOffsetSize * num_partitions);
+ 119 for ( const auto& vpx_frame : vpx_frames) {
+ 120 uint32_t encrypted_size =
+ 121 vpx_frame.frame_size - vpx_frame.uncompressed_header_size;
+ 122 encrypted_size -= encrypted_size % kAesBlockSize;
+ 123 uint32_t clear_size = vpx_frame.frame_size - encrypted_size;
+ 124 partition_offset += clear_size;
+ 125 offsets_buffer. AppendInt(partition_offset);
+ 126 if (encrypted_size > 0) {
+ 127 uint8_t* encrypted_ptr = sample_data + header_size + partition_offset;
+ 128 if (!encryptor_->Crypt(encrypted_ptr, encrypted_size, encrypted_ptr)) {
+ 129 return Status(error::MUXER_FAILURE, "Failed to encrypt the frame.");
+
+ 131 partition_offset += encrypted_size;
+
+ 133 if (num_partitions > 1) {
+ 134 offsets_buffer. AppendInt(partition_offset);
+
+
+ 137 DCHECK_EQ(num_partitions * kWebMPartitionOffsetSize,
+ 138 offsets_buffer.Size());
+ 139 memcpy(sample_data + kWebMSignalByteSize + kWebMIvSize +
+ 140 kWebMNumPartitionsSize,
+ 141 offsets_buffer. Buffer(), offsets_buffer.Size());
+
+
+
+ 145 sample->resize_data(sample_size + iv_size + kWebMSignalByteSize);
+ 146 uint8_t* sample_data = sample->writable_data();
+
+
+ 149 if (!encryptor_->Crypt(sample_data, sample_size, sample_data)) {
+ 150 return Status(error::MUXER_FAILURE, "Failed to encrypt the frame.");
+
+
+
+
+ 155 memmove(sample_data + iv_size + kWebMSignalByteSize, sample_data,
+
+ 157 sample_data[0] = kWebMEncryptedSignal;
+ 158 memcpy(sample_data + 1, encryptor_->iv().data(), iv_size);
+
+ 160 encryptor_->UpdateIv();
+
+
+ 163 sample->resize_data(sample_size + 1);
+ 164 uint8_t* sample_data = sample->writable_data();
+ 165 memmove(sample_data + 1, sample_data, sample_size);
+ 166 sample_data[0] = 0x00;
+
+
+
+
+
+
+ 173 KeySource::TrackType track_type,
+
+
+ 176 bool webm_subsample_encryption) {
+ 177 scoped_ptr<EncryptionKey> encryption_key( new EncryptionKey());
+ 178 Status status = key_source-> GetKey(track_type, encryption_key.get());
+
+
+ 181 if (encryption_key->iv.empty()) {
+
+ 183 return Status(error::INTERNAL_ERROR, "Failed to generate random iv.");
+
+ 185 DCHECK_EQ(kWebMIvSize, encryption_key->iv.size());
+
+ 187 const bool initialized =
+ 188 encryptor->InitializeWithIv(encryption_key->key, encryption_key->iv);
+
+ 190 return Status(error::INTERNAL_ERROR, "Failed to create the encryptor.");
+
+ 192 if (webm_subsample_encryption && codec == kCodecVP9) {
+
+
+
+
+ 197 if (muxer_listener) {
+ 198 const bool kInitialEncryptionInfo = true;
+
+ 200 kInitialEncryptionInfo, FOURCC_cenc, encryption_key->key_id,
+ 201 encryptor->iv(), encryption_key->key_system_info);
+
+
+ 204 key_ = encryption_key.Pass();
+ 205 encryptor_ = encryptor.Pass();
+
+
+
+
+
+
-
+
+
+
+
+
+
-
-
+
diff --git a/docs/d5/d9b/vp__codec__configuration__record_8h_source.html b/docs/d5/d9b/vp__codec__configuration__record_8h_source.html
index f905e69900..7f34a865e0 100644
--- a/docs/d5/d9b/vp__codec__configuration__record_8h_source.html
+++ b/docs/d5/d9b/vp__codec__configuration__record_8h_source.html
@@ -147,7 +147,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
68 void WriteWebM(std::vector<uint8_t>* data) const;
-
+
@@ -217,14 +217,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
138 #endif // MEDIA_CODECS_VP_CODEC_CONFIGURATION_RECORD_H_
+
-
diff --git a/docs/d5/d9d/structshaka_1_1media_1_1H265ReferencePictureListModifications.html b/docs/d5/d9d/structshaka_1_1media_1_1H265ReferencePictureListModifications.html
index 2b14a44c2b..f652128ae9 100644
--- a/docs/d5/d9d/structshaka_1_1media_1_1H265ReferencePictureListModifications.html
+++ b/docs/d5/d9d/structshaka_1_1media_1_1H265ReferencePictureListModifications.html
@@ -119,7 +119,7 @@ std::vector< int > | l
diff --git a/docs/d5/da4/aes__encryptor_8cc_source.html b/docs/d5/da4/aes__encryptor_8cc_source.html
index 268b679720..32e6fd9261 100644
--- a/docs/d5/da4/aes__encryptor_8cc_source.html
+++ b/docs/d5/da4/aes__encryptor_8cc_source.html
@@ -297,7 +297,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/dad/structshaka_1_1media_1_1H265ReferencePictureSet.html b/docs/d5/dad/structshaka_1_1media_1_1H265ReferencePictureSet.html
index cab0990ced..6376aa7acd 100644
--- a/docs/d5/dad/structshaka_1_1media_1_1H265ReferencePictureSet.html
+++ b/docs/d5/dad/structshaka_1_1media_1_1H265ReferencePictureSet.html
@@ -127,7 +127,7 @@ int | num_delta_pocs |
diff --git a/docs/d5/db1/classshaka_1_1media_1_1StreamInfo.html b/docs/d5/db1/classshaka_1_1media_1_1StreamInfo.html
index c06150233e..63ec66d898 100644
--- a/docs/d5/db1/classshaka_1_1media_1_1StreamInfo.html
+++ b/docs/d5/db1/classshaka_1_1media_1_1StreamInfo.html
@@ -113,9 +113,9 @@ Inheritance diagram for shaka::media::StreamInfo:
|
-
- | StreamInfo (StreamType stream_type, int track_id, uint32_t time_scale, uint64_t duration, const std::string &codec_string, const std::string &language, const uint8_t *codec_config, size_t codec_config_size, bool is_encrypted) |
- |
+
+ | StreamInfo (StreamType stream_type, int track_id, uint32_t time_scale, uint64_t duration, Codec codec, const std::string &codec_string, const uint8_t *codec_config, size_t codec_config_size, const std::string &language, bool is_encrypted) |
+ |
virtual bool | IsValidConfig () const =0 |
|
virtual std::string | ToString () const |
@@ -132,21 +132,27 @@ uint32_t time_scale ()
|
uint64_t | duration () const |
|
+
+Codec | codec () const |
+ |
const std::string & | codec_string () const |
|
+
+const std::vector< uint8_t > & | codec_config () const |
+ |
const std::string & | language () const |
|
bool | is_encrypted () const |
|
-
-const std::vector< uint8_t > & | codec_config () const |
- |
void | set_duration (int duration) |
|
+
+void | set_codec (Codec codec) |
+ |
void | set_codec_config (const std::vector< uint8_t > &data) |
|
@@ -166,7 +172,7 @@ class base::RefCountedThre
Abstract class holds stream information.
- Definition at line 26 of file stream_info.h.
+ Definition at line 53 of file stream_info.h.
@@ -190,7 +196,7 @@ class | base::RefCountedThre
@@ -218,7 +224,7 @@ class | base::RefCountedThre
Reimplemented in shaka::media::AudioStreamInfo, and shaka::media::VideoStreamInfo.
-Definition at line 40 of file stream_info.cc.
+Definition at line 37 of file stream_info.cc.
@@ -229,7 +235,7 @@ class | base::RefCountedThre
diff --git a/docs/d5/db9/classshaka_1_1media_1_1mp2t_1_1EsParserH264.html b/docs/d5/db9/classshaka_1_1media_1_1mp2t_1_1EsParserH264.html
index ed866e2245..06e4d78387 100644
--- a/docs/d5/db9/classshaka_1_1media_1_1mp2t_1_1EsParserH264.html
+++ b/docs/d5/db9/classshaka_1_1media_1_1mp2t_1_1EsParserH264.html
@@ -161,7 +161,7 @@ const
diff --git a/docs/d5/dba/ts__packet_8cc_source.html b/docs/d5/dba/ts__packet_8cc_source.html
index 04534f0adb..96683c02af 100644
--- a/docs/d5/dba/ts__packet_8cc_source.html
+++ b/docs/d5/dba/ts__packet_8cc_source.html
@@ -304,7 +304,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/dc1/webm__webvtt__parser_8cc_source.html b/docs/d5/dc1/webm__webvtt__parser_8cc_source.html
index d98b828b04..0aeb75f281 100644
--- a/docs/d5/dc1/webm__webvtt__parser_8cc_source.html
+++ b/docs/d5/dc1/webm__webvtt__parser_8cc_source.html
@@ -171,7 +171,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/dc8/structshaka_1_1media_1_1mp4_1_1TrackFragment-members.html b/docs/d5/dc8/structshaka_1_1media_1_1mp4_1_1TrackFragment-members.html
index 9fc1bfad3e..f255491920 100644
--- a/docs/d5/dc8/structshaka_1_1media_1_1mp4_1_1TrackFragment-members.html
+++ b/docs/d5/dc8/structshaka_1_1media_1_1mp4_1_1TrackFragment-members.html
@@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
|
diff --git a/docs/d5/dca/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationOffset.html b/docs/d5/dca/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationOffset.html
index c1f8036848..a64350afb4 100644
--- a/docs/d5/dca/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationOffset.html
+++ b/docs/d5/dca/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationOffset.html
@@ -182,7 +182,7 @@ Additional Inherited Members
diff --git a/docs/d5/dcf/rsa__key_8h_source.html b/docs/d5/dcf/rsa__key_8h_source.html
index 093f88b7ca..418d1e3563 100644
--- a/docs/d5/dcf/rsa__key_8h_source.html
+++ b/docs/d5/dcf/rsa__key_8h_source.html
@@ -165,7 +165,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/dda/ts__section__psi_8h_source.html b/docs/d5/dda/ts__section__psi_8h_source.html
index c04787b863..f9963a11ba 100644
--- a/docs/d5/dda/ts__section__psi_8h_source.html
+++ b/docs/d5/dda/ts__section__psi_8h_source.html
@@ -151,7 +151,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/de0/bit__reader_8cc_source.html b/docs/d5/de0/bit__reader_8cc_source.html
index 4240a96db8..ede62643fb 100644
--- a/docs/d5/de0/bit__reader_8cc_source.html
+++ b/docs/d5/de0/bit__reader_8cc_source.html
@@ -199,7 +199,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html b/docs/d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html
index f25b6fbfcd..99588c0236 100644
--- a/docs/d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html
+++ b/docs/d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html
@@ -306,7 +306,7 @@ class PesPacketGeneratorTe
diff --git a/docs/d5/dec/classshaka_1_1media_1_1WebMParserClient.html b/docs/d5/dec/classshaka_1_1media_1_1WebMParserClient.html
index 41da6c3a24..33fe59b93d 100644
--- a/docs/d5/dec/classshaka_1_1media_1_1WebMParserClient.html
+++ b/docs/d5/dec/classshaka_1_1media_1_1WebMParserClient.html
@@ -151,7 +151,7 @@ Protected Member Functions |
diff --git a/docs/d5/dec/decoder__configuration__record_8cc_source.html b/docs/d5/dec/decoder__configuration__record_8cc_source.html
index b27e5f1bbc..f1820d943e 100644
--- a/docs/d5/dec/decoder__configuration__record_8cc_source.html
+++ b/docs/d5/dec/decoder__configuration__record_8cc_source.html
@@ -120,7 +120,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/dec/structshaka_1_1media_1_1mp4_1_1WebVTTConfigurationBox-members.html b/docs/d5/dec/structshaka_1_1media_1_1mp4_1_1WebVTTConfigurationBox-members.html
index 0ef5d08392..eb512d3938 100644
--- a/docs/d5/dec/structshaka_1_1media_1_1mp4_1_1WebVTTConfigurationBox-members.html
+++ b/docs/d5/dec/structshaka_1_1media_1_1mp4_1_1WebVTTConfigurationBox-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/def/ts__section__pmt_8h_source.html b/docs/d5/def/ts__section__pmt_8h_source.html
index 7666515964..97732f76e7 100644
--- a/docs/d5/def/ts__section__pmt_8h_source.html
+++ b/docs/d5/def/ts__section__pmt_8h_source.html
@@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html b/docs/d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html
index 40f73860b1..d5c8395986 100644
--- a/docs/d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html
+++ b/docs/d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html
@@ -535,7 +535,7 @@ Additional Inherited Members
diff --git a/docs/d5/dfa/classshaka_1_1media_1_1MediaParser-members.html b/docs/d5/dfa/classshaka_1_1media_1_1MediaParser-members.html
index 8768eaf2bb..3f71918cd5 100644
--- a/docs/d5/dfa/classshaka_1_1media_1_1MediaParser-members.html
+++ b/docs/d5/dfa/classshaka_1_1media_1_1MediaParser-members.html
@@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/dfc/file_8cc_source.html b/docs/d5/dfc/file_8cc_source.html
index 060a754fac..d1d91d12bb 100644
--- a/docs/d5/dfc/file_8cc_source.html
+++ b/docs/d5/dfc/file_8cc_source.html
@@ -380,7 +380,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d03/classshaka_1_1media_1_1AesCbcDecryptor-members.html b/docs/d6/d03/classshaka_1_1media_1_1AesCbcDecryptor-members.html
index 9d753fb152..8be76b8682 100644
--- a/docs/d6/d03/classshaka_1_1media_1_1AesCbcDecryptor-members.html
+++ b/docs/d6/d03/classshaka_1_1media_1_1AesCbcDecryptor-members.html
@@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d09/aes__pattern__cryptor_8h_source.html b/docs/d6/d09/aes__pattern__cryptor_8h_source.html
index 578a5fb5be..bf52c7efe0 100644
--- a/docs/d6/d09/aes__pattern__cryptor_8h_source.html
+++ b/docs/d6/d09/aes__pattern__cryptor_8h_source.html
@@ -148,7 +148,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d16/text__stream__info_8cc_source.html b/docs/d6/d16/text__stream__info_8cc_source.html
index 4401bde8a1..3cae46d121 100644
--- a/docs/d6/d16/text__stream__info_8cc_source.html
+++ b/docs/d6/d16/text__stream__info_8cc_source.html
@@ -98,41 +98,33 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
-
-
- 15 const std::string& codec_string,
- 16 const std::string& language,
- 17 const std::string& codec_config,
-
-
-
-
-
-
-
-
- 26 reinterpret_cast<const uint8_t*>(codec_config.data()),
-
-
-
-
-
- 32 TextStreamInfo::~TextStreamInfo() {}
-
-
-
-
-
-
-
-
-TextStreamInfo(int track_id, uint32_t time_scale, uint64_t duration, const std::string &codec_string, const std::string &language, const std::string &codec_config, uint16_t width, uint16_t height)
-bool IsValidConfig() const override
+
+
+ 14 const std::string& codec_string,
+ 15 const std::string& codec_config, uint16_t width,
+ 16 uint16_t height,
const std::string& language)
+ 17 :
StreamInfo(kStreamText, track_id, time_scale, duration, kCodecText,
+
+ 19 reinterpret_cast<const uint8_t*>(codec_config.data()),
+ 20 codec_config.size(), language, false),
+
+
+
+ 24 TextStreamInfo::~TextStreamInfo() {}
+
+
+
+
+
+
+
+
+TextStreamInfo(int track_id, uint32_t time_scale, uint64_t duration, const std::string &codec_string, const std::string &codec_config, uint16_t width, uint16_t height, const std::string &language)
+bool IsValidConfig() const override
diff --git a/docs/d6/d17/es__parser__h264_8cc_source.html b/docs/d6/d17/es__parser__h264_8cc_source.html
index 612da6bf4a..1777bf338c 100644
--- a/docs/d6/d17/es__parser__h264_8cc_source.html
+++ b/docs/d6/d17/es__parser__h264_8cc_source.html
@@ -237,27 +237,28 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
149 decoder_config_record[2],
150 decoder_config_record[3]),
- 151 std::string(), coded_width, coded_height, pixel_width, pixel_height, 0,
- 152 H264ByteToUnitStreamConverter::kUnitStreamNaluLengthSize,
- 153 decoder_config_record.data(), decoder_config_record.size(),
false));
- 154 DVLOG(1) <<
"Profile IDC: " << sps->profile_idc;
- 155 DVLOG(1) <<
"Level IDC: " << sps->level_idc;
- 156 DVLOG(1) <<
"log2_max_frame_num_minus4: " << sps->log2_max_frame_num_minus4;
-
-
- 159 new_stream_info_cb_.Run(last_video_decoder_config_);
-
-
-
-
-
-
-
+ 151 decoder_config_record.data(), decoder_config_record.size(), coded_width,
+ 152 coded_height, pixel_width, pixel_height, 0,
+ 153 H264ByteToUnitStreamConverter::kUnitStreamNaluLengthSize, std::string(),
+
+ 155 DVLOG(1) <<
"Profile IDC: " << sps->profile_idc;
+ 156 DVLOG(1) <<
"Level IDC: " << sps->level_idc;
+ 157 DVLOG(1) <<
"log2_max_frame_num_minus4: " << sps->log2_max_frame_num_minus4;
+
+
+ 160 new_stream_info_cb_.Run(last_video_decoder_config_);
+
+
+
+
+
+
+
diff --git a/docs/d6/d1a/structshaka_1_1media_1_1mp4_1_1MovieHeader.html b/docs/d6/d1a/structshaka_1_1media_1_1mp4_1_1MovieHeader.html
index 27439b46f9..cb27a73c85 100644
--- a/docs/d6/d1a/structshaka_1_1media_1_1mp4_1_1MovieHeader.html
+++ b/docs/d6/d1a/structshaka_1_1media_1_1mp4_1_1MovieHeader.html
@@ -200,7 +200,7 @@ Additional Inherited Members
diff --git a/docs/d6/d1a/ts__packet__writer__util_8cc_source.html b/docs/d6/d1a/ts__packet__writer__util_8cc_source.html
index 3280a70b05..29fc25121a 100644
--- a/docs/d6/d1a/ts__packet__writer__util_8cc_source.html
+++ b/docs/d6/d1a/ts__packet__writer__util_8cc_source.html
@@ -255,7 +255,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d26/structshaka_1_1media_1_1VideoStreamInfoParameters.html b/docs/d6/d26/structshaka_1_1media_1_1VideoStreamInfoParameters.html
index 4c1e4d6f13..e985584cb4 100644
--- a/docs/d6/d26/structshaka_1_1media_1_1VideoStreamInfoParameters.html
+++ b/docs/d6/d26/structshaka_1_1media_1_1VideoStreamInfoParameters.html
@@ -105,9 +105,9 @@ uint32_t time_scale |
uint64_t | duration |
|
-
-VideoCodec | codec |
- |
+
+Codec | codec |
+ |
std::string | codec_string |
|
@@ -146,7 +146,7 @@ bool is_encrypted |
diff --git a/docs/d6/d2e/mpd__notifier__util_8cc_source.html b/docs/d6/d2e/mpd__notifier__util_8cc_source.html
index e05886de1e..08d0cea45c 100644
--- a/docs/d6/d2e/mpd__notifier__util_8cc_source.html
+++ b/docs/d6/d2e/mpd__notifier__util_8cc_source.html
@@ -170,7 +170,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d32/classshaka_1_1media_1_1TextTrack-members.html b/docs/d6/d32/classshaka_1_1media_1_1TextTrack-members.html
index 96f4f6e490..366d0af5f1 100644
--- a/docs/d6/d32/classshaka_1_1media_1_1TextTrack-members.html
+++ b/docs/d6/d32/classshaka_1_1media_1_1TextTrack-members.html
@@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d35/webm__content__encodings_8cc_source.html b/docs/d6/d35/webm__content__encodings_8cc_source.html
index 031367b393..9bf5cf5dd8 100644
--- a/docs/d6/d35/webm__content__encodings_8cc_source.html
+++ b/docs/d6/d35/webm__content__encodings_8cc_source.html
@@ -120,7 +120,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d3b/chunk__info__iterator_8cc_source.html b/docs/d6/d3b/chunk__info__iterator_8cc_source.html
index 926f43583e..3024bdbf9d 100644
--- a/docs/d6/d3b/chunk__info__iterator_8cc_source.html
+++ b/docs/d6/d3b/chunk__info__iterator_8cc_source.html
@@ -171,7 +171,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d41/encrypting__fragmenter_8cc_source.html b/docs/d6/d41/encrypting__fragmenter_8cc_source.html
index 4660f55d4e..14569698c3 100644
--- a/docs/d6/d41/encrypting__fragmenter_8cc_source.html
+++ b/docs/d6/d41/encrypting__fragmenter_8cc_source.html
@@ -130,362 +130,357 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
41 subsamples->push_back(SubsampleEntry(clear_bytes, cipher_bytes));
- 44 VideoCodec GetVideoCodec(
const StreamInfo& stream_info) {
- 45 if (stream_info.stream_type() != kStreamVideo)
- 46 return kUnknownVideoCodec;
- 47 const VideoStreamInfo& video_stream_info =
- 48 static_cast<const VideoStreamInfo&
>(stream_info);
- 49 return video_stream_info.codec();
-
-
- 52 uint8_t GetNaluLengthSize(
const StreamInfo& stream_info) {
- 53 if (stream_info.stream_type() != kStreamVideo)
-
-
- 56 const VideoStreamInfo& video_stream_info =
- 57 static_cast<const VideoStreamInfo&
>(stream_info);
- 58 return video_stream_info.nalu_length_size();
-
-
-
-
- 63 scoped_refptr<StreamInfo> info,
-
- 65 scoped_ptr<EncryptionKey> encryption_key,
-
- 67 FourCC protection_scheme,
- 68 uint8_t crypt_byte_block,
- 69 uint8_t skip_byte_block,
-
-
-
- 73 encryption_key_(encryption_key.Pass()),
- 74 nalu_length_size_(GetNaluLengthSize(*info)),
- 75 video_codec_(GetVideoCodec(*info)),
- 76 clear_time_(clear_time),
- 77 protection_scheme_(protection_scheme),
- 78 crypt_byte_block_(crypt_byte_block),
- 79 skip_byte_block_(skip_byte_block),
-
- 81 DCHECK(encryption_key_);
- 82 switch (video_codec_) {
-
-
-
-
-
-
-
-
+ 44 Codec GetCodec(
const StreamInfo& stream_info) {
+ 45 if (stream_info.stream_type() != kStreamVideo)
return kUnknownCodec;
+ 46 const VideoStreamInfo& video_stream_info =
+ 47 static_cast<const VideoStreamInfo&
>(stream_info);
+ 48 return video_stream_info.codec();
+
+
+ 51 uint8_t GetNaluLengthSize(
const StreamInfo& stream_info) {
+ 52 if (stream_info.stream_type() != kStreamVideo)
+
+
+ 55 const VideoStreamInfo& video_stream_info =
+ 56 static_cast<const VideoStreamInfo&
>(stream_info);
+ 57 return video_stream_info.nalu_length_size();
+
+
+
+
+
+ 63 scoped_ptr<EncryptionKey> encryption_key, int64_t clear_time,
+ 64 FourCC protection_scheme, uint8_t crypt_byte_block, uint8_t skip_byte_block,
+
+
+
+ 68 encryption_key_(encryption_key.Pass()),
+ 69 nalu_length_size_(GetNaluLengthSize(*info)),
+ 70 video_codec_(GetCodec(*info)),
+ 71 clear_time_(clear_time),
+ 72 protection_scheme_(protection_scheme),
+ 73 crypt_byte_block_(crypt_byte_block),
+ 74 skip_byte_block_(skip_byte_block),
+
+ 76 DCHECK(encryption_key_);
+ 77 switch (video_codec_) {
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
- 98 if (nalu_length_size_ > 0) {
- 99 LOG(WARNING) <<
"Unknown video codec '" << video_codec_
- 100 <<
"', whole subsamples will be encrypted.";
-
-
-
-
- 105 EncryptingFragmenter::~EncryptingFragmenter() {}
-
-
-
- 109 if (!fragment_initialized()) {
-
+
+ 93 if (nalu_length_size_ > 0) {
+ 94 LOG(WARNING) <<
"Unknown video codec '" << video_codec_
+ 95 <<
"', whole subsamples will be encrypted.";
+
+
+
+
+ 100 EncryptingFragmenter::~EncryptingFragmenter() {}
+
+
+
+ 104 if (!fragment_initialized()) {
+
+
+
+
+
+ 110 Status status = EncryptSample(sample);
-
- 115 Status status = EncryptSample(sample);
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
- 127 if (header_parser_ && !header_parser_->Initialize(info_->codec_config()))
- 128 return Status(error::MUXER_FAILURE,
"Fail to read SPS and PPS data.");
-
- 130 traf()->auxiliary_size.sample_info_sizes.clear();
- 131 traf()->auxiliary_offset.offsets.clear();
- 132 if (IsSubsampleEncryptionRequired()) {
- 133 traf()->sample_encryption.flags |=
- 134 SampleEncryption::kUseSubsampleEncryption;
-
- 136 traf()->sample_encryption.sample_encryption_entries.clear();
-
- 138 const bool enable_encryption = clear_time_ <= 0;
- 139 if (!enable_encryption) {
-
-
-
- 143 const uint32_t kClearSampleDescriptionIndex = 2;
-
- 145 traf()->header.flags |=
- 146 TrackFragmentHeader::kSampleDescriptionIndexPresentMask;
- 147 traf()->header.sample_description_index = kClearSampleDescriptionIndex;
-
-
-
-
-
-
-
-
-
- 157 DCHECK_LE(clear_time_, 0);
-
-
- 160 DCHECK_GT(clear_time_, 0);
- 161 clear_time_ -= fragment_duration();
-
-
+ 122 if (header_parser_ && !header_parser_->Initialize(info_->codec_config()))
+ 123 return Status(error::MUXER_FAILURE,
"Fail to read SPS and PPS data.");
+
+ 125 traf()->auxiliary_size.sample_info_sizes.clear();
+ 126 traf()->auxiliary_offset.offsets.clear();
+ 127 if (IsSubsampleEncryptionRequired()) {
+ 128 traf()->sample_encryption.flags |=
+ 129 SampleEncryption::kUseSubsampleEncryption;
+
+ 131 traf()->sample_encryption.sample_encryption_entries.clear();
+
+ 133 const bool enable_encryption = clear_time_ <= 0;
+ 134 if (!enable_encryption) {
+
+
+
+ 138 const uint32_t kClearSampleDescriptionIndex = 2;
+
+ 140 traf()->header.flags |=
+ 141 TrackFragmentHeader::kSampleDescriptionIndexPresentMask;
+ 142 traf()->header.sample_description_index = kClearSampleDescriptionIndex;
+
+
+
+
+
+
+
+
+
+ 152 DCHECK_LE(clear_time_, 0);
+
+
+ 155 DCHECK_GT(clear_time_, 0);
+ 156 clear_time_ -= fragment_duration();
+
+
+
+
+
+ 162 bool enable_encryption) {
+ 163 return (!enable_encryption || encryptor_) ? Status::OK :
CreateEncryptor();
-
- 167 bool enable_encryption) {
- 168 return (!enable_encryption || encryptor_) ? Status::OK :
CreateEncryptor();
-
-
-
-
- 173 traf()->auxiliary_offset.offsets.push_back(0);
-
-
- 176 const uint8_t per_sample_iv_size =
- 177 (protection_scheme_ == FOURCC_cbcs) ? 0 :
- 178 static_cast<uint8_t>(encryptor_->iv().size());
- 179 traf()->sample_encryption.iv_size = per_sample_iv_size;
-
-
-
- 183 saiz.sample_count = traf()->runs[0].sample_sizes.size();
- 184 if (!saiz.sample_info_sizes.empty()) {
-
- 186 &saiz.default_sample_info_size)) {
- 187 saiz.default_sample_info_size = 0;
-
-
-
-
- 192 DCHECK(!IsSubsampleEncryptionRequired());
- 193 saiz.default_sample_info_size =
static_cast<uint8_t
>(per_sample_iv_size);
-
-
-
-
- 198 if (saiz.default_sample_info_size == 0 && saiz.sample_info_sizes.empty()) {
- 199 DCHECK_EQ(protection_scheme_, FOURCC_cbcs);
- 200 DCHECK(!IsSubsampleEncryptionRequired());
-
-
-
- 204 saiz.sample_count = 0;
- 205 traf()->auxiliary_offset.offsets.clear();
-
-
-
-
- 210 DCHECK(encryption_key_);
- 211 scoped_ptr<AesCryptor> encryptor;
- 212 switch (protection_scheme_) {
-
-
-
-
-
-
-
-
- 221 crypt_byte_block(), skip_byte_block(),
-
- 223 AesCryptor::kDontUseConstantIv,
-
-
-
-
- 228 crypt_byte_block(), skip_byte_block(),
-
- 230 AesCryptor::kUseConstantIv,
-
-
-
- 234 return Status(error::MUXER_FAILURE,
"Unsupported protection scheme.");
-
-
- 237 DCHECK(!encryption_key_->iv.empty());
- 238 const bool initialized =
- 239 encryptor->InitializeWithIv(encryption_key_->key, encryption_key_->iv);
-
- 241 return Status(error::MUXER_FAILURE,
"Failed to create the encryptor.");
- 242 encryptor_ = encryptor.Pass();
-
+
+
+ 168 traf()->auxiliary_offset.offsets.push_back(0);
+
+
+ 171 const uint8_t per_sample_iv_size =
+ 172 (protection_scheme_ == FOURCC_cbcs) ? 0 :
+ 173 static_cast<uint8_t>(encryptor_->iv().size());
+ 174 traf()->sample_encryption.iv_size = per_sample_iv_size;
+
+
+
+ 178 saiz.sample_count = traf()->runs[0].sample_sizes.size();
+ 179 if (!saiz.sample_info_sizes.empty()) {
+
+ 181 &saiz.default_sample_info_size)) {
+ 182 saiz.default_sample_info_size = 0;
+
+
+
+
+ 187 DCHECK(!IsSubsampleEncryptionRequired());
+ 188 saiz.default_sample_info_size =
static_cast<uint8_t
>(per_sample_iv_size);
+
+
+
+
+ 193 if (saiz.default_sample_info_size == 0 && saiz.sample_info_sizes.empty()) {
+ 194 DCHECK_EQ(protection_scheme_, FOURCC_cbcs);
+ 195 DCHECK(!IsSubsampleEncryptionRequired());
+
+
+
+ 199 saiz.sample_count = 0;
+ 200 traf()->auxiliary_offset.offsets.clear();
+
+
+
+
+ 205 DCHECK(encryption_key_);
+ 206 scoped_ptr<AesCryptor> encryptor;
+ 207 switch (protection_scheme_) {
+
+
+
+
+
+
+
+
+ 216 crypt_byte_block(), skip_byte_block(),
+
+ 218 AesCryptor::kDontUseConstantIv,
+
+
+
+
+ 223 crypt_byte_block(), skip_byte_block(),
+
+ 225 AesCryptor::kUseConstantIv,
+
+
+
+ 229 return Status(error::MUXER_FAILURE,
"Unsupported protection scheme.");
+
+
+ 232 DCHECK(!encryption_key_->iv.empty());
+ 233 const bool initialized =
+ 234 encryptor->InitializeWithIv(encryption_key_->key, encryption_key_->iv);
+
+ 236 return Status(error::MUXER_FAILURE,
"Failed to create the encryptor.");
+ 237 encryptor_ = encryptor.Pass();
+
+
+
+ 241 void EncryptingFragmenter::EncryptBytes(uint8_t* data, uint32_t size) {
+
+ 243 CHECK(encryptor_->Crypt(data, size, data));
- 246 void EncryptingFragmenter::EncryptBytes(uint8_t* data, uint32_t size) {
+ 246 Status EncryptingFragmenter::EncryptSample(scoped_refptr<MediaSample> sample) {
- 248 CHECK(encryptor_->Crypt(data, size, data));
-
-
- 251 Status EncryptingFragmenter::EncryptSample(scoped_refptr<MediaSample> sample) {
-
-
- 254 SampleEncryptionEntry sample_encryption_entry;
-
- 256 if (protection_scheme_ != FOURCC_cbcs)
- 257 sample_encryption_entry.initialization_vector = encryptor_->iv();
- 258 uint8_t* data = sample->writable_data();
- 259 if (IsSubsampleEncryptionRequired()) {
-
- 261 std::vector<VPxFrameInfo> vpx_frames;
- 262 if (!vpx_parser_->Parse(sample->data(), sample->data_size(),
-
- 264 return Status(error::MUXER_FAILURE,
"Failed to parse vpx frame.");
-
-
- 267 const bool is_superframe = vpx_frames.size() > 1;
- 268 for (
const VPxFrameInfo& frame : vpx_frames) {
- 269 SubsampleEntry subsample;
- 270 subsample.clear_bytes =
- 271 static_cast<uint16_t
>(frame.uncompressed_header_size);
- 272 subsample.cipher_bytes =
- 273 frame.frame_size - frame.uncompressed_header_size;
-
-
-
-
-
-
-
-
- 282 if (is_superframe || protection_scheme_ == FOURCC_cbc1 ||
- 283 protection_scheme_ == FOURCC_cens) {
- 284 const uint16_t misalign_bytes =
- 285 subsample.cipher_bytes % kCencBlockSize;
- 286 subsample.clear_bytes += misalign_bytes;
- 287 subsample.cipher_bytes -= misalign_bytes;
-
-
- 290 sample_encryption_entry.subsamples.push_back(subsample);
- 291 if (subsample.cipher_bytes > 0)
- 292 EncryptBytes(data + subsample.clear_bytes, subsample.cipher_bytes);
- 293 data += frame.frame_size;
-
-
-
- 297 size_t index_size = sample->data() + sample->data_size() - data;
- 298 DCHECK_LE(index_size, 2 + vpx_frames.size() * 4);
- 299 DCHECK_GE(index_size, 2 + vpx_frames.size() * 1);
- 300 SubsampleEntry subsample;
- 301 subsample.clear_bytes =
static_cast<uint16_t
>(index_size);
- 302 subsample.cipher_bytes = 0;
- 303 sample_encryption_entry.subsamples.push_back(subsample);
-
-
- 306 const Nalu::CodecType nalu_type =
- 307 (video_codec_ == kCodecHVC1 || video_codec_ == kCodecHEV1)
-
-
- 310 NaluReader reader(nalu_type, nalu_length_size_, data,
- 311 sample->data_size());
-
-
-
- 315 uint64_t accumulated_clear_bytes = 0;
-
-
- 318 NaluReader::Result result;
- 319 while ((result = reader.Advance(&nalu)) == NaluReader::kOk) {
- 320 if (nalu.is_video_slice()) {
-
-
-
- 324 const int64_t video_slice_header_size =
- 325 header_parser_ ? header_parser_->GetHeaderSize(nalu) : 0;
- 326 if (video_slice_header_size < 0)
- 327 return Status(error::MUXER_FAILURE,
"Failed to read slice header.");
-
- 329 uint64_t current_clear_bytes =
- 330 nalu.header_size() + video_slice_header_size;
- 331 uint64_t cipher_bytes = nalu.payload_size() - video_slice_header_size;
-
-
-
-
- 336 if (protection_scheme_ == FOURCC_cbc1 ||
- 337 protection_scheme_ == FOURCC_cens) {
- 338 const uint16_t misalign_bytes = cipher_bytes % kCencBlockSize;
- 339 current_clear_bytes += misalign_bytes;
- 340 cipher_bytes -= misalign_bytes;
-
-
- 343 const uint8_t* nalu_data = nalu.data() + current_clear_bytes;
- 344 EncryptBytes(const_cast<uint8_t*>(nalu_data), cipher_bytes);
-
-
- 347 accumulated_clear_bytes + nalu_length_size_ + current_clear_bytes,
- 348 cipher_bytes, &sample_encryption_entry.subsamples);
- 349 accumulated_clear_bytes = 0;
-
-
- 352 accumulated_clear_bytes +=
- 353 nalu_length_size_ + nalu.header_size() + nalu.payload_size();
-
-
- 356 if (result != NaluReader::kEOStream)
- 357 return Status(error::MUXER_FAILURE,
"Failed to parse NAL units.");
- 358 AddSubsamples(accumulated_clear_bytes, 0,
- 359 &sample_encryption_entry.subsamples);
-
- 361 DCHECK_EQ(sample_encryption_entry.GetTotalSizeOfSubsamples(),
- 362 sample->data_size());
-
-
- 365 traf()->auxiliary_size.sample_info_sizes.push_back(
- 366 sample_encryption_entry.ComputeSize());
-
- 368 DCHECK_LE(crypt_byte_block(), 1u);
- 369 DCHECK_EQ(skip_byte_block(), 0u);
- 370 EncryptBytes(data, sample->data_size());
-
-
- 373 traf()->sample_encryption.sample_encryption_entries.push_back(
- 374 sample_encryption_entry);
- 375 encryptor_->UpdateIv();
-
-
-
- 379 bool EncryptingFragmenter::IsSubsampleEncryptionRequired() {
- 380 return vpx_parser_ || nalu_length_size_ != 0;
-
-
-
-
-
+
+ 249 SampleEncryptionEntry sample_encryption_entry;
+
+ 251 if (protection_scheme_ != FOURCC_cbcs)
+ 252 sample_encryption_entry.initialization_vector = encryptor_->iv();
+ 253 uint8_t* data = sample->writable_data();
+ 254 if (IsSubsampleEncryptionRequired()) {
+
+ 256 std::vector<VPxFrameInfo> vpx_frames;
+ 257 if (!vpx_parser_->Parse(sample->data(), sample->data_size(),
+
+ 259 return Status(error::MUXER_FAILURE,
"Failed to parse vpx frame.");
+
+
+ 262 const bool is_superframe = vpx_frames.size() > 1;
+ 263 for (
const VPxFrameInfo& frame : vpx_frames) {
+ 264 SubsampleEntry subsample;
+ 265 subsample.clear_bytes =
+ 266 static_cast<uint16_t
>(frame.uncompressed_header_size);
+ 267 subsample.cipher_bytes =
+ 268 frame.frame_size - frame.uncompressed_header_size;
+
+
+
+
+
+
+
+
+ 277 if (is_superframe || protection_scheme_ == FOURCC_cbc1 ||
+ 278 protection_scheme_ == FOURCC_cens) {
+ 279 const uint16_t misalign_bytes =
+ 280 subsample.cipher_bytes % kCencBlockSize;
+ 281 subsample.clear_bytes += misalign_bytes;
+ 282 subsample.cipher_bytes -= misalign_bytes;
+
+
+ 285 sample_encryption_entry.subsamples.push_back(subsample);
+ 286 if (subsample.cipher_bytes > 0)
+ 287 EncryptBytes(data + subsample.clear_bytes, subsample.cipher_bytes);
+ 288 data += frame.frame_size;
+
+
+
+ 292 size_t index_size = sample->data() + sample->data_size() - data;
+ 293 DCHECK_LE(index_size, 2 + vpx_frames.size() * 4);
+ 294 DCHECK_GE(index_size, 2 + vpx_frames.size() * 1);
+ 295 SubsampleEntry subsample;
+ 296 subsample.clear_bytes =
static_cast<uint16_t
>(index_size);
+ 297 subsample.cipher_bytes = 0;
+ 298 sample_encryption_entry.subsamples.push_back(subsample);
+
+
+ 301 const Nalu::CodecType nalu_type =
+ 302 (video_codec_ == kCodecHVC1 || video_codec_ == kCodecHEV1)
+
+
+ 305 NaluReader reader(nalu_type, nalu_length_size_, data,
+ 306 sample->data_size());
+
+
+
+ 310 uint64_t accumulated_clear_bytes = 0;
+
+
+ 313 NaluReader::Result result;
+ 314 while ((result = reader.Advance(&nalu)) == NaluReader::kOk) {
+ 315 if (nalu.is_video_slice()) {
+
+
+
+ 319 const int64_t video_slice_header_size =
+ 320 header_parser_ ? header_parser_->GetHeaderSize(nalu) : 0;
+ 321 if (video_slice_header_size < 0)
+ 322 return Status(error::MUXER_FAILURE,
"Failed to read slice header.");
+
+ 324 uint64_t current_clear_bytes =
+ 325 nalu.header_size() + video_slice_header_size;
+ 326 uint64_t cipher_bytes = nalu.payload_size() - video_slice_header_size;
+
+
+
+
+ 331 if (protection_scheme_ == FOURCC_cbc1 ||
+ 332 protection_scheme_ == FOURCC_cens) {
+ 333 const uint16_t misalign_bytes = cipher_bytes % kCencBlockSize;
+ 334 current_clear_bytes += misalign_bytes;
+ 335 cipher_bytes -= misalign_bytes;
+
+
+ 338 const uint8_t* nalu_data = nalu.data() + current_clear_bytes;
+ 339 EncryptBytes(const_cast<uint8_t*>(nalu_data), cipher_bytes);
+
+
+ 342 accumulated_clear_bytes + nalu_length_size_ + current_clear_bytes,
+ 343 cipher_bytes, &sample_encryption_entry.subsamples);
+ 344 accumulated_clear_bytes = 0;
+
+
+ 347 accumulated_clear_bytes +=
+ 348 nalu_length_size_ + nalu.header_size() + nalu.payload_size();
+
+
+ 351 if (result != NaluReader::kEOStream)
+ 352 return Status(error::MUXER_FAILURE,
"Failed to parse NAL units.");
+ 353 AddSubsamples(accumulated_clear_bytes, 0,
+ 354 &sample_encryption_entry.subsamples);
+
+ 356 DCHECK_EQ(sample_encryption_entry.GetTotalSizeOfSubsamples(),
+ 357 sample->data_size());
+
+
+ 360 traf()->auxiliary_size.sample_info_sizes.push_back(
+ 361 sample_encryption_entry.ComputeSize());
+
+ 363 DCHECK_LE(crypt_byte_block(), 1u);
+ 364 DCHECK_EQ(skip_byte_block(), 0u);
+ 365 EncryptBytes(data, sample->data_size());
+
+
+ 368 traf()->sample_encryption.sample_encryption_entries.push_back(
+ 369 sample_encryption_entry);
+ 370 encryptor_->UpdateIv();
+
+
+
+ 374 bool EncryptingFragmenter::IsSubsampleEncryptionRequired() {
+ 375 return vpx_parser_ || nalu_length_size_ != 0;
+
+
+
+
+
-
-
-
+
+
+
-
+
-
+
@@ -493,14 +488,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
-
+
+
diff --git a/docs/d6/d4e/webm_2multi__segment__segmenter_8cc_source.html b/docs/d6/d4e/webm_2multi__segment__segmenter_8cc_source.html
index 14fb7f3062..59612f3c4a 100644
--- a/docs/d6/d4e/webm_2multi__segment__segmenter_8cc_source.html
+++ b/docs/d6/d4e/webm_2multi__segment__segmenter_8cc_source.html
@@ -188,7 +188,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d55/aes__cryptor_8cc_source.html b/docs/d6/d55/aes__cryptor_8cc_source.html
index 8bd2bdea85..d917136d02 100644
--- a/docs/d6/d55/aes__cryptor_8cc_source.html
+++ b/docs/d6/d55/aes__cryptor_8cc_source.html
@@ -231,7 +231,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html b/docs/d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html
index 1f889c7580..009f01a98e 100644
--- a/docs/d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html
+++ b/docs/d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html
@@ -244,7 +244,7 @@ void
diff --git a/docs/d6/d59/protection__system__specific__info_8h_source.html b/docs/d6/d59/protection__system__specific__info_8h_source.html
index 51d2ce1914..fc9b2a2461 100644
--- a/docs/d6/d59/protection__system__specific__info_8h_source.html
+++ b/docs/d6/d59/protection__system__specific__info_8h_source.html
@@ -163,7 +163,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d60/classshaka_1_1media_1_1VPCodecConfigurationRecord-members.html b/docs/d6/d60/classshaka_1_1media_1_1VPCodecConfigurationRecord-members.html
index 419ae1dc49..baf7e34fc7 100644
--- a/docs/d6/d60/classshaka_1_1media_1_1VPCodecConfigurationRecord-members.html
+++ b/docs/d6/d60/classshaka_1_1media_1_1VPCodecConfigurationRecord-members.html
@@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
| COLOR_SPACE_SRGB enum value (defined in shaka::media::VPCodecConfigurationRecord) | shaka::media::VPCodecConfigurationRecord | |
COLOR_SPACE_UNSPECIFIED enum value (defined in shaka::media::VPCodecConfigurationRecord) | shaka::media::VPCodecConfigurationRecord | |
ColorSpace enum name (defined in shaka::media::VPCodecConfigurationRecord) | shaka::media::VPCodecConfigurationRecord | |
- GetCodecString(VideoCodec codec) const | shaka::media::VPCodecConfigurationRecord | |
+ GetCodecString(Codec codec) const | shaka::media::VPCodecConfigurationRecord | |
level() const (defined in shaka::media::VPCodecConfigurationRecord) | shaka::media::VPCodecConfigurationRecord | inline |
MergeFrom(const VPCodecConfigurationRecord &other) (defined in shaka::media::VPCodecConfigurationRecord) | shaka::media::VPCodecConfigurationRecord | |
ParseMP4(const std::vector< uint8_t > &data) | shaka::media::VPCodecConfigurationRecord | |
@@ -134,7 +134,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d6c/h26x__bit__reader_8cc_source.html b/docs/d6/d6c/h26x__bit__reader_8cc_source.html
index a6119b428d..c382d6c3b4 100644
--- a/docs/d6/d6c/h26x__bit__reader_8cc_source.html
+++ b/docs/d6/d6c/h26x__bit__reader_8cc_source.html
@@ -259,7 +259,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d6e/ts__section__pes_8cc_source.html b/docs/d6/d6e/ts__section__pes_8cc_source.html
index 3804606ef3..6b98ad67b3 100644
--- a/docs/d6/d6e/ts__section__pes_8cc_source.html
+++ b/docs/d6/d6e/ts__section__pes_8cc_source.html
@@ -405,7 +405,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d71/scoped__xml__ptr_8h_source.html b/docs/d6/d71/scoped__xml__ptr_8h_source.html
index 7ca68063c6..c8e04a088f 100644
--- a/docs/d6/d71/scoped__xml__ptr_8h_source.html
+++ b/docs/d6/d71/scoped__xml__ptr_8h_source.html
@@ -131,7 +131,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d77/dash__iop__mpd__notifier_8h_source.html b/docs/d6/d77/dash__iop__mpd__notifier_8h_source.html
index 895a5d6525..a16a8a4a0b 100644
--- a/docs/d6/d77/dash__iop__mpd__notifier_8h_source.html
+++ b/docs/d6/d77/dash__iop__mpd__notifier_8h_source.html
@@ -210,7 +210,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d79/structshaka_1_1media_1_1mp4_1_1VTTAdditionalTextBox.html b/docs/d6/d79/structshaka_1_1media_1_1mp4_1_1VTTAdditionalTextBox.html
index 50776d36d3..3802731c21 100644
--- a/docs/d6/d79/structshaka_1_1media_1_1mp4_1_1VTTAdditionalTextBox.html
+++ b/docs/d6/d79/structshaka_1_1media_1_1mp4_1_1VTTAdditionalTextBox.html
@@ -173,7 +173,7 @@ Additional Inherited Members
diff --git a/docs/d6/d7b/webm__tracks__parser_8h_source.html b/docs/d6/d7b/webm__tracks__parser_8h_source.html
index 6999d8c6dc..80283b2065 100644
--- a/docs/d6/d7b/webm__tracks__parser_8h_source.html
+++ b/docs/d6/d7b/webm__tracks__parser_8h_source.html
@@ -202,7 +202,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d7c/structshaka_1_1media_1_1mp4_1_1AC3Specific-members.html b/docs/d6/d7c/structshaka_1_1media_1_1mp4_1_1AC3Specific-members.html
index 19d65e9a65..100a5cfd5e 100644
--- a/docs/d6/d7c/structshaka_1_1media_1_1mp4_1_1AC3Specific-members.html
+++ b/docs/d6/d7c/structshaka_1_1media_1_1mp4_1_1AC3Specific-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d86/bandwidth__estimator_8cc_source.html b/docs/d6/d86/bandwidth__estimator_8cc_source.html
index 79fb579583..400fe60924 100644
--- a/docs/d6/d86/bandwidth__estimator_8cc_source.html
+++ b/docs/d6/d86/bandwidth__estimator_8cc_source.html
@@ -154,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d8a/vp9__parser_8cc_source.html b/docs/d6/d8a/vp9__parser_8cc_source.html
index 8139ca3277..de8f0fa5d6 100644
--- a/docs/d6/d8a/vp9__parser_8cc_source.html
+++ b/docs/d6/d8a/vp9__parser_8cc_source.html
@@ -660,7 +660,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d8f/classshaka_1_1xml_1_1RepresentationBaseXmlNode-members.html b/docs/d6/d8f/classshaka_1_1xml_1_1RepresentationBaseXmlNode-members.html
index c0895228fa..3846198cb1 100644
--- a/docs/d6/d8f/classshaka_1_1xml_1_1RepresentationBaseXmlNode-members.html
+++ b/docs/d6/d8f/classshaka_1_1xml_1_1RepresentationBaseXmlNode-members.html
@@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d9b/h264__parser_8h_source.html b/docs/d6/d9b/h264__parser_8h_source.html
index e23f4c6bc5..d31970585e 100644
--- a/docs/d6/d9b/h264__parser_8h_source.html
+++ b/docs/d6/d9b/h264__parser_8h_source.html
@@ -439,7 +439,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d9f/hls__flags_8cc_source.html b/docs/d6/d9f/hls__flags_8cc_source.html
index 66115de2b2..51a39cfa9b 100644
--- a/docs/d6/d9f/hls__flags_8cc_source.html
+++ b/docs/d6/d9f/hls__flags_8cc_source.html
@@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/da0/ts__section__pat_8h_source.html b/docs/d6/da0/ts__section__pat_8h_source.html
index 62c795be3c..402d82b3dd 100644
--- a/docs/d6/da0/ts__section__pat_8h_source.html
+++ b/docs/d6/da0/ts__section__pat_8h_source.html
@@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/da3/mpd__builder_8h_source.html b/docs/d6/da3/mpd__builder_8h_source.html
index ec9c28b24a..088a638f8a 100644
--- a/docs/d6/da3/mpd__builder_8h_source.html
+++ b/docs/d6/da3/mpd__builder_8h_source.html
@@ -534,7 +534,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/da4/classshaka_1_1media_1_1AVCDecoderConfigurationRecord-members.html b/docs/d6/da4/classshaka_1_1media_1_1AVCDecoderConfigurationRecord-members.html
index 0e2ad3b505..9f5e0c2a4b 100644
--- a/docs/d6/da4/classshaka_1_1media_1_1AVCDecoderConfigurationRecord-members.html
+++ b/docs/d6/da4/classshaka_1_1media_1_1AVCDecoderConfigurationRecord-members.html
@@ -119,7 +119,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/da6/structshaka_1_1media_1_1H265SliceHeader_1_1LongTermPicsInfo-members.html b/docs/d6/da6/structshaka_1_1media_1_1H265SliceHeader_1_1LongTermPicsInfo-members.html
index e8a739de6c..62cd8c38fc 100644
--- a/docs/d6/da6/structshaka_1_1media_1_1H265SliceHeader_1_1LongTermPicsInfo-members.html
+++ b/docs/d6/da6/structshaka_1_1media_1_1H265SliceHeader_1_1LongTermPicsInfo-members.html
@@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/da9/classshaka_1_1media_1_1BitReader.html b/docs/d6/da9/classshaka_1_1media_1_1BitReader.html
index e689b09da6..1fcd792281 100644
--- a/docs/d6/da9/classshaka_1_1media_1_1BitReader.html
+++ b/docs/d6/da9/classshaka_1_1media_1_1BitReader.html
@@ -365,7 +365,7 @@ template<typename T >
diff --git a/docs/d6/daa/structshaka_1_1media_1_1mp4_1_1VTTCueBox.html b/docs/d6/daa/structshaka_1_1media_1_1mp4_1_1VTTCueBox.html
index 2ec5509a00..e8d1e6e737 100644
--- a/docs/d6/daa/structshaka_1_1media_1_1mp4_1_1VTTCueBox.html
+++ b/docs/d6/daa/structshaka_1_1media_1_1mp4_1_1VTTCueBox.html
@@ -185,7 +185,7 @@ Additional Inherited Members
diff --git a/docs/d6/db1/classshaka_1_1media_1_1MediaStream-members.html b/docs/d6/db1/classshaka_1_1media_1_1MediaStream-members.html
index e4aaa397b5..aae8ef56d8 100644
--- a/docs/d6/db1/classshaka_1_1media_1_1MediaStream-members.html
+++ b/docs/d6/db1/classshaka_1_1media_1_1MediaStream-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html b/docs/d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html
index 2ec260971d..b78d09175f 100644
--- a/docs/d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html
+++ b/docs/d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html
@@ -110,11 +110,8 @@ Inheritance diagram for shaka::media::VideoStreamInfo:
|
- | VideoStreamInfo (int track_id, uint32_t time_scale, uint64_t duration, VideoCodec codec, const std::string &codec_string, const std::string &language, uint16_t width, uint16_t height, uint32_t pixel_width, uint32_t pixel_height, int16_t trick_play_rate, uint8_t nalu_length_size, const uint8_t *codec_config, size_t codec_config_size, bool is_encrypted) |
- |
-
-VideoCodec | codec () const |
- |
+ | VideoStreamInfo (int track_id, uint32_t time_scale, uint64_t duration, Codec codec, const std::string &codec_string, const uint8_t *codec_config, size_t codec_config_size, uint16_t width, uint16_t height, uint32_t pixel_width, uint32_t pixel_height, int16_t trick_play_rate, uint8_t nalu_length_size, const std::string &language, bool is_encrypted) |
+ |
uint16_t | width () const |
|
@@ -131,9 +128,6 @@ uint8_t nalu_length_size
int16_t | trick_play_rate () const |
|
-
-void | set_codec (VideoCodec codec) |
- |
void | set_width (uint32_t width) |
|
@@ -152,9 +146,9 @@ void | set_pixel_height
| std::string | ToString () const override |
|
-
- | StreamInfo (StreamType stream_type, int track_id, uint32_t time_scale, uint64_t duration, const std::string &codec_string, const std::string &language, const uint8_t *codec_config, size_t codec_config_size, bool is_encrypted) |
- |
+
+ | StreamInfo (StreamType stream_type, int track_id, uint32_t time_scale, uint64_t duration, Codec codec, const std::string &codec_string, const uint8_t *codec_config, size_t codec_config_size, const std::string &language, bool is_encrypted) |
+ |
StreamType | stream_type () const |
|
@@ -167,21 +161,27 @@ uint32_t time_scale ()
|
uint64_t | duration () const |
|
+
+Codec | codec () const |
+ |
const std::string & | codec_string () const |
|
+
+const std::vector< uint8_t > & | codec_config () const |
+ |
const std::string & | language () const |
|
bool | is_encrypted () const |
|
-
-const std::vector< uint8_t > & | codec_config () const |
- |
void | set_duration (int duration) |
|
+
+void | set_codec (Codec codec) |
+ |
void | set_codec_config (const std::vector< uint8_t > &data) |
|
@@ -195,9 +195,9 @@ void set_language (con
Holds video stream information.
- Definition at line 31 of file video_stream_info.h.
+ Definition at line 16 of file video_stream_info.h.
-
+
@@ -222,7 +222,7 @@ void set_language (con
|
|
|
- VideoCodec |
+ Codec |
codec, |
@@ -234,8 +234,14 @@ void set_language (con
|
|
|
- const std::string & |
- language, |
+ const uint8_t * |
+ codec_config, |
+
+
+ |
+ |
+ size_t |
+ codec_config_size, |
|
@@ -276,14 +282,8 @@ void set_language (con
|
|
|
- const uint8_t * |
- codec_config, |
-
-
- |
- |
- size_t |
- codec_config_size, |
+ const std::string & |
+ language, |
|
@@ -336,7 +336,7 @@ void set_language (con
Implements shaka::media::StreamInfo.
-Definition at line 85 of file video_stream_info.cc.
+Definition at line 68 of file video_stream_info.cc.
@@ -363,7 +363,7 @@ void | set_language (con
Returns the pixel height.
- Returns
- 0 if unknown.
-Definition at line 66 of file video_stream_info.h.
+Definition at line 42 of file video_stream_info.h.
@@ -390,7 +390,7 @@ void | set_language (con
Returns the pixel width.
- Returns
- 0 if unknown.
-Definition at line 63 of file video_stream_info.h.
+Definition at line 39 of file video_stream_info.h.
@@ -418,7 +418,7 @@ void | set_language (con
Reimplemented from shaka::media::StreamInfo.
-Definition at line 92 of file video_stream_info.cc.
+Definition at line 75 of file video_stream_info.cc.
@@ -429,7 +429,7 @@ void | set_language (con
diff --git a/docs/d6/db1/structshaka_1_1media_1_1VideoStreamInfoParameters-members.html b/docs/d6/db1/structshaka_1_1media_1_1VideoStreamInfoParameters-members.html
index 7ac68e2552..79a04b553f 100644
--- a/docs/d6/db1/structshaka_1_1media_1_1VideoStreamInfoParameters-members.html
+++ b/docs/d6/db1/structshaka_1_1media_1_1VideoStreamInfoParameters-members.html
@@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
|
diff --git a/docs/d6/dc7/classshaka_1_1media_1_1mp2t_1_1EsParserH26x-members.html b/docs/d6/dc7/classshaka_1_1media_1_1mp2t_1_1EsParserH26x-members.html
index 17c342aa99..6d2a989b32 100644
--- a/docs/d6/dc7/classshaka_1_1media_1_1mp2t_1_1EsParserH26x-members.html
+++ b/docs/d6/dc7/classshaka_1_1media_1_1mp2t_1_1EsParserH26x-members.html
@@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
|
diff --git a/docs/d6/dc8/mkv__writer_8cc_source.html b/docs/d6/dc8/mkv__writer_8cc_source.html
index 060f0383b0..b50827574a 100644
--- a/docs/d6/dc8/mkv__writer_8cc_source.html
+++ b/docs/d6/dc8/mkv__writer_8cc_source.html
@@ -195,7 +195,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/dcb/structshaka_1_1media_1_1mp4_1_1SampleEncryptionEntry.html b/docs/d6/dcb/structshaka_1_1media_1_1mp4_1_1SampleEncryptionEntry.html
index 4e23779dfd..33d527c85b 100644
--- a/docs/d6/dcb/structshaka_1_1media_1_1mp4_1_1SampleEncryptionEntry.html
+++ b/docs/d6/dcb/structshaka_1_1media_1_1mp4_1_1SampleEncryptionEntry.html
@@ -250,7 +250,7 @@ std::vector<
diff --git a/docs/d6/dcc/classshaka_1_1media_1_1VP9Parser-members.html b/docs/d6/dcc/classshaka_1_1media_1_1VP9Parser-members.html
index 5a705b54c3..1bdc43de2c 100644
--- a/docs/d6/dcc/classshaka_1_1media_1_1VP9Parser-members.html
+++ b/docs/d6/dcc/classshaka_1_1media_1_1VP9Parser-members.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/dce/structshaka_1_1media_1_1mp4_1_1SegmentReference-members.html b/docs/d6/dce/structshaka_1_1media_1_1mp4_1_1SegmentReference-members.html
index 319e16b51c..a4b0f6cfcb 100644
--- a/docs/d6/dce/structshaka_1_1media_1_1mp4_1_1SegmentReference-members.html
+++ b/docs/d6/dce/structshaka_1_1media_1_1mp4_1_1SegmentReference-members.html
@@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/dcf/classshaka_1_1media_1_1mp2t_1_1EsParserAdts.html b/docs/d6/dcf/classshaka_1_1media_1_1mp2t_1_1EsParserAdts.html
index 572572176d..eb8e9458f9 100644
--- a/docs/d6/dcf/classshaka_1_1media_1_1mp2t_1_1EsParserAdts.html
+++ b/docs/d6/dcf/classshaka_1_1media_1_1mp2t_1_1EsParserAdts.html
@@ -148,7 +148,7 @@ const scoped_refptr
diff --git a/docs/d6/dd0/structshaka_1_1media_1_1H264SEIMessage.html b/docs/d6/dd0/structshaka_1_1media_1_1H264SEIMessage.html
index 38f1cf8b49..2ea883ed56 100644
--- a/docs/d6/dd0/structshaka_1_1media_1_1H264SEIMessage.html
+++ b/docs/d6/dd0/structshaka_1_1media_1_1H264SEIMessage.html
@@ -127,7 +127,7 @@ union {
diff --git a/docs/d6/dde/structshaka_1_1media_1_1H265VuiParameters-members.html b/docs/d6/dde/structshaka_1_1media_1_1H265VuiParameters-members.html
index 9c593e9f2a..5867233292 100644
--- a/docs/d6/dde/structshaka_1_1media_1_1H265VuiParameters-members.html
+++ b/docs/d6/dde/structshaka_1_1media_1_1H265VuiParameters-members.html
@@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/de4/structshaka_1_1media_1_1mp4_1_1CueTimeBox-members.html b/docs/d6/de4/structshaka_1_1media_1_1mp4_1_1CueTimeBox-members.html
index 53cbdfc7f4..d6d37f4bac 100644
--- a/docs/d6/de4/structshaka_1_1media_1_1mp4_1_1CueTimeBox-members.html
+++ b/docs/d6/de4/structshaka_1_1media_1_1mp4_1_1CueTimeBox-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/de7/structshaka_1_1media_1_1VPxFrameInfo-members.html b/docs/d6/de7/structshaka_1_1media_1_1VPxFrameInfo-members.html
index 54e274fc97..af87a2f340 100644
--- a/docs/d6/de7/structshaka_1_1media_1_1VPxFrameInfo-members.html
+++ b/docs/d6/de7/structshaka_1_1media_1_1VPxFrameInfo-members.html
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/de8/local__file_8cc_source.html b/docs/d6/de8/local__file_8cc_source.html
index 2f6b8713f9..e0c0700a2e 100644
--- a/docs/d6/de8/local__file_8cc_source.html
+++ b/docs/d6/de8/local__file_8cc_source.html
@@ -211,7 +211,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/de8/network__util_8h_source.html b/docs/d6/de8/network__util_8h_source.html
index 4e689e1921..a748cafcb2 100644
--- a/docs/d6/de8/network__util_8h_source.html
+++ b/docs/d6/de8/network__util_8h_source.html
@@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/de9/ts__segmenter_8cc_source.html b/docs/d6/de9/ts__segmenter_8cc_source.html
index 1f5cce71b1..a88cef7afd 100644
--- a/docs/d6/de9/ts__segmenter_8cc_source.html
+++ b/docs/d6/de9/ts__segmenter_8cc_source.html
@@ -289,7 +289,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
@@ -313,7 +313,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/ded/ts__packet_8h_source.html b/docs/d6/ded/ts__packet_8h_source.html
index 6592bb8326..61cc3a5172 100644
--- a/docs/d6/ded/ts__packet_8h_source.html
+++ b/docs/d6/ded/ts__packet_8h_source.html
@@ -169,7 +169,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/def/sync__sample__iterator_8cc_source.html b/docs/d6/def/sync__sample__iterator_8cc_source.html
index 5722e5e94b..6cf34c9528 100644
--- a/docs/d6/def/sync__sample__iterator_8cc_source.html
+++ b/docs/d6/def/sync__sample__iterator_8cc_source.html
@@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/dff/classshaka_1_1media_1_1Nalu.html b/docs/d6/dff/classshaka_1_1media_1_1Nalu.html
index ab851b7a43..69fd91c62d 100644
--- a/docs/d6/dff/classshaka_1_1media_1_1Nalu.html
+++ b/docs/d6/dff/classshaka_1_1media_1_1Nalu.html
@@ -240,7 +240,7 @@ bool can_start_access_unit
diff --git a/docs/d7/d01/structshaka_1_1media_1_1mp4_1_1SampleGroupDescription.html b/docs/d7/d01/structshaka_1_1media_1_1mp4_1_1SampleGroupDescription.html
index 948b24e215..facaa878bc 100644
--- a/docs/d7/d01/structshaka_1_1media_1_1mp4_1_1SampleGroupDescription.html
+++ b/docs/d7/d01/structshaka_1_1media_1_1mp4_1_1SampleGroupDescription.html
@@ -194,7 +194,7 @@ Additional Inherited Members |
diff --git a/docs/d7/d07/structshaka_1_1media_1_1mp4_1_1SoundMediaHeader.html b/docs/d7/d07/structshaka_1_1media_1_1mp4_1_1SoundMediaHeader.html
index f6690ef662..30c1018dd7 100644
--- a/docs/d7/d07/structshaka_1_1media_1_1mp4_1_1SoundMediaHeader.html
+++ b/docs/d7/d07/structshaka_1_1media_1_1mp4_1_1SoundMediaHeader.html
@@ -182,7 +182,7 @@ Additional Inherited Members
diff --git a/docs/d7/d0b/muxer__listener__test__helper_8h_source.html b/docs/d7/d0b/muxer__listener__test__helper_8h_source.html
index c3d2887891..adcf6bc3b1 100644
--- a/docs/d7/d0b/muxer__listener__test__helper_8h_source.html
+++ b/docs/d7/d0b/muxer__listener__test__helper_8h_source.html
@@ -149,7 +149,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
64 std::string codec_string;
@@ -206,7 +206,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/d12/media__parser_8h_source.html b/docs/d7/d12/media__parser_8h_source.html
index da2a9595ec..c25b2d0124 100644
--- a/docs/d7/d12/media__parser_8h_source.html
+++ b/docs/d7/d12/media__parser_8h_source.html
@@ -150,7 +150,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/d15/mpd__notifier_8h_source.html b/docs/d7/d15/mpd__notifier_8h_source.html
index 9378388aed..16c1a1f7b1 100644
--- a/docs/d7/d15/mpd__notifier_8h_source.html
+++ b/docs/d7/d15/mpd__notifier_8h_source.html
@@ -169,7 +169,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/d16/structshaka_1_1media_1_1mp4_1_1VideoSampleEntry-members.html b/docs/d7/d16/structshaka_1_1media_1_1mp4_1_1VideoSampleEntry-members.html
index 2a82fb0d2b..357ccaee0d 100644
--- a/docs/d7/d16/structshaka_1_1media_1_1mp4_1_1VideoSampleEntry-members.html
+++ b/docs/d7/d16/structshaka_1_1media_1_1mp4_1_1VideoSampleEntry-members.html
@@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/d22/libcrypto__threading_8h_source.html b/docs/d7/d22/libcrypto__threading_8h_source.html
index e30261f8ce..618a4b24ba 100644
--- a/docs/d7/d22/libcrypto__threading_8h_source.html
+++ b/docs/d7/d22/libcrypto__threading_8h_source.html
@@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/d26/classshaka_1_1media_1_1mp4_1_1SyncSampleIterator.html b/docs/d7/d26/classshaka_1_1media_1_1mp4_1_1SyncSampleIterator.html
index 43c4ce6677..40759b0dc5 100644
--- a/docs/d7/d26/classshaka_1_1media_1_1mp4_1_1SyncSampleIterator.html
+++ b/docs/d7/d26/classshaka_1_1media_1_1mp4_1_1SyncSampleIterator.html
@@ -177,7 +177,7 @@ Public Member Functions
diff --git a/docs/d7/d29/structshaka_1_1media_1_1H265Sps-members.html b/docs/d7/d29/structshaka_1_1media_1_1H265Sps-members.html
index 20489847de..27b7e3392d 100644
--- a/docs/d7/d29/structshaka_1_1media_1_1H265Sps-members.html
+++ b/docs/d7/d29/structshaka_1_1media_1_1H265Sps-members.html
@@ -146,7 +146,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/d29/structshaka_1_1media_1_1mp4_1_1CompositionTimeToSample-members.html b/docs/d7/d29/structshaka_1_1media_1_1mp4_1_1CompositionTimeToSample-members.html
index 1f918d7b06..411621d757 100644
--- a/docs/d7/d29/structshaka_1_1media_1_1mp4_1_1CompositionTimeToSample-members.html
+++ b/docs/d7/d29/structshaka_1_1media_1_1mp4_1_1CompositionTimeToSample-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/d36/classshaka_1_1media_1_1ContentEncoding-members.html b/docs/d7/d36/classshaka_1_1media_1_1ContentEncoding-members.html
index 319b3574c0..8ac4622edd 100644
--- a/docs/d7/d36/classshaka_1_1media_1_1ContentEncoding-members.html
+++ b/docs/d7/d36/classshaka_1_1media_1_1ContentEncoding-members.html
@@ -132,7 +132,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/d42/protection__system__specific__info_8cc_source.html b/docs/d7/d42/protection__system__specific__info_8cc_source.html
index c6ceb44e02..7545ce9f6b 100644
--- a/docs/d7/d42/protection__system__specific__info_8cc_source.html
+++ b/docs/d7/d42/protection__system__specific__info_8cc_source.html
@@ -219,7 +219,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/d42/structshaka_1_1media_1_1mp4_1_1SampleSize.html b/docs/d7/d42/structshaka_1_1media_1_1mp4_1_1SampleSize.html
index e84f14fd7f..f1eca1fc5c 100644
--- a/docs/d7/d42/structshaka_1_1media_1_1mp4_1_1SampleSize.html
+++ b/docs/d7/d42/structshaka_1_1media_1_1mp4_1_1SampleSize.html
@@ -188,7 +188,7 @@ Additional Inherited Members
diff --git a/docs/d7/d44/structshaka_1_1media_1_1mp4_1_1SampleEncryption-members.html b/docs/d7/d44/structshaka_1_1media_1_1mp4_1_1SampleEncryption-members.html
index 8b9b870288..c35294a572 100644
--- a/docs/d7/d44/structshaka_1_1media_1_1mp4_1_1SampleEncryption-members.html
+++ b/docs/d7/d44/structshaka_1_1media_1_1mp4_1_1SampleEncryption-members.html
@@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/d46/classshaka_1_1media_1_1WebMListParser-members.html b/docs/d7/d46/classshaka_1_1media_1_1WebMListParser-members.html
index 08ce42e8d6..3e9777d725 100644
--- a/docs/d7/d46/classshaka_1_1media_1_1WebMListParser-members.html
+++ b/docs/d7/d46/classshaka_1_1media_1_1WebMListParser-members.html
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/d54/classshaka_1_1media_1_1H26xByteToUnitStreamConverter-members.html b/docs/d7/d54/classshaka_1_1media_1_1H26xByteToUnitStreamConverter-members.html
index 975772db99..292a30ad00 100644
--- a/docs/d7/d54/classshaka_1_1media_1_1H26xByteToUnitStreamConverter-members.html
+++ b/docs/d7/d54/classshaka_1_1media_1_1H26xByteToUnitStreamConverter-members.html
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/d59/classshaka_1_1media_1_1DecryptorSource.html b/docs/d7/d59/classshaka_1_1media_1_1DecryptorSource.html
index 5e9c2c773f..ec0bbd29f5 100644
--- a/docs/d7/d59/classshaka_1_1media_1_1DecryptorSource.html
+++ b/docs/d7/d59/classshaka_1_1media_1_1DecryptorSource.html
@@ -119,7 +119,7 @@ bool DecryptSampleBuffer
diff --git a/docs/d7/d6d/classshaka_1_1media_1_1MediaSample.html b/docs/d7/d6d/classshaka_1_1media_1_1MediaSample.html
index f28df12785..cab5da74fd 100644
--- a/docs/d7/d6d/classshaka_1_1media_1_1MediaSample.html
+++ b/docs/d7/d6d/classshaka_1_1media_1_1MediaSample.html
@@ -411,7 +411,7 @@ class | base::RefCountedThre
diff --git a/docs/d7/d75/structshaka_1_1media_1_1mp4_1_1MediaHeader-members.html b/docs/d7/d75/structshaka_1_1media_1_1mp4_1_1MediaHeader-members.html
index 50262b8b4b..ae1eb14aef 100644
--- a/docs/d7/d75/structshaka_1_1media_1_1mp4_1_1MediaHeader-members.html
+++ b/docs/d7/d75/structshaka_1_1media_1_1mp4_1_1MediaHeader-members.html
@@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/d78/structshaka_1_1media_1_1H264SEIMessage-members.html b/docs/d7/d78/structshaka_1_1media_1_1H264SEIMessage-members.html
index 6027ec2033..4f97bc8cfa 100644
--- a/docs/d7/d78/structshaka_1_1media_1_1H264SEIMessage-members.html
+++ b/docs/d7/d78/structshaka_1_1media_1_1H264SEIMessage-members.html
@@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/d7a/classshaka_1_1media_1_1UdpFile.html b/docs/d7/d7a/classshaka_1_1media_1_1UdpFile.html
index 29fdb50add..4d227d19b7 100644
--- a/docs/d7/d7a/classshaka_1_1media_1_1UdpFile.html
+++ b/docs/d7/d7a/classshaka_1_1media_1_1UdpFile.html
@@ -463,7 +463,7 @@ Additional Inherited Members |
diff --git a/docs/d7/d7c/vlog__flags_8h_source.html b/docs/d7/d7c/vlog__flags_8h_source.html
index 0126ccf00a..31042364d6 100644
--- a/docs/d7/d7c/vlog__flags_8h_source.html
+++ b/docs/d7/d7c/vlog__flags_8h_source.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/d87/video__stream__info_8h_source.html b/docs/d7/d87/video__stream__info_8h_source.html
index 062a00fee9..15ce411ce0 100644
--- a/docs/d7/d87/video__stream__info_8h_source.html
+++ b/docs/d7/d87/video__stream__info_8h_source.html
@@ -101,94 +101,68 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
- 16 kUnknownVideoCodec = 0,
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 40 const std::string& codec_string,
- 41 const std::string& language,
-
-
-
-
- 46 int16_t trick_play_rate,
- 47 uint8_t nalu_length_size,
- 48 const uint8_t* codec_config,
- 49 size_t codec_config_size,
-
-
-
- 55 std::string
ToString()
const override;
-
- 58 VideoCodec codec()
const {
return codec_; }
- 59 uint16_t width()
const {
return width_; }
- 60 uint16_t height()
const {
return height_; }
-
-
- 67 uint8_t nalu_length_size()
const {
return nalu_length_size_; }
- 68 int16_t trick_play_rate()
const {
return trick_play_rate_; }
-
- 70 void set_codec(VideoCodec codec) { codec_ = codec; }
- 71 void set_width(uint32_t width) { width_ = width; }
- 72 void set_height(uint32_t height) { height_ = height; }
- 73 void set_pixel_width(uint32_t pixel_width) { pixel_width_ =
pixel_width; }
- 74 void set_pixel_height(uint32_t pixel_height) { pixel_height_ =
pixel_height; }
+
+
+
+ 22 Codec codec,
const std::string& codec_string,
+ 23 const uint8_t* codec_config,
size_t codec_config_size,
+ 24 uint16_t width, uint16_t height, uint32_t
pixel_width,
+
+ 26 uint8_t nalu_length_size,
const std::string& language,
+
+
+
+ 32 std::string
ToString()
const override;
+
+ 35 uint16_t width()
const {
return width_; }
+ 36 uint16_t height()
const {
return height_; }
+
+
+ 43 uint8_t nalu_length_size()
const {
return nalu_length_size_; }
+ 44 int16_t trick_play_rate()
const {
return trick_play_rate_; }
+
+ 46 void set_width(uint32_t width) { width_ = width; }
+ 47 void set_height(uint32_t height) { height_ = height; }
+ 48 void set_pixel_width(uint32_t pixel_width) { pixel_width_ =
pixel_width; }
+ 49 void set_pixel_height(uint32_t pixel_height) { pixel_height_ =
pixel_height; }
+
+
+
+
+
+
+
+
+
+ 59 uint32_t pixel_width_;
+ 60 uint32_t pixel_height_;
+ 61 int16_t trick_play_rate_;
+
+
+
+
+ 66 uint8_t nalu_length_size_;
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
- 85 uint32_t pixel_width_;
- 86 uint32_t pixel_height_;
- 87 int16_t trick_play_rate_;
-
-
-
-
- 92 uint8_t nalu_length_size_;
-
-
-
-
-
-
-
-
-
- 102 #endif // MEDIA_BASE_VIDEO_STREAM_INFO_H_
-
-
-
-
-
-
-
+ 76 #endif // MEDIA_BASE_VIDEO_STREAM_INFO_H_
+
+
+
+
+
+
+
diff --git a/docs/d7/d9c/structshaka_1_1media_1_1H265SliceHeader_1_1LongTermPicsInfo.html b/docs/d7/d9c/structshaka_1_1media_1_1H265SliceHeader_1_1LongTermPicsInfo.html
index 3c26a24f37..68eb298ebf 100644
--- a/docs/d7/d9c/structshaka_1_1media_1_1H265SliceHeader_1_1LongTermPicsInfo.html
+++ b/docs/d7/d9c/structshaka_1_1media_1_1H265SliceHeader_1_1LongTermPicsInfo.html
@@ -112,7 +112,7 @@ int delta_poc_msb_cycle_lt
diff --git a/docs/d7/d9d/progress__listener_8h_source.html b/docs/d7/d9d/progress__listener_8h_source.html
index be9c5797a5..3a1f2cb94c 100644
--- a/docs/d7/d9d/progress__listener_8h_source.html
+++ b/docs/d7/d9d/progress__listener_8h_source.html
@@ -127,7 +127,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/da4/track__run__iterator_8h_source.html b/docs/d7/da4/track__run__iterator_8h_source.html
index 732a4068a4..54e2215636 100644
--- a/docs/d7/da4/track__run__iterator_8h_source.html
+++ b/docs/d7/da4/track__run__iterator_8h_source.html
@@ -195,7 +195,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/dae/structshaka_1_1media_1_1mp4_1_1MediaData.html b/docs/d7/dae/structshaka_1_1media_1_1mp4_1_1MediaData.html
index 7222af4fcc..7ec96051c3 100644
--- a/docs/d7/dae/structshaka_1_1media_1_1mp4_1_1MediaData.html
+++ b/docs/d7/dae/structshaka_1_1media_1_1mp4_1_1MediaData.html
@@ -173,7 +173,7 @@ Additional Inherited Members |
diff --git a/docs/d7/db0/mpd__writer_8h_source.html b/docs/d7/db0/mpd__writer_8h_source.html
index c2c8aa22b5..a2bc1b6fe1 100644
--- a/docs/d7/db0/mpd__writer_8h_source.html
+++ b/docs/d7/db0/mpd__writer_8h_source.html
@@ -182,7 +182,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/db7/structshaka_1_1media_1_1mp4_1_1SampleToChunk-members.html b/docs/d7/db7/structshaka_1_1media_1_1mp4_1_1SampleToChunk-members.html
index 111f7f6a07..d60c11326f 100644
--- a/docs/d7/db7/structshaka_1_1media_1_1mp4_1_1SampleToChunk-members.html
+++ b/docs/d7/db7/structshaka_1_1media_1_1mp4_1_1SampleToChunk-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/dc3/structshaka_1_1media_1_1mp4_1_1TextSampleEntry.html b/docs/d7/dc3/structshaka_1_1media_1_1mp4_1_1TextSampleEntry.html
index f109f2fc8b..e5579564d5 100644
--- a/docs/d7/dc3/structshaka_1_1media_1_1mp4_1_1TextSampleEntry.html
+++ b/docs/d7/dc3/structshaka_1_1media_1_1mp4_1_1TextSampleEntry.html
@@ -182,7 +182,7 @@ Additional Inherited Members
diff --git a/docs/d7/dc6/byte__queue_8h_source.html b/docs/d7/dc6/byte__queue_8h_source.html
index b642f14fa6..07fea3156c 100644
--- a/docs/d7/dc6/byte__queue_8h_source.html
+++ b/docs/d7/dc6/byte__queue_8h_source.html
@@ -144,7 +144,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/dd0/mpd__notifier__util_8h_source.html b/docs/d7/dd0/mpd__notifier__util_8h_source.html
index 03a6da8f28..050bddcdd0 100644
--- a/docs/d7/dd0/mpd__notifier__util_8h_source.html
+++ b/docs/d7/dd0/mpd__notifier__util_8h_source.html
@@ -128,7 +128,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/dd4/request__signer_8h_source.html b/docs/d7/dd4/request__signer_8h_source.html
index d40ea4c4b5..5d195ce533 100644
--- a/docs/d7/dd4/request__signer_8h_source.html
+++ b/docs/d7/dd4/request__signer_8h_source.html
@@ -178,7 +178,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/dd5/classshaka_1_1media_1_1mp4_1_1MP4MediaParser.html b/docs/d7/dd5/classshaka_1_1media_1_1mp4_1_1MP4MediaParser.html
index 1c30a9d7c9..0a991d2756 100644
--- a/docs/d7/dd5/classshaka_1_1media_1_1mp4_1_1MP4MediaParser.html
+++ b/docs/d7/dd5/classshaka_1_1media_1_1mp4_1_1MP4MediaParser.html
@@ -156,7 +156,7 @@ track_id, const scoped_refptr
Implements shaka::media::MediaParser.
-Definition at line 124 of file mp4_media_parser.cc.
+Definition at line 117 of file mp4_media_parser.cc.
@@ -208,7 +208,7 @@ track_id, const scoped_refptr
Implements shaka::media::MediaParser.
-Definition at line 101 of file mp4_media_parser.cc.
+Definition at line 94 of file mp4_media_parser.cc.
@@ -234,7 +234,7 @@ track_id, const scoped_refptr
- Returns
- true if successful, false otherwise.
-Definition at line 165 of file mp4_media_parser.cc.
+Definition at line 158 of file mp4_media_parser.cc.
@@ -274,7 +274,7 @@ track_id, const scoped_refptr
Implements shaka::media::MediaParser.
-Definition at line 131 of file mp4_media_parser.cc.
+Definition at line 124 of file mp4_media_parser.cc.
@@ -285,7 +285,7 @@ track_id, const scoped_refptr
diff --git a/docs/d7/dd6/key__source_8cc_source.html b/docs/d7/dd6/key__source_8cc_source.html
index 998a8721fb..544e118d81 100644
--- a/docs/d7/dd6/key__source_8cc_source.html
+++ b/docs/d7/dd6/key__source_8cc_source.html
@@ -142,7 +142,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/dda/classshaka_1_1media_1_1ByteQueue.html b/docs/d7/dda/classshaka_1_1media_1_1ByteQueue.html
index 7218633cb3..8fcb456119 100644
--- a/docs/d7/dda/classshaka_1_1media_1_1ByteQueue.html
+++ b/docs/d7/dda/classshaka_1_1media_1_1ByteQueue.html
@@ -177,7 +177,7 @@ void
diff --git a/docs/d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html b/docs/d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html
index 71fa1172ba..68a6af8db9 100644
--- a/docs/d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html
+++ b/docs/d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html
@@ -182,7 +182,7 @@ Additional Inherited Members |
diff --git a/docs/d7/de0/classshaka_1_1media_1_1HttpKeyFetcher.html b/docs/d7/de0/classshaka_1_1media_1_1HttpKeyFetcher.html
index 5cee0e282e..7b2e0a3a28 100644
--- a/docs/d7/de0/classshaka_1_1media_1_1HttpKeyFetcher.html
+++ b/docs/d7/de0/classshaka_1_1media_1_1HttpKeyFetcher.html
@@ -311,7 +311,7 @@ KeyFetcher implementation overrides.
diff --git a/docs/d7/de0/structshaka_1_1media_1_1mp4_1_1SampleToGroupEntry.html b/docs/d7/de0/structshaka_1_1media_1_1mp4_1_1SampleToGroupEntry.html
index 4e12c8eb1d..21f0591dba 100644
--- a/docs/d7/de0/structshaka_1_1media_1_1mp4_1_1SampleToGroupEntry.html
+++ b/docs/d7/de0/structshaka_1_1media_1_1mp4_1_1SampleToGroupEntry.html
@@ -120,7 +120,7 @@ uint32_t group_description
diff --git a/docs/d7/dec/h264__byte__to__unit__stream__converter_8h_source.html b/docs/d7/dec/h264__byte__to__unit__stream__converter_8h_source.html
index be3dcd054a..d44c09be3e 100644
--- a/docs/d7/dec/h264__byte__to__unit__stream__converter_8h_source.html
+++ b/docs/d7/dec/h264__byte__to__unit__stream__converter_8h_source.html
@@ -134,7 +134,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/dee/mpd__generator_8cc_source.html b/docs/d7/dee/mpd__generator_8cc_source.html
index f10ed718f9..d735856c11 100644
--- a/docs/d7/dee/mpd__generator_8cc_source.html
+++ b/docs/d7/dee/mpd__generator_8cc_source.html
@@ -227,7 +227,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/def/mp4__media__parser_8cc_source.html b/docs/d7/def/mp4__media__parser_8cc_source.html
index 8cf7043454..6757f38588 100644
--- a/docs/d7/def/mp4__media__parser_8cc_source.html
+++ b/docs/d7/def/mp4__media__parser_8cc_source.html
@@ -129,7 +129,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
40 return (static_cast<double>(time_in_old_scale) / old_scale) * new_scale;
- 43 VideoCodec FourCCToVideoCodec(FourCC fourcc) {
+ 43 Codec FourCCToCodec(FourCC fourcc) {
@@ -143,736 +143,719 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
- 58 return kUnknownVideoCodec;
-
-
-
- 62 AudioCodec FourCCToAudioCodec(FourCC fourcc) {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 83 return kUnknownAudioCodec;
-
-
-
-
- 88 const uint8_t kDtsAudioNumChannels = 6;
- 89 const uint64_t kNanosecondsPerSecond = 1000000000ull;
-
-
-
- 93 MP4MediaParser::MP4MediaParser()
- 94 : state_(kWaitingForInit),
- 95 decryption_key_source_(NULL),
-
-
-
- 99 MP4MediaParser::~MP4MediaParser() {}
-
-
- 102 const NewSampleCB& new_sample_cb,
-
- 104 DCHECK_EQ(state_, kWaitingForInit);
- 105 DCHECK(init_cb_.is_null());
- 106 DCHECK(!init_cb.is_null());
- 107 DCHECK(!new_sample_cb.is_null());
-
- 109 ChangeState(kParsingBoxes);
-
- 111 new_sample_cb_ = new_sample_cb;
- 112 decryption_key_source_ = decryption_key_source;
- 113 if (decryption_key_source)
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 81 const uint8_t kDtsAudioNumChannels = 6;
+ 82 const uint64_t kNanosecondsPerSecond = 1000000000ull;
+
+
+
+ 86 MP4MediaParser::MP4MediaParser()
+ 87 : state_(kWaitingForInit),
+ 88 decryption_key_source_(NULL),
+
+
+
+ 92 MP4MediaParser::~MP4MediaParser() {}
+
+
+ 95 const NewSampleCB& new_sample_cb,
+
+ 97 DCHECK_EQ(state_, kWaitingForInit);
+ 98 DCHECK(init_cb_.is_null());
+ 99 DCHECK(!init_cb.is_null());
+ 100 DCHECK(!new_sample_cb.is_null());
+
+ 102 ChangeState(kParsingBoxes);
+
+ 104 new_sample_cb_ = new_sample_cb;
+ 105 decryption_key_source_ = decryption_key_source;
+ 106 if (decryption_key_source)
+
+
+
+ 110 void MP4MediaParser::Reset() {
+
+
+
+
- 117 void MP4MediaParser::Reset() {
-
-
-
-
+
+ 118 DCHECK_NE(state_, kWaitingForInit);
+
+ 120 ChangeState(kParsingBoxes);
+
-
+
125 DCHECK_NE(state_, kWaitingForInit);
-
- 127 ChangeState(kParsingBoxes);
-
-
-
-
- 132 DCHECK_NE(state_, kWaitingForInit);
+
+ 127 if (state_ == kError)
+
+
+ 130 queue_.Push(buf, size);
+
+ 132 bool result, err = false;
- 134 if (state_ == kError)
-
-
- 137 queue_.Push(buf, size);
-
- 139 bool result, err = false;
-
-
- 142 if (state_ == kParsingBoxes) {
- 143 result = ParseBox(&err);
-
- 145 DCHECK_EQ(kEmittingSamples, state_);
- 146 result = EnqueueSample(&err);
-
- 148 int64_t max_clear = runs_->GetMaxClearOffset() + moof_head_;
- 149 err = !ReadAndDiscardMDATsUntil(max_clear);
-
-
- 152 } while (result && !err);
-
-
- 155 DLOG(ERROR) << "Error while parsing MP4";
-
-
-
-
-
-
-
-
-
-
- 166 scoped_ptr<File, FileCloser> file(
-
-
- 169 LOG(ERROR) << "Unable to open media file '" << file_path << "'";
-
-
- 172 if (!file->Seek(0)) {
- 173 LOG(WARNING) << "Filesystem does not support seeking on file '" << file_path
-
-
-
-
- 178 uint64_t file_position(0);
- 179 bool mdat_seen( false);
-
- 181 const uint32_t kBoxHeaderReadSize(16);
- 182 std::vector<uint8_t> buffer(kBoxHeaderReadSize);
- 183 int64_t bytes_read = file->Read(&buffer[0], kBoxHeaderReadSize);
- 184 if (bytes_read == 0) {
- 185 LOG(ERROR) << "Could not find 'moov' box in file '" << file_path << "'";
-
-
- 188 if (bytes_read < kBoxHeaderReadSize) {
- 189 LOG(ERROR) << "Error reading media file '" << file_path << "'";
-
-
-
-
-
-
-
- 197 LOG(ERROR) << "Could not start box from file '" << file_path << "'";
-
-
- 200 if (box_type == FOURCC_mdat) {
-
- 202 } else if (box_type == FOURCC_moov) {
-
-
-
-
-
- 208 if (! Parse(&buffer[0], bytes_read)) {
- 209 LOG(ERROR) << "Error parsing mp4 file '" << file_path << "'";
-
-
- 212 uint64_t bytes_to_read = box_size - bytes_read;
- 213 buffer.resize(bytes_to_read);
- 214 while (bytes_to_read > 0) {
- 215 bytes_read = file->Read(&buffer[0], bytes_to_read);
- 216 if (bytes_read <= 0) {
- 217 LOG(ERROR) << "Error reading 'moov' contents from file '" << file_path
-
-
-
- 221 if (! Parse(&buffer[0], bytes_read)) {
- 222 LOG(ERROR) << "Error parsing mp4 file '" << file_path << "'";
-
-
- 225 bytes_to_read -= bytes_read;
-
-
-
-
-
- 231 file_position += box_size;
- 232 if (!file->Seek(file_position)) {
- 233 LOG(ERROR) << "Error skipping box in mp4 file '" << file_path << "'";
-
-
-
-
-
+
+ 135 if (state_ == kParsingBoxes) {
+ 136 result = ParseBox(&err);
+
+ 138 DCHECK_EQ(kEmittingSamples, state_);
+ 139 result = EnqueueSample(&err);
+
+ 141 int64_t max_clear = runs_->GetMaxClearOffset() + moof_head_;
+ 142 err = !ReadAndDiscardMDATsUntil(max_clear);
+
+
+ 145 } while (result && !err);
+
+
+ 148 DLOG(ERROR) << "Error while parsing MP4";
+
+
+
+
+
+
+
+
+
+
+ 159 scoped_ptr<File, FileCloser> file(
+
+
+ 162 LOG(ERROR) << "Unable to open media file '" << file_path << "'";
+
+
+ 165 if (!file->Seek(0)) {
+ 166 LOG(WARNING) << "Filesystem does not support seeking on file '" << file_path
+
+
+
+
+ 171 uint64_t file_position(0);
+ 172 bool mdat_seen( false);
+
+ 174 const uint32_t kBoxHeaderReadSize(16);
+ 175 std::vector<uint8_t> buffer(kBoxHeaderReadSize);
+ 176 int64_t bytes_read = file->Read(&buffer[0], kBoxHeaderReadSize);
+ 177 if (bytes_read == 0) {
+ 178 LOG(ERROR) << "Could not find 'moov' box in file '" << file_path << "'";
+
+
+ 181 if (bytes_read < kBoxHeaderReadSize) {
+ 182 LOG(ERROR) << "Error reading media file '" << file_path << "'";
+
+
+
+
+
+
+
+ 190 LOG(ERROR) << "Could not start box from file '" << file_path << "'";
+
+
+ 193 if (box_type == FOURCC_mdat) {
+
+ 195 } else if (box_type == FOURCC_moov) {
+
+
+
+
+
+ 201 if (! Parse(&buffer[0], bytes_read)) {
+ 202 LOG(ERROR) << "Error parsing mp4 file '" << file_path << "'";
+
+
+ 205 uint64_t bytes_to_read = box_size - bytes_read;
+ 206 buffer.resize(bytes_to_read);
+ 207 while (bytes_to_read > 0) {
+ 208 bytes_read = file->Read(&buffer[0], bytes_to_read);
+ 209 if (bytes_read <= 0) {
+ 210 LOG(ERROR) << "Error reading 'moov' contents from file '" << file_path
+
+
+
+ 214 if (! Parse(&buffer[0], bytes_read)) {
+ 215 LOG(ERROR) << "Error parsing mp4 file '" << file_path << "'";
+
+
+ 218 bytes_to_read -= bytes_read;
+
+
+
+
+
+ 224 file_position += box_size;
+ 225 if (!file->Seek(file_position)) {
+ 226 LOG(ERROR) << "Error skipping box in mp4 file '" << file_path << "'";
+
+
+
+
+
+
+ 233 bool MP4MediaParser::ParseBox( bool* err) {
+
+
+ 236 queue_.Peek(&buf, &size);
+
+
- 240 bool MP4MediaParser::ParseBox( bool* err) {
-
-
- 243 queue_.Peek(&buf, &size);
-
-
-
-
- 248 if (reader.get() == NULL)
-
-
- 251 if (reader->type() == FOURCC_mdat) {
-
-
-
- 255 NOTIMPLEMENTED() << " Files with MDAT before MOOV is not supported yet.";
-
-
-
-
-
- 261 mdat_tail_ = queue_. head() + reader->size();
-
- 263 if (reader->type() == FOURCC_moov) {
- 264 *err = !ParseMoov(reader.get());
- 265 } else if (reader->type() == FOURCC_moof) {
- 266 moof_head_ = queue_. head();
- 267 *err = !ParseMoof(reader.get());
-
-
-
-
-
-
-
- 275 VLOG(2) << "Skipping top-level box: " << FourCCToString(reader->type());
-
-
- 278 queue_.Pop(reader->size());
-
-
-
- 282 bool MP4MediaParser::ParseMoov(BoxReader* reader) {
-
-
-
- 286 moov_.reset( new Movie);
- 287 RCHECK(moov_->Parse(reader));
-
-
- 290 std::vector<scoped_refptr<StreamInfo> > streams;
-
- 292 for (std::vector<Track>::const_iterator track = moov_->tracks.begin();
- 293 track != moov_->tracks.end(); ++track) {
- 294 const uint32_t timescale = track->media.header.timescale;
-
-
- 297 uint64_t duration = 0;
- 298 if (track->media.header.duration > 0) {
- 299 duration = track->media.header.duration;
- 300 } else if (moov_->extends.header.fragment_duration > 0) {
- 301 DCHECK(moov_->header.timescale != 0);
- 302 duration = Rescale(moov_->extends.header.fragment_duration,
- 303 moov_->header.timescale,
-
- 305 } else if (moov_->header.duration > 0 &&
- 306 moov_->header.duration != std::numeric_limits<uint64_t>::max()) {
- 307 DCHECK(moov_->header.timescale != 0);
-
- 309 Rescale(moov_->header.duration, moov_->header.timescale, timescale);
-
-
- 312 const SampleDescription& samp_descr =
- 313 track->media.information.sample_table.description;
-
-
-
-
-
- 319 if (moov_->extends.tracks.size() > 0) {
- 320 for ( size_t t = 0; t < moov_->extends.tracks.size(); t++) {
- 321 const TrackExtends& trex = moov_->extends.tracks[t];
- 322 if (trex.track_id == track->header.track_id) {
- 323 desc_idx = trex.default_sample_description_index;
-
-
-
-
- 328 const std::vector<ChunkInfo>& chunk_info =
- 329 track->media.information.sample_table.sample_to_chunk.chunk_info;
- 330 RCHECK(chunk_info.size() > 0);
- 331 desc_idx = chunk_info[0].sample_description_index;
-
- 333 RCHECK(desc_idx > 0);
-
-
- 336 if (samp_descr.type == kAudio) {
- 337 RCHECK(!samp_descr.audio_entries.empty());
-
-
-
- 341 if (desc_idx >= samp_descr.audio_entries.size())
-
-
- 344 const AudioSampleEntry& entry = samp_descr.audio_entries[desc_idx];
- 345 const FourCC actual_format = entry.GetActualFormat();
- 346 AudioCodec codec = FourCCToAudioCodec(actual_format);
- 347 uint8_t num_channels = 0;
- 348 uint32_t sampling_frequency = 0;
- 349 uint64_t codec_delay_ns = 0;
- 350 uint8_t audio_object_type = 0;
- 351 uint32_t max_bitrate = 0;
- 352 uint32_t avg_bitrate = 0;
- 353 std::vector<uint8_t> codec_config;
-
- 355 switch (actual_format) {
-
-
-
- 359 if (entry.esds.es_descriptor.IsAAC()) {
-
- 361 const AACAudioSpecificConfig& aac_audio_specific_config =
- 362 entry.esds.aac_audio_specific_config;
- 363 num_channels = aac_audio_specific_config.num_channels();
- 364 sampling_frequency = aac_audio_specific_config.frequency();
- 365 audio_object_type = aac_audio_specific_config.audio_object_type();
- 366 codec_config = entry.esds.es_descriptor.decoder_specific_info();
-
- 368 } else if (entry.esds.es_descriptor.IsDTS()) {
- 369 ObjectType audio_type = entry.esds.es_descriptor.object_type();
- 370 switch (audio_type) {
-
-
-
-
-
-
-
-
-
-
-
-
-
- 384 LOG(ERROR) << "Unsupported audio type " << audio_type
-
-
-
- 388 num_channels = entry.esds.aac_audio_specific_config.num_channels();
-
-
- 391 if (num_channels != kDtsAudioNumChannels) {
- 392 LOG(ERROR) << "Unsupported channel count " << num_channels
- 393 << " for audio type " << audio_type << ".";
-
-
- 396 sampling_frequency = entry.samplerate;
- 397 max_bitrate = entry.esds.es_descriptor.max_bitrate();
- 398 avg_bitrate = entry.esds.es_descriptor.avg_bitrate();
-
- 400 LOG(ERROR) << "Unsupported audio format 0x" << std::hex
- 401 << actual_format << " in stsd box.";
-
-
-
-
- 406 FALLTHROUGH_INTENDED;
-
- 408 FALLTHROUGH_INTENDED;
-
- 410 FALLTHROUGH_INTENDED;
-
- 412 FALLTHROUGH_INTENDED;
-
- 414 codec_config = entry.ddts.extra_data;
- 415 max_bitrate = entry.ddts.max_bitrate;
- 416 avg_bitrate = entry.ddts.avg_bitrate;
- 417 num_channels = entry.channelcount;
- 418 sampling_frequency = entry.samplerate;
-
-
- 421 codec_config = entry.dac3.data;
- 422 num_channels = entry.channelcount;
- 423 sampling_frequency = entry.samplerate;
-
-
- 426 codec_config = entry.dec3.data;
- 427 num_channels = entry.channelcount;
- 428 sampling_frequency = entry.samplerate;
-
-
- 431 codec_config = entry.dops.opus_identification_header;
- 432 num_channels = entry.channelcount;
- 433 sampling_frequency = entry.samplerate;
- 434 RCHECK(sampling_frequency != 0);
-
- 436 entry.dops.preskip * kNanosecondsPerSecond / sampling_frequency;
-
-
- 439 LOG(ERROR) << "Unsupported audio format 0x" << std::hex
- 440 << actual_format << " in stsd box.";
-
-
-
-
- 445 uint64_t seek_preroll_ns = 0;
- 446 for ( const auto& sample_group_description :
- 447 track->media.information.sample_table.sample_group_descriptions) {
- 448 if (sample_group_description.grouping_type != FOURCC_roll)
-
- 450 const auto& audio_roll_recovery_entries =
- 451 sample_group_description.audio_roll_recovery_entries;
- 452 if (audio_roll_recovery_entries.size() != 1) {
- 453 LOG(WARNING) << "Unexpected number of entries in "
- 454 "SampleGroupDescription table with grouping type "
-
-
-
- 458 const int16_t roll_distance_in_samples =
- 459 audio_roll_recovery_entries[0].roll_distance;
- 460 if (roll_distance_in_samples < 0) {
- 461 RCHECK(sampling_frequency != 0);
- 462 seek_preroll_ns = kNanosecondsPerSecond *
- 463 (-roll_distance_in_samples) / sampling_frequency;
-
-
- 466 << "Roll distance is supposed to be negative, but seeing "
- 467 << roll_distance_in_samples;
-
-
-
-
- 472 const bool is_encrypted =
- 473 entry.sinf.info.track_encryption.default_is_protected == 1;
- 474 DVLOG(1) << "is_audio_track_encrypted_: " << is_encrypted;
- 475 streams.push_back( new AudioStreamInfo(
- 476 track->header.track_id,
-
-
-
-
- 481 track->media.header.language.code,
-
-
-
-
-
-
-
-
-
-
-
+
+ 241 if (reader.get() == NULL)
+
+
+ 244 if (reader->type() == FOURCC_mdat) {
+
+
+
+ 248 NOTIMPLEMENTED() << " Files with MDAT before MOOV is not supported yet.";
+
+
+
+
+
+ 254 mdat_tail_ = queue_. head() + reader->size();
+
+ 256 if (reader->type() == FOURCC_moov) {
+ 257 *err = !ParseMoov(reader.get());
+ 258 } else if (reader->type() == FOURCC_moof) {
+ 259 moof_head_ = queue_. head();
+ 260 *err = !ParseMoof(reader.get());
+
+
+
+
+
+
+
+ 268 VLOG(2) << "Skipping top-level box: " << FourCCToString(reader->type());
+
+
+ 271 queue_.Pop(reader->size());
+
+
+
+ 275 bool MP4MediaParser::ParseMoov(BoxReader* reader) {
+
+
+
+ 279 moov_.reset( new Movie);
+ 280 RCHECK(moov_->Parse(reader));
+
+
+ 283 std::vector<scoped_refptr<StreamInfo> > streams;
+
+ 285 for (std::vector<Track>::const_iterator track = moov_->tracks.begin();
+ 286 track != moov_->tracks.end(); ++track) {
+ 287 const uint32_t timescale = track->media.header.timescale;
+
+
+ 290 uint64_t duration = 0;
+ 291 if (track->media.header.duration > 0) {
+ 292 duration = track->media.header.duration;
+ 293 } else if (moov_->extends.header.fragment_duration > 0) {
+ 294 DCHECK(moov_->header.timescale != 0);
+ 295 duration = Rescale(moov_->extends.header.fragment_duration,
+ 296 moov_->header.timescale,
+
+ 298 } else if (moov_->header.duration > 0 &&
+ 299 moov_->header.duration != std::numeric_limits<uint64_t>::max()) {
+ 300 DCHECK(moov_->header.timescale != 0);
+
+ 302 Rescale(moov_->header.duration, moov_->header.timescale, timescale);
+
+
+ 305 const SampleDescription& samp_descr =
+ 306 track->media.information.sample_table.description;
+
+
+
+
+
+ 312 if (moov_->extends.tracks.size() > 0) {
+ 313 for ( size_t t = 0; t < moov_->extends.tracks.size(); t++) {
+ 314 const TrackExtends& trex = moov_->extends.tracks[t];
+ 315 if (trex.track_id == track->header.track_id) {
+ 316 desc_idx = trex.default_sample_description_index;
+
+
+
+
+ 321 const std::vector<ChunkInfo>& chunk_info =
+ 322 track->media.information.sample_table.sample_to_chunk.chunk_info;
+ 323 RCHECK(chunk_info.size() > 0);
+ 324 desc_idx = chunk_info[0].sample_description_index;
+
+ 326 RCHECK(desc_idx > 0);
+
+
+ 329 if (samp_descr.type == kAudio) {
+ 330 RCHECK(!samp_descr.audio_entries.empty());
+
+
+
+ 334 if (desc_idx >= samp_descr.audio_entries.size())
+
+
+ 337 const AudioSampleEntry& entry = samp_descr.audio_entries[desc_idx];
+ 338 const FourCC actual_format = entry.GetActualFormat();
+ 339 Codec codec = FourCCToCodec(actual_format);
+ 340 uint8_t num_channels = 0;
+ 341 uint32_t sampling_frequency = 0;
+ 342 uint64_t codec_delay_ns = 0;
+ 343 uint8_t audio_object_type = 0;
+ 344 uint32_t max_bitrate = 0;
+ 345 uint32_t avg_bitrate = 0;
+ 346 std::vector<uint8_t> codec_config;
+
+ 348 switch (actual_format) {
+
+
+
+ 352 if (entry.esds.es_descriptor.IsAAC()) {
+
+ 354 const AACAudioSpecificConfig& aac_audio_specific_config =
+ 355 entry.esds.aac_audio_specific_config;
+ 356 num_channels = aac_audio_specific_config.num_channels();
+ 357 sampling_frequency = aac_audio_specific_config.frequency();
+ 358 audio_object_type = aac_audio_specific_config.audio_object_type();
+ 359 codec_config = entry.esds.es_descriptor.decoder_specific_info();
+
+ 361 } else if (entry.esds.es_descriptor.IsDTS()) {
+ 362 ObjectType audio_type = entry.esds.es_descriptor.object_type();
+ 363 switch (audio_type) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 377 LOG(ERROR) << "Unsupported audio type " << audio_type
+
+
+
+ 381 num_channels = entry.esds.aac_audio_specific_config.num_channels();
+
+
+ 384 if (num_channels != kDtsAudioNumChannels) {
+ 385 LOG(ERROR) << "Unsupported channel count " << num_channels
+ 386 << " for audio type " << audio_type << ".";
+
+
+ 389 sampling_frequency = entry.samplerate;
+ 390 max_bitrate = entry.esds.es_descriptor.max_bitrate();
+ 391 avg_bitrate = entry.esds.es_descriptor.avg_bitrate();
+
+ 393 LOG(ERROR) << "Unsupported audio format 0x" << std::hex
+ 394 << actual_format << " in stsd box.";
+
+
+
+
+ 399 FALLTHROUGH_INTENDED;
+
+ 401 FALLTHROUGH_INTENDED;
+
+ 403 FALLTHROUGH_INTENDED;
+
+ 405 FALLTHROUGH_INTENDED;
+
+ 407 codec_config = entry.ddts.extra_data;
+ 408 max_bitrate = entry.ddts.max_bitrate;
+ 409 avg_bitrate = entry.ddts.avg_bitrate;
+ 410 num_channels = entry.channelcount;
+ 411 sampling_frequency = entry.samplerate;
+
+
+ 414 codec_config = entry.dac3.data;
+ 415 num_channels = entry.channelcount;
+ 416 sampling_frequency = entry.samplerate;
+
+
+ 419 codec_config = entry.dec3.data;
+ 420 num_channels = entry.channelcount;
+ 421 sampling_frequency = entry.samplerate;
+
+
+ 424 codec_config = entry.dops.opus_identification_header;
+ 425 num_channels = entry.channelcount;
+ 426 sampling_frequency = entry.samplerate;
+ 427 RCHECK(sampling_frequency != 0);
+
+ 429 entry.dops.preskip * kNanosecondsPerSecond / sampling_frequency;
+
+
+ 432 LOG(ERROR) << "Unsupported audio format 0x" << std::hex
+ 433 << actual_format << " in stsd box.";
+
+
+
+
+ 438 uint64_t seek_preroll_ns = 0;
+ 439 for ( const auto& sample_group_description :
+ 440 track->media.information.sample_table.sample_group_descriptions) {
+ 441 if (sample_group_description.grouping_type != FOURCC_roll)
+
+ 443 const auto& audio_roll_recovery_entries =
+ 444 sample_group_description.audio_roll_recovery_entries;
+ 445 if (audio_roll_recovery_entries.size() != 1) {
+ 446 LOG(WARNING) << "Unexpected number of entries in "
+ 447 "SampleGroupDescription table with grouping type "
+
+
+
+ 451 const int16_t roll_distance_in_samples =
+ 452 audio_roll_recovery_entries[0].roll_distance;
+ 453 if (roll_distance_in_samples < 0) {
+ 454 RCHECK(sampling_frequency != 0);
+ 455 seek_preroll_ns = kNanosecondsPerSecond *
+ 456 (-roll_distance_in_samples) / sampling_frequency;
+
+
+ 459 << "Roll distance is supposed to be negative, but seeing "
+ 460 << roll_distance_in_samples;
+
+
+
+
+ 465 const bool is_encrypted =
+ 466 entry.sinf.info.track_encryption.default_is_protected == 1;
+ 467 DVLOG(1) << "is_audio_track_encrypted_: " << is_encrypted;
+ 468 streams.push_back( new AudioStreamInfo(
+ 469 track->header.track_id, timescale, duration, codec,
+
+ 471 codec_config.data(), codec_config.size(), entry.samplesize,
+ 472 num_channels, sampling_frequency, seek_preroll_ns, codec_delay_ns,
+ 473 max_bitrate, avg_bitrate, track->media.header.language.code,
+
+
+
+ 477 if (samp_descr.type == kVideo) {
+ 478 RCHECK(!samp_descr.video_entries.empty());
+ 479 if (desc_idx >= samp_descr.video_entries.size())
+
+ 481 const VideoSampleEntry& entry = samp_descr.video_entries[desc_idx];
+
+ 483 uint32_t coded_width = entry.width;
+ 484 uint32_t coded_height = entry.height;
+ 485 uint32_t pixel_width = entry.pixel_aspect.h_spacing;
+ 486 uint32_t pixel_height = entry.pixel_aspect.v_spacing;
+ 487 if (pixel_width == 0 && pixel_height == 0) {
+
+
+
+ 491 std::string codec_string;
+ 492 uint8_t nalu_length_size = 0;
- 494 if (samp_descr.type == kVideo) {
- 495 RCHECK(!samp_descr.video_entries.empty());
- 496 if (desc_idx >= samp_descr.video_entries.size())
-
- 498 const VideoSampleEntry& entry = samp_descr.video_entries[desc_idx];
-
- 500 uint32_t coded_width = entry.width;
- 501 uint32_t coded_height = entry.height;
- 502 uint32_t pixel_width = entry.pixel_aspect.h_spacing;
- 503 uint32_t pixel_height = entry.pixel_aspect.v_spacing;
- 504 if (pixel_width == 0 && pixel_height == 0) {
-
-
-
- 508 std::string codec_string;
- 509 uint8_t nalu_length_size = 0;
-
- 511 const FourCC actual_format = entry.GetActualFormat();
- 512 const VideoCodec video_codec = FourCCToVideoCodec(actual_format);
- 513 switch (actual_format) {
-
- 515 AVCDecoderConfigurationRecord avc_config;
- 516 if (!avc_config.Parse(entry.codec_configuration.data)) {
- 517 LOG(ERROR) << "Failed to parse avcc.";
-
-
- 520 codec_string = avc_config.GetCodecString();
- 521 nalu_length_size = avc_config.nalu_length_size();
-
- 523 if (coded_width != avc_config.coded_width() ||
- 524 coded_height != avc_config.coded_height()) {
- 525 LOG(WARNING) << "Resolution in VisualSampleEntry (" << coded_width
- 526 << "," << coded_height
- 527 << ") does not match with resolution in "
- 528 "AVCDecoderConfigurationRecord ("
- 529 << avc_config.coded_width() << ","
- 530 << avc_config.coded_height()
- 531 << "). Use AVCDecoderConfigurationRecord.";
- 532 coded_width = avc_config.coded_width();
- 533 coded_height = avc_config.coded_height();
-
-
- 536 if (pixel_width != avc_config.pixel_width() ||
- 537 pixel_height != avc_config.pixel_height()) {
- 538 LOG_IF(WARNING, pixel_width != 1 || pixel_height != 1)
- 539 << "Pixel aspect ratio in PASP box (" << pixel_width << ","
-
- 541 << ") does not match with SAR in AVCDecoderConfigurationRecord "
-
- 543 << avc_config.pixel_width() << "," << avc_config.pixel_height()
- 544 << "). Use AVCDecoderConfigurationRecord.";
- 545 pixel_width = avc_config.pixel_width();
- 546 pixel_height = avc_config.pixel_height();
-
-
-
-
-
- 552 HEVCDecoderConfigurationRecord hevc_config;
- 553 if (!hevc_config.Parse(entry.codec_configuration.data)) {
- 554 LOG(ERROR) << "Failed to parse hevc.";
-
-
- 557 codec_string = hevc_config.GetCodecString(video_codec);
- 558 nalu_length_size = hevc_config.nalu_length_size();
-
-
-
-
-
- 564 VPCodecConfigurationRecord vp_config;
- 565 if (!vp_config.ParseMP4(entry.codec_configuration.data)) {
- 566 LOG(ERROR) << "Failed to parse vpcc.";
-
-
- 569 codec_string = vp_config.GetCodecString(video_codec);
-
-
-
- 573 LOG(ERROR) << "Unsupported video format "
- 574 << FourCCToString(actual_format) << " in stsd box.";
-
-
-
- 578 const bool is_encrypted =
- 579 entry.sinf.info.track_encryption.default_is_protected == 1;
- 580 DVLOG(1) << "is_video_track_encrypted_: " << is_encrypted;
- 581 streams.push_back( new VideoStreamInfo(
- 582 track->header.track_id, timescale, duration, video_codec,
- 583 codec_string, track->media.header.language.code, coded_width,
- 584 coded_height, pixel_width, pixel_height,
-
- 586 nalu_length_size, entry.codec_configuration.data.data(),
- 587 entry.codec_configuration.data.size(), is_encrypted));
-
-
-
- 591 init_cb_.Run(streams);
- 592 if (!FetchKeysIfNecessary(moov_->pssh))
-
- 594 runs_.reset( new TrackRunIterator(moov_.get()));
- 595 RCHECK(runs_->Init());
- 596 ChangeState(kEmittingSamples);
-
-
-
- 600 bool MP4MediaParser::ParseMoof(BoxReader* reader) {
-
-
-
- 604 RCHECK(moof.Parse(reader));
-
- 606 runs_.reset( new TrackRunIterator(moov_.get()));
- 607 RCHECK(runs_->Init(moof));
- 608 if (!FetchKeysIfNecessary(moof.pssh))
-
- 610 ChangeState(kEmittingSamples);
-
-
-
- 614 bool MP4MediaParser::FetchKeysIfNecessary(
- 615 const std::vector<ProtectionSystemSpecificHeader>& headers) {
-
+ 494 const FourCC actual_format = entry.GetActualFormat();
+ 495 const Codec video_codec = FourCCToCodec(actual_format);
+ 496 switch (actual_format) {
+
+ 498 AVCDecoderConfigurationRecord avc_config;
+ 499 if (!avc_config.Parse(entry.codec_configuration.data)) {
+ 500 LOG(ERROR) << "Failed to parse avcc.";
+
+
+ 503 codec_string = avc_config.GetCodecString();
+ 504 nalu_length_size = avc_config.nalu_length_size();
+
+ 506 if (coded_width != avc_config.coded_width() ||
+ 507 coded_height != avc_config.coded_height()) {
+ 508 LOG(WARNING) << "Resolution in VisualSampleEntry (" << coded_width
+ 509 << "," << coded_height
+ 510 << ") does not match with resolution in "
+ 511 "AVCDecoderConfigurationRecord ("
+ 512 << avc_config.coded_width() << ","
+ 513 << avc_config.coded_height()
+ 514 << "). Use AVCDecoderConfigurationRecord.";
+ 515 coded_width = avc_config.coded_width();
+ 516 coded_height = avc_config.coded_height();
+
+
+ 519 if (pixel_width != avc_config.pixel_width() ||
+ 520 pixel_height != avc_config.pixel_height()) {
+ 521 LOG_IF(WARNING, pixel_width != 1 || pixel_height != 1)
+ 522 << "Pixel aspect ratio in PASP box (" << pixel_width << ","
+
+ 524 << ") does not match with SAR in AVCDecoderConfigurationRecord "
+
+ 526 << avc_config.pixel_width() << "," << avc_config.pixel_height()
+ 527 << "). Use AVCDecoderConfigurationRecord.";
+ 528 pixel_width = avc_config.pixel_width();
+ 529 pixel_height = avc_config.pixel_height();
+
+
+
+
+
+ 535 HEVCDecoderConfigurationRecord hevc_config;
+ 536 if (!hevc_config.Parse(entry.codec_configuration.data)) {
+ 537 LOG(ERROR) << "Failed to parse hevc.";
+
+
+ 540 codec_string = hevc_config.GetCodecString(video_codec);
+ 541 nalu_length_size = hevc_config.nalu_length_size();
+
+
+
+
+
+ 547 VPCodecConfigurationRecord vp_config;
+ 548 if (!vp_config.ParseMP4(entry.codec_configuration.data)) {
+ 549 LOG(ERROR) << "Failed to parse vpcc.";
+
+
+ 552 codec_string = vp_config.GetCodecString(video_codec);
+
+
+
+ 556 LOG(ERROR) << "Unsupported video format "
+ 557 << FourCCToString(actual_format) << " in stsd box.";
+
+
+
+ 561 const bool is_encrypted =
+ 562 entry.sinf.info.track_encryption.default_is_protected == 1;
+ 563 DVLOG(1) << "is_video_track_encrypted_: " << is_encrypted;
+ 564 streams.push_back( new VideoStreamInfo(
+ 565 track->header.track_id, timescale, duration, video_codec,
+ 566 codec_string, entry.codec_configuration.data.data(),
+ 567 entry.codec_configuration.data.size(), coded_width, coded_height,
+ 568 pixel_width, pixel_height,
+
+ 570 nalu_length_size, track->media.header.language.code, is_encrypted));
+
+
+
+ 574 init_cb_.Run(streams);
+ 575 if (!FetchKeysIfNecessary(moov_->pssh))
+
+ 577 runs_.reset( new TrackRunIterator(moov_.get()));
+ 578 RCHECK(runs_->Init());
+ 579 ChangeState(kEmittingSamples);
+
+
+
+ 583 bool MP4MediaParser::ParseMoof(BoxReader* reader) {
+
+
+
+ 587 RCHECK(moof.Parse(reader));
+
+ 589 runs_.reset( new TrackRunIterator(moov_.get()));
+ 590 RCHECK(runs_->Init(moof));
+ 591 if (!FetchKeysIfNecessary(moof.pssh))
+
+ 593 ChangeState(kEmittingSamples);
+
+
+
+ 597 bool MP4MediaParser::FetchKeysIfNecessary(
+ 598 const std::vector<ProtectionSystemSpecificHeader>& headers) {
+
+
+
+
+ 603 if (!decryption_key_source_)
+
+
+
+ 607 for (std::vector<ProtectionSystemSpecificHeader>::const_iterator iter =
+ 608 headers.begin(); iter != headers.end(); ++iter) {
+ 609 status = decryption_key_source_-> FetchKeys(iter->raw_box);
+
+
+
+ 613 VLOG(1) << "Unable to fetch decryption keys: " << status
+ 614 << ", trying the next PSSH box";
+
+
-
-
- 620 if (!decryption_key_source_)
-
-
-
- 624 for (std::vector<ProtectionSystemSpecificHeader>::const_iterator iter =
- 625 headers.begin(); iter != headers.end(); ++iter) {
- 626 status = decryption_key_source_-> FetchKeys(iter->raw_box);
-
-
-
- 630 VLOG(1) << "Unable to fetch decryption keys: " << status
- 631 << ", trying the next PSSH box";
-
-
-
-
-
-
- 638 LOG(ERROR) << "Error fetching decryption keys: " << status;
-
-
-
- 642 LOG(ERROR) << "No viable 'pssh' box found for content decryption.";
-
-
-
- 646 bool MP4MediaParser::EnqueueSample( bool* err) {
- 647 if (!runs_->IsRunValid()) {
-
-
- 650 if (!queue_. Trim(mdat_tail_))
-
+
+
+
+ 621 LOG(ERROR) << "Error fetching decryption keys: " << status;
+
+
+
+ 625 LOG(ERROR) << "No viable 'pssh' box found for content decryption.";
+
+
+
+ 629 bool MP4MediaParser::EnqueueSample( bool* err) {
+ 630 if (!runs_->IsRunValid()) {
+
+
+ 633 if (!queue_. Trim(mdat_tail_))
+
+
+ 636 ChangeState(kParsingBoxes);
+
+
+
+ 640 if (!runs_->IsSampleValid()) {
+
+
+
+
+
+
+
+
+ 649 queue_.Peek(&buf, &buf_size);
+
+
- 653 ChangeState(kParsingBoxes);
-
-
+
+ 654 if (!runs_->is_audio() && !runs_->is_video())
+
- 657 if (!runs_->IsSampleValid()) {
-
-
-
-
-
-
-
-
- 666 queue_.Peek(&buf, &buf_size);
-
-
-
-
- 671 if (!runs_->is_audio() && !runs_->is_video())
-
-
-
-
-
-
-
-
-
- 681 if (runs_->AuxInfoNeedsToBeCached()) {
- 682 queue_. PeekAt(runs_->aux_info_offset() + moof_head_, &buf, &buf_size);
- 683 if (buf_size < runs_->aux_info_size())
-
- 685 *err = !runs_->CacheAuxInfo(buf, buf_size);
-
-
-
- 689 int64_t sample_offset = runs_->sample_offset() + moof_head_;
- 690 queue_. PeekAt(sample_offset, &buf, &buf_size);
- 691 if (buf_size < runs_->sample_size()) {
- 692 if (sample_offset < queue_. head()) {
- 693 LOG(ERROR) << "Incorrect sample offset " << sample_offset
- 694 << " < " << queue_. head();
-
-
-
-
-
-
- 701 buf, runs_->sample_size(), runs_->is_keyframe()));
- 702 if (runs_->is_encrypted()) {
- 703 if (!decryptor_source_) {
-
- 705 LOG(ERROR) << "Encrypted media sample encountered, but decryption is not "
-
-
-
-
- 710 scoped_ptr<DecryptConfig> decrypt_config = runs_->GetDecryptConfig();
- 711 if (!decrypt_config ||
- 712 !decryptor_source_->DecryptSampleBuffer(decrypt_config.get(),
- 713 stream_sample->writable_data(),
- 714 stream_sample->data_size())) {
-
- 716 LOG(ERROR) << "Cannot decrypt samples.";
-
-
+
+
+
+
+
+
+
+ 664 if (runs_->AuxInfoNeedsToBeCached()) {
+ 665 queue_. PeekAt(runs_->aux_info_offset() + moof_head_, &buf, &buf_size);
+ 666 if (buf_size < runs_->aux_info_size())
+
+ 668 *err = !runs_->CacheAuxInfo(buf, buf_size);
+
+
+
+ 672 int64_t sample_offset = runs_->sample_offset() + moof_head_;
+ 673 queue_. PeekAt(sample_offset, &buf, &buf_size);
+ 674 if (buf_size < runs_->sample_size()) {
+ 675 if (sample_offset < queue_. head()) {
+ 676 LOG(ERROR) << "Incorrect sample offset " << sample_offset
+ 677 << " < " << queue_. head();
+
+
+
+
+
+
+ 684 buf, runs_->sample_size(), runs_->is_keyframe()));
+ 685 if (runs_->is_encrypted()) {
+ 686 if (!decryptor_source_) {
+
+ 688 LOG(ERROR) << "Encrypted media sample encountered, but decryption is not "
+
+
+
+
+ 693 scoped_ptr<DecryptConfig> decrypt_config = runs_->GetDecryptConfig();
+ 694 if (!decrypt_config ||
+ 695 !decryptor_source_->DecryptSampleBuffer(decrypt_config.get(),
+ 696 stream_sample->writable_data(),
+ 697 stream_sample->data_size())) {
+
+ 699 LOG(ERROR) << "Cannot decrypt samples.";
+
+
+
+
+ 704 stream_sample->set_dts(runs_->dts());
+ 705 stream_sample->set_pts(runs_->cts());
+ 706 stream_sample->set_duration(runs_->duration());
+
+ 708 DVLOG(3) << "Pushing frame: "
+ 709 << ", key=" << runs_->is_keyframe()
+ 710 << ", dur=" << runs_->duration()
+ 711 << ", dts=" << runs_->dts()
+ 712 << ", cts=" << runs_->cts()
+ 713 << ", size=" << runs_->sample_size();
+
+ 715 if (!new_sample_cb_.Run(runs_->track_id(), stream_sample)) {
+
+ 717 LOG(ERROR) << "Failed to process the sample.";
+
- 721 stream_sample->set_dts(runs_->dts());
- 722 stream_sample->set_pts(runs_->cts());
- 723 stream_sample->set_duration(runs_->duration());
+ 721 runs_->AdvanceSample();
+
+
- 725 DVLOG(3) << "Pushing frame: "
- 726 << ", key=" << runs_->is_keyframe()
- 727 << ", dur=" << runs_->duration()
- 728 << ", dts=" << runs_->dts()
- 729 << ", cts=" << runs_->cts()
- 730 << ", size=" << runs_->sample_size();
+ 725 bool MP4MediaParser::ReadAndDiscardMDATsUntil( const int64_t offset) {
+
+ 727 while (mdat_tail_ < offset) {
+
+
+ 730 queue_. PeekAt(mdat_tail_, &buf, &size);
- 732 if (!new_sample_cb_.Run(runs_->track_id(), stream_sample)) {
-
- 734 LOG(ERROR) << "Failed to process the sample.";
-
-
-
- 738 runs_->AdvanceSample();
-
-
-
- 742 bool MP4MediaParser::ReadAndDiscardMDATsUntil( const int64_t offset) {
-
- 744 while (mdat_tail_ < offset) {
-
-
- 747 queue_. PeekAt(mdat_tail_, &buf, &size);
-
-
-
-
-
-
- 754 mdat_tail_ += box_sz;
-
- 756 queue_. Trim(std::min(mdat_tail_, offset));
-
-
-
- 760 void MP4MediaParser::ChangeState(State new_state) {
- 761 DVLOG(2) << "Changing state: " << new_state;
-
-
-
-
-
-
-
+
+
+
+
+
+ 737 mdat_tail_ += box_sz;
+
+ 739 queue_. Trim(std::min(mdat_tail_, offset));
+
+
+
+ 743 void MP4MediaParser::ChangeState(State new_state) {
+ 744 DVLOG(2) << "Changing state: " << new_state;
+
+
+
+
+
+
-
+
-
+
-
+
+
-
+
diff --git a/docs/d7/df9/byte__queue_8cc_source.html b/docs/d7/df9/byte__queue_8cc_source.html
index 8e5048ae2a..6dd2c9e624 100644
--- a/docs/d7/df9/byte__queue_8cc_source.html
+++ b/docs/d7/df9/byte__queue_8cc_source.html
@@ -182,7 +182,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d08/classshaka_1_1media_1_1H264ByteToUnitStreamConverter.html b/docs/d8/d08/classshaka_1_1media_1_1H264ByteToUnitStreamConverter.html
index 17462c5234..90a95c9fd9 100644
--- a/docs/d8/d08/classshaka_1_1media_1_1H264ByteToUnitStreamConverter.html
+++ b/docs/d8/d08/classshaka_1_1media_1_1H264ByteToUnitStreamConverter.html
@@ -171,7 +171,7 @@ static const size_t | kUnitS
diff --git a/docs/d8/d08/classshaka_1_1media_1_1WebMClusterParser-members.html b/docs/d8/d08/classshaka_1_1media_1_1WebMClusterParser-members.html
index 11f1334c34..b1e1228039 100644
--- a/docs/d8/d08/classshaka_1_1media_1_1WebMClusterParser-members.html
+++ b/docs/d8/d08/classshaka_1_1media_1_1WebMClusterParser-members.html
@@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d08/classshaka_1_1media_1_1mp2t_1_1TsWriter-members.html b/docs/d8/d08/classshaka_1_1media_1_1mp2t_1_1TsWriter-members.html
index 5ab168a5e9..dcf635edb1 100644
--- a/docs/d8/d08/classshaka_1_1media_1_1mp2t_1_1TsWriter-members.html
+++ b/docs/d8/d08/classshaka_1_1media_1_1mp2t_1_1TsWriter-members.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d08/structshaka_1_1media_1_1mp4_1_1MovieHeader-members.html b/docs/d8/d08/structshaka_1_1media_1_1mp4_1_1MovieHeader-members.html
index 334de5edd1..e204fab4db 100644
--- a/docs/d8/d08/structshaka_1_1media_1_1mp4_1_1MovieHeader-members.html
+++ b/docs/d8/d08/structshaka_1_1media_1_1mp4_1_1MovieHeader-members.html
@@ -119,7 +119,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d0d/media__sample_8cc_source.html b/docs/d8/d0d/media__sample_8cc_source.html
index 0d783713f8..96ea81edb8 100644
--- a/docs/d8/d0d/media__sample_8cc_source.html
+++ b/docs/d8/d0d/media__sample_8cc_source.html
@@ -195,7 +195,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d12/structshaka_1_1media_1_1mp4_1_1DecodingTime.html b/docs/d8/d12/structshaka_1_1media_1_1mp4_1_1DecodingTime.html
index 9830d3666a..8a7ee05e6d 100644
--- a/docs/d8/d12/structshaka_1_1media_1_1mp4_1_1DecodingTime.html
+++ b/docs/d8/d12/structshaka_1_1media_1_1mp4_1_1DecodingTime.html
@@ -112,7 +112,7 @@ uint32_t | sample_delta<
diff --git a/docs/d8/d12/structshaka_1_1media_1_1mp4_1_1PrivFrame-members.html b/docs/d8/d12/structshaka_1_1media_1_1mp4_1_1PrivFrame-members.html
index b0582a0b47..d1d5fe0534 100644
--- a/docs/d8/d12/structshaka_1_1media_1_1mp4_1_1PrivFrame-members.html
+++ b/docs/d8/d12/structshaka_1_1media_1_1mp4_1_1PrivFrame-members.html
@@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d13/classshaka_1_1media_1_1BitReader-members.html b/docs/d8/d13/classshaka_1_1media_1_1BitReader-members.html
index ac92678a28..d711c40601 100644
--- a/docs/d8/d13/classshaka_1_1media_1_1BitReader-members.html
+++ b/docs/d8/d13/classshaka_1_1media_1_1BitReader-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d14/classshaka_1_1media_1_1VP8Parser.html b/docs/d8/d14/classshaka_1_1media_1_1VP8Parser.html
index 045cf0a0e3..f1920e24fc 100644
--- a/docs/d8/d14/classshaka_1_1media_1_1VP8Parser.html
+++ b/docs/d8/d14/classshaka_1_1media_1_1VP8Parser.html
@@ -235,7 +235,7 @@ Additional Inherited Members |
diff --git a/docs/d8/d16/structshaka_1_1media_1_1MuxerOptions-members.html b/docs/d8/d16/structshaka_1_1media_1_1MuxerOptions-members.html
index 0cabfd7970..435d4be45a 100644
--- a/docs/d8/d16/structshaka_1_1media_1_1MuxerOptions-members.html
+++ b/docs/d8/d16/structshaka_1_1media_1_1MuxerOptions-members.html
@@ -105,11 +105,12 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
segment_template | shaka::media::MuxerOptions | |
single_segment | shaka::media::MuxerOptions | |
temp_dir | shaka::media::MuxerOptions | |
- ~MuxerOptions() (defined in shaka::media::MuxerOptions) | shaka::media::MuxerOptions | |
+ webm_subsample_encryption (defined in shaka::media::MuxerOptions) | shaka::media::MuxerOptions | |
+ ~MuxerOptions() (defined in shaka::media::MuxerOptions) | shaka::media::MuxerOptions | |
diff --git a/docs/d8/d19/bandwidth__estimator_8h_source.html b/docs/d8/d19/bandwidth__estimator_8h_source.html
index 6166541854..5a5e6dcf3d 100644
--- a/docs/d8/d19/bandwidth__estimator_8h_source.html
+++ b/docs/d8/d19/bandwidth__estimator_8h_source.html
@@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d20/structshaka_1_1media_1_1mp4_1_1WebVTTConfigurationBox.html b/docs/d8/d20/structshaka_1_1media_1_1mp4_1_1WebVTTConfigurationBox.html
index 922eb620a9..993d4843cb 100644
--- a/docs/d8/d20/structshaka_1_1media_1_1mp4_1_1WebVTTConfigurationBox.html
+++ b/docs/d8/d20/structshaka_1_1media_1_1mp4_1_1WebVTTConfigurationBox.html
@@ -173,7 +173,7 @@ Additional Inherited Members
diff --git a/docs/d8/d23/structshaka_1_1media_1_1SubsampleEntry-members.html b/docs/d8/d23/structshaka_1_1media_1_1SubsampleEntry-members.html
index 1480faf0a5..4b370db413 100644
--- a/docs/d8/d23/structshaka_1_1media_1_1SubsampleEntry-members.html
+++ b/docs/d8/d23/structshaka_1_1media_1_1SubsampleEntry-members.html
@@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d28/es__parser__h265_8h_source.html b/docs/d8/d28/es__parser__h265_8h_source.html
index 46708d0e02..902f49ce8c 100644
--- a/docs/d8/d28/es__parser__h265_8h_source.html
+++ b/docs/d8/d28/es__parser__h265_8h_source.html
@@ -155,7 +155,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d33/webm__content__encodings__client_8h_source.html b/docs/d8/d33/webm__content__encodings__client_8h_source.html
index cdebdbef88..4b4bad0de7 100644
--- a/docs/d8/d33/webm__content__encodings__client_8h_source.html
+++ b/docs/d8/d33/webm__content__encodings__client_8h_source.html
@@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d3e/classshaka_1_1media_1_1StreamDescriptorCompareFn.html b/docs/d8/d3e/classshaka_1_1media_1_1StreamDescriptorCompareFn.html
index 3088808df0..882a36ee33 100644
--- a/docs/d8/d3e/classshaka_1_1media_1_1StreamDescriptorCompareFn.html
+++ b/docs/d8/d3e/classshaka_1_1media_1_1StreamDescriptorCompareFn.html
@@ -109,7 +109,7 @@ bool operator() (const
diff --git a/docs/d8/d4d/aes__decryptor_8h_source.html b/docs/d8/d4d/aes__decryptor_8h_source.html
index 16d8408856..c2dc99d7ea 100644
--- a/docs/d8/d4d/aes__decryptor_8h_source.html
+++ b/docs/d8/d4d/aes__decryptor_8h_source.html
@@ -147,7 +147,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d5b/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry.html b/docs/d8/d5b/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry.html
index 6293f30582..74f5b9c535 100644
--- a/docs/d8/d5b/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry.html
+++ b/docs/d8/d5b/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry.html
@@ -206,7 +206,7 @@ Additional Inherited Members |
diff --git a/docs/d8/d5c/classshaka_1_1media_1_1MediaStream.html b/docs/d8/d5c/classshaka_1_1media_1_1MediaStream.html
index e8f8404455..b1bfeaa3a7 100644
--- a/docs/d8/d5c/classshaka_1_1media_1_1MediaStream.html
+++ b/docs/d8/d5c/classshaka_1_1media_1_1MediaStream.html
@@ -225,7 +225,7 @@ const scoped_refptr<
diff --git a/docs/d8/d6a/classshaka_1_1media_1_1ClusterBuilder-members.html b/docs/d8/d6a/classshaka_1_1media_1_1ClusterBuilder-members.html
index 2b36e66cfc..337330f566 100644
--- a/docs/d8/d6a/classshaka_1_1media_1_1ClusterBuilder-members.html
+++ b/docs/d8/d6a/classshaka_1_1media_1_1ClusterBuilder-members.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d6d/structshaka_1_1media_1_1mp4_1_1DataInformation.html b/docs/d8/d6d/structshaka_1_1media_1_1mp4_1_1DataInformation.html
index 6f28bdf808..7be9e88354 100644
--- a/docs/d8/d6d/structshaka_1_1media_1_1mp4_1_1DataInformation.html
+++ b/docs/d8/d6d/structshaka_1_1media_1_1mp4_1_1DataInformation.html
@@ -173,7 +173,7 @@ Additional Inherited Members
diff --git a/docs/d8/d70/structshaka_1_1media_1_1mp4_1_1Metadata-members.html b/docs/d8/d70/structshaka_1_1media_1_1mp4_1_1Metadata-members.html
index e489d8b057..9585519d2e 100644
--- a/docs/d8/d70/structshaka_1_1media_1_1mp4_1_1Metadata-members.html
+++ b/docs/d8/d70/structshaka_1_1media_1_1mp4_1_1Metadata-members.html
@@ -114,7 +114,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d74/classshaka_1_1media_1_1TracksBuilder.html b/docs/d8/d74/classshaka_1_1media_1_1TracksBuilder.html
index 2fd2382436..732307f0f1 100644
--- a/docs/d8/d74/classshaka_1_1media_1_1TracksBuilder.html
+++ b/docs/d8/d74/classshaka_1_1media_1_1TracksBuilder.html
@@ -123,7 +123,7 @@ std::vector< uint8_t >
diff --git a/docs/d8/d86/classshaka_1_1media_1_1WebMTracksParser.html b/docs/d8/d86/classshaka_1_1media_1_1WebMTracksParser.html
index 9d44cf2d8a..1830f18cd5 100644
--- a/docs/d8/d86/classshaka_1_1media_1_1WebMTracksParser.html
+++ b/docs/d8/d86/classshaka_1_1media_1_1WebMTracksParser.html
@@ -225,7 +225,7 @@ The number of bytes parsed on success.
diff --git a/docs/d8/d88/structshaka_1_1media_1_1mp4_1_1MovieExtends-members.html b/docs/d8/d88/structshaka_1_1media_1_1mp4_1_1MovieExtends-members.html
index 20bb9837a0..4e002d2933 100644
--- a/docs/d8/d88/structshaka_1_1media_1_1mp4_1_1MovieExtends-members.html
+++ b/docs/d8/d88/structshaka_1_1media_1_1mp4_1_1MovieExtends-members.html
@@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d8e/classshaka_1_1AdaptationSet.html b/docs/d8/d8e/classshaka_1_1AdaptationSet.html
index 81822cf40b..7e1731d2f5 100644
--- a/docs/d8/d8e/classshaka_1_1AdaptationSet.html
+++ b/docs/d8/d8e/classshaka_1_1AdaptationSet.html
@@ -582,7 +582,7 @@ template<MpdBuilder::MpdType type> |
diff --git a/docs/d8/d91/classshaka_1_1media_1_1AesCtrEncryptor-members.html b/docs/d8/d91/classshaka_1_1media_1_1AesCtrEncryptor-members.html
index 66f83b554d..fcec43e584 100644
--- a/docs/d8/d91/classshaka_1_1media_1_1AesCtrEncryptor-members.html
+++ b/docs/d8/d91/classshaka_1_1media_1_1AesCtrEncryptor-members.html
@@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d92/classshaka_1_1media_1_1AesRequestSigner-members.html b/docs/d8/d92/classshaka_1_1media_1_1AesRequestSigner-members.html
index f72baa0e84..d2a38a7737 100644
--- a/docs/d8/d92/classshaka_1_1media_1_1AesRequestSigner-members.html
+++ b/docs/d8/d92/classshaka_1_1media_1_1AesRequestSigner-members.html
@@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d92/structshaka_1_1media_1_1H264DecRefPicMarking-members.html b/docs/d8/d92/structshaka_1_1media_1_1H264DecRefPicMarking-members.html
index 75e02d9a63..815f0638f2 100644
--- a/docs/d8/d92/structshaka_1_1media_1_1H264DecRefPicMarking-members.html
+++ b/docs/d8/d92/structshaka_1_1media_1_1H264DecRefPicMarking-members.html
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d93/structshaka_1_1media_1_1mp4_1_1SubtitleMediaHeader-members.html b/docs/d8/d93/structshaka_1_1media_1_1mp4_1_1SubtitleMediaHeader-members.html
index 40a55ad471..9d1afc3437 100644
--- a/docs/d8/d93/structshaka_1_1media_1_1mp4_1_1SubtitleMediaHeader-members.html
+++ b/docs/d8/d93/structshaka_1_1media_1_1mp4_1_1SubtitleMediaHeader-members.html
@@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d94/adts__constants_8cc_source.html b/docs/d8/d94/adts__constants_8cc_source.html
index bc674e44ff..4fe8b1dc3c 100644
--- a/docs/d8/d94/adts__constants_8cc_source.html
+++ b/docs/d8/d94/adts__constants_8cc_source.html
@@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d94/pes__packet_8h_source.html b/docs/d8/d94/pes__packet_8h_source.html
index 557ffbfdda..afc1db5800 100644
--- a/docs/d8/d94/pes__packet_8h_source.html
+++ b/docs/d8/d94/pes__packet_8h_source.html
@@ -159,7 +159,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d99/structshaka_1_1media_1_1mp4_1_1VTTAdditionalTextBox-members.html b/docs/d8/d99/structshaka_1_1media_1_1mp4_1_1VTTAdditionalTextBox-members.html
index 26f726f4e0..c54a114498 100644
--- a/docs/d8/d99/structshaka_1_1media_1_1mp4_1_1VTTAdditionalTextBox-members.html
+++ b/docs/d8/d99/structshaka_1_1media_1_1mp4_1_1VTTAdditionalTextBox-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d9a/fragmenter_8cc_source.html b/docs/d8/d9a/fragmenter_8cc_source.html
index bb32657659..24cfcf75ee 100644
--- a/docs/d8/d9a/fragmenter_8cc_source.html
+++ b/docs/d8/d9a/fragmenter_8cc_source.html
@@ -301,7 +301,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d9c/webm__tracks__parser_8cc_source.html b/docs/d8/d9c/webm__tracks__parser_8cc_source.html
index f3fbc768eb..9b6ed9bd63 100644
--- a/docs/d8/d9c/webm__tracks__parser_8cc_source.html
+++ b/docs/d8/d9c/webm__tracks__parser_8cc_source.html
@@ -440,7 +440,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d9f/udp__file_8h_source.html b/docs/d8/d9f/udp__file_8h_source.html
index 349b6337d8..48bd8443bc 100644
--- a/docs/d8/d9f/udp__file_8h_source.html
+++ b/docs/d8/d9f/udp__file_8h_source.html
@@ -147,7 +147,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/da3/classshaka_1_1media_1_1DecryptorSource-members.html b/docs/d8/da3/classshaka_1_1media_1_1DecryptorSource-members.html
index bc056243ea..4d94dfe1a9 100644
--- a/docs/d8/da3/classshaka_1_1media_1_1DecryptorSource-members.html
+++ b/docs/d8/da3/classshaka_1_1media_1_1DecryptorSource-members.html
@@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/da5/structshaka_1_1media_1_1mp4_1_1SampleSize-members.html b/docs/d8/da5/structshaka_1_1media_1_1mp4_1_1SampleSize-members.html
index 913408a171..57d9666fe3 100644
--- a/docs/d8/da5/structshaka_1_1media_1_1mp4_1_1SampleSize-members.html
+++ b/docs/d8/da5/structshaka_1_1media_1_1mp4_1_1SampleSize-members.html
@@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/da6/classshaka_1_1media_1_1NaluReader-members.html b/docs/d8/da6/classshaka_1_1media_1_1NaluReader-members.html
index b5e3684130..77cae31b8c 100644
--- a/docs/d8/da6/classshaka_1_1media_1_1NaluReader-members.html
+++ b/docs/d8/da6/classshaka_1_1media_1_1NaluReader-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/daa/stream__info_8h_source.html b/docs/d8/daa/stream__info_8h_source.html
index 097aafd508..8cce34d108 100644
--- a/docs/d8/daa/stream__info_8h_source.html
+++ b/docs/d8/daa/stream__info_8h_source.html
@@ -111,81 +111,101 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
- 26 class StreamInfo :
public base::RefCountedThreadSafe<StreamInfo> {
-
-
-
-
-
- 32 const std::string& codec_string,
- 33 const std::string& language,
- 34 const uint8_t* codec_config,
- 35 size_t codec_config_size,
-
-
-
-
- 43 virtual std::string
ToString()
const;
-
- 45 StreamType stream_type()
const {
return stream_type_; }
- 46 uint32_t track_id()
const {
return track_id_; }
- 47 uint32_t time_scale()
const {
return time_scale_; }
- 48 uint64_t duration()
const {
return duration_; }
- 49 const std::string& codec_string()
const {
return codec_string_; }
- 50 const std::string& language()
const {
return language_; }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- 52 bool is_encrypted()
const {
return is_encrypted_; }
-
- 54 const std::vector<uint8_t>& codec_config()
const {
return codec_config_; }
-
- 56 void set_duration(
int duration) { duration_ = duration; }
-
- 58 void set_codec_config(
const std::vector<uint8_t>& data) { codec_config_ = data; }
+ 53 class StreamInfo :
public base::RefCountedThreadSafe<StreamInfo> {
+
+ 55 StreamInfo(StreamType stream_type,
int track_id, uint32_t time_scale,
+ 56 uint64_t duration, Codec codec,
const std::string& codec_string,
+ 57 const uint8_t* codec_config,
size_t codec_config_size,
+ 58 const std::string& language,
bool is_encrypted);
- 60 void set_codec_string(
const std::string& codec_string) {
- 61 codec_string_ = codec_string;
-
+
- 64 void set_language(
const std::string& language) { language_ = language; }
-
-
- 67 friend class base::RefCountedThreadSafe<StreamInfo>;
- 68 virtual ~StreamInfo();
-
-
-
- 72 StreamType stream_type_;
-
-
-
-
-
- 78 std::string codec_string_;
- 79 std::string language_;
-
-
-
-
-
-
- 86 std::vector<uint8_t> codec_config_;
-
-
-
-
-
-
-
-
-
- 96 #endif // MEDIA_BASE_STREAM_INFO_H_
-
+ 65 virtual std::string
ToString()
const;
+
+ 67 StreamType stream_type()
const {
return stream_type_; }
+ 68 uint32_t track_id()
const {
return track_id_; }
+ 69 uint32_t time_scale()
const {
return time_scale_; }
+ 70 uint64_t duration()
const {
return duration_; }
+ 71 Codec codec()
const {
return codec_; }
+ 72 const std::string& codec_string()
const {
return codec_string_; }
+ 73 const std::vector<uint8_t>& codec_config()
const {
return codec_config_; }
+ 74 const std::string& language()
const {
return language_; }
+ 75 bool is_encrypted()
const {
return is_encrypted_; }
+
+ 77 void set_duration(
int duration) { duration_ = duration; }
+ 78 void set_codec(Codec codec) { codec_ = codec; }
+ 79 void set_codec_config(
const std::vector<uint8_t>& data) { codec_config_ = data; }
+ 80 void set_codec_string(
const std::string& codec_string) {
+ 81 codec_string_ = codec_string;
+
+ 83 void set_language(
const std::string& language) { language_ = language; }
+
+
+ 86 friend class base::RefCountedThreadSafe<StreamInfo>;
+ 87 virtual ~StreamInfo();
+
+
+
+ 91 StreamType stream_type_;
+
+
+
+
+
+
+ 98 std::string codec_string_;
+ 99 std::string language_;
+
+
+
+
+
+
+ 106 std::vector<uint8_t> codec_config_;
+
+
+
+
+
+
+
+
+
+ 116 #endif // MEDIA_BASE_STREAM_INFO_H_
+
-
+
diff --git a/docs/d8/daf/namespaceshaka.html b/docs/d8/daf/namespaceshaka.html
index 846eafd09b..b44f623403 100644
--- a/docs/d8/daf/namespaceshaka.html
+++ b/docs/d8/daf/namespaceshaka.html
@@ -566,7 +566,7 @@ const char kPsshElementNam
diff --git a/docs/d8/db7/classshaka_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html b/docs/d8/db7/classshaka_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html
index 7cd3ef038e..9efca923a8 100644
--- a/docs/d8/db7/classshaka_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html
+++ b/docs/d8/db7/classshaka_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html
@@ -259,7 +259,7 @@ void | set_progress_target
diff --git a/docs/d8/db9/classshaka_1_1media_1_1WebMContentEncodingsClient-members.html b/docs/d8/db9/classshaka_1_1media_1_1WebMContentEncodingsClient-members.html
index df1111e34b..3912102c8a 100644
--- a/docs/d8/db9/classshaka_1_1media_1_1WebMContentEncodingsClient-members.html
+++ b/docs/d8/db9/classshaka_1_1media_1_1WebMContentEncodingsClient-members.html
@@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/dc3/structshaka_1_1media_1_1mp4_1_1CueTimeBox.html b/docs/d8/dc3/structshaka_1_1media_1_1mp4_1_1CueTimeBox.html
index 9b2400f808..5db2a9f6f6 100644
--- a/docs/d8/dc3/structshaka_1_1media_1_1mp4_1_1CueTimeBox.html
+++ b/docs/d8/dc3/structshaka_1_1media_1_1mp4_1_1CueTimeBox.html
@@ -173,7 +173,7 @@ Additional Inherited Members |
diff --git a/docs/d8/dca/ts__writer_8h_source.html b/docs/d8/dca/ts__writer_8h_source.html
index fdca16082e..8280d7e5f6 100644
--- a/docs/d8/dca/ts__writer_8h_source.html
+++ b/docs/d8/dca/ts__writer_8h_source.html
@@ -150,7 +150,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
81 #endif // PACKAGER_MEDIA_FORMATS_MP2T_TS_WRITER_H_
-
+
@@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/dcd/structshaka_1_1media_1_1mp4_1_1DecodingTime-members.html b/docs/d8/dcd/structshaka_1_1media_1_1mp4_1_1DecodingTime-members.html
index 16f8a7f2b6..48da9db165 100644
--- a/docs/d8/dcd/structshaka_1_1media_1_1mp4_1_1DecodingTime-members.html
+++ b/docs/d8/dcd/structshaka_1_1media_1_1mp4_1_1DecodingTime-members.html
@@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/dcd/structshaka_1_1media_1_1mp4_1_1TrackExtends-members.html b/docs/d8/dcd/structshaka_1_1media_1_1mp4_1_1TrackExtends-members.html
index 3d62743cf0..02ea0d7ee6 100644
--- a/docs/d8/dcd/structshaka_1_1media_1_1mp4_1_1TrackExtends-members.html
+++ b/docs/d8/dcd/structshaka_1_1media_1_1mp4_1_1TrackExtends-members.html
@@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/dd6/classshaka_1_1media_1_1mp2t_1_1ContinuityCounter.html b/docs/d8/dd6/classshaka_1_1media_1_1mp2t_1_1ContinuityCounter.html
index 7dd40a6d3e..84b16ed153 100644
--- a/docs/d8/dd6/classshaka_1_1media_1_1mp2t_1_1ContinuityCounter.html
+++ b/docs/d8/dd6/classshaka_1_1media_1_1mp2t_1_1ContinuityCounter.html
@@ -129,7 +129,7 @@ Public Member Functions
diff --git a/docs/d8/dd6/structshaka_1_1media_1_1mp4_1_1CencSampleEncryptionInfoEntry.html b/docs/d8/dd6/structshaka_1_1media_1_1mp4_1_1CencSampleEncryptionInfoEntry.html
index 481ae06fa2..32dac627d8 100644
--- a/docs/d8/dd6/structshaka_1_1media_1_1mp4_1_1CencSampleEncryptionInfoEntry.html
+++ b/docs/d8/dd6/structshaka_1_1media_1_1mp4_1_1CencSampleEncryptionInfoEntry.html
@@ -135,7 +135,7 @@ std::vector< uint8_t >
diff --git a/docs/d8/de1/classshaka_1_1SimpleMpdNotifier.html b/docs/d8/de1/classshaka_1_1SimpleMpdNotifier.html
index 61adb2226a..63c385a19c 100644
--- a/docs/d8/de1/classshaka_1_1SimpleMpdNotifier.html
+++ b/docs/d8/de1/classshaka_1_1SimpleMpdNotifier.html
@@ -471,7 +471,7 @@ class | SimpleMpdNotifierTes
diff --git a/docs/d8/de6/webm__crypto__helpers_8h_source.html b/docs/d8/de6/webm__crypto__helpers_8h_source.html
index ce1d60d93d..ca4f3760c7 100644
--- a/docs/d8/de6/webm__crypto__helpers_8h_source.html
+++ b/docs/d8/de6/webm__crypto__helpers_8h_source.html
@@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/deb/classshaka_1_1media_1_1mp2t_1_1EsParser-members.html b/docs/d8/deb/classshaka_1_1media_1_1mp2t_1_1EsParser-members.html
index 156f93ff5b..aaf6fd416a 100644
--- a/docs/d8/deb/classshaka_1_1media_1_1mp2t_1_1EsParser-members.html
+++ b/docs/d8/deb/classshaka_1_1media_1_1mp2t_1_1EsParser-members.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/dee/classshaka_1_1media_1_1AudioTimestampHelper-members.html b/docs/d8/dee/classshaka_1_1media_1_1AudioTimestampHelper-members.html
index 4a571fad09..dcc30f8b18 100644
--- a/docs/d8/dee/classshaka_1_1media_1_1AudioTimestampHelper-members.html
+++ b/docs/d8/dee/classshaka_1_1media_1_1AudioTimestampHelper-members.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/dee/classshaka_1_1media_1_1VPxParser-members.html b/docs/d8/dee/classshaka_1_1media_1_1VPxParser-members.html
index 80603182c4..ae62020645 100644
--- a/docs/d8/dee/classshaka_1_1media_1_1VPxParser-members.html
+++ b/docs/d8/dee/classshaka_1_1media_1_1VPxParser-members.html
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/df0/webm_2single__segment__segmenter_8cc_source.html b/docs/d8/df0/webm_2single__segment__segmenter_8cc_source.html
index 84da4de0ff..15c9794b32 100644
--- a/docs/d8/df0/webm_2single__segment__segmenter_8cc_source.html
+++ b/docs/d8/df0/webm_2single__segment__segmenter_8cc_source.html
@@ -181,7 +181,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/df7/classshaka_1_1media_1_1SegmentTestBase-members.html b/docs/d8/df7/classshaka_1_1media_1_1SegmentTestBase-members.html
index 2bcdd0ca17..5adb84b02d 100644
--- a/docs/d8/df7/classshaka_1_1media_1_1SegmentTestBase-members.html
+++ b/docs/d8/df7/classshaka_1_1media_1_1SegmentTestBase-members.html
@@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/dfa/nal__unit__to__byte__stream__converter_8h_source.html b/docs/d8/dfa/nal__unit__to__byte__stream__converter_8h_source.html
index 58b9926f25..adece578d8 100644
--- a/docs/d8/dfa/nal__unit__to__byte__stream__converter_8h_source.html
+++ b/docs/d8/dfa/nal__unit__to__byte__stream__converter_8h_source.html
@@ -147,7 +147,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/d00/structshaka_1_1media_1_1OnMediaEndParameters-members.html b/docs/d9/d00/structshaka_1_1media_1_1OnMediaEndParameters-members.html
index 9712b88b41..f2152a34a4 100644
--- a/docs/d9/d00/structshaka_1_1media_1_1OnMediaEndParameters-members.html
+++ b/docs/d9/d00/structshaka_1_1media_1_1OnMediaEndParameters-members.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/d01/mp4_2single__segment__segmenter_8h_source.html b/docs/d9/d01/mp4_2single__segment__segmenter_8h_source.html
index 31e3936dd2..5b108f99bf 100644
--- a/docs/d9/d01/mp4_2single__segment__segmenter_8h_source.html
+++ b/docs/d9/d01/mp4_2single__segment__segmenter_8h_source.html
@@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/d08/mock__mpd__builder_8h_source.html b/docs/d9/d08/mock__mpd__builder_8h_source.html
index 0c2dae8526..168d405ad5 100644
--- a/docs/d9/d08/mock__mpd__builder_8h_source.html
+++ b/docs/d9/d08/mock__mpd__builder_8h_source.html
@@ -180,7 +180,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/d0b/classshaka_1_1media_1_1HlsNotifyMuxerListener-members.html b/docs/d9/d0b/classshaka_1_1media_1_1HlsNotifyMuxerListener-members.html
index 39cb5768b6..1ec79d8950 100644
--- a/docs/d9/d0b/classshaka_1_1media_1_1HlsNotifyMuxerListener-members.html
+++ b/docs/d9/d0b/classshaka_1_1media_1_1HlsNotifyMuxerListener-members.html
@@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/d0c/classshaka_1_1media_1_1RsaPublicKey.html b/docs/d9/d0c/classshaka_1_1media_1_1RsaPublicKey.html
index a77ece8c99..777a60d51c 100644
--- a/docs/d9/d0c/classshaka_1_1media_1_1RsaPublicKey.html
+++ b/docs/d9/d0c/classshaka_1_1media_1_1RsaPublicKey.html
@@ -218,7 +218,7 @@ Static Public Member Functions |
diff --git a/docs/d9/d13/classshaka_1_1media_1_1BufferReader.html b/docs/d9/d13/classshaka_1_1media_1_1BufferReader.html
index 3e2a03597e..7169fcae3c 100644
--- a/docs/d9/d13/classshaka_1_1media_1_1BufferReader.html
+++ b/docs/d9/d13/classshaka_1_1media_1_1BufferReader.html
@@ -276,7 +276,7 @@ bool ReadNBytesInto8s
diff --git a/docs/d9/d15/key__rotation__fragmenter_8cc_source.html b/docs/d9/d15/key__rotation__fragmenter_8cc_source.html
index de0572b1a6..711b89b253 100644
--- a/docs/d9/d15/key__rotation__fragmenter_8cc_source.html
+++ b/docs/d9/d15/key__rotation__fragmenter_8cc_source.html
@@ -236,7 +236,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
@@ -244,7 +244,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/d1f/structshaka_1_1media_1_1mp4_1_1MovieFragment.html b/docs/d9/d1f/structshaka_1_1media_1_1mp4_1_1MovieFragment.html
index 6b0922830f..344a5139a0 100644
--- a/docs/d9/d1f/structshaka_1_1media_1_1mp4_1_1MovieFragment.html
+++ b/docs/d9/d1f/structshaka_1_1media_1_1mp4_1_1MovieFragment.html
@@ -180,7 +180,7 @@ Additional Inherited Members |
diff --git a/docs/d9/d26/classshaka_1_1media_1_1AesEncryptor-members.html b/docs/d9/d26/classshaka_1_1media_1_1AesEncryptor-members.html
index e91d8acdec..0831a1cfd2 100644
--- a/docs/d9/d26/classshaka_1_1media_1_1AesEncryptor-members.html
+++ b/docs/d9/d26/classshaka_1_1media_1_1AesEncryptor-members.html
@@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/d26/classshaka_1_1media_1_1mp4_1_1Segmenter.html b/docs/d9/d26/classshaka_1_1media_1_1mp4_1_1Segmenter.html
index fe64f5b643..7003178dbd 100644
--- a/docs/d9/d26/classshaka_1_1media_1_1mp4_1_1Segmenter.html
+++ b/docs/d9/d26/classshaka_1_1media_1_1mp4_1_1Segmenter.html
@@ -430,7 +430,7 @@ void set_progress_target
diff --git a/docs/d9/d36/classshaka_1_1media_1_1TracksBuilder-members.html b/docs/d9/d36/classshaka_1_1media_1_1TracksBuilder-members.html
index 3fce5c6227..72558d88ab 100644
--- a/docs/d9/d36/classshaka_1_1media_1_1TracksBuilder-members.html
+++ b/docs/d9/d36/classshaka_1_1media_1_1TracksBuilder-members.html
@@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/d3a/classshaka_1_1media_1_1File-members.html b/docs/d9/d3a/classshaka_1_1media_1_1File-members.html
index 85c1c692c3..0061178c3c 100644
--- a/docs/d9/d3a/classshaka_1_1media_1_1File-members.html
+++ b/docs/d9/d3a/classshaka_1_1media_1_1File-members.html
@@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/d3b/webm__content__encodings_8h_source.html b/docs/d9/d3b/webm__content__encodings_8h_source.html
index 24e20457fa..0a53359e9f 100644
--- a/docs/d9/d3b/webm__content__encodings_8h_source.html
+++ b/docs/d9/d3b/webm__content__encodings_8h_source.html
@@ -179,7 +179,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/d3c/structshaka_1_1media_1_1mp4_1_1VTTEmptyCueBox.html b/docs/d9/d3c/structshaka_1_1media_1_1mp4_1_1VTTEmptyCueBox.html
index 2065a5b834..df161ff4b5 100644
--- a/docs/d9/d3c/structshaka_1_1media_1_1mp4_1_1VTTEmptyCueBox.html
+++ b/docs/d9/d3c/structshaka_1_1media_1_1mp4_1_1VTTEmptyCueBox.html
@@ -166,7 +166,7 @@ Additional Inherited Members |
diff --git a/docs/d9/d3e/structshaka_1_1media_1_1mp4_1_1CueSourceIDBox.html b/docs/d9/d3e/structshaka_1_1media_1_1mp4_1_1CueSourceIDBox.html
index 8e27e869ca..7b1da21cf8 100644
--- a/docs/d9/d3e/structshaka_1_1media_1_1mp4_1_1CueSourceIDBox.html
+++ b/docs/d9/d3e/structshaka_1_1media_1_1mp4_1_1CueSourceIDBox.html
@@ -173,7 +173,7 @@ Additional Inherited Members
diff --git a/docs/d9/d57/classshaka_1_1media_1_1mp4_1_1ChunkInfoIterator.html b/docs/d9/d57/classshaka_1_1media_1_1mp4_1_1ChunkInfoIterator.html
index ed6aec90e1..254ea58a70 100644
--- a/docs/d9/d57/classshaka_1_1media_1_1mp4_1_1ChunkInfoIterator.html
+++ b/docs/d9/d57/classshaka_1_1media_1_1mp4_1_1ChunkInfoIterator.html
@@ -320,7 +320,7 @@ Public Member Functions
diff --git a/docs/d9/d66/classshaka_1_1media_1_1mp2t_1_1EsParserAdts-members.html b/docs/d9/d66/classshaka_1_1media_1_1mp2t_1_1EsParserAdts-members.html
index 7fe80d38de..219ef91336 100644
--- a/docs/d9/d66/classshaka_1_1media_1_1mp2t_1_1EsParserAdts-members.html
+++ b/docs/d9/d66/classshaka_1_1media_1_1mp2t_1_1EsParserAdts-members.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/d67/structshaka_1_1media_1_1H265VuiParameters.html b/docs/d9/d67/structshaka_1_1media_1_1H265VuiParameters.html
index aff2269d8b..62f7206e4e 100644
--- a/docs/d9/d67/structshaka_1_1media_1_1H265VuiParameters.html
+++ b/docs/d9/d67/structshaka_1_1media_1_1H265VuiParameters.html
@@ -131,7 +131,7 @@ int min_spatial_segmentati
diff --git a/docs/d9/d6a/structshaka_1_1media_1_1H264SliceHeader-members.html b/docs/d9/d6a/structshaka_1_1media_1_1H264SliceHeader-members.html
index ea4d0396ae..706be362c6 100644
--- a/docs/d9/d6a/structshaka_1_1media_1_1H264SliceHeader-members.html
+++ b/docs/d9/d6a/structshaka_1_1media_1_1H264SliceHeader-members.html
@@ -154,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/d76/ts__muxer_8cc_source.html b/docs/d9/d76/ts__muxer_8cc_source.html
index fed5bb134a..0ce5b25b68 100644
--- a/docs/d9/d76/ts__muxer_8cc_source.html
+++ b/docs/d9/d76/ts__muxer_8cc_source.html
@@ -155,7 +155,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/d81/classshaka_1_1media_1_1ClosureThread-members.html b/docs/d9/d81/classshaka_1_1media_1_1ClosureThread-members.html
index 773ec49691..20b597507d 100644
--- a/docs/d9/d81/classshaka_1_1media_1_1ClosureThread-members.html
+++ b/docs/d9/d81/classshaka_1_1media_1_1ClosureThread-members.html
@@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/d86/limits_8h_source.html b/docs/d9/d86/limits_8h_source.html
index 9896f9f83d..db10d71e78 100644
--- a/docs/d9/d86/limits_8h_source.html
+++ b/docs/d9/d86/limits_8h_source.html
@@ -141,7 +141,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/d87/classshaka_1_1media_1_1WebMContentEncodingsClient.html b/docs/d9/d87/classshaka_1_1media_1_1WebMContentEncodingsClient.html
index bb468a5c1a..3339d27491 100644
--- a/docs/d9/d87/classshaka_1_1media_1_1WebMContentEncodingsClient.html
+++ b/docs/d9/d87/classshaka_1_1media_1_1WebMContentEncodingsClient.html
@@ -152,7 +152,7 @@ Additional Inherited Members |
diff --git a/docs/d9/d8c/classshaka_1_1media_1_1AesRequestSigner.html b/docs/d9/d8c/classshaka_1_1media_1_1AesRequestSigner.html
index 5b3e593723..3263c26d6f 100644
--- a/docs/d9/d8c/classshaka_1_1media_1_1AesRequestSigner.html
+++ b/docs/d9/d8c/classshaka_1_1media_1_1AesRequestSigner.html
@@ -188,7 +188,7 @@ Additional Inherited Members
diff --git a/docs/d9/d90/classshaka_1_1media_1_1ProtectionSystemSpecificInfo-members.html b/docs/d9/d90/classshaka_1_1media_1_1ProtectionSystemSpecificInfo-members.html
index 69545c1292..7b70efdc64 100644
--- a/docs/d9/d90/classshaka_1_1media_1_1ProtectionSystemSpecificInfo-members.html
+++ b/docs/d9/d90/classshaka_1_1media_1_1ProtectionSystemSpecificInfo-members.html
@@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/d90/text__track_8h_source.html b/docs/d9/d90/text__track_8h_source.html
index ba53145c24..d5dfd6f398 100644
--- a/docs/d9/d90/text__track_8h_source.html
+++ b/docs/d9/d90/text__track_8h_source.html
@@ -134,7 +134,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/d93/media__stream_8h_source.html b/docs/d9/d93/media__stream_8h_source.html
index b860dc1b03..69c6202d3c 100644
--- a/docs/d9/d93/media__stream_8h_source.html
+++ b/docs/d9/d93/media__stream_8h_source.html
@@ -170,7 +170,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/da4/stream__descriptor_8h_source.html b/docs/d9/da4/stream__descriptor_8h_source.html
index 420830d523..69d063f0d0 100644
--- a/docs/d9/da4/stream__descriptor_8h_source.html
+++ b/docs/d9/da4/stream__descriptor_8h_source.html
@@ -144,7 +144,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html b/docs/d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html
index 96b4d23fd7..0cc0eb1f8f 100644
--- a/docs/d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html
+++ b/docs/d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html
@@ -513,7 +513,7 @@ Additional Inherited Members
diff --git a/docs/d9/da6/structshaka_1_1media_1_1Cue-members.html b/docs/d9/da6/structshaka_1_1media_1_1Cue-members.html
index f2f415a5df..72be9b4b09 100644
--- a/docs/d9/da6/structshaka_1_1media_1_1Cue-members.html
+++ b/docs/d9/da6/structshaka_1_1media_1_1Cue-members.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/da7/classshaka_1_1media_1_1mp4_1_1Segmenter-members.html b/docs/d9/da7/classshaka_1_1media_1_1mp4_1_1Segmenter-members.html
index 9ae7044996..f9ce24488d 100644
--- a/docs/d9/da7/classshaka_1_1media_1_1mp4_1_1Segmenter-members.html
+++ b/docs/d9/da7/classshaka_1_1media_1_1mp4_1_1Segmenter-members.html
@@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/db2/classshaka_1_1media_1_1mp4_1_1CompositionOffsetIterator-members.html b/docs/d9/db2/classshaka_1_1media_1_1mp4_1_1CompositionOffsetIterator-members.html
index c3c831f35e..867dbd9717 100644
--- a/docs/d9/db2/classshaka_1_1media_1_1mp4_1_1CompositionOffsetIterator-members.html
+++ b/docs/d9/db2/classshaka_1_1media_1_1mp4_1_1CompositionOffsetIterator-members.html
@@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/db9/content__protection__element_8cc_source.html b/docs/d9/db9/content__protection__element_8cc_source.html
index 8718ffb07a..db4216d936 100644
--- a/docs/d9/db9/content__protection__element_8cc_source.html
+++ b/docs/d9/db9/content__protection__element_8cc_source.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/db9/muxer_8cc_source.html b/docs/d9/db9/muxer_8cc_source.html
index 947e242f27..c4a1c10b6a 100644
--- a/docs/d9/db9/muxer_8cc_source.html
+++ b/docs/d9/db9/muxer_8cc_source.html
@@ -218,7 +218,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/dbd/classshaka_1_1media_1_1MemoryFile.html b/docs/d9/dbd/classshaka_1_1media_1_1MemoryFile.html
index 388b4253c0..00b3d0d0b4 100644
--- a/docs/d9/dbd/classshaka_1_1media_1_1MemoryFile.html
+++ b/docs/d9/dbd/classshaka_1_1media_1_1MemoryFile.html
@@ -485,7 +485,7 @@ bool
diff --git a/docs/d9/dc4/classshaka_1_1media_1_1BufferReader-members.html b/docs/d9/dc4/classshaka_1_1media_1_1BufferReader-members.html
index 654f011c68..de4e9900f4 100644
--- a/docs/d9/dc4/classshaka_1_1media_1_1BufferReader-members.html
+++ b/docs/d9/dc4/classshaka_1_1media_1_1BufferReader-members.html
@@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/dc4/structshaka_1_1media_1_1mp4_1_1SampleEncryptionEntry-members.html b/docs/d9/dc4/structshaka_1_1media_1_1mp4_1_1SampleEncryptionEntry-members.html
index 938e3c96a6..4f149ff5a5 100644
--- a/docs/d9/dc4/structshaka_1_1media_1_1mp4_1_1SampleEncryptionEntry-members.html
+++ b/docs/d9/dc4/structshaka_1_1media_1_1mp4_1_1SampleEncryptionEntry-members.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/dc8/webm__constants_8cc_source.html b/docs/d9/dc8/webm__constants_8cc_source.html
index 79ba02d57f..afeccc303f 100644
--- a/docs/d9/dc8/webm__constants_8cc_source.html
+++ b/docs/d9/dc8/webm__constants_8cc_source.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/dcc/webm__video__client_8h_source.html b/docs/d9/dcc/webm__video__client_8h_source.html
index a190c88ba8..b5ae6920e8 100644
--- a/docs/d9/dcc/webm__video__client_8h_source.html
+++ b/docs/d9/dcc/webm__video__client_8h_source.html
@@ -149,7 +149,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/de3/muxer__listener__internal_8cc_source.html b/docs/d9/de3/muxer__listener__internal_8cc_source.html
index 33b7b33db2..20bca73445 100644
--- a/docs/d9/de3/muxer__listener__internal_8cc_source.html
+++ b/docs/d9/de3/muxer__listener__internal_8cc_source.html
@@ -348,7 +348,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/de6/classshaka_1_1media_1_1LocalFile.html b/docs/d9/de6/classshaka_1_1media_1_1LocalFile.html
index cdb9166e68..dfc1579a1f 100644
--- a/docs/d9/de6/classshaka_1_1media_1_1LocalFile.html
+++ b/docs/d9/de6/classshaka_1_1media_1_1LocalFile.html
@@ -502,7 +502,7 @@ bool |
diff --git a/docs/d9/dea/classshaka_1_1media_1_1FixedKeySource-members.html b/docs/d9/dea/classshaka_1_1media_1_1FixedKeySource-members.html
index 43110cf1cb..0b679dd29f 100644
--- a/docs/d9/dea/classshaka_1_1media_1_1FixedKeySource-members.html
+++ b/docs/d9/dea/classshaka_1_1media_1_1FixedKeySource-members.html
@@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/ded/aac__audio__specific__config_8cc_source.html b/docs/d9/ded/aac__audio__specific__config_8cc_source.html
index fd2af0256c..5b669ddaa7 100644
--- a/docs/d9/ded/aac__audio__specific__config_8cc_source.html
+++ b/docs/d9/ded/aac__audio__specific__config_8cc_source.html
@@ -358,7 +358,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/df8/structshaka_1_1media_1_1mp4_1_1TrackFragmentDecodeTime-members.html b/docs/d9/df8/structshaka_1_1media_1_1mp4_1_1TrackFragmentDecodeTime-members.html
index b1e741a488..350100419a 100644
--- a/docs/d9/df8/structshaka_1_1media_1_1mp4_1_1TrackFragmentDecodeTime-members.html
+++ b/docs/d9/df8/structshaka_1_1media_1_1mp4_1_1TrackFragmentDecodeTime-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d9/df9/classshaka_1_1media_1_1OffsetByteQueue.html b/docs/d9/df9/classshaka_1_1media_1_1OffsetByteQueue.html
index 4b5f78d93b..30aae18d3c 100644
--- a/docs/d9/df9/classshaka_1_1media_1_1OffsetByteQueue.html
+++ b/docs/d9/df9/classshaka_1_1media_1_1OffsetByteQueue.html
@@ -242,7 +242,7 @@ false if max_offset >
diff --git a/docs/d9/dff/structshaka_1_1media_1_1H264ModificationOfPicNum.html b/docs/d9/dff/structshaka_1_1media_1_1H264ModificationOfPicNum.html
index 8306ce3ebb..f9f757cca7 100644
--- a/docs/d9/dff/structshaka_1_1media_1_1H264ModificationOfPicNum.html
+++ b/docs/d9/dff/structshaka_1_1media_1_1H264ModificationOfPicNum.html
@@ -119,7 +119,7 @@ union { |
diff --git a/docs/da/d04/audio__stream__info_8cc_source.html b/docs/da/d04/audio__stream__info_8cc_source.html
index f070c9523a..758f393de5 100644
--- a/docs/da/d04/audio__stream__info_8cc_source.html
+++ b/docs/da/d04/audio__stream__info_8cc_source.html
@@ -106,8 +106,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
- 20 std::string AudioCodecToString(AudioCodec audio_codec) {
- 21 switch (audio_codec) {
+ 20 std::string AudioCodecToString(Codec codec) {
+
@@ -131,116 +131,99 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
- 45 NOTIMPLEMENTED() <<
"Unknown Audio Codec: " << audio_codec;
- 46 return "UnknownAudioCodec";
+ 45 NOTIMPLEMENTED() <<
"Unknown Audio Codec: " << codec;
+ 46 return "UnknownCodec";
-
-
-
-
- 55 const std::string& codec_string,
- 56 const std::string& language,
-
-
- 59 uint32_t sampling_frequency,
- 60 uint64_t seek_preroll_ns,
- 61 uint64_t codec_delay_ns,
-
-
- 64 const uint8_t* codec_config,
- 65 size_t codec_config_size,
-
-
-
-
-
-
-
-
-
-
-
- 77 sample_bits_(sample_bits),
- 78 num_channels_(num_channels),
- 79 sampling_frequency_(sampling_frequency),
- 80 seek_preroll_ns_(seek_preroll_ns),
- 81 codec_delay_ns_(codec_delay_ns),
- 82 max_bitrate_(max_bitrate),
- 83 avg_bitrate_(avg_bitrate) {}
-
- 85 AudioStreamInfo::~AudioStreamInfo() {}
-
-
- 88 return codec_ != kUnknownAudioCodec && num_channels_ != 0 &&
- 89 num_channels_ <= limits::kMaxChannels && sample_bits_ > 0 &&
- 90 sample_bits_ <= limits::kMaxBitsPerSample &&
- 91 sampling_frequency_ > 0 &&
- 92 sampling_frequency_ <= limits::kMaxSampleRate;
+
+ 52 int track_id, uint32_t time_scale, uint64_t duration, Codec codec,
+ 53 const std::string& codec_string,
const uint8_t* codec_config,
+ 54 size_t codec_config_size, uint8_t sample_bits, uint8_t num_channels,
+ 55 uint32_t sampling_frequency, uint64_t seek_preroll_ns,
+ 56 uint64_t codec_delay_ns, uint32_t max_bitrate, uint32_t avg_bitrate,
+ 57 const std::string& language,
bool is_encrypted)
+ 58 :
StreamInfo(kStreamAudio, track_id, time_scale, duration, codec,
+ 59 codec_string, codec_config, codec_config_size, language,
+
+ 61 sample_bits_(sample_bits),
+ 62 num_channels_(num_channels),
+ 63 sampling_frequency_(sampling_frequency),
+ 64 seek_preroll_ns_(seek_preroll_ns),
+ 65 codec_delay_ns_(codec_delay_ns),
+ 66 max_bitrate_(max_bitrate),
+ 67 avg_bitrate_(avg_bitrate) {}
+
+ 69 AudioStreamInfo::~AudioStreamInfo() {}
+
+
+ 72 return codec() != kUnknownCodec && num_channels_ != 0 &&
+ 73 num_channels_ <= limits::kMaxChannels && sample_bits_ > 0 &&
+ 74 sample_bits_ <= limits::kMaxBitsPerSample && sampling_frequency_ > 0 &&
+ 75 sampling_frequency_ <= limits::kMaxSampleRate;
+
+
+
+ 79 std::string str = base::StringPrintf(
+ 80 "%s codec: %s\n sample_bits: %d\n num_channels: %d\n "
+ 81 "sampling_frequency: %d\n language: %s\n",
+
+ 83 sample_bits_, num_channels_, sampling_frequency_, language().c_str());
+ 84 if (seek_preroll_ns_ != 0) {
+ 85 base::StringAppendF(&str,
" seek_preroll_ns: %" PRIu64
"\n",
+
+
+ 88 if (codec_delay_ns_ != 0) {
+ 89 base::StringAppendF(&str,
" codec_delay_ns: %" PRIu64
"\n",
+
+
+
-
- 96 std::string str = base::StringPrintf(
- 97 "%s codec: %s\n sample_bits: %d\n num_channels: %d\n "
- 98 "sampling_frequency: %d\n language: %s\n",
-
- 100 sample_bits_, num_channels_, sampling_frequency_, language().c_str());
- 101 if (seek_preroll_ns_ != 0) {
- 102 base::StringAppendF(&str,
" seek_preroll_ns: %" PRIu64
"\n",
-
-
- 105 if (codec_delay_ns_ != 0) {
- 106 base::StringAppendF(&str,
" codec_delay_ns: %" PRIu64
"\n",
-
-
-
-
-
-
- 113 uint8_t audio_object_type) {
-
-
-
-
-
-
- 120 return "mp4a.40." + base::UintToString(audio_object_type);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 138 NOTIMPLEMENTED() <<
"Codec: " << codec;
-
-
-
-
-
-
-
-
-
-
-
-
+
+ 96 uint8_t audio_object_type) {
+
+
+
+
+
+
+ 103 return "mp4a.40." + base::UintToString(audio_object_type);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 121 NOTIMPLEMENTED() <<
"Codec: " << codec;
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/da/d10/classshaka_1_1media_1_1mp2t_1_1EsParser.html b/docs/da/d10/classshaka_1_1media_1_1mp2t_1_1EsParser.html
index 15b80e0d24..381de68852 100644
--- a/docs/da/d10/classshaka_1_1media_1_1mp2t_1_1EsParser.html
+++ b/docs/da/d10/classshaka_1_1media_1_1mp2t_1_1EsParser.html
@@ -146,7 +146,7 @@ uint32_t pid () |
diff --git a/docs/da/d1a/structshaka_1_1media_1_1mp4_1_1Language.html b/docs/da/d1a/structshaka_1_1media_1_1mp4_1_1Language.html
index 5a58429450..3dc4b57d84 100644
--- a/docs/da/d1a/structshaka_1_1media_1_1mp4_1_1Language.html
+++ b/docs/da/d1a/structshaka_1_1media_1_1mp4_1_1Language.html
@@ -120,7 +120,7 @@ std::string code | <
diff --git a/docs/da/d1c/classshaka_1_1media_1_1mp2t_1_1TsSection.html b/docs/da/d1c/classshaka_1_1media_1_1mp2t_1_1TsSection.html
index 6b3322af02..fd16f4fe9d 100644
--- a/docs/da/d1c/classshaka_1_1media_1_1mp2t_1_1TsSection.html
+++ b/docs/da/d1c/classshaka_1_1media_1_1mp2t_1_1TsSection.html
@@ -141,7 +141,7 @@ virtual void Reset ()=
diff --git a/docs/da/d22/key__rotation__fragmenter_8h_source.html b/docs/da/d22/key__rotation__fragmenter_8h_source.html
index a50c0be8d2..29bd1e2fbc 100644
--- a/docs/da/d22/key__rotation__fragmenter_8h_source.html
+++ b/docs/da/d22/key__rotation__fragmenter_8h_source.html
@@ -156,7 +156,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/d23/classshaka_1_1media_1_1mp2t_1_1EsParserH26x.html b/docs/da/d23/classshaka_1_1media_1_1mp2t_1_1EsParserH26x.html
index abad9d883c..de4fa73e82 100644
--- a/docs/da/d23/classshaka_1_1media_1_1mp2t_1_1EsParserH26x.html
+++ b/docs/da/d23/classshaka_1_1media_1_1mp2t_1_1EsParserH26x.html
@@ -159,7 +159,7 @@ const scoped_refptr
diff --git a/docs/da/d23/ts__muxer_8h_source.html b/docs/da/d23/ts__muxer_8h_source.html
index d3ace34c17..8ff407e49f 100644
--- a/docs/da/d23/ts__muxer_8h_source.html
+++ b/docs/da/d23/ts__muxer_8h_source.html
@@ -137,7 +137,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/d24/h265__parser_8h_source.html b/docs/da/d24/h265__parser_8h_source.html
index e8283f663f..8ccfc258b0 100644
--- a/docs/da/d24/h265__parser_8h_source.html
+++ b/docs/da/d24/h265__parser_8h_source.html
@@ -450,7 +450,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/d2a/text__stream__info_8h_source.html b/docs/da/d2a/text__stream__info_8h_source.html
index 4dd810c5bb..0a4944ffa4 100644
--- a/docs/da/d2a/text__stream__info_8h_source.html
+++ b/docs/da/d2a/text__stream__info_8h_source.html
@@ -105,42 +105,38 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
-
-
- 33 const std::string& codec_string,
- 34 const std::string& language,
- 35 const std::string& codec_config,
-
-
-
-
-
- 41 uint16_t width() const { return width_; }
- 42 uint16_t height() const { return height_; }
-
-
-
+ 30 TextStreamInfo( int track_id, uint32_t time_scale, uint64_t duration,
+ 31 const std::string& codec_string,
+ 32 const std::string& codec_config, uint16_t width,
+ 33 uint16_t height, const std::string& language);
+
+
+
+ 37 uint16_t width() const { return width_; }
+ 38 uint16_t height() const { return height_; }
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
- 57 #endif // PACKAGER_MEDIA_BASE_TEXT_STREAM_INFO_H_
-
-TextStreamInfo(int track_id, uint32_t time_scale, uint64_t duration, const std::string &codec_string, const std::string &language, const std::string &codec_config, uint16_t width, uint16_t height)
-bool IsValidConfig() const override
+
+
+
+
+
+
+ 53 #endif // PACKAGER_MEDIA_BASE_TEXT_STREAM_INFO_H_
+
+TextStreamInfo(int track_id, uint32_t time_scale, uint64_t duration, const std::string &codec_string, const std::string &codec_config, uint16_t width, uint16_t height, const std::string &language)
+bool IsValidConfig() const override
diff --git a/docs/da/d2d/classshaka_1_1media_1_1webm_1_1WebMMuxer-members.html b/docs/da/d2d/classshaka_1_1media_1_1webm_1_1WebMMuxer-members.html
index eba8eec768..9e6db16920 100644
--- a/docs/da/d2d/classshaka_1_1media_1_1webm_1_1WebMMuxer-members.html
+++ b/docs/da/d2d/classshaka_1_1media_1_1webm_1_1WebMMuxer-members.html
@@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/d3e/structshaka_1_1media_1_1mp4_1_1PixelAspectRatio-members.html b/docs/da/d3e/structshaka_1_1media_1_1mp4_1_1PixelAspectRatio-members.html
index ad7830420f..c1d876a64e 100644
--- a/docs/da/d3e/structshaka_1_1media_1_1mp4_1_1PixelAspectRatio-members.html
+++ b/docs/da/d3e/structshaka_1_1media_1_1mp4_1_1PixelAspectRatio-members.html
@@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/d41/mp4_2multi__segment__segmenter_8h_source.html b/docs/da/d41/mp4_2multi__segment__segmenter_8h_source.html
index 91e374f175..635181f14f 100644
--- a/docs/da/d41/mp4_2multi__segment__segmenter_8h_source.html
+++ b/docs/da/d41/mp4_2multi__segment__segmenter_8h_source.html
@@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/d43/structshaka_1_1ContentProtectionElement.html b/docs/da/d43/structshaka_1_1ContentProtectionElement.html
index 3eb0fd3e12..8e1812ab74 100644
--- a/docs/da/d43/structshaka_1_1ContentProtectionElement.html
+++ b/docs/da/d43/structshaka_1_1ContentProtectionElement.html
@@ -123,7 +123,7 @@ std::vector< El
diff --git a/docs/da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html b/docs/da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html
index 01a3622894..d93a1af4f7 100644
--- a/docs/da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html
+++ b/docs/da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html
@@ -111,13 +111,10 @@ Inheritance diagram for shaka::media::AudioStreamInfo:
|
-
- | AudioStreamInfo (int track_id, uint32_t time_scale, uint64_t duration, AudioCodec codec, const std::string &codec_string, const std::string &language, uint8_t sample_bits, uint8_t num_channels, uint32_t sampling_frequency, uint64_t seek_preroll_ns, uint64_t codec_delay_ns, uint32_t max_bitrate, uint32_t avg_bitrate, const uint8_t *codec_config, size_t codec_config_size, bool is_encrypted) |
- | Construct an initialized audio stream info object.
|
- |
-
-AudioCodec | codec () const |
- |
+
+ | AudioStreamInfo (int track_id, uint32_t time_scale, uint64_t duration, Codec codec, const std::string &codec_string, const uint8_t *codec_config, size_t codec_config_size, uint8_t sample_bits, uint8_t num_channels, uint32_t sampling_frequency, uint64_t seek_preroll_ns, uint64_t codec_delay_ns, uint32_t max_bitrate, uint32_t avg_bitrate, const std::string &language, bool is_encrypted) |
+ | Construct an initialized audio stream info object.
|
+ |
uint8_t | sample_bits () const |
|
@@ -145,9 +142,6 @@ uint32_t max_bitrate (
|
uint32_t | avg_bitrate () const |
|
-
-void | set_codec (AudioCodec codec) |
- |
void | set_sampling_frequency (const uint32_t sampling_frequency) |
|
@@ -157,9 +151,9 @@ void set_sampling_frequenc
std::string | ToString () const override |
|
-
- | StreamInfo (StreamType stream_type, int track_id, uint32_t time_scale, uint64_t duration, const std::string &codec_string, const std::string &language, const uint8_t *codec_config, size_t codec_config_size, bool is_encrypted) |
- |
+
+ | StreamInfo (StreamType stream_type, int track_id, uint32_t time_scale, uint64_t duration, Codec codec, const std::string &codec_string, const uint8_t *codec_config, size_t codec_config_size, const std::string &language, bool is_encrypted) |
+ |
StreamType | stream_type () const |
|
@@ -172,21 +166,27 @@ uint32_t | time_scale ()
|
uint64_t | duration () const |
|
+
+Codec | codec () const |
+ |
const std::string & | codec_string () const |
|
+
+const std::vector< uint8_t > & | codec_config () const |
+ |
const std::string & | language () const |
|
bool | is_encrypted () const |
|
-
-const std::vector< uint8_t > & | codec_config () const |
- |
void | set_duration (int duration) |
|
+
+void | set_codec (Codec codec) |
+ |
void | set_codec_config (const std::vector< uint8_t > &data) |
|
@@ -199,15 +199,15 @@ void set_language (con
|
|
-static std::string | GetCodecString (AudioCodec codec, uint8_t audio_object_type) |
- |
+static std::string | GetCodecString (Codec codec, uint8_t audio_object_type) |
+ |
Holds audio stream information.
- Definition at line 35 of file audio_stream_info.h.
+ Definition at line 18 of file audio_stream_info.h.
-
+
@@ -217,7 +217,7 @@ Static Public Member Functions
std::string shaka::media::AudioStreamInfo::GetCodecString |
( |
- AudioCodec |
+ Codec |
codec, |
@@ -246,7 +246,7 @@ Static Public Member Functions
- Returns
- The codec string.
-Definition at line 112 of file audio_stream_info.cc.
+Definition at line 95 of file audio_stream_info.cc.
@@ -274,7 +274,7 @@ Static Public Member Functions
Implements shaka::media::StreamInfo.
-Definition at line 87 of file audio_stream_info.cc.
+Definition at line 71 of file audio_stream_info.cc.
@@ -302,7 +302,7 @@ Static Public Member Functions
Reimplemented from shaka::media::StreamInfo.
-Definition at line 95 of file audio_stream_info.cc.
+Definition at line 78 of file audio_stream_info.cc.
@@ -313,7 +313,7 @@ Static Public Member Functions
diff --git a/docs/da/d50/structshaka_1_1media_1_1mp4_1_1MovieExtendsHeader.html b/docs/da/d50/structshaka_1_1media_1_1mp4_1_1MovieExtendsHeader.html
index 117d8b37b2..c11fa33316 100644
--- a/docs/da/d50/structshaka_1_1media_1_1mp4_1_1MovieExtendsHeader.html
+++ b/docs/da/d50/structshaka_1_1media_1_1mp4_1_1MovieExtendsHeader.html
@@ -182,7 +182,7 @@ Additional Inherited Members
diff --git a/docs/da/d53/es__parser__h265_8cc_source.html b/docs/da/d53/es__parser__h265_8cc_source.html
index ee72b09cbc..87a97df5bb 100644
--- a/docs/da/d53/es__parser__h265_8cc_source.html
+++ b/docs/da/d53/es__parser__h265_8cc_source.html
@@ -237,37 +237,26 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
- 151 last_video_decoder_config_ = scoped_refptr<StreamInfo>(
-
-
-
-
-
- 157 decoder_config.GetCodecString(kCodecHVC1),
-
-
-
-
-
-
- 164 H26xByteToUnitStreamConverter::kUnitStreamNaluLengthSize,
- 165 decoder_config_record.data(),
- 166 decoder_config_record.size(),
-
-
-
- 170 new_stream_info_cb_.Run(last_video_decoder_config_);
-
-
-
-
-
-
-
+ 151 last_video_decoder_config_ = scoped_refptr<StreamInfo>( new VideoStreamInfo(
+ 152 pid(), kMpeg2Timescale, kInfiniteDuration, kCodecHVC1,
+ 153 decoder_config.GetCodecString(kCodecHVC1), decoder_config_record.data(),
+ 154 decoder_config_record.size(), coded_width, coded_height, pixel_width,
+ 155 pixel_height, 0, H26xByteToUnitStreamConverter::kUnitStreamNaluLengthSize,
+ 156 std::string(), false));
+
+
+ 159 new_stream_info_cb_.Run(last_video_decoder_config_);
+
+
+
+
+
+
+
diff --git a/docs/da/d59/structshaka_1_1media_1_1mp4_1_1CompactSampleSize.html b/docs/da/d59/structshaka_1_1media_1_1mp4_1_1CompactSampleSize.html
index 5df72659f8..b1b8c9f820 100644
--- a/docs/da/d59/structshaka_1_1media_1_1mp4_1_1CompactSampleSize.html
+++ b/docs/da/d59/structshaka_1_1media_1_1mp4_1_1CompactSampleSize.html
@@ -185,7 +185,7 @@ Additional Inherited Members
diff --git a/docs/da/d5c/widevine__key__source_8h_source.html b/docs/da/d5c/widevine__key__source_8h_source.html
index 1cf924fcbd..216a8fcd24 100644
--- a/docs/da/d5c/widevine__key__source_8h_source.html
+++ b/docs/da/d5c/widevine__key__source_8h_source.html
@@ -223,7 +223,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/d5e/classshaka_1_1media_1_1H264VideoSliceHeaderParser-members.html b/docs/da/d5e/classshaka_1_1media_1_1H264VideoSliceHeaderParser-members.html
index 78f1bbf444..c7bd4c7da2 100644
--- a/docs/da/d5e/classshaka_1_1media_1_1H264VideoSliceHeaderParser-members.html
+++ b/docs/da/d5e/classshaka_1_1media_1_1H264VideoSliceHeaderParser-members.html
@@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/d60/classshaka_1_1media_1_1mp4_1_1SingleSegmentSegmenter-members.html b/docs/da/d60/classshaka_1_1media_1_1mp4_1_1SingleSegmentSegmenter-members.html
index f1ea3da6ea..6502fcf6b4 100644
--- a/docs/da/d60/classshaka_1_1media_1_1mp4_1_1SingleSegmentSegmenter-members.html
+++ b/docs/da/d60/classshaka_1_1media_1_1mp4_1_1SingleSegmentSegmenter-members.html
@@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/d64/classshaka_1_1media_1_1mp2t_1_1H264ProgramMapTableWriter-members.html b/docs/da/d64/classshaka_1_1media_1_1mp2t_1_1H264ProgramMapTableWriter-members.html
index 7790f818be..878911ca7a 100644
--- a/docs/da/d64/classshaka_1_1media_1_1mp2t_1_1H264ProgramMapTableWriter-members.html
+++ b/docs/da/d64/classshaka_1_1media_1_1mp2t_1_1H264ProgramMapTableWriter-members.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/d6e/structshaka_1_1media_1_1mp4_1_1AudioRollRecoveryEntry.html b/docs/da/d6e/structshaka_1_1media_1_1mp4_1_1AudioRollRecoveryEntry.html
index 18f5f6637b..a8931f8ddc 100644
--- a/docs/da/d6e/structshaka_1_1media_1_1mp4_1_1AudioRollRecoveryEntry.html
+++ b/docs/da/d6e/structshaka_1_1media_1_1mp4_1_1AudioRollRecoveryEntry.html
@@ -120,7 +120,7 @@ int16_t | roll_distance<
diff --git a/docs/da/d7a/fixed__key__encryption__flags_8h_source.html b/docs/da/d7a/fixed__key__encryption__flags_8h_source.html
index d29a1f63e5..c05775251f 100644
--- a/docs/da/d7a/fixed__key__encryption__flags_8h_source.html
+++ b/docs/da/d7a/fixed__key__encryption__flags_8h_source.html
@@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/d85/classshaka_1_1media_1_1mp2t_1_1TsSegmenter-members.html b/docs/da/d85/classshaka_1_1media_1_1mp2t_1_1TsSegmenter-members.html
index 678183035f..f55eaf3497 100644
--- a/docs/da/d85/classshaka_1_1media_1_1mp2t_1_1TsSegmenter-members.html
+++ b/docs/da/d85/classshaka_1_1media_1_1mp2t_1_1TsSegmenter-members.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/d88/mp4__muxer_8cc_source.html b/docs/da/d88/mp4__muxer_8cc_source.html
index fa9584b16c..7d5d40c6cb 100644
--- a/docs/da/d88/mp4__muxer_8cc_source.html
+++ b/docs/da/d88/mp4__muxer_8cc_source.html
@@ -129,7 +129,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
40 *end = *start + static_cast<uint32_t >(size) - 1;
- 43 FourCC VideoCodecToFourCC(VideoCodec codec) {
+ 43 FourCC CodecToFourCC(Codec codec) {
@@ -143,365 +143,358 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
-
-
-
-
- 62 FourCC AudioCodecToFourCC(AudioCodec codec) {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 90 MP4Muxer::~MP4Muxer() {}
-
- 92 Status MP4Muxer::Initialize() {
- 93 DCHECK(!streams().empty());
-
- 95 scoped_ptr<FileType> ftyp( new FileType);
- 96 scoped_ptr<Movie> moov( new Movie);
-
- 98 ftyp->major_brand = FOURCC_dash;
- 99 ftyp->compatible_brands.push_back(FOURCC_iso6);
- 100 ftyp->compatible_brands.push_back(FOURCC_mp41);
- 101 if (streams().size() == 1 &&
- 102 streams()[0]->info()->stream_type() == kStreamVideo) {
- 103 const FourCC codec_fourcc = VideoCodecToFourCC(
- 104 static_cast<VideoStreamInfo*>(streams()[0]->info(). get())->codec());
- 105 if (codec_fourcc != FOURCC_NULL)
- 106 ftyp->compatible_brands.push_back(codec_fourcc);
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 83 MP4Muxer::~MP4Muxer() {}
+
+ 85 Status MP4Muxer::Initialize() {
+ 86 DCHECK(!streams().empty());
+
+ 88 scoped_ptr<FileType> ftyp( new FileType);
+ 89 scoped_ptr<Movie> moov( new Movie);
+
+ 91 ftyp->major_brand = FOURCC_dash;
+ 92 ftyp->compatible_brands.push_back(FOURCC_iso6);
+ 93 ftyp->compatible_brands.push_back(FOURCC_mp41);
+ 94 if (streams().size() == 1 &&
+ 95 streams()[0]->info()->stream_type() == kStreamVideo) {
+ 96 const FourCC codec_fourcc = CodecToFourCC(
+ 97 static_cast<VideoStreamInfo*>(streams()[0]->info(). get())->codec());
+ 98 if (codec_fourcc != FOURCC_NULL)
+ 99 ftyp->compatible_brands.push_back(codec_fourcc);
+
+
+ 102 moov->header.creation_time = IsoTimeNow();
+ 103 moov->header.modification_time = IsoTimeNow();
+ 104 moov->header.next_track_id = streams().size() + 1;
+
+ 106 moov->tracks.resize(streams().size());
+ 107 moov->extends.tracks.resize(streams().size());
- 109 moov->header.creation_time = IsoTimeNow();
- 110 moov->header.modification_time = IsoTimeNow();
- 111 moov->header.next_track_id = streams().size() + 1;
-
- 113 moov->tracks.resize(streams().size());
- 114 moov->extends.tracks.resize(streams().size());
-
-
- 117 for (uint32_t i = 0; i < streams().size(); ++i) {
- 118 Track& trak = moov->tracks[i];
- 119 trak.header.track_id = i + 1;
-
- 121 TrackExtends& trex = moov->extends.tracks[i];
- 122 trex.track_id = trak.header.track_id;
- 123 trex.default_sample_description_index = 1;
-
- 125 switch (streams()[i]->info()->stream_type()) {
-
-
- 128 static_cast<VideoStreamInfo*>(streams()[i]->info(). get()),
-
-
-
-
-
- 134 static_cast<AudioStreamInfo*>(streams()[i]->info(). get()),
-
-
-
-
- 139 NOTIMPLEMENTED() << "Not implemented for stream type: "
- 140 << streams()[i]->info()->stream_type();
-
-
-
- 144 if (options().single_segment) {
-
- 146 new SingleSegmentSegmenter(options(), ftyp.Pass(), moov.Pass()));
-
-
- 149 new MultiSegmentSegmenter(options(), ftyp.Pass(), moov.Pass()));
-
-
- 152 const Status segmenter_initialized = segmenter_->Initialize(
- 153 streams(), muxer_listener(), progress_listener(), encryption_key_source(),
- 154 max_sd_pixels(), clear_lead_in_seconds(),
- 155 crypto_period_duration_in_seconds(), protection_scheme());
+
+ 110 for (uint32_t i = 0; i < streams().size(); ++i) {
+ 111 Track& trak = moov->tracks[i];
+ 112 trak.header.track_id = i + 1;
+
+ 114 TrackExtends& trex = moov->extends.tracks[i];
+ 115 trex.track_id = trak.header.track_id;
+ 116 trex.default_sample_description_index = 1;
+
+ 118 switch (streams()[i]->info()->stream_type()) {
+
+
+ 121 static_cast<VideoStreamInfo*>(streams()[i]->info(). get()),
+
+
+
+
+
+ 127 static_cast<AudioStreamInfo*>(streams()[i]->info(). get()),
+
+
+
+
+ 132 NOTIMPLEMENTED() << "Not implemented for stream type: "
+ 133 << streams()[i]->info()->stream_type();
+
+
+
+ 137 if (options().single_segment) {
+
+ 139 new SingleSegmentSegmenter(options(), ftyp.Pass(), moov.Pass()));
+
+
+ 142 new MultiSegmentSegmenter(options(), ftyp.Pass(), moov.Pass()));
+
+
+ 145 const Status segmenter_initialized = segmenter_->Initialize(
+ 146 streams(), muxer_listener(), progress_listener(), encryption_key_source(),
+ 147 max_sd_pixels(), clear_lead_in_seconds(),
+ 148 crypto_period_duration_in_seconds(), protection_scheme());
+
+ 150 if (!segmenter_initialized.ok())
+ 151 return segmenter_initialized;
+
+ 153 FireOnMediaStartEvent();
+
+
- 157 if (!segmenter_initialized.ok())
- 158 return segmenter_initialized;
-
- 160 FireOnMediaStartEvent();
-
-
+ 157 Status MP4Muxer::Finalize() {
+
+ 159 Status segmenter_finalized = segmenter_->Finalize();
+
+ 161 if (!segmenter_finalized.ok())
+ 162 return segmenter_finalized;
- 164 Status MP4Muxer::Finalize() {
-
- 166 Status segmenter_finalized = segmenter_->Finalize();
-
- 168 if (!segmenter_finalized.ok())
- 169 return segmenter_finalized;
-
- 171 FireOnMediaEndEvent();
-
-
-
-
- 176 Status MP4Muxer::DoAddSample( const MediaStream* stream,
- 177 scoped_refptr<MediaSample> sample) {
-
- 179 return segmenter_->AddSample(stream, sample);
-
-
- 182 void MP4Muxer::InitializeTrak( const StreamInfo* info, Track* trak) {
- 183 int64_t now = IsoTimeNow();
- 184 trak->header.creation_time = now;
- 185 trak->header.modification_time = now;
- 186 trak->header.duration = 0;
- 187 trak->media.header.creation_time = now;
- 188 trak->media.header.modification_time = now;
- 189 trak->media.header.timescale = info->time_scale();
- 190 trak->media.header.duration = 0;
- 191 if (!info->language().empty()) {
-
- 193 std::string main_language = info->language();
- 194 size_t dash = main_language.find( '-');
- 195 if (dash != std::string::npos) {
- 196 main_language.erase(dash);
-
-
-
- 200 if (main_language.size() != 3) {
- 201 LOG(WARNING) << "'" << main_language << "' is not a valid ISO-639-2 "
- 202 << "language code, ignoring.";
-
- 204 trak->media.header.language.code = main_language;
-
-
-
-
- 209 void MP4Muxer::GenerateVideoTrak( const VideoStreamInfo* video_info,
-
-
- 212 InitializeTrak(video_info, trak);
-
-
-
- 216 uint32_t pixel_width = video_info->pixel_width();
- 217 uint32_t pixel_height = video_info->pixel_height();
- 218 if (pixel_width == 0 || pixel_height == 0) {
- 219 LOG(WARNING) << "pixel width/height are not set. Assuming 1:1.";
-
-
-
- 223 const double sample_aspect_ratio =
- 224 static_cast<double>(pixel_width) / pixel_height;
- 225 trak->header.width = video_info->width() * sample_aspect_ratio * 0x10000;
- 226 trak->header.height = video_info->height() * 0x10000;
-
- 228 VideoSampleEntry video;
- 229 video.format = VideoCodecToFourCC(video_info->codec());
- 230 video.width = video_info->width();
- 231 video.height = video_info->height();
- 232 video.codec_configuration.data = video_info->codec_config();
- 233 if (pixel_width != 1 || pixel_height != 1) {
- 234 video.pixel_aspect.h_spacing = pixel_width;
- 235 video.pixel_aspect.v_spacing = pixel_height;
-
-
- 238 SampleDescription& sample_description =
- 239 trak->media.information.sample_table.description;
- 240 sample_description.type = kVideo;
- 241 sample_description.video_entries.push_back(video);
-
+ 164 FireOnMediaEndEvent();
+
+
+
+
+ 169 Status MP4Muxer::DoAddSample( const MediaStream* stream,
+ 170 scoped_refptr<MediaSample> sample) {
+
+ 172 return segmenter_->AddSample(stream, sample);
+
+
+ 175 void MP4Muxer::InitializeTrak( const StreamInfo* info, Track* trak) {
+ 176 int64_t now = IsoTimeNow();
+ 177 trak->header.creation_time = now;
+ 178 trak->header.modification_time = now;
+ 179 trak->header.duration = 0;
+ 180 trak->media.header.creation_time = now;
+ 181 trak->media.header.modification_time = now;
+ 182 trak->media.header.timescale = info->time_scale();
+ 183 trak->media.header.duration = 0;
+ 184 if (!info->language().empty()) {
+
+ 186 std::string main_language = info->language();
+ 187 size_t dash = main_language.find( '-');
+ 188 if (dash != std::string::npos) {
+ 189 main_language.erase(dash);
+
+
+
+ 193 if (main_language.size() != 3) {
+ 194 LOG(WARNING) << "'" << main_language << "' is not a valid ISO-639-2 "
+ 195 << "language code, ignoring.";
+
+ 197 trak->media.header.language.code = main_language;
+
+
+
+
+ 202 void MP4Muxer::GenerateVideoTrak( const VideoStreamInfo* video_info,
+
+
+ 205 InitializeTrak(video_info, trak);
+
+
+
+ 209 uint32_t pixel_width = video_info->pixel_width();
+ 210 uint32_t pixel_height = video_info->pixel_height();
+ 211 if (pixel_width == 0 || pixel_height == 0) {
+ 212 LOG(WARNING) << "pixel width/height are not set. Assuming 1:1.";
+
+
+
+ 216 const double sample_aspect_ratio =
+ 217 static_cast<double>(pixel_width) / pixel_height;
+ 218 trak->header.width = video_info->width() * sample_aspect_ratio * 0x10000;
+ 219 trak->header.height = video_info->height() * 0x10000;
+
+ 221 VideoSampleEntry video;
+ 222 video.format = CodecToFourCC(video_info->codec());
+ 223 video.width = video_info->width();
+ 224 video.height = video_info->height();
+ 225 video.codec_configuration.data = video_info->codec_config();
+ 226 if (pixel_width != 1 || pixel_height != 1) {
+ 227 video.pixel_aspect.h_spacing = pixel_width;
+ 228 video.pixel_aspect.v_spacing = pixel_height;
+
+
+ 231 SampleDescription& sample_description =
+ 232 trak->media.information.sample_table.description;
+ 233 sample_description.type = kVideo;
+ 234 sample_description.video_entries.push_back(video);
+
+
+ 237 void MP4Muxer::GenerateAudioTrak( const AudioStreamInfo* audio_info,
+
+
+ 240 InitializeTrak(audio_info, trak);
+
+ 242 trak->header.volume = 0x100;
- 244 void MP4Muxer::GenerateAudioTrak( const AudioStreamInfo* audio_info,
-
-
- 247 InitializeTrak(audio_info, trak);
-
- 249 trak->header.volume = 0x100;
-
- 251 AudioSampleEntry audio;
- 252 audio.format = AudioCodecToFourCC(audio_info->codec());
- 253 switch(audio_info->codec()){
-
- 255 audio.esds.es_descriptor.set_object_type(kISO_14496_3);
- 256 audio.esds.es_descriptor.set_esid(track_id);
- 257 audio.esds.es_descriptor.set_decoder_specific_info(
- 258 audio_info->codec_config());
- 259 audio.esds.es_descriptor.set_max_bitrate(audio_info->max_bitrate());
- 260 audio.esds.es_descriptor.set_avg_bitrate(audio_info->avg_bitrate());
-
-
-
-
-
-
- 267 audio.ddts.extra_data = audio_info->codec_config();
- 268 audio.ddts.max_bitrate = audio_info->max_bitrate();
- 269 audio.ddts.avg_bitrate = audio_info->avg_bitrate();
- 270 audio.ddts.sampling_frequency = audio_info->sampling_frequency();
- 271 audio.ddts.pcm_sample_depth = audio_info->sample_bits();
-
-
- 274 audio.dac3.data = audio_info->codec_config();
-
-
- 277 audio.dec3.data = audio_info->codec_config();
-
-
- 280 audio.dops.opus_identification_header = audio_info->codec_config();
-
-
-
-
-
-
- 287 audio.channelcount = audio_info->num_channels();
- 288 audio.samplesize = audio_info->sample_bits();
- 289 audio.samplerate = audio_info->sampling_frequency();
- 290 SampleTable& sample_table = trak->media.information.sample_table;
- 291 SampleDescription& sample_description = sample_table.description;
- 292 sample_description.type = kAudio;
- 293 sample_description.audio_entries.push_back(audio);
-
-
-
- 297 if (audio_info->codec() == kCodecOpus) {
- 298 sample_table.sample_group_descriptions.resize(1);
- 299 SampleGroupDescription& sample_group_description =
- 300 sample_table.sample_group_descriptions.back();
- 301 sample_group_description.grouping_type = FOURCC_roll;
- 302 sample_group_description.audio_roll_recovery_entries.resize(1);
-
-
- 305 const uint64_t kNanosecondsPerSecond = 1000000000ull;
- 306 sample_group_description.audio_roll_recovery_entries[0].roll_distance =
- 307 (0 - (audio_info->seek_preroll_ns() * audio.samplerate +
- 308 kNanosecondsPerSecond / 2)) /
- 309 kNanosecondsPerSecond;
-
- 311 sample_table.sample_to_groups.resize(1);
- 312 SampleToGroup& sample_to_group = sample_table.sample_to_groups.back();
- 313 sample_to_group.grouping_type = FOURCC_roll;
-
- 315 sample_to_group.entries.resize(1);
- 316 SampleToGroupEntry& sample_to_group_entry = sample_to_group.entries.back();
-
- 318 sample_to_group_entry.sample_count = 0;
- 319 sample_to_group_entry.group_description_index =
- 320 SampleToGroupEntry::kTrackGroupDescriptionIndexBase + 1;
- 321 } else if (audio_info->seek_preroll_ns() != 0) {
- 322 LOG(WARNING) << "Unexpected seek preroll for codec " << audio_info->codec();
-
-
-
-
- 327 bool MP4Muxer::GetInitRangeStartAndEnd(uint32_t* start, uint32_t* end) {
- 328 DCHECK(start && end);
- 329 size_t range_offset = 0;
- 330 size_t range_size = 0;
- 331 const bool has_range = segmenter_->GetInitRange(&range_offset, &range_size);
+ 244 AudioSampleEntry audio;
+ 245 audio.format = CodecToFourCC(audio_info->codec());
+ 246 switch(audio_info->codec()){
+
+ 248 audio.esds.es_descriptor.set_object_type(kISO_14496_3);
+ 249 audio.esds.es_descriptor.set_esid(track_id);
+ 250 audio.esds.es_descriptor.set_decoder_specific_info(
+ 251 audio_info->codec_config());
+ 252 audio.esds.es_descriptor.set_max_bitrate(audio_info->max_bitrate());
+ 253 audio.esds.es_descriptor.set_avg_bitrate(audio_info->avg_bitrate());
+
+
+
+
+
+
+ 260 audio.ddts.extra_data = audio_info->codec_config();
+ 261 audio.ddts.max_bitrate = audio_info->max_bitrate();
+ 262 audio.ddts.avg_bitrate = audio_info->avg_bitrate();
+ 263 audio.ddts.sampling_frequency = audio_info->sampling_frequency();
+ 264 audio.ddts.pcm_sample_depth = audio_info->sample_bits();
+
+
+ 267 audio.dac3.data = audio_info->codec_config();
+
+
+ 270 audio.dec3.data = audio_info->codec_config();
+
+
+ 273 audio.dops.opus_identification_header = audio_info->codec_config();
+
+
+
+
+
+
+ 280 audio.channelcount = audio_info->num_channels();
+ 281 audio.samplesize = audio_info->sample_bits();
+ 282 audio.samplerate = audio_info->sampling_frequency();
+ 283 SampleTable& sample_table = trak->media.information.sample_table;
+ 284 SampleDescription& sample_description = sample_table.description;
+ 285 sample_description.type = kAudio;
+ 286 sample_description.audio_entries.push_back(audio);
+
+
+
+ 290 if (audio_info->codec() == kCodecOpus) {
+ 291 sample_table.sample_group_descriptions.resize(1);
+ 292 SampleGroupDescription& sample_group_description =
+ 293 sample_table.sample_group_descriptions.back();
+ 294 sample_group_description.grouping_type = FOURCC_roll;
+ 295 sample_group_description.audio_roll_recovery_entries.resize(1);
+
+
+ 298 const uint64_t kNanosecondsPerSecond = 1000000000ull;
+ 299 sample_group_description.audio_roll_recovery_entries[0].roll_distance =
+ 300 (0 - (audio_info->seek_preroll_ns() * audio.samplerate +
+ 301 kNanosecondsPerSecond / 2)) /
+ 302 kNanosecondsPerSecond;
+
+ 304 sample_table.sample_to_groups.resize(1);
+ 305 SampleToGroup& sample_to_group = sample_table.sample_to_groups.back();
+ 306 sample_to_group.grouping_type = FOURCC_roll;
+
+ 308 sample_to_group.entries.resize(1);
+ 309 SampleToGroupEntry& sample_to_group_entry = sample_to_group.entries.back();
+
+ 311 sample_to_group_entry.sample_count = 0;
+ 312 sample_to_group_entry.group_description_index =
+ 313 SampleToGroupEntry::kTrackGroupDescriptionIndexBase + 1;
+ 314 } else if (audio_info->seek_preroll_ns() != 0) {
+ 315 LOG(WARNING) << "Unexpected seek preroll for codec " << audio_info->codec();
+
+
+
+
+ 320 bool MP4Muxer::GetInitRangeStartAndEnd(uint32_t* start, uint32_t* end) {
+ 321 DCHECK(start && end);
+ 322 size_t range_offset = 0;
+ 323 size_t range_size = 0;
+ 324 const bool has_range = segmenter_->GetInitRange(&range_offset, &range_size);
+
+
+
+
+ 329 SetStartAndEndFromOffsetAndSize(range_offset, range_size, start, end);
+
+
-
-
-
- 336 SetStartAndEndFromOffsetAndSize(range_offset, range_size, start, end);
-
-
-
- 340 bool MP4Muxer::GetIndexRangeStartAndEnd(uint32_t* start, uint32_t* end) {
- 341 DCHECK(start && end);
- 342 size_t range_offset = 0;
- 343 size_t range_size = 0;
- 344 const bool has_range = segmenter_->GetIndexRange(&range_offset, &range_size);
+ 333 bool MP4Muxer::GetIndexRangeStartAndEnd(uint32_t* start, uint32_t* end) {
+ 334 DCHECK(start && end);
+ 335 size_t range_offset = 0;
+ 336 size_t range_size = 0;
+ 337 const bool has_range = segmenter_->GetIndexRange(&range_offset, &range_size);
+
+
+
+
+ 342 SetStartAndEndFromOffsetAndSize(range_offset, range_size, start, end);
+
+
-
-
-
- 349 SetStartAndEndFromOffsetAndSize(range_offset, range_size, start, end);
-
-
-
- 353 void MP4Muxer::FireOnMediaStartEvent() {
- 354 if (!muxer_listener())
-
-
- 357 if (streams().size() > 1) {
- 358 LOG(ERROR) << "MuxerListener cannot take more than 1 stream.";
-
-
- 361 DCHECK(!streams().empty()) << "Media started without a stream.";
+ 346 void MP4Muxer::FireOnMediaStartEvent() {
+ 347 if (!muxer_listener())
+
+
+ 350 if (streams().size() > 1) {
+ 351 LOG(ERROR) << "MuxerListener cannot take more than 1 stream.";
+
+
+ 354 DCHECK(!streams().empty()) << "Media started without a stream.";
+
+ 356 const uint32_t timescale = segmenter_->GetReferenceTimeScale();
+
+ 358 *streams().front()->info(),
+
+ 360 MuxerListener::kContainerMp4);
+
- 363 const uint32_t timescale = segmenter_->GetReferenceTimeScale();
-
- 365 *streams().front()->info(),
-
- 367 MuxerListener::kContainerMp4);
-
-
- 370 void MP4Muxer::FireOnMediaEndEvent() {
- 371 if (!muxer_listener())
-
-
- 374 uint32_t init_range_start = 0;
- 375 uint32_t init_range_end = 0;
- 376 const bool has_init_range =
- 377 GetInitRangeStartAndEnd(&init_range_start, &init_range_end);
+ 363 void MP4Muxer::FireOnMediaEndEvent() {
+ 364 if (!muxer_listener())
+
+
+ 367 uint32_t init_range_start = 0;
+ 368 uint32_t init_range_end = 0;
+ 369 const bool has_init_range =
+ 370 GetInitRangeStartAndEnd(&init_range_start, &init_range_end);
+
+ 372 uint32_t index_range_start = 0;
+ 373 uint32_t index_range_end = 0;
+ 374 const bool has_index_range =
+ 375 GetIndexRangeStartAndEnd(&index_range_start, &index_range_end);
+
+ 377 const float duration_seconds = static_cast<float>(segmenter_->GetDuration());
- 379 uint32_t index_range_start = 0;
- 380 uint32_t index_range_end = 0;
- 381 const bool has_index_range =
- 382 GetIndexRangeStartAndEnd(&index_range_start, &index_range_end);
-
- 384 const float duration_seconds = static_cast<float>(segmenter_->GetDuration());
+ 379 const int64_t file_size =
+
+ 381 if (file_size <= 0) {
+ 382 LOG(ERROR) << "Invalid file size: " << file_size;
+
+
- 386 const int64_t file_size =
-
- 388 if (file_size <= 0) {
- 389 LOG(ERROR) << "Invalid file size: " << file_size;
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+ 396 uint64_t MP4Muxer::IsoTimeNow() {
+
+ 398 const uint64_t kIsomTimeOffset = 2082844800l;
+ 399 return kIsomTimeOffset +
+ 400 (clock() ? clock()->Now() : base::Time::Now()).ToDoubleT();
- 403 uint64_t MP4Muxer::IsoTimeNow() {
-
- 405 const uint64_t kIsomTimeOffset = 2082844800l;
- 406 return kIsomTimeOffset +
- 407 (clock() ? clock()->Now() : base::Time::Now()).ToDoubleT();
-
-
-
-
-
+
+
+
-
+
@@ -510,7 +503,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/d8b/classshaka_1_1media_1_1WebMMediaParser-members.html b/docs/da/d8b/classshaka_1_1media_1_1WebMMediaParser-members.html
index 311f990cb3..91590b9124 100644
--- a/docs/da/d8b/classshaka_1_1media_1_1WebMMediaParser-members.html
+++ b/docs/da/d8b/classshaka_1_1media_1_1WebMMediaParser-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/d8e/container__names_8cc_source.html b/docs/da/d8e/container__names_8cc_source.html
index c18fa1da9f..64fbc1143d 100644
--- a/docs/da/d8e/container__names_8cc_source.html
+++ b/docs/da/d8e/container__names_8cc_source.html
@@ -1863,7 +1863,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/d9b/structshaka_1_1media_1_1mp4_1_1CompositionOffset-members.html b/docs/da/d9b/structshaka_1_1media_1_1mp4_1_1CompositionOffset-members.html
index 2c23111d38..f82b1c7831 100644
--- a/docs/da/d9b/structshaka_1_1media_1_1mp4_1_1CompositionOffset-members.html
+++ b/docs/da/d9b/structshaka_1_1media_1_1mp4_1_1CompositionOffset-members.html
@@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/d9d/structshaka_1_1media_1_1mp4_1_1EC3Specific-members.html b/docs/da/d9d/structshaka_1_1media_1_1mp4_1_1EC3Specific-members.html
index 8aca78c12f..f7d97c3d83 100644
--- a/docs/da/d9d/structshaka_1_1media_1_1mp4_1_1EC3Specific-members.html
+++ b/docs/da/d9d/structshaka_1_1media_1_1mp4_1_1EC3Specific-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/d9f/classshaka_1_1MpdNotifierFactory-members.html b/docs/da/d9f/classshaka_1_1MpdNotifierFactory-members.html
index acadea551f..dccda2ef2e 100644
--- a/docs/da/d9f/classshaka_1_1MpdNotifierFactory-members.html
+++ b/docs/da/d9f/classshaka_1_1MpdNotifierFactory-members.html
@@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/d9f/classshaka_1_1media_1_1MockMuxerListener-members.html b/docs/da/d9f/classshaka_1_1media_1_1MockMuxerListener-members.html
index 05c774cc3b..95b7e3bf59 100644
--- a/docs/da/d9f/classshaka_1_1media_1_1MockMuxerListener-members.html
+++ b/docs/da/d9f/classshaka_1_1media_1_1MockMuxerListener-members.html
@@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/da1/classshaka_1_1media_1_1mp2t_1_1TsPacket.html b/docs/da/da1/classshaka_1_1media_1_1mp2t_1_1TsPacket.html
index f435d47dd5..0b43761518 100644
--- a/docs/da/da1/classshaka_1_1media_1_1mp2t_1_1TsPacket.html
+++ b/docs/da/da1/classshaka_1_1media_1_1mp2t_1_1TsPacket.html
@@ -145,7 +145,7 @@ static const int | kPacketSi
diff --git a/docs/da/db2/classshaka_1_1Representation-members.html b/docs/da/db2/classshaka_1_1Representation-members.html
index e4b33b6882..c74dbd2bd8 100644
--- a/docs/da/db2/classshaka_1_1Representation-members.html
+++ b/docs/da/db2/classshaka_1_1Representation-members.html
@@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/dbb/structshaka_1_1media_1_1mp4_1_1HandlerReference.html b/docs/da/dbb/structshaka_1_1media_1_1mp4_1_1HandlerReference.html
index a43d218250..8042b4bced 100644
--- a/docs/da/dbb/structshaka_1_1media_1_1mp4_1_1HandlerReference.html
+++ b/docs/da/dbb/structshaka_1_1media_1_1mp4_1_1HandlerReference.html
@@ -182,7 +182,7 @@ Additional Inherited Members |
diff --git a/docs/da/dc3/status_8cc_source.html b/docs/da/dc3/status_8cc_source.html
index a5b755d7bd..9a662c9792 100644
--- a/docs/da/dc3/status_8cc_source.html
+++ b/docs/da/dc3/status_8cc_source.html
@@ -168,7 +168,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/dc4/structshaka_1_1media_1_1mp4_1_1TrackHeader.html b/docs/da/dc4/structshaka_1_1media_1_1mp4_1_1TrackHeader.html
index 336c96d702..2602b1f40f 100644
--- a/docs/da/dc4/structshaka_1_1media_1_1mp4_1_1TrackHeader.html
+++ b/docs/da/dc4/structshaka_1_1media_1_1mp4_1_1TrackHeader.html
@@ -215,7 +215,7 @@ Additional Inherited Members
diff --git a/docs/da/dcb/es__descriptor_8h_source.html b/docs/da/dcb/es__descriptor_8h_source.html
index fd747436d1..cab752d058 100644
--- a/docs/da/dcb/es__descriptor_8h_source.html
+++ b/docs/da/dcb/es__descriptor_8h_source.html
@@ -183,7 +183,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/dd0/structshaka_1_1media_1_1mp4_1_1Edit.html b/docs/da/dd0/structshaka_1_1media_1_1mp4_1_1Edit.html
index c3d86a65dd..b70dc0009f 100644
--- a/docs/da/dd0/structshaka_1_1media_1_1mp4_1_1Edit.html
+++ b/docs/da/dd0/structshaka_1_1media_1_1mp4_1_1Edit.html
@@ -173,7 +173,7 @@ Additional Inherited Members
diff --git a/docs/da/dd0/webm__info__parser_8h_source.html b/docs/da/dd0/webm__info__parser_8h_source.html
index 9ccaefa63a..7ba4df588b 100644
--- a/docs/da/dd0/webm__info__parser_8h_source.html
+++ b/docs/da/dd0/webm__info__parser_8h_source.html
@@ -138,7 +138,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/dd1/fragmenter_8h_source.html b/docs/da/dd1/fragmenter_8h_source.html
index 5976647656..8991508f0b 100644
--- a/docs/da/dd1/fragmenter_8h_source.html
+++ b/docs/da/dd1/fragmenter_8h_source.html
@@ -206,7 +206,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/dd2/classshaka_1_1media_1_1mp2t_1_1TsPacket-members.html b/docs/da/dd2/classshaka_1_1media_1_1mp2t_1_1TsPacket-members.html
index bd1cf32442..23437d033a 100644
--- a/docs/da/dd2/classshaka_1_1media_1_1mp2t_1_1TsPacket-members.html
+++ b/docs/da/dd2/classshaka_1_1media_1_1mp2t_1_1TsPacket-members.html
@@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/dd6/classshaka_1_1media_1_1H264ByteToUnitStreamConverter-members.html b/docs/da/dd6/classshaka_1_1media_1_1H264ByteToUnitStreamConverter-members.html
index 5d98426a83..137f065f98 100644
--- a/docs/da/dd6/classshaka_1_1media_1_1H264ByteToUnitStreamConverter-members.html
+++ b/docs/da/dd6/classshaka_1_1media_1_1H264ByteToUnitStreamConverter-members.html
@@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/dd8/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser-members.html b/docs/da/dd8/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser-members.html
index e0d98b87f6..ccc0976e45 100644
--- a/docs/da/dd8/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser-members.html
+++ b/docs/da/dd8/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/dda/structshaka_1_1media_1_1H264SEIRecoveryPoint-members.html b/docs/da/dda/structshaka_1_1media_1_1H264SEIRecoveryPoint-members.html
index 7b4cfe8810..f867030bd5 100644
--- a/docs/da/dda/structshaka_1_1media_1_1H264SEIRecoveryPoint-members.html
+++ b/docs/da/dda/structshaka_1_1media_1_1H264SEIRecoveryPoint-members.html
@@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/ddd/classshaka_1_1media_1_1WidevineKeySource.html b/docs/da/ddd/classshaka_1_1media_1_1WidevineKeySource.html
index 614d635385..4b75ddc876 100644
--- a/docs/da/ddd/classshaka_1_1media_1_1WidevineKeySource.html
+++ b/docs/da/ddd/classshaka_1_1media_1_1WidevineKeySource.html
@@ -550,7 +550,7 @@ static std::string
diff --git a/docs/da/ddf/structshaka_1_1media_1_1mp4_1_1SampleDescription-members.html b/docs/da/ddf/structshaka_1_1media_1_1mp4_1_1SampleDescription-members.html
index 742428b67a..fb085a2300 100644
--- a/docs/da/ddf/structshaka_1_1media_1_1mp4_1_1SampleDescription-members.html
+++ b/docs/da/ddf/structshaka_1_1media_1_1mp4_1_1SampleDescription-members.html
@@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/de2/mock__mpd__builder_8cc_source.html b/docs/da/de2/mock__mpd__builder_8cc_source.html
index 7c775ec733..1feae8204b 100644
--- a/docs/da/de2/mock__mpd__builder_8cc_source.html
+++ b/docs/da/de2/mock__mpd__builder_8cc_source.html
@@ -123,7 +123,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/de4/classshaka_1_1media_1_1WebMClusterParser.html b/docs/da/de4/classshaka_1_1media_1_1WebMClusterParser.html
index beb12377ef..a7bd768c80 100644
--- a/docs/da/de4/classshaka_1_1media_1_1WebMClusterParser.html
+++ b/docs/da/de4/classshaka_1_1media_1_1WebMClusterParser.html
@@ -274,7 +274,7 @@ Additional Inherited Members |
-Definition at line 52 of file webm_cluster_parser.cc.
+Definition at line 49 of file webm_cluster_parser.cc.
@@ -320,7 +320,7 @@ Additional Inherited Members
Flush data currently in the parser and reset the parser so it can accept a new cluster.
- Returns
- true on success, false otherwise.
-Definition at line 106 of file webm_cluster_parser.cc.
+Definition at line 103 of file webm_cluster_parser.cc.
@@ -354,7 +354,7 @@ Additional Inherited Members
The number of bytes parsed on success.
-Definition at line 114 of file webm_cluster_parser.cc.
+Definition at line 111 of file webm_cluster_parser.cc.
@@ -365,7 +365,7 @@ The number of bytes parsed on success.
diff --git a/docs/da/de6/structshaka_1_1media_1_1mp4_1_1SchemeType-members.html b/docs/da/de6/structshaka_1_1media_1_1mp4_1_1SchemeType-members.html
index 8a2e04f0c3..c8cbc573ed 100644
--- a/docs/da/de6/structshaka_1_1media_1_1mp4_1_1SchemeType-members.html
+++ b/docs/da/de6/structshaka_1_1media_1_1mp4_1_1SchemeType-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/de8/classshaka_1_1media_1_1AudioStreamInfo-members.html b/docs/da/de8/classshaka_1_1media_1_1AudioStreamInfo-members.html
index 50d6e1c815..0e8fad5dc5 100644
--- a/docs/da/de8/classshaka_1_1media_1_1AudioStreamInfo-members.html
+++ b/docs/da/de8/classshaka_1_1media_1_1AudioStreamInfo-members.html
@@ -93,15 +93,15 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
This is the complete list of members for shaka::media::AudioStreamInfo, including all inherited members.
- AudioStreamInfo(int track_id, uint32_t time_scale, uint64_t duration, AudioCodec codec, const std::string &codec_string, const std::string &language, uint8_t sample_bits, uint8_t num_channels, uint32_t sampling_frequency, uint64_t seek_preroll_ns, uint64_t codec_delay_ns, uint32_t max_bitrate, uint32_t avg_bitrate, const uint8_t *codec_config, size_t codec_config_size, bool is_encrypted) | shaka::media::AudioStreamInfo | |
+ AudioStreamInfo(int track_id, uint32_t time_scale, uint64_t duration, Codec codec, const std::string &codec_string, const uint8_t *codec_config, size_t codec_config_size, uint8_t sample_bits, uint8_t num_channels, uint32_t sampling_frequency, uint64_t seek_preroll_ns, uint64_t codec_delay_ns, uint32_t max_bitrate, uint32_t avg_bitrate, const std::string &language, bool is_encrypted) | shaka::media::AudioStreamInfo | |
avg_bitrate() const (defined in shaka::media::AudioStreamInfo) | shaka::media::AudioStreamInfo | inline |
bytes_per_frame() const (defined in shaka::media::AudioStreamInfo) | shaka::media::AudioStreamInfo | inline |
- codec() const (defined in shaka::media::AudioStreamInfo) | shaka::media::AudioStreamInfo | inline |
+ codec() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
codec_config() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
codec_delay_ns() const (defined in shaka::media::AudioStreamInfo) | shaka::media::AudioStreamInfo | inline |
codec_string() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
duration() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
- GetCodecString(AudioCodec codec, uint8_t audio_object_type) | shaka::media::AudioStreamInfo | static |
+ GetCodecString(Codec codec, uint8_t audio_object_type) | shaka::media::AudioStreamInfo | static |
is_encrypted() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
IsValidConfig() const override | shaka::media::AudioStreamInfo | virtual |
language() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
@@ -111,14 +111,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
sample_bytes() const (defined in shaka::media::AudioStreamInfo) | shaka::media::AudioStreamInfo | inline |
sampling_frequency() const (defined in shaka::media::AudioStreamInfo) | shaka::media::AudioStreamInfo | inline |
seek_preroll_ns() const (defined in shaka::media::AudioStreamInfo) | shaka::media::AudioStreamInfo | inline |
- set_codec(AudioCodec codec) (defined in shaka::media::AudioStreamInfo) | shaka::media::AudioStreamInfo | inline |
+ set_codec(Codec codec) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
set_codec_config(const std::vector< uint8_t > &data) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
set_codec_string(const std::string &codec_string) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
set_duration(int duration) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
set_language(const std::string &language) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
set_sampling_frequency(const uint32_t sampling_frequency) (defined in shaka::media::AudioStreamInfo) | shaka::media::AudioStreamInfo | inline |
stream_type() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
- StreamInfo(StreamType stream_type, int track_id, uint32_t time_scale, uint64_t duration, const std::string &codec_string, const std::string &language, const uint8_t *codec_config, size_t codec_config_size, bool is_encrypted) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | |
+ StreamInfo(StreamType stream_type, int track_id, uint32_t time_scale, uint64_t duration, Codec codec, const std::string &codec_string, const uint8_t *codec_config, size_t codec_config_size, const std::string &language, bool is_encrypted) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | |
time_scale() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
ToString() const override | shaka::media::AudioStreamInfo | virtual |
track_id() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
@@ -126,7 +126,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/de9/structshaka_1_1media_1_1mp4_1_1ProtectionSchemeInfo.html b/docs/da/de9/structshaka_1_1media_1_1mp4_1_1ProtectionSchemeInfo.html
index 00583cdef4..92ead2fb4f 100644
--- a/docs/da/de9/structshaka_1_1media_1_1mp4_1_1ProtectionSchemeInfo.html
+++ b/docs/da/de9/structshaka_1_1media_1_1mp4_1_1ProtectionSchemeInfo.html
@@ -179,7 +179,7 @@ Additional Inherited Members
diff --git a/docs/da/df0/classshaka_1_1media_1_1H264VideoSliceHeaderParser.html b/docs/da/df0/classshaka_1_1media_1_1H264VideoSliceHeaderParser.html
index 2743b270a3..203f315fb7 100644
--- a/docs/da/df0/classshaka_1_1media_1_1H264VideoSliceHeaderParser.html
+++ b/docs/da/df0/classshaka_1_1media_1_1H264VideoSliceHeaderParser.html
@@ -152,7 +152,7 @@ int64_t
diff --git a/docs/da/df4/aes__decryptor_8cc_source.html b/docs/da/df4/aes__decryptor_8cc_source.html
index 8f514fa12d..ad57b637ab 100644
--- a/docs/da/df4/aes__decryptor_8cc_source.html
+++ b/docs/da/df4/aes__decryptor_8cc_source.html
@@ -258,7 +258,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/da/df5/structshaka_1_1media_1_1mp4_1_1SampleDescription.html b/docs/da/df5/structshaka_1_1media_1_1mp4_1_1SampleDescription.html
index 355e00a9c7..f37b113e2d 100644
--- a/docs/da/df5/structshaka_1_1media_1_1mp4_1_1SampleDescription.html
+++ b/docs/da/df5/structshaka_1_1media_1_1mp4_1_1SampleDescription.html
@@ -191,7 +191,7 @@ Additional Inherited Members |
diff --git a/docs/da/df9/classshaka_1_1media_1_1AesPatternCryptor-members.html b/docs/da/df9/classshaka_1_1media_1_1AesPatternCryptor-members.html
index 80eccf3bcc..e2d2d52b24 100644
--- a/docs/da/df9/classshaka_1_1media_1_1AesPatternCryptor-members.html
+++ b/docs/da/df9/classshaka_1_1media_1_1AesPatternCryptor-members.html
@@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/d05/structshaka_1_1media_1_1H265SliceHeader.html b/docs/db/d05/structshaka_1_1media_1_1H265SliceHeader.html
index d10c089e85..0b98c94ac1 100644
--- a/docs/db/d05/structshaka_1_1media_1_1H265SliceHeader.html
+++ b/docs/db/d05/structshaka_1_1media_1_1H265SliceHeader.html
@@ -236,7 +236,7 @@ std::vector< int > e
diff --git a/docs/db/d11/structshaka_1_1media_1_1mp4_1_1CodecConfiguration.html b/docs/db/d11/structshaka_1_1media_1_1mp4_1_1CodecConfiguration.html
index 98bd7cd921..9dc78cb5bc 100644
--- a/docs/db/d11/structshaka_1_1media_1_1mp4_1_1CodecConfiguration.html
+++ b/docs/db/d11/structshaka_1_1media_1_1mp4_1_1CodecConfiguration.html
@@ -176,7 +176,7 @@ Additional Inherited Members |
diff --git a/docs/db/d14/classshaka_1_1media_1_1H265Parser-members.html b/docs/db/d14/classshaka_1_1media_1_1H265Parser-members.html
index 72c157fc54..3de9b7c714 100644
--- a/docs/db/d14/classshaka_1_1media_1_1H265Parser-members.html
+++ b/docs/db/d14/classshaka_1_1media_1_1H265Parser-members.html
@@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/d14/structshaka_1_1media_1_1H264WeightingFactors-members.html b/docs/db/d14/structshaka_1_1media_1_1H264WeightingFactors-members.html
index 12dc8f7693..f174715e99 100644
--- a/docs/db/d14/structshaka_1_1media_1_1H264WeightingFactors-members.html
+++ b/docs/db/d14/structshaka_1_1media_1_1H264WeightingFactors-members.html
@@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/d21/structshaka_1_1media_1_1mp4_1_1SubtitleMediaHeader.html b/docs/db/d21/structshaka_1_1media_1_1mp4_1_1SubtitleMediaHeader.html
index dc8d8b37e5..3950294283 100644
--- a/docs/db/d21/structshaka_1_1media_1_1mp4_1_1SubtitleMediaHeader.html
+++ b/docs/db/d21/structshaka_1_1media_1_1mp4_1_1SubtitleMediaHeader.html
@@ -175,7 +175,7 @@ uint32_t flags |
diff --git a/docs/db/d30/classshaka_1_1media_1_1mp4_1_1MP4Muxer.html b/docs/db/d30/classshaka_1_1media_1_1mp4_1_1MP4Muxer.html
index c33eee362d..10df775c78 100644
--- a/docs/db/d30/classshaka_1_1media_1_1mp4_1_1MP4Muxer.html
+++ b/docs/db/d30/classshaka_1_1media_1_1mp4_1_1MP4Muxer.html
@@ -179,7 +179,7 @@ FourCC protection_scheme
diff --git a/docs/db/d31/h26x__byte__to__unit__stream__converter_8h_source.html b/docs/db/d31/h26x__byte__to__unit__stream__converter_8h_source.html
index 2431fe50a6..fcd0f125df 100644
--- a/docs/db/d31/h26x__byte__to__unit__stream__converter_8h_source.html
+++ b/docs/db/d31/h26x__byte__to__unit__stream__converter_8h_source.html
@@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/d31/track__run__iterator_8cc_source.html b/docs/db/d31/track__run__iterator_8cc_source.html
index f59791c0c0..b60be72a5f 100644
--- a/docs/db/d31/track__run__iterator_8cc_source.html
+++ b/docs/db/d31/track__run__iterator_8cc_source.html
@@ -767,7 +767,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/d38/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator-members.html b/docs/db/d38/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator-members.html
index 9db5ec5374..bc84563710 100644
--- a/docs/db/d38/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator-members.html
+++ b/docs/db/d38/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/d3b/classshaka_1_1media_1_1VideoSliceHeaderParser-members.html b/docs/db/d3b/classshaka_1_1media_1_1VideoSliceHeaderParser-members.html
index 0d3ab2bf5a..4e5fab3ba3 100644
--- a/docs/db/d3b/classshaka_1_1media_1_1VideoSliceHeaderParser-members.html
+++ b/docs/db/d3b/classshaka_1_1media_1_1VideoSliceHeaderParser-members.html
@@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/d45/mpd__notify__muxer__listener_8h_source.html b/docs/db/d45/mpd__notify__muxer__listener_8h_source.html
index b7e3403ba5..67bd159e7e 100644
--- a/docs/db/d45/mpd__notify__muxer__listener_8h_source.html
+++ b/docs/db/d45/mpd__notify__muxer__listener_8h_source.html
@@ -175,7 +175,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
92 #endif // MEDIA_EVENT_MPD_NOTIFY_MUXER_LISTENER_H_
-
+
@@ -189,7 +189,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/d4b/classshaka_1_1MockAdaptationSet.html b/docs/db/d4b/classshaka_1_1MockAdaptationSet.html
index 2efbadc928..af512a2a60 100644
--- a/docs/db/d4b/classshaka_1_1MockAdaptationSet.html
+++ b/docs/db/d4b/classshaka_1_1MockAdaptationSet.html
@@ -183,7 +183,7 @@ Additional Inherited Members |
diff --git a/docs/db/d4e/classshaka_1_1media_1_1mp4_1_1CompositionOffsetIterator.html b/docs/db/d4e/classshaka_1_1media_1_1mp4_1_1CompositionOffsetIterator.html
index 1c3fbe86c0..a2157c9a24 100644
--- a/docs/db/d4e/classshaka_1_1media_1_1mp4_1_1CompositionOffsetIterator.html
+++ b/docs/db/d4e/classshaka_1_1media_1_1mp4_1_1CompositionOffsetIterator.html
@@ -225,7 +225,7 @@ Public Member Functions
diff --git a/docs/db/d51/mp2t__media__parser_8h_source.html b/docs/db/d51/mp2t__media__parser_8h_source.html
index fb23418e26..f91109006c 100644
--- a/docs/db/d51/mp2t__media__parser_8h_source.html
+++ b/docs/db/d51/mp2t__media__parser_8h_source.html
@@ -193,7 +193,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/d51/two__pass__single__segment__segmenter_8h_source.html b/docs/db/d51/two__pass__single__segment__segmenter_8h_source.html
index 80df89d7d8..b332e44104 100644
--- a/docs/db/d51/two__pass__single__segment__segmenter_8h_source.html
+++ b/docs/db/d51/two__pass__single__segment__segmenter_8h_source.html
@@ -145,7 +145,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/d5a/classshaka_1_1media_1_1VP9Parser.html b/docs/db/d5a/classshaka_1_1media_1_1VP9Parser.html
index b06d350db9..5f7af93339 100644
--- a/docs/db/d5a/classshaka_1_1media_1_1VP9Parser.html
+++ b/docs/db/d5a/classshaka_1_1media_1_1VP9Parser.html
@@ -238,7 +238,7 @@ Additional Inherited Members
diff --git a/docs/db/d60/mpd__options_8h_source.html b/docs/db/d60/mpd__options_8h_source.html
index a1fac06d04..6b6e6a984f 100644
--- a/docs/db/d60/mpd__options_8h_source.html
+++ b/docs/db/d60/mpd__options_8h_source.html
@@ -126,7 +126,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/d64/webvtt__media__parser_8h_source.html b/docs/db/d64/webvtt__media__parser_8h_source.html
index e84970e69a..88b6711e15 100644
--- a/docs/db/d64/webvtt__media__parser_8h_source.html
+++ b/docs/db/d64/webvtt__media__parser_8h_source.html
@@ -181,7 +181,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/d66/structshaka_1_1media_1_1mp4_1_1SegmentType-members.html b/docs/db/d66/structshaka_1_1media_1_1mp4_1_1SegmentType-members.html
index a96a53ffc2..4e8060a532 100644
--- a/docs/db/d66/structshaka_1_1media_1_1mp4_1_1SegmentType-members.html
+++ b/docs/db/d66/structshaka_1_1media_1_1mp4_1_1SegmentType-members.html
@@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/d71/http__key__fetcher_8h_source.html b/docs/db/d71/http__key__fetcher_8h_source.html
index a73211f93c..cfe5cb7dd6 100644
--- a/docs/db/d71/http__key__fetcher_8h_source.html
+++ b/docs/db/d71/http__key__fetcher_8h_source.html
@@ -150,7 +150,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/d74/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord-members.html b/docs/db/d74/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord-members.html
index 44857eb873..96578758d5 100644
--- a/docs/db/d74/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord-members.html
+++ b/docs/db/d74/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord-members.html
@@ -97,7 +97,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
data() const | shaka::media::DecoderConfigurationRecord | inlineprotected |
data_size() const | shaka::media::DecoderConfigurationRecord | inlineprotected |
DecoderConfigurationRecord() (defined in shaka::media::DecoderConfigurationRecord) | shaka::media::DecoderConfigurationRecord | protected |
- GetCodecString(VideoCodec codec) const | shaka::media::HEVCDecoderConfigurationRecord | |
+ GetCodecString(Codec codec) const | shaka::media::HEVCDecoderConfigurationRecord | |
HEVCDecoderConfigurationRecord() (defined in shaka::media::HEVCDecoderConfigurationRecord) | shaka::media::HEVCDecoderConfigurationRecord | |
nalu(size_t i) const | shaka::media::DecoderConfigurationRecord | inline |
nalu_count() const | shaka::media::DecoderConfigurationRecord | inline |
@@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/d75/classshaka_1_1media_1_1webm_1_1TwoPassSingleSegmentSegmenter-members.html b/docs/db/d75/classshaka_1_1media_1_1webm_1_1TwoPassSingleSegmentSegmenter-members.html
index f84aa77797..a144fc0f32 100644
--- a/docs/db/d75/classshaka_1_1media_1_1webm_1_1TwoPassSingleSegmentSegmenter-members.html
+++ b/docs/db/d75/classshaka_1_1media_1_1webm_1_1TwoPassSingleSegmentSegmenter-members.html
@@ -130,7 +130,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/d78/classshaka_1_1media_1_1mp2t_1_1ContinuityCounter-members.html b/docs/db/d78/classshaka_1_1media_1_1mp2t_1_1ContinuityCounter-members.html
index 2dd2792687..73cbc7c8a6 100644
--- a/docs/db/d78/classshaka_1_1media_1_1mp2t_1_1ContinuityCounter-members.html
+++ b/docs/db/d78/classshaka_1_1media_1_1mp2t_1_1ContinuityCounter-members.html
@@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/d7e/muxer__options_8cc_source.html b/docs/db/d7e/muxer__options_8cc_source.html
index 698306b2a4..eff674fdc2 100644
--- a/docs/db/d7e/muxer__options_8cc_source.html
+++ b/docs/db/d7e/muxer__options_8cc_source.html
@@ -106,15 +106,16 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
17 fragment_sap_aligned(false),
18 num_subsegments_per_sidx(0),
19 mp4_use_decoding_timestamp_in_timeline(false),
-
- 21 MuxerOptions::~MuxerOptions() {}
-
-
-
+
+ 21 webm_subsample_encryption(true) {}
+ 22 MuxerOptions::~MuxerOptions() {}
+
+
+
diff --git a/docs/db/d84/classshaka_1_1media_1_1AACAudioSpecificConfig-members.html b/docs/db/d84/classshaka_1_1media_1_1AACAudioSpecificConfig-members.html
index d860df3baf..6acde4e835 100644
--- a/docs/db/d84/classshaka_1_1media_1_1AACAudioSpecificConfig-members.html
+++ b/docs/db/d84/classshaka_1_1media_1_1AACAudioSpecificConfig-members.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/d86/classshaka_1_1media_1_1NaluReader.html b/docs/db/d86/classshaka_1_1media_1_1NaluReader.html
index a9c15185f4..3cc6895cc3 100644
--- a/docs/db/d86/classshaka_1_1media_1_1NaluReader.html
+++ b/docs/db/d86/classshaka_1_1media_1_1NaluReader.html
@@ -228,7 +228,7 @@ static bool FindStartCode<
diff --git a/docs/db/d8f/mp4__muxer_8h_source.html b/docs/db/d8f/mp4__muxer_8h_source.html
index cdcce37865..57bf6b55f8 100644
--- a/docs/db/d8f/mp4__muxer_8h_source.html
+++ b/docs/db/d8f/mp4__muxer_8h_source.html
@@ -160,20 +160,20 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
76 #endif // MEDIA_FORMATS_MP4_MP4_MUXER_H_
-
-
+
+
-
-
+
+
diff --git a/docs/db/d94/classshaka_1_1media_1_1ClusterBuilder.html b/docs/db/d94/classshaka_1_1media_1_1ClusterBuilder.html
index b6f2132e97..8c3d58768a 100644
--- a/docs/db/d94/classshaka_1_1media_1_1ClusterBuilder.html
+++ b/docs/db/d94/classshaka_1_1media_1_1ClusterBuilder.html
@@ -125,7 +125,7 @@ scoped_ptr<
diff --git a/docs/db/d95/classshaka_1_1media_1_1mp4_1_1Fragmenter.html b/docs/db/d95/classshaka_1_1media_1_1mp4_1_1Fragmenter.html
index 5675c93412..f5c7396644 100644
--- a/docs/db/d95/classshaka_1_1media_1_1mp4_1_1Fragmenter.html
+++ b/docs/db/d95/classshaka_1_1media_1_1mp4_1_1Fragmenter.html
@@ -339,7 +339,7 @@ template<typename T >
diff --git a/docs/db/d95/structshaka_1_1media_1_1mp4_1_1ChunkLargeOffset.html b/docs/db/d95/structshaka_1_1media_1_1mp4_1_1ChunkLargeOffset.html
index 83aafcf06f..1db6542367 100644
--- a/docs/db/d95/structshaka_1_1media_1_1mp4_1_1ChunkLargeOffset.html
+++ b/docs/db/d95/structshaka_1_1media_1_1mp4_1_1ChunkLargeOffset.html
@@ -185,7 +185,7 @@ Additional Inherited Members |
diff --git a/docs/db/d96/wvm__media__parser_8h_source.html b/docs/db/d96/wvm__media__parser_8h_source.html
index 8af7c28221..7302594353 100644
--- a/docs/db/d96/wvm__media__parser_8h_source.html
+++ b/docs/db/d96/wvm__media__parser_8h_source.html
@@ -363,7 +363,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/da4/classBandwidthEstimator-members.html b/docs/db/da4/classBandwidthEstimator-members.html
index 8aba30bd68..e639cce1a8 100644
--- a/docs/db/da4/classBandwidthEstimator-members.html
+++ b/docs/db/da4/classBandwidthEstimator-members.html
@@ -97,7 +97,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/da6/memory__file_8h_source.html b/docs/db/da6/memory__file_8h_source.html
index 16215cc303..019cc42d59 100644
--- a/docs/db/da6/memory__file_8h_source.html
+++ b/docs/db/da6/memory__file_8h_source.html
@@ -154,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/dab/classshaka_1_1media_1_1TextStreamInfo.html b/docs/db/dab/classshaka_1_1media_1_1TextStreamInfo.html
index cc6801d018..74ea911da2 100644
--- a/docs/db/dab/classshaka_1_1media_1_1TextStreamInfo.html
+++ b/docs/db/dab/classshaka_1_1media_1_1TextStreamInfo.html
@@ -105,8 +105,8 @@ Inheritance diagram for shaka::media::TextStreamInfo:
|
- | TextStreamInfo (int track_id, uint32_t time_scale, uint64_t duration, const std::string &codec_string, const std::string &language, const std::string &codec_config, uint16_t width, uint16_t height) |
- |
+ | TextStreamInfo (int track_id, uint32_t time_scale, uint64_t duration, const std::string &codec_string, const std::string &codec_config, uint16_t width, uint16_t height, const std::string &language) |
+ |
bool | IsValidConfig () const override |
|
@@ -116,9 +116,9 @@ uint16_t | width () cons
uint16_t | height () const |
|
-
- | StreamInfo (StreamType stream_type, int track_id, uint32_t time_scale, uint64_t duration, const std::string &codec_string, const std::string &language, const uint8_t *codec_config, size_t codec_config_size, bool is_encrypted) |
- |
+
+ | StreamInfo (StreamType stream_type, int track_id, uint32_t time_scale, uint64_t duration, Codec codec, const std::string &codec_string, const uint8_t *codec_config, size_t codec_config_size, const std::string &language, bool is_encrypted) |
+ |
virtual std::string | ToString () const |
|
@@ -133,21 +133,27 @@ uint32_t | time_scale ()
|
uint64_t | duration () const |
|
+
+Codec | codec () const |
+ |
const std::string & | codec_string () const |
|
+
+const std::vector< uint8_t > & | codec_config () const |
+ |
const std::string & | language () const |
|
bool | is_encrypted () const |
|
-
-const std::vector< uint8_t > & | codec_config () const |
- |
void | set_duration (int duration) |
|
+
+void | set_codec (Codec codec) |
+ |
void | set_codec_config (const std::vector< uint8_t > &data) |
|
@@ -162,7 +168,7 @@ void set_language (con
Definition at line 17 of file text_stream_info.h.
-
+
@@ -190,12 +196,6 @@ void set_language (con
| const std::string & |
codec_string, |
-
- |
- |
- const std::string & |
- language, |
-
|
|
@@ -212,7 +212,13 @@ void set_language (con
| |
|
uint16_t |
- height |
+ height, |
+
+
+ |
+ |
+ const std::string & |
+ language |
|
@@ -228,10 +234,10 @@ void set_language (con
| time_scale | is the time scale of this stream. |
duration | is the duration of this stream. |
codec_string | is the codec. |
- language | is the language of this stream. This may be empty. |
codec_config | is configuration for this text stream. This could be the metadata that applies to all the samples of this stream. This may be empty. |
width | of the text. This may be 0. |
height | of the text. This may be 0. |
+ language | is the language of this stream. This may be empty. |
@@ -265,7 +271,7 @@ void | set_language (con
Implements shaka::media::StreamInfo.
-Definition at line 34 of file text_stream_info.cc.
+Definition at line 26 of file text_stream_info.cc.
@@ -276,7 +282,7 @@ void | set_language (con
diff --git a/docs/db/dae/classshaka_1_1media_1_1WebMInfoParser.html b/docs/db/dae/classshaka_1_1media_1_1WebMInfoParser.html
index f9513ccac8..cca605d0a8 100644
--- a/docs/db/dae/classshaka_1_1media_1_1WebMInfoParser.html
+++ b/docs/db/dae/classshaka_1_1media_1_1WebMInfoParser.html
@@ -175,7 +175,7 @@ The number of bytes parsed on success.
diff --git a/docs/db/dae/structshaka_1_1media_1_1mp4_1_1SoundMediaHeader-members.html b/docs/db/dae/structshaka_1_1media_1_1mp4_1_1SoundMediaHeader-members.html
index 969c03156d..f91a557528 100644
--- a/docs/db/dae/structshaka_1_1media_1_1mp4_1_1SoundMediaHeader-members.html
+++ b/docs/db/dae/structshaka_1_1media_1_1mp4_1_1SoundMediaHeader-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
|
diff --git a/docs/db/db1/structshaka_1_1media_1_1mp4_1_1CencSampleEncryptionInfoEntry-members.html b/docs/db/db1/structshaka_1_1media_1_1mp4_1_1CencSampleEncryptionInfoEntry-members.html
index fb61b75fac..effef3516b 100644
--- a/docs/db/db1/structshaka_1_1media_1_1mp4_1_1CencSampleEncryptionInfoEntry-members.html
+++ b/docs/db/db1/structshaka_1_1media_1_1mp4_1_1CencSampleEncryptionInfoEntry-members.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/db8/structshaka_1_1media_1_1OnMediaEndParameters.html b/docs/db/db8/structshaka_1_1media_1_1OnMediaEndParameters.html
index c60473d89e..eaf1ce5f41 100644
--- a/docs/db/db8/structshaka_1_1media_1_1OnMediaEndParameters.html
+++ b/docs/db/db8/structshaka_1_1media_1_1OnMediaEndParameters.html
@@ -130,7 +130,7 @@ uint64_t file_size |
diff --git a/docs/db/db8/structshaka_1_1media_1_1mp4_1_1TrackEncryption.html b/docs/db/db8/structshaka_1_1media_1_1mp4_1_1TrackEncryption.html
index 77bd1f3130..99cd814bb6 100644
--- a/docs/db/db8/structshaka_1_1media_1_1mp4_1_1TrackEncryption.html
+++ b/docs/db/db8/structshaka_1_1media_1_1mp4_1_1TrackEncryption.html
@@ -197,7 +197,7 @@ Additional Inherited Members
diff --git a/docs/db/dcb/classshaka_1_1media_1_1VPxParser.html b/docs/db/dcb/classshaka_1_1media_1_1VPxParser.html
index 14292da861..951401d9b8 100644
--- a/docs/db/dcb/classshaka_1_1media_1_1VPxParser.html
+++ b/docs/db/dcb/classshaka_1_1media_1_1VPxParser.html
@@ -205,7 +205,7 @@ Protected Member Functions
diff --git a/docs/db/dcc/classshaka_1_1media_1_1webm_1_1Encryptor-members.html b/docs/db/dcc/classshaka_1_1media_1_1webm_1_1Encryptor-members.html
index 5873bd250a..4755af232e 100644
--- a/docs/db/dcc/classshaka_1_1media_1_1webm_1_1Encryptor-members.html
+++ b/docs/db/dcc/classshaka_1_1media_1_1webm_1_1Encryptor-members.html
@@ -96,12 +96,12 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
AddTrackInfo(mkvmuxer::Track *track) | shaka::media::webm::Encryptor | |
EncryptFrame(scoped_refptr< MediaSample > sample, bool encrypt_frame) | shaka::media::webm::Encryptor | |
Encryptor() (defined in shaka::media::webm::Encryptor) | shaka::media::webm::Encryptor | |
- Initialize(MuxerListener *muxer_listener, KeySource::TrackType track_type, KeySource *key_source) | shaka::media::webm::Encryptor | |
+ Initialize(MuxerListener *muxer_listener, KeySource::TrackType track_type, Codec codec, KeySource *key_source, bool webm_subsample_encryption) | shaka::media::webm::Encryptor | |
~Encryptor() (defined in shaka::media::webm::Encryptor) | shaka::media::webm::Encryptor | |
diff --git a/docs/db/dcd/classshaka_1_1MpdWriter.html b/docs/db/dcd/classshaka_1_1MpdWriter.html
index 91e0e6fca1..30bb78f741 100644
--- a/docs/db/dcd/classshaka_1_1MpdWriter.html
+++ b/docs/db/dcd/classshaka_1_1MpdWriter.html
@@ -123,7 +123,7 @@ class MpdWriterTest
diff --git a/docs/db/dcd/structshaka_1_1media_1_1mp4_1_1DTSSpecific-members.html b/docs/db/dcd/structshaka_1_1media_1_1mp4_1_1DTSSpecific-members.html
index d28d064036..3263f2e097 100644
--- a/docs/db/dcd/structshaka_1_1media_1_1mp4_1_1DTSSpecific-members.html
+++ b/docs/db/dcd/structshaka_1_1media_1_1mp4_1_1DTSSpecific-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html b/docs/db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html
index f858fdb4f2..378f757453 100644
--- a/docs/db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html
+++ b/docs/db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html
@@ -531,7 +531,7 @@ Additional Inherited Members |
diff --git a/docs/db/dd2/chunk__info__iterator_8h_source.html b/docs/db/dd2/chunk__info__iterator_8h_source.html
index ce326685af..51625a0298 100644
--- a/docs/db/dd2/chunk__info__iterator_8h_source.html
+++ b/docs/db/dd2/chunk__info__iterator_8h_source.html
@@ -161,7 +161,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/dd9/sync__sample__iterator_8h_source.html b/docs/db/dd9/sync__sample__iterator_8h_source.html
index 364298ee5a..e324c152d7 100644
--- a/docs/db/dd9/sync__sample__iterator_8h_source.html
+++ b/docs/db/dd9/sync__sample__iterator_8h_source.html
@@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/dde/h265__parser_8cc_source.html b/docs/db/dde/h265__parser_8cc_source.html
index 0756acfd9a..2e09348c46 100644
--- a/docs/db/dde/h265__parser_8cc_source.html
+++ b/docs/db/dde/h265__parser_8cc_source.html
@@ -1221,7 +1221,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/dec/audio__timestamp__helper_8cc_source.html b/docs/db/dec/audio__timestamp__helper_8cc_source.html
index a84a7360f2..c568e5d2e9 100644
--- a/docs/db/dec/audio__timestamp__helper_8cc_source.html
+++ b/docs/db/dec/audio__timestamp__helper_8cc_source.html
@@ -165,7 +165,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/dee/pes__packet_8cc_source.html b/docs/db/dee/pes__packet_8cc_source.html
index b96359744e..ff1347dc2d 100644
--- a/docs/db/dee/pes__packet_8cc_source.html
+++ b/docs/db/dee/pes__packet_8cc_source.html
@@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/df2/structshaka_1_1media_1_1H265SliceHeader-members.html b/docs/db/df2/structshaka_1_1media_1_1H265SliceHeader-members.html
index 3e257ba37f..5290a5f229 100644
--- a/docs/db/df2/structshaka_1_1media_1_1H265SliceHeader-members.html
+++ b/docs/db/df2/structshaka_1_1media_1_1H265SliceHeader-members.html
@@ -139,7 +139,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/df6/classshaka_1_1media_1_1Cluster-members.html b/docs/db/df6/classshaka_1_1media_1_1Cluster-members.html
index 1b963f3728..5cead28292 100644
--- a/docs/db/df6/classshaka_1_1media_1_1Cluster-members.html
+++ b/docs/db/df6/classshaka_1_1media_1_1Cluster-members.html
@@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/df6/muxer_8h_source.html b/docs/db/df6/muxer_8h_source.html
index 5757b8bb89..ebd7ccf5cb 100644
--- a/docs/db/df6/muxer_8h_source.html
+++ b/docs/db/df6/muxer_8h_source.html
@@ -212,7 +212,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html b/docs/db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html
index 71c1b516ec..3b98d3a591 100644
--- a/docs/db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html
+++ b/docs/db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html
@@ -171,7 +171,7 @@ static const size_t kUnitS
diff --git a/docs/db/dfb/mpd__utils_8cc_source.html b/docs/db/dfb/mpd__utils_8cc_source.html
index ebb02dfd69..8b53b61752 100644
--- a/docs/db/dfb/mpd__utils_8cc_source.html
+++ b/docs/db/dfb/mpd__utils_8cc_source.html
@@ -444,7 +444,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/dfc/mpd__notify__muxer__listener_8cc_source.html b/docs/db/dfc/mpd__notify__muxer__listener_8cc_source.html
index 2f7960ba3b..879762c09c 100644
--- a/docs/db/dfc/mpd__notify__muxer__listener_8cc_source.html
+++ b/docs/db/dfc/mpd__notify__muxer__listener_8cc_source.html
@@ -256,7 +256,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
virtual bool NotifyNewSegment(uint32_t container_id, uint64_t start_time, uint64_t duration, uint64_t size)=0
virtual bool NotifySampleDuration(uint32_t container_id, uint32_t sample_duration)=0
@@ -274,7 +274,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/dff/structshaka_1_1media_1_1mp4_1_1ChunkInfo-members.html b/docs/db/dff/structshaka_1_1media_1_1mp4_1_1ChunkInfo-members.html
index feeb3f3465..5d0b2086fb 100644
--- a/docs/db/dff/structshaka_1_1media_1_1mp4_1_1ChunkInfo-members.html
+++ b/docs/db/dff/structshaka_1_1media_1_1mp4_1_1ChunkInfo-members.html
@@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/d02/classshaka_1_1media_1_1IoCache-members.html b/docs/dc/d02/classshaka_1_1media_1_1IoCache-members.html
index ffd10e3b18..4fae849c07 100644
--- a/docs/dc/d02/classshaka_1_1media_1_1IoCache-members.html
+++ b/docs/dc/d02/classshaka_1_1media_1_1IoCache-members.html
@@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/d03/classshaka_1_1media_1_1mp2t_1_1ProgramMapTableWriter.html b/docs/dc/d03/classshaka_1_1media_1_1mp2t_1_1ProgramMapTableWriter.html
index e6f229f5e3..6cc4c29a85 100644
--- a/docs/dc/d03/classshaka_1_1media_1_1mp2t_1_1ProgramMapTableWriter.html
+++ b/docs/dc/d03/classshaka_1_1media_1_1mp2t_1_1ProgramMapTableWriter.html
@@ -138,7 +138,7 @@ static const uint8_t | kElem
diff --git a/docs/dc/d06/classshaka_1_1media_1_1StreamInfo-members.html b/docs/dc/d06/classshaka_1_1media_1_1StreamInfo-members.html
index 35628fbf6f..0d6ce65b9e 100644
--- a/docs/dc/d06/classshaka_1_1media_1_1StreamInfo-members.html
+++ b/docs/dc/d06/classshaka_1_1media_1_1StreamInfo-members.html
@@ -94,18 +94,20 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
This is the complete list of members for shaka::media::StreamInfo, including all inherited members.
base::RefCountedThreadSafe< StreamInfo > (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | friend |
- codec_config() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
- codec_string() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
- duration() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
- is_encrypted() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
- IsValidConfig() const =0 | shaka::media::StreamInfo | pure virtual |
- language() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
+ codec() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
+ codec_config() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
+ codec_string() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
+ duration() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
+ is_encrypted() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
+ IsValidConfig() const =0 | shaka::media::StreamInfo | pure virtual |
+ language() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
+ set_codec(Codec codec) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
set_codec_config(const std::vector< uint8_t > &data) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
set_codec_string(const std::string &codec_string) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
set_duration(int duration) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
set_language(const std::string &language) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
stream_type() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
- StreamInfo(StreamType stream_type, int track_id, uint32_t time_scale, uint64_t duration, const std::string &codec_string, const std::string &language, const uint8_t *codec_config, size_t codec_config_size, bool is_encrypted) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | |
+ StreamInfo(StreamType stream_type, int track_id, uint32_t time_scale, uint64_t duration, Codec codec, const std::string &codec_string, const uint8_t *codec_config, size_t codec_config_size, const std::string &language, bool is_encrypted) (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | |
time_scale() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
ToString() const | shaka::media::StreamInfo | virtual |
track_id() const (defined in shaka::media::StreamInfo) | shaka::media::StreamInfo | inline |
@@ -113,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/d0b/classshaka_1_1media_1_1ESDescriptor-members.html b/docs/dc/d0b/classshaka_1_1media_1_1ESDescriptor-members.html
index a6a68bfe50..794c94b6e3 100644
--- a/docs/dc/d0b/classshaka_1_1media_1_1ESDescriptor-members.html
+++ b/docs/dc/d0b/classshaka_1_1media_1_1ESDescriptor-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/d16/classshaka_1_1media_1_1SeekHead.html b/docs/dc/d16/classshaka_1_1media_1_1SeekHead.html
index e09329da12..4c9103aa8e 100644
--- a/docs/dc/d16/classshaka_1_1media_1_1SeekHead.html
+++ b/docs/dc/d16/classshaka_1_1media_1_1SeekHead.html
@@ -148,7 +148,7 @@ void | set_tracks_pos (u
diff --git a/docs/dc/d18/classshaka_1_1media_1_1wvm_1_1WvmMediaParser.html b/docs/dc/d18/classshaka_1_1media_1_1wvm_1_1WvmMediaParser.html
index dd59b44159..c2a143ef6f 100644
--- a/docs/dc/d18/classshaka_1_1media_1_1wvm_1_1WvmMediaParser.html
+++ b/docs/dc/d18/classshaka_1_1media_1_1wvm_1_1WvmMediaParser.html
@@ -256,7 +256,7 @@ track_id, const scoped_refptr
diff --git a/docs/dc/d18/structshaka_1_1media_1_1mp4_1_1ProtectionSchemeInfo-members.html b/docs/dc/d18/structshaka_1_1media_1_1mp4_1_1ProtectionSchemeInfo-members.html
index d98d6cba48..8c302d99c7 100644
--- a/docs/dc/d18/structshaka_1_1media_1_1mp4_1_1ProtectionSchemeInfo-members.html
+++ b/docs/dc/d18/structshaka_1_1media_1_1mp4_1_1ProtectionSchemeInfo-members.html
@@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/d19/box_8h_source.html b/docs/dc/d19/box_8h_source.html
index b0d2fbf8ff..95a080ff60 100644
--- a/docs/dc/d19/box_8h_source.html
+++ b/docs/dc/d19/box_8h_source.html
@@ -184,7 +184,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/d22/dash__iop__mpd__notifier_8cc_source.html b/docs/dc/d22/dash__iop__mpd__notifier_8cc_source.html
index cc00142d3c..a7dee6ea5a 100644
--- a/docs/dc/d22/dash__iop__mpd__notifier_8cc_source.html
+++ b/docs/dc/d22/dash__iop__mpd__notifier_8cc_source.html
@@ -394,7 +394,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/d3b/fixed__key__encryption__flags_8cc_source.html b/docs/dc/d3b/fixed__key__encryption__flags_8cc_source.html
index 3034fbfb7a..ed4bd940b2 100644
--- a/docs/dc/d3b/fixed__key__encryption__flags_8cc_source.html
+++ b/docs/dc/d3b/fixed__key__encryption__flags_8cc_source.html
@@ -166,7 +166,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/d3c/webm__cluster__parser_8h_source.html b/docs/dc/d3c/webm__cluster__parser_8h_source.html
index 03b662ee96..4cdb4d09d7 100644
--- a/docs/dc/d3c/webm__cluster__parser_8h_source.html
+++ b/docs/dc/d3c/webm__cluster__parser_8h_source.html
@@ -287,18 +287,18 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
-
+
+
-
+
-
+
diff --git a/docs/dc/d3f/key__source_8h_source.html b/docs/dc/d3f/key__source_8h_source.html
index 0229eba9a9..705fe11046 100644
--- a/docs/dc/d3f/key__source_8h_source.html
+++ b/docs/dc/d3f/key__source_8h_source.html
@@ -169,7 +169,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/d40/classshaka_1_1xml_1_1XmlNode-members.html b/docs/dc/d40/classshaka_1_1xml_1_1XmlNode-members.html
index 3c101a74ac..40726747dc 100644
--- a/docs/dc/d40/classshaka_1_1xml_1_1XmlNode-members.html
+++ b/docs/dc/d40/classshaka_1_1xml_1_1XmlNode-members.html
@@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/d41/classshaka_1_1media_1_1BufferWriter.html b/docs/dc/d41/classshaka_1_1media_1_1BufferWriter.html
index 6ea0ef31ee..a9dd868e4e 100644
--- a/docs/dc/d41/classshaka_1_1media_1_1BufferWriter.html
+++ b/docs/dc/d41/classshaka_1_1media_1_1BufferWriter.html
@@ -301,7 +301,7 @@ void | AppendInt (int64_
diff --git a/docs/dc/d4a/structshaka_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader-members.html b/docs/dc/d4a/structshaka_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader-members.html
index ee0c6ffcba..48b36f29bd 100644
--- a/docs/dc/d4a/structshaka_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader-members.html
+++ b/docs/dc/d4a/structshaka_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/d4f/structshaka_1_1media_1_1mp4_1_1TrackHeader-members.html b/docs/dc/d4f/structshaka_1_1media_1_1mp4_1_1TrackHeader-members.html
index 04e15cb868..3edc418bba 100644
--- a/docs/dc/d4f/structshaka_1_1media_1_1mp4_1_1TrackHeader-members.html
+++ b/docs/dc/d4f/structshaka_1_1media_1_1mp4_1_1TrackHeader-members.html
@@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/d51/h265__byte__to__unit__stream__converter_8cc_source.html b/docs/dc/d51/h265__byte__to__unit__stream__converter_8cc_source.html
index 4c026fb109..d09dc67880 100644
--- a/docs/dc/d51/h265__byte__to__unit__stream__converter_8cc_source.html
+++ b/docs/dc/d51/h265__byte__to__unit__stream__converter_8cc_source.html
@@ -226,7 +226,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/d52/decoding__time__iterator_8h_source.html b/docs/dc/d52/decoding__time__iterator_8h_source.html
index 1873960237..c6d8641e9d 100644
--- a/docs/dc/d52/decoding__time__iterator_8h_source.html
+++ b/docs/dc/d52/decoding__time__iterator_8h_source.html
@@ -147,7 +147,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/d53/webm_2segmenter_8cc_source.html b/docs/dc/d53/webm_2segmenter_8cc_source.html
index beb04ebb27..530bb6879f 100644
--- a/docs/dc/d53/webm_2segmenter_8cc_source.html
+++ b/docs/dc/d53/webm_2segmenter_8cc_source.html
@@ -168,362 +168,364 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
81 if (encryption_key_source) {
- 82 status = InitializeEncryptor(encryption_key_source, max_sd_pixels);
-
-
-
-
-
- 88 switch (info_->stream_type()) {
-
- 90 status = CreateVideoTrack(static_cast<VideoStreamInfo*>(info_));
-
-
- 93 status = CreateAudioTrack(static_cast<AudioStreamInfo*>(info_));
-
-
- 96 NOTIMPLEMENTED() << "Not implemented for stream type: "
- 97 << info_->stream_type();
- 98 status = Status(error::UNIMPLEMENTED, "Not implemented for stream type");
-
-
-
-
- 103 return DoInitialize(writer.Pass());
-
-
-
- 107 Status status = WriteFrame( true );
-
-
-
-
- 112 prev_sample_->pts() - first_timestamp_ + prev_sample_->duration();
- 113 segment_info_.set_duration(FromBMFFTimescale(duration));
-
-
-
-
- 118 if (sample_duration_ == 0) {
- 119 first_timestamp_ = sample->pts();
- 120 sample_duration_ = sample->duration();
-
-
-
-
-
-
-
-
-
-
-
-
-
- 134 bool wrote_frame = false;
-
- 136 status = NewSegment(sample->pts());
-
-
-
-
- 141 status = WriteFrame( true );
- 142 status.Update(NewSegment(sample->pts()));
- 143 segment_length_sec_ = 0;
- 144 cluster_length_sec_ = 0;
-
-
-
-
- 149 status = WriteFrame( true );
- 150 status.Update(NewSubsegment(sample->pts()));
- 151 cluster_length_sec_ = 0;
-
-
-
-
- 156 status = WriteFrame( false );
-
-
-
-
-
-
- 163 const bool encrypt_frame =
- 164 static_cast<double>(sample->pts() - first_timestamp_) /
- 165 info_->time_scale() >=
-
- 167 status = encryptor_->EncryptFrame(sample, encrypt_frame);
-
- 169 LOG(ERROR) << "Error encrypting frame.";
-
-
- 172 if (encrypt_frame && muxer_listener_)
-
-
-
+ 82 status = InitializeEncryptor(encryption_key_source,
+
+
+
+
+
+
+ 89 switch (info_->stream_type()) {
+
+ 91 status = CreateVideoTrack(static_cast<VideoStreamInfo*>(info_));
+
+
+ 94 status = CreateAudioTrack(static_cast<AudioStreamInfo*>(info_));
+
+
+ 97 NOTIMPLEMENTED() << "Not implemented for stream type: "
+ 98 << info_->stream_type();
+ 99 status = Status(error::UNIMPLEMENTED, "Not implemented for stream type");
+
+
+
+
+ 104 return DoInitialize(writer.Pass());
+
+
+
+ 108 Status status = WriteFrame( true );
+
+
+
+
+ 113 prev_sample_->pts() - first_timestamp_ + prev_sample_->duration();
+ 114 segment_info_.set_duration(FromBMFFTimescale(duration));
+
+
+
+
+ 119 if (sample_duration_ == 0) {
+ 120 first_timestamp_ = sample->pts();
+ 121 sample_duration_ = sample->duration();
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 135 bool wrote_frame = false;
+
+ 137 status = NewSegment(sample->pts());
+
+
+
+
+ 142 status = WriteFrame( true );
+ 143 status.Update(NewSegment(sample->pts()));
+ 144 segment_length_sec_ = 0;
+ 145 cluster_length_sec_ = 0;
+
+
+
+
+ 150 status = WriteFrame( true );
+ 151 status.Update(NewSubsegment(sample->pts()));
+ 152 cluster_length_sec_ = 0;
+
+
+
+
+ 157 status = WriteFrame( false );
+
+
+
+
+
+
+ 164 const bool encrypt_frame =
+ 165 static_cast<double>(sample->pts() - first_timestamp_) /
+ 166 info_->time_scale() >=
+
+ 168 status = encryptor_->EncryptFrame(sample, encrypt_frame);
+
+ 170 LOG(ERROR) << "Error encrypting frame.";
+
+
+ 173 if (encrypt_frame && muxer_listener_)
+
+
-
-
-
- 180 const double duration_sec =
- 181 static_cast<double>(sample->duration()) / info_->time_scale();
- 182 cluster_length_sec_ += duration_sec;
- 183 segment_length_sec_ += duration_sec;
-
- 185 prev_sample_ = sample;
-
-
-
-
- 190 return static_cast<float>(segment_info_.duration()) *
- 191 segment_info_.timecode_scale() / kSecondsToNs;
-
-
- 194 uint64_t Segmenter::FromBMFFTimescale(uint64_t time_timescale) {
-
- 196 const int64_t time_ns =
- 197 kSecondsToNs * time_timescale / info_->time_scale();
- 198 return time_ns / segment_info_.timecode_scale();
-
-
- 201 uint64_t Segmenter::FromWebMTimecode(uint64_t time_webm_timecode) {
-
- 203 const int64_t time_ns = time_webm_timecode * segment_info_.timecode_scale();
- 204 return time_ns * info_->time_scale() / kSecondsToNs;
-
-
-
- 208 Status error_status(error::FILE_FAILURE, "Error writing segment header.");
-
- 210 if (!WriteEbmlHeader(writer))
-
-
- 213 if (WriteID(writer, mkvmuxer::kMkvSegment) != 0)
-
-
- 216 const uint64_t segment_size_size = 8;
- 217 segment_payload_pos_ = writer-> Position() + segment_size_size;
-
-
- 220 if (WriteUIntSize(writer, file_size - segment_payload_pos_,
- 221 segment_size_size) != 0)
-
- 223 if (!seek_head_.Write(writer))
-
-
- 226 if (SerializeInt(writer, mkvmuxer::kEbmlUnknownValue, segment_size_size) !=
-
-
-
- 230 if (!seek_head_.WriteVoid(writer))
-
-
-
- 234 seek_head_.set_info_pos(writer-> Position() - segment_payload_pos_);
- 235 if (!segment_info_.Write(writer))
-
-
- 238 seek_head_.set_tracks_pos(writer-> Position() - segment_payload_pos_);
- 239 if (!tracks_.Write(writer))
-
-
-
-
-
- 245 Status Segmenter::SetCluster(uint64_t start_webm_timecode,
-
-
- 248 const uint64_t scale = segment_info_.timecode_scale();
- 249 cluster_.reset( new mkvmuxer::Cluster(start_webm_timecode, position, scale));
- 250 cluster_->Init(writer);
-
-
-
-
- 255 accumulated_progress_ += progress;
- 256 if (!progress_listener_ || progress_target_ == 0)
-
-
-
-
- 261 if (accumulated_progress_ >= progress_target_) {
-
-
- 264 progress_listener_-> OnProgress(static_cast<double>(accumulated_progress_) /
-
-
-
-
-
-
- 271 unsigned int seed = 0;
- 272 mkvmuxer::VideoTrack* track = new mkvmuxer::VideoTrack(&seed);
-
- 274 return Status(error::INTERNAL_ERROR, "Failed to create video track.");
-
- 276 if (info->codec() == kCodecVP8) {
- 277 track->set_codec_id(mkvmuxer::Tracks::kVp8CodecId);
- 278 } else if (info->codec() == kCodecVP9) {
- 279 track->set_codec_id(mkvmuxer::Tracks::kVp9CodecId);
-
-
-
-
- 284 if (!vp_config. ParseMP4(info->codec_config())) {
- 285 return Status(error::INTERNAL_ERROR,
- 286 "Unable to parse VP9 codec configuration");
-
-
- 289 std::vector<uint8_t> codec_config;
-
- 291 if (!track->SetCodecPrivate(codec_config.data(), codec_config.size())) {
- 292 return Status(error::INTERNAL_ERROR,
- 293 "Private codec data required for VP9 streams");
-
-
- 296 LOG(ERROR) << "Only VP8 and VP9 video codecs are supported.";
- 297 return Status(error::UNIMPLEMENTED,
- 298 "Only VP8 and VP9 video codecs are supported.");
-
-
- 301 track->set_uid(info->track_id());
- 302 if (!info->language().empty())
- 303 track->set_language(info->language().c_str());
- 304 track->set_type(mkvmuxer::Tracks::kVideo);
- 305 track->set_width(info->width());
- 306 track->set_height(info->height());
- 307 track->set_display_height(info->height());
- 308 track->set_display_width(info->width() * info-> pixel_width() /
-
-
-
- 312 encryptor_->AddTrackInfo(track);
-
- 314 tracks_.AddTrack(track, info->track_id());
- 315 track_id_ = track->number();
-
-
-
- 319 Status Segmenter::CreateAudioTrack(AudioStreamInfo* info) {
-
- 321 unsigned int seed = 0;
- 322 mkvmuxer::AudioTrack* track = new mkvmuxer::AudioTrack(&seed);
-
- 324 return Status(error::INTERNAL_ERROR, "Failed to create audio track.");
-
- 326 if (info->codec() == kCodecOpus) {
- 327 track->set_codec_id(mkvmuxer::Tracks::kOpusCodecId);
- 328 } else if (info->codec() == kCodecVorbis) {
- 329 track->set_codec_id(mkvmuxer::Tracks::kVorbisCodecId);
-
- 331 LOG(ERROR) << "Only Vorbis and Opus audio codec is supported.";
- 332 return Status(error::UNIMPLEMENTED,
- 333 "Only Vorbis and Opus audio codecs are supported.");
-
- 335 if (!track->SetCodecPrivate(info->codec_config().data(),
- 336 info->codec_config().size())) {
- 337 return Status(error::INTERNAL_ERROR,
- 338 "Private codec data required for audio streams");
-
-
- 341 track->set_uid(info->track_id());
- 342 if (!info->language().empty())
- 343 track->set_language(info->language().c_str());
- 344 track->set_type(mkvmuxer::Tracks::kAudio);
- 345 track->set_sample_rate(info->sampling_frequency());
- 346 track->set_channels(info->num_channels());
- 347 track->set_seek_pre_roll(info->seek_preroll_ns());
- 348 track->set_codec_delay(info->codec_delay_ns());
-
-
- 351 encryptor_->AddTrackInfo(track);
-
- 353 tracks_.AddTrack(track, info->track_id());
- 354 track_id_ = track->number();
-
-
-
- 358 Status Segmenter::InitializeEncryptor(KeySource* key_source,
- 359 uint32_t max_sd_pixels) {
- 360 encryptor_.reset( new Encryptor());
- 361 const KeySource::TrackType track_type =
- 362 GetTrackTypeForEncryption(*info_, max_sd_pixels);
- 363 if (track_type == KeySource::TrackType::TRACK_TYPE_UNKNOWN)
-
- 365 return encryptor_->Initialize(muxer_listener_, track_type, key_source);
-
-
- 368 Status Segmenter::WriteFrame( bool write_duration) {
-
-
-
- 372 mkvmuxer::Frame frame;
-
- 374 if (!frame.Init(prev_sample_->data(), prev_sample_->data_size())) {
- 375 return Status(error::MUXER_FAILURE,
- 376 "Error adding sample to segment: Frame::Init failed");
-
-
- 379 if (write_duration) {
- 380 const uint64_t duration_ns =
- 381 prev_sample_->duration() * kSecondsToNs / info_->time_scale();
- 382 frame.set_duration(duration_ns);
-
- 384 frame.set_is_key(prev_sample_->is_key_frame());
- 385 frame.set_timestamp(prev_sample_->pts() * kSecondsToNs / info_->time_scale());
- 386 frame.set_track_number(track_id_);
-
- 388 if (prev_sample_->side_data_size() > 0) {
- 389 uint64_t block_add_id;
-
-
- 392 CHECK_GT(prev_sample_->side_data_size(), sizeof(block_add_id));
- 393 memcpy(&block_add_id, prev_sample_->side_data(), sizeof(block_add_id));
- 394 if (!frame.AddAdditionalData(
- 395 prev_sample_->side_data() + sizeof(block_add_id),
- 396 prev_sample_->side_data_size() - sizeof(block_add_id),
-
-
- 399 error::MUXER_FAILURE,
- 400 "Error adding sample to segment: Frame::AddAditionalData Failed");
-
-
-
- 404 if (!prev_sample_->is_key_frame() && !frame.CanBeSimpleBlock()) {
- 405 const int64_t timestamp_ns =
- 406 reference_frame_timestamp_ * kSecondsToNs / info_->time_scale();
- 407 frame.set_reference_block_timestamp(timestamp_ns);
-
-
-
-
- 412 if (cluster_->GetRelativeTimecode(frame.timestamp() /
- 413 cluster_->timecode_scale()) < 0) {
- 414 const double segment_duration =
- 415 static_cast<double>(frame.timestamp()) / kSecondsToNs;
- 416 LOG(ERROR) << "Error adding sample to segment: segment too large, "
- 417 << segment_duration << " seconds.";
- 418 return Status(error::MUXER_FAILURE,
- 419 "Error adding sample to segment: segment too large");
-
-
- 422 if (!cluster_->AddFrame(&frame)) {
- 423 return Status(error::MUXER_FAILURE,
- 424 "Error adding sample to segment: Cluster::AddFrame failed");
-
-
-
-
-
- 430 reference_frame_timestamp_ = prev_sample_->pts();
-
-
-
-
-
-
-
+
+
+
+
+ 181 const double duration_sec =
+ 182 static_cast<double>(sample->duration()) / info_->time_scale();
+ 183 cluster_length_sec_ += duration_sec;
+ 184 segment_length_sec_ += duration_sec;
+
+ 186 prev_sample_ = sample;
+
+
+
+
+ 191 return static_cast<float>(segment_info_.duration()) *
+ 192 segment_info_.timecode_scale() / kSecondsToNs;
+
+
+ 195 uint64_t Segmenter::FromBMFFTimescale(uint64_t time_timescale) {
+
+ 197 const int64_t time_ns =
+ 198 kSecondsToNs * time_timescale / info_->time_scale();
+ 199 return time_ns / segment_info_.timecode_scale();
+
+
+ 202 uint64_t Segmenter::FromWebMTimecode(uint64_t time_webm_timecode) {
+
+ 204 const int64_t time_ns = time_webm_timecode * segment_info_.timecode_scale();
+ 205 return time_ns * info_->time_scale() / kSecondsToNs;
+
+
+
+ 209 Status error_status(error::FILE_FAILURE, "Error writing segment header.");
+
+ 211 if (!WriteEbmlHeader(writer))
+
+
+ 214 if (WriteID(writer, mkvmuxer::kMkvSegment) != 0)
+
+
+ 217 const uint64_t segment_size_size = 8;
+ 218 segment_payload_pos_ = writer-> Position() + segment_size_size;
+
+
+ 221 if (WriteUIntSize(writer, file_size - segment_payload_pos_,
+ 222 segment_size_size) != 0)
+
+ 224 if (!seek_head_.Write(writer))
+
+
+ 227 if (SerializeInt(writer, mkvmuxer::kEbmlUnknownValue, segment_size_size) !=
+
+
+
+ 231 if (!seek_head_.WriteVoid(writer))
+
+
+
+ 235 seek_head_.set_info_pos(writer-> Position() - segment_payload_pos_);
+ 236 if (!segment_info_.Write(writer))
+
+
+ 239 seek_head_.set_tracks_pos(writer-> Position() - segment_payload_pos_);
+ 240 if (!tracks_.Write(writer))
+
+
+
+
+
+ 246 Status Segmenter::SetCluster(uint64_t start_webm_timecode,
+
+
+ 249 const uint64_t scale = segment_info_.timecode_scale();
+ 250 cluster_.reset( new mkvmuxer::Cluster(start_webm_timecode, position, scale));
+ 251 cluster_->Init(writer);
+
+
+
+
+ 256 accumulated_progress_ += progress;
+ 257 if (!progress_listener_ || progress_target_ == 0)
+
+
+
+
+ 262 if (accumulated_progress_ >= progress_target_) {
+
+
+ 265 progress_listener_-> OnProgress(static_cast<double>(accumulated_progress_) /
+
+
+
+
+
+
+ 272 unsigned int seed = 0;
+ 273 mkvmuxer::VideoTrack* track = new mkvmuxer::VideoTrack(&seed);
+
+ 275 return Status(error::INTERNAL_ERROR, "Failed to create video track.");
+
+ 277 if (info->codec() == kCodecVP8) {
+ 278 track->set_codec_id(mkvmuxer::Tracks::kVp8CodecId);
+ 279 } else if (info->codec() == kCodecVP9) {
+ 280 track->set_codec_id(mkvmuxer::Tracks::kVp9CodecId);
+
+
+
+
+ 285 if (!vp_config. ParseMP4(info->codec_config())) {
+ 286 return Status(error::INTERNAL_ERROR,
+ 287 "Unable to parse VP9 codec configuration");
+
+
+ 290 std::vector<uint8_t> codec_config;
+
+ 292 if (!track->SetCodecPrivate(codec_config.data(), codec_config.size())) {
+ 293 return Status(error::INTERNAL_ERROR,
+ 294 "Private codec data required for VP9 streams");
+
+
+ 297 LOG(ERROR) << "Only VP8 and VP9 video codecs are supported.";
+ 298 return Status(error::UNIMPLEMENTED,
+ 299 "Only VP8 and VP9 video codecs are supported.");
+
+
+ 302 track->set_uid(info->track_id());
+ 303 if (!info->language().empty())
+ 304 track->set_language(info->language().c_str());
+ 305 track->set_type(mkvmuxer::Tracks::kVideo);
+ 306 track->set_width(info->width());
+ 307 track->set_height(info->height());
+ 308 track->set_display_height(info->height());
+ 309 track->set_display_width(info->width() * info-> pixel_width() /
+
+
+
+ 313 encryptor_->AddTrackInfo(track);
+
+ 315 tracks_.AddTrack(track, info->track_id());
+ 316 track_id_ = track->number();
+
+
+
+ 320 Status Segmenter::CreateAudioTrack(AudioStreamInfo* info) {
+
+ 322 unsigned int seed = 0;
+ 323 mkvmuxer::AudioTrack* track = new mkvmuxer::AudioTrack(&seed);
+
+ 325 return Status(error::INTERNAL_ERROR, "Failed to create audio track.");
+
+ 327 if (info->codec() == kCodecOpus) {
+ 328 track->set_codec_id(mkvmuxer::Tracks::kOpusCodecId);
+ 329 } else if (info->codec() == kCodecVorbis) {
+ 330 track->set_codec_id(mkvmuxer::Tracks::kVorbisCodecId);
+
+ 332 LOG(ERROR) << "Only Vorbis and Opus audio codec is supported.";
+ 333 return Status(error::UNIMPLEMENTED,
+ 334 "Only Vorbis and Opus audio codecs are supported.");
+
+ 336 if (!track->SetCodecPrivate(info->codec_config().data(),
+ 337 info->codec_config().size())) {
+ 338 return Status(error::INTERNAL_ERROR,
+ 339 "Private codec data required for audio streams");
+
+
+ 342 track->set_uid(info->track_id());
+ 343 if (!info->language().empty())
+ 344 track->set_language(info->language().c_str());
+ 345 track->set_type(mkvmuxer::Tracks::kAudio);
+ 346 track->set_sample_rate(info->sampling_frequency());
+ 347 track->set_channels(info->num_channels());
+ 348 track->set_seek_pre_roll(info->seek_preroll_ns());
+ 349 track->set_codec_delay(info->codec_delay_ns());
+
+
+ 352 encryptor_->AddTrackInfo(track);
+
+ 354 tracks_.AddTrack(track, info->track_id());
+ 355 track_id_ = track->number();
+
+
+
+ 359 Status Segmenter::InitializeEncryptor(KeySource* key_source,
+ 360 uint32_t max_sd_pixels) {
+ 361 encryptor_.reset( new Encryptor());
+ 362 const KeySource::TrackType track_type =
+ 363 GetTrackTypeForEncryption(*info_, max_sd_pixels);
+ 364 if (track_type == KeySource::TrackType::TRACK_TYPE_UNKNOWN)
+
+ 366 return encryptor_->Initialize(muxer_listener_, track_type, info_->codec(),
+ 367 key_source, options_.webm_subsample_encryption);
+
+
+ 370 Status Segmenter::WriteFrame( bool write_duration) {
+
+
+
+ 374 mkvmuxer::Frame frame;
+
+ 376 if (!frame.Init(prev_sample_->data(), prev_sample_->data_size())) {
+ 377 return Status(error::MUXER_FAILURE,
+ 378 "Error adding sample to segment: Frame::Init failed");
+
+
+ 381 if (write_duration) {
+ 382 const uint64_t duration_ns =
+ 383 prev_sample_->duration() * kSecondsToNs / info_->time_scale();
+ 384 frame.set_duration(duration_ns);
+
+ 386 frame.set_is_key(prev_sample_->is_key_frame());
+ 387 frame.set_timestamp(prev_sample_->pts() * kSecondsToNs / info_->time_scale());
+ 388 frame.set_track_number(track_id_);
+
+ 390 if (prev_sample_->side_data_size() > 0) {
+ 391 uint64_t block_add_id;
+
+
+ 394 CHECK_GT(prev_sample_->side_data_size(), sizeof(block_add_id));
+ 395 memcpy(&block_add_id, prev_sample_->side_data(), sizeof(block_add_id));
+ 396 if (!frame.AddAdditionalData(
+ 397 prev_sample_->side_data() + sizeof(block_add_id),
+ 398 prev_sample_->side_data_size() - sizeof(block_add_id),
+
+
+ 401 error::MUXER_FAILURE,
+ 402 "Error adding sample to segment: Frame::AddAditionalData Failed");
+
+
+
+ 406 if (!prev_sample_->is_key_frame() && !frame.CanBeSimpleBlock()) {
+ 407 const int64_t timestamp_ns =
+ 408 reference_frame_timestamp_ * kSecondsToNs / info_->time_scale();
+ 409 frame.set_reference_block_timestamp(timestamp_ns);
+
+
+
+
+ 414 if (cluster_->GetRelativeTimecode(frame.timestamp() /
+ 415 cluster_->timecode_scale()) < 0) {
+ 416 const double segment_duration =
+ 417 static_cast<double>(frame.timestamp()) / kSecondsToNs;
+ 418 LOG(ERROR) << "Error adding sample to segment: segment too large, "
+ 419 << segment_duration << " seconds.";
+ 420 return Status(error::MUXER_FAILURE,
+ 421 "Error adding sample to segment: segment too large");
+
+
+ 424 if (!cluster_->AddFrame(&frame)) {
+ 425 return Status(error::MUXER_FAILURE,
+ 426 "Error adding sample to segment: Cluster::AddFrame failed");
+
+
+
+
+
+ 432 reference_frame_timestamp_ = prev_sample_->pts();
+
+
+
+
+
+
+
@@ -532,7 +534,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
@@ -541,17 +543,17 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
-
+
diff --git a/docs/dc/d54/structshaka_1_1media_1_1H264DecRefPicMarking.html b/docs/dc/d54/structshaka_1_1media_1_1H264DecRefPicMarking.html
index 636b60e451..2e3f4ed524 100644
--- a/docs/dc/d54/structshaka_1_1media_1_1H264DecRefPicMarking.html
+++ b/docs/dc/d54/structshaka_1_1media_1_1H264DecRefPicMarking.html
@@ -121,7 +121,7 @@ int | max_long_term_frame_id
diff --git a/docs/dc/d58/webm__media__parser_8h_source.html b/docs/dc/d58/webm__media__parser_8h_source.html
index fcb3a25c7d..4a570795fc 100644
--- a/docs/dc/d58/webm__media__parser_8h_source.html
+++ b/docs/dc/d58/webm__media__parser_8h_source.html
@@ -179,7 +179,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/d5c/classshaka_1_1MockMpdNotifier.html b/docs/dc/d5c/classshaka_1_1MockMpdNotifier.html
index 8bd4a284b6..e2f1ce1ef4 100644
--- a/docs/dc/d5c/classshaka_1_1MockMpdNotifier.html
+++ b/docs/dc/d5c/classshaka_1_1MockMpdNotifier.html
@@ -160,7 +160,7 @@ Public Member Functions |
diff --git a/docs/dc/d69/structshaka_1_1media_1_1mp4_1_1CueSettingsBox-members.html b/docs/dc/d69/structshaka_1_1media_1_1mp4_1_1CueSettingsBox-members.html
index 56d24b1b3b..b44b1e276a 100644
--- a/docs/dc/d69/structshaka_1_1media_1_1mp4_1_1CueSettingsBox-members.html
+++ b/docs/dc/d69/structshaka_1_1media_1_1mp4_1_1CueSettingsBox-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/d6f/classshaka_1_1media_1_1webm_1_1Segmenter-members.html b/docs/dc/d6f/classshaka_1_1media_1_1webm_1_1Segmenter-members.html
index 76455fa158..cccfc40dc1 100644
--- a/docs/dc/d6f/classshaka_1_1media_1_1webm_1_1Segmenter-members.html
+++ b/docs/dc/d6f/classshaka_1_1media_1_1webm_1_1Segmenter-members.html
@@ -121,7 +121,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/d71/classshaka_1_1media_1_1mp2t_1_1TsSection-members.html b/docs/dc/d71/classshaka_1_1media_1_1mp2t_1_1TsSection-members.html
index d4131c72ae..9a50d529bc 100644
--- a/docs/dc/d71/classshaka_1_1media_1_1mp2t_1_1TsSection-members.html
+++ b/docs/dc/d71/classshaka_1_1media_1_1mp2t_1_1TsSection-members.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/d73/classshaka_1_1media_1_1MockMuxerListener.html b/docs/dc/d73/classshaka_1_1media_1_1MockMuxerListener.html
index 0cfbadc9ee..af6fccc964 100644
--- a/docs/dc/d73/classshaka_1_1media_1_1MockMuxerListener.html
+++ b/docs/dc/d73/classshaka_1_1media_1_1MockMuxerListener.html
@@ -157,7 +157,7 @@ Additional Inherited Members
diff --git a/docs/dc/d7b/closure__thread_8cc_source.html b/docs/dc/d7b/closure__thread_8cc_source.html
index ce76d27d2c..5432ba7414 100644
--- a/docs/dc/d7b/closure__thread_8cc_source.html
+++ b/docs/dc/d7b/closure__thread_8cc_source.html
@@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/d7b/h264__parser_8cc_source.html b/docs/dc/d7b/h264__parser_8cc_source.html
index b7371d5a42..845b221f12 100644
--- a/docs/dc/d7b/h264__parser_8cc_source.html
+++ b/docs/dc/d7b/h264__parser_8cc_source.html
@@ -1264,7 +1264,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/d86/structshaka_1_1media_1_1mp4_1_1ElementaryStreamDescriptor-members.html b/docs/dc/d86/structshaka_1_1media_1_1mp4_1_1ElementaryStreamDescriptor-members.html
index 6f85c99438..fc5530cb8e 100644
--- a/docs/dc/d86/structshaka_1_1media_1_1mp4_1_1ElementaryStreamDescriptor-members.html
+++ b/docs/dc/d86/structshaka_1_1media_1_1mp4_1_1ElementaryStreamDescriptor-members.html
@@ -114,7 +114,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/d8f/structshaka_1_1media_1_1mp4_1_1MovieFragmentHeader.html b/docs/dc/d8f/structshaka_1_1media_1_1mp4_1_1MovieFragmentHeader.html
index 41cacc9f5f..0e10d17e01 100644
--- a/docs/dc/d8f/structshaka_1_1media_1_1mp4_1_1MovieFragmentHeader.html
+++ b/docs/dc/d8f/structshaka_1_1media_1_1mp4_1_1MovieFragmentHeader.html
@@ -182,7 +182,7 @@ Additional Inherited Members
diff --git a/docs/dc/da0/structshaka_1_1media_1_1mp4_1_1DTSSpecific.html b/docs/dc/da0/structshaka_1_1media_1_1mp4_1_1DTSSpecific.html
index 130c948dd8..f552e2fe3e 100644
--- a/docs/dc/da0/structshaka_1_1media_1_1mp4_1_1DTSSpecific.html
+++ b/docs/dc/da0/structshaka_1_1media_1_1mp4_1_1DTSSpecific.html
@@ -185,7 +185,7 @@ Additional Inherited Members
diff --git a/docs/dc/da1/classshaka_1_1MpdBuilder.html b/docs/dc/da1/classshaka_1_1MpdBuilder.html
index f391726225..afc7ecd0d3 100644
--- a/docs/dc/da1/classshaka_1_1MpdBuilder.html
+++ b/docs/dc/da1/classshaka_1_1MpdBuilder.html
@@ -385,7 +385,7 @@ class DynamicMpdBuilderTes
diff --git a/docs/dc/da6/classshaka_1_1media_1_1ContentEncoding.html b/docs/dc/da6/classshaka_1_1media_1_1ContentEncoding.html
index 01a3900b51..92a4ece680 100644
--- a/docs/dc/da6/classshaka_1_1media_1_1ContentEncoding.html
+++ b/docs/dc/da6/classshaka_1_1media_1_1ContentEncoding.html
@@ -208,7 +208,7 @@ Static Public Attributes |
diff --git a/docs/dc/dbd/structshaka_1_1media_1_1FileCloser-members.html b/docs/dc/dbd/structshaka_1_1media_1_1FileCloser-members.html
index 7ab5cd6e1f..ecf64507d3 100644
--- a/docs/dc/dbd/structshaka_1_1media_1_1FileCloser-members.html
+++ b/docs/dc/dbd/structshaka_1_1media_1_1FileCloser-members.html
@@ -97,7 +97,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/dbf/box__buffer_8h_source.html b/docs/dc/dbf/box__buffer_8h_source.html
index dbe9797d2c..1f9b67b3fe 100644
--- a/docs/dc/dbf/box__buffer_8h_source.html
+++ b/docs/dc/dbf/box__buffer_8h_source.html
@@ -294,7 +294,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/dc1/classshaka_1_1xml_1_1RepresentationXmlNode-members.html b/docs/dc/dc1/classshaka_1_1xml_1_1RepresentationXmlNode-members.html
index aeec3b41bd..7acb71ea81 100644
--- a/docs/dc/dc1/classshaka_1_1xml_1_1RepresentationXmlNode-members.html
+++ b/docs/dc/dc1/classshaka_1_1xml_1_1RepresentationXmlNode-members.html
@@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/dca/classshaka_1_1media_1_1WebMListParser.html b/docs/dc/dca/classshaka_1_1media_1_1WebMListParser.html
index 1ae972da67..cb030d05b5 100644
--- a/docs/dc/dca/classshaka_1_1media_1_1WebMListParser.html
+++ b/docs/dc/dca/classshaka_1_1media_1_1WebMListParser.html
@@ -210,7 +210,7 @@ void
diff --git a/docs/dc/dd9/rsa__key_8cc_source.html b/docs/dc/dd9/rsa__key_8cc_source.html
index 8adb9b04ae..a7abb3d03a 100644
--- a/docs/dc/dd9/rsa__key_8cc_source.html
+++ b/docs/dc/dd9/rsa__key_8cc_source.html
@@ -350,7 +350,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/ddf/structshaka_1_1media_1_1mp4_1_1Media.html b/docs/dc/ddf/structshaka_1_1media_1_1mp4_1_1Media.html
index e341a30f20..909fb112f7 100644
--- a/docs/dc/ddf/structshaka_1_1media_1_1mp4_1_1Media.html
+++ b/docs/dc/ddf/structshaka_1_1media_1_1mp4_1_1Media.html
@@ -179,7 +179,7 @@ Additional Inherited Members |
diff --git a/docs/dc/ddf/udp__file__posix_8cc_source.html b/docs/dc/ddf/udp__file__posix_8cc_source.html
index 093c578984..85b7570dbd 100644
--- a/docs/dc/ddf/udp__file__posix_8cc_source.html
+++ b/docs/dc/ddf/udp__file__posix_8cc_source.html
@@ -322,7 +322,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/de1/structshaka_1_1SegmentInfo.html b/docs/dc/de1/structshaka_1_1SegmentInfo.html
index 7469f7a819..89455c41a6 100644
--- a/docs/dc/de1/structshaka_1_1SegmentInfo.html
+++ b/docs/dc/de1/structshaka_1_1SegmentInfo.html
@@ -118,7 +118,7 @@ uint64_t repeat |
diff --git a/docs/dc/deb/classshaka_1_1media_1_1mp4_1_1Fragmenter-members.html b/docs/dc/deb/classshaka_1_1media_1_1mp4_1_1Fragmenter-members.html
index d6bf23b5e1..522d0b2a26 100644
--- a/docs/dc/deb/classshaka_1_1media_1_1mp4_1_1Fragmenter-members.html
+++ b/docs/dc/deb/classshaka_1_1media_1_1mp4_1_1Fragmenter-members.html
@@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/deb/h265__byte__to__unit__stream__converter_8h_source.html b/docs/dc/deb/h265__byte__to__unit__stream__converter_8h_source.html
index 07a9f9cdb3..e4731d7484 100644
--- a/docs/dc/deb/h265__byte__to__unit__stream__converter_8h_source.html
+++ b/docs/dc/deb/h265__byte__to__unit__stream__converter_8h_source.html
@@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/dec/ts__section__pmt_8cc_source.html b/docs/dc/dec/ts__section__pmt_8cc_source.html
index 9780ead7ae..ee271c1c2b 100644
--- a/docs/dc/dec/ts__section__pmt_8cc_source.html
+++ b/docs/dc/dec/ts__section__pmt_8cc_source.html
@@ -207,7 +207,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/df0/classshaka_1_1media_1_1ClosureThread.html b/docs/dc/df0/classshaka_1_1media_1_1ClosureThread.html
index 7d6b47ff82..886683d16c 100644
--- a/docs/dc/df0/classshaka_1_1media_1_1ClosureThread.html
+++ b/docs/dc/df0/classshaka_1_1media_1_1ClosureThread.html
@@ -179,7 +179,7 @@ void
diff --git a/docs/dc/df2/classshaka_1_1media_1_1WebVttMediaParser.html b/docs/dc/df2/classshaka_1_1media_1_1WebVttMediaParser.html
index 88eb567d60..33a6da0d82 100644
--- a/docs/dc/df2/classshaka_1_1media_1_1WebVttMediaParser.html
+++ b/docs/dc/df2/classshaka_1_1media_1_1WebVttMediaParser.html
@@ -256,7 +256,7 @@ track_id, const scoped_refptr
diff --git a/docs/dc/df3/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter.html b/docs/dc/df3/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter.html
index 20013884e8..99223fce9f 100644
--- a/docs/dc/df3/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter.html
+++ b/docs/dc/df3/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter.html
@@ -264,7 +264,7 @@ void | set_encryption_key
- Definition at line 62 of file encrypting_fragmenter.cc.
+Definition at line 61 of file encrypting_fragmenter.cc.
@@ -301,7 +301,7 @@ void | set_encryption_keyReimplemented from shaka::media::mp4::Fragmenter.
- Definition at line 107 of file encrypting_fragmenter.cc.
+Definition at line 102 of file encrypting_fragmenter.cc.
@@ -328,7 +328,7 @@ void | set_encryption_keyCreate the encryptor for the internal encryption key. The existing encryptor will be reset if it is not NULL.
- Returns
- OK on success, an error status otherwise.
-Definition at line 209 of file encrypting_fragmenter.cc.
+Definition at line 204 of file encrypting_fragmenter.cc.
@@ -364,7 +364,7 @@ void | set_encryption_keyReimplemented from shaka::media::mp4::Fragmenter.
- Definition at line 122 of file encrypting_fragmenter.cc.
+Definition at line 117 of file encrypting_fragmenter.cc.
@@ -394,7 +394,7 @@ void | set_encryption_keyReimplemented in shaka::media::mp4::KeyRotationFragmenter.
- Definition at line 166 of file encrypting_fragmenter.cc.
+Definition at line 161 of file encrypting_fragmenter.cc.
@@ -405,7 +405,7 @@ void | set_encryption_key
diff --git a/docs/dc/df4/classshaka_1_1media_1_1webm_1_1SingleSegmentSegmenter-members.html b/docs/dc/df4/classshaka_1_1media_1_1webm_1_1SingleSegmentSegmenter-members.html
index 7a1cab4a6d..5c23ba611d 100644
--- a/docs/dc/df4/classshaka_1_1media_1_1webm_1_1SingleSegmentSegmenter-members.html
+++ b/docs/dc/df4/classshaka_1_1media_1_1webm_1_1SingleSegmentSegmenter-members.html
@@ -128,7 +128,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/df7/structshaka_1_1media_1_1mp4_1_1TrackFragmentRun-members.html b/docs/dc/df7/structshaka_1_1media_1_1mp4_1_1TrackFragmentRun-members.html
index 21c4cb7bff..98c50ddea1 100644
--- a/docs/dc/df7/structshaka_1_1media_1_1mp4_1_1TrackFragmentRun-members.html
+++ b/docs/dc/df7/structshaka_1_1media_1_1mp4_1_1TrackFragmentRun-members.html
@@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/df8/closure__thread_8h_source.html b/docs/dc/df8/closure__thread_8h_source.html
index c07fd8a0db..df2c324ab0 100644
--- a/docs/dc/df8/closure__thread_8h_source.html
+++ b/docs/dc/df8/closure__thread_8h_source.html
@@ -127,7 +127,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d06/structshaka_1_1media_1_1mp4_1_1ChunkOffset.html b/docs/dd/d06/structshaka_1_1media_1_1mp4_1_1ChunkOffset.html
index a980ac8f16..10029a905d 100644
--- a/docs/dd/d06/structshaka_1_1media_1_1mp4_1_1ChunkOffset.html
+++ b/docs/dd/d06/structshaka_1_1media_1_1mp4_1_1ChunkOffset.html
@@ -180,7 +180,7 @@ uint32_t | flags |
diff --git a/docs/dd/d11/mpd__builder_8cc_source.html b/docs/dd/d11/mpd__builder_8cc_source.html
index 10472d5748..656ee60eba 100644
--- a/docs/dd/d11/mpd__builder_8cc_source.html
+++ b/docs/dd/d11/mpd__builder_8cc_source.html
@@ -1508,7 +1508,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d12/mpd__writer_8cc_source.html b/docs/dd/d12/mpd__writer_8cc_source.html
index d63c8ffab3..dffd1e45f7 100644
--- a/docs/dd/d12/mpd__writer_8cc_source.html
+++ b/docs/dd/d12/mpd__writer_8cc_source.html
@@ -221,7 +221,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d13/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize.html b/docs/dd/d13/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize.html
index 20406fd881..ca83d7444d 100644
--- a/docs/dd/d13/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize.html
+++ b/docs/dd/d13/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize.html
@@ -188,7 +188,7 @@ Additional Inherited Members
diff --git a/docs/dd/d17/classshaka_1_1media_1_1Demuxer.html b/docs/dd/d17/classshaka_1_1media_1_1Demuxer.html
index 3937c88004..63048017b7 100644
--- a/docs/dd/d17/classshaka_1_1media_1_1Demuxer.html
+++ b/docs/dd/d17/classshaka_1_1media_1_1Demuxer.html
@@ -295,7 +295,7 @@ Public Member Functions
diff --git a/docs/dd/d18/es__parser__adts_8h_source.html b/docs/dd/d18/es__parser__adts_8h_source.html
index 912c046806..fed50efd47 100644
--- a/docs/dd/d18/es__parser__adts_8h_source.html
+++ b/docs/dd/d18/es__parser__adts_8h_source.html
@@ -172,7 +172,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d19/video__stream__info_8cc_source.html b/docs/dd/d19/video__stream__info_8cc_source.html
index 45555790dc..44ee8c441d 100644
--- a/docs/dd/d19/video__stream__info_8cc_source.html
+++ b/docs/dd/d19/video__stream__info_8cc_source.html
@@ -106,8 +106,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
- 20 std::string VideoCodecToString(VideoCodec video_codec) {
- 21 switch (video_codec) {
+ 20 std::string VideoCodecToString(Codec codec) {
+
@@ -129,75 +129,58 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
- 43 NOTIMPLEMENTED() <<
"Unknown Video Codec: " << video_codec;
- 44 return "UnknownVideoCodec";
+ 43 NOTIMPLEMENTED() <<
"Unknown Video Codec: " << codec;
+ 44 return "UnknownCodec";
-
-
-
-
- 54 const std::string& codec_string,
- 55 const std::string& language,
-
-
-
- 59 uint32_t pixel_height,
- 60 int16_t trick_play_rate,
- 61 uint8_t nalu_length_size,
- 62 const uint8_t* codec_config,
- 63 size_t codec_config_size,
-
-
-
-
-
-
-
-
-
-
-
-
-
- 77 pixel_width_(pixel_width),
- 78 pixel_height_(pixel_height),
- 79 trick_play_rate_(trick_play_rate),
- 80 nalu_length_size_(nalu_length_size) {
-
-
- 83 VideoStreamInfo::~VideoStreamInfo() {}
-
-
- 86 return codec_ != kUnknownVideoCodec &&
- 87 width_ > 0 && width_ <= limits::kMaxDimension &&
- 88 height_ > 0 && height_ <= limits::kMaxDimension &&
- 89 (nalu_length_size_ <= 2 || nalu_length_size_ == 4);
-
-
-
- 93 return base::StringPrintf(
- 94 "%s codec: %s\n width: %d\n height: %d\n pixel_aspect_ratio: %d:%d\n "
- 95 "trick_play_rate: %d\n nalu_length_size: %d\n",
-
- 97 width_, height_, pixel_width_, pixel_height_, trick_play_rate_,
-
-
-
-
-
-
-
-
-
-
+
+ 51 int track_id, uint32_t time_scale, uint64_t duration, Codec codec,
+ 52 const std::string& codec_string,
const uint8_t* codec_config,
+ 53 size_t codec_config_size, uint16_t width, uint16_t height,
+ 54 uint32_t pixel_width, uint32_t pixel_height, int16_t trick_play_rate,
+ 55 uint8_t nalu_length_size,
const std::string& language,
bool is_encrypted)
+ 56 :
StreamInfo(kStreamVideo, track_id, time_scale, duration, codec,
+ 57 codec_string, codec_config, codec_config_size, language,
+
+
+
+ 61 pixel_width_(pixel_width),
+ 62 pixel_height_(pixel_height),
+ 63 trick_play_rate_(trick_play_rate),
+ 64 nalu_length_size_(nalu_length_size) {}
+
+ 66 VideoStreamInfo::~VideoStreamInfo() {}
+
+
+ 69 return codec() != kUnknownCodec && width_ > 0 &&
+ 70 width_ <= limits::kMaxDimension && height_ > 0 &&
+ 71 height_ <= limits::kMaxDimension &&
+ 72 (nalu_length_size_ <= 2 || nalu_length_size_ == 4);
+
+
+
+ 76 return base::StringPrintf(
+ 77 "%s codec: %s\n width: %d\n height: %d\n pixel_aspect_ratio: %d:%d\n "
+ 78 "trick_play_rate: %d\n nalu_length_size: %d\n",
+
+ 80 width_, height_, pixel_width_, pixel_height_, trick_play_rate_,
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/dd/d30/wvm__media__parser_8cc_source.html b/docs/dd/d30/wvm__media__parser_8cc_source.html
index 5e01d4222b..b10a92cda0 100644
--- a/docs/dd/d30/wvm__media__parser_8cc_source.html
+++ b/docs/dd/d30/wvm__media__parser_8cc_source.html
@@ -828,443 +828,445 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
739 index_size = read_ptr - index_data_.data();
- 742 VideoCodec video_codec = kCodecH264;
+ 742 Codec video_codec = kCodecH264;
743 stream_infos_.push_back(
new VideoStreamInfo(
744 stream_id_count_, time_scale, track_duration, video_codec,
- 745 std::string(), std::string(), video_width, video_height, pixel_width,
- 746 pixel_height, trick_play_rate, nalu_length_size,
- 747 video_codec_config.data(), video_codec_config.size(),
true));
+ 745 std::string(), video_codec_config.data(), video_codec_config.size(),
+ 746 video_width, video_height, pixel_width, pixel_height, trick_play_rate,
+ 747 nalu_length_size, std::string(),
true));
748 program_demux_stream_map_[base::UintToString(index_program_id_) +
":" +
- 749 base::UintToString(video_pes_stream_id ?
- 750 video_pes_stream_id :
- 751 kDefaultVideoStreamId)] =
-
-
-
- 755 const AudioCodec audio_codec = kCodecAAC;
-
- 757 stream_infos_.push_back(
new AudioStreamInfo(
- 758 stream_id_count_, time_scale, track_duration, audio_codec,
- 759 std::string(), std::string(), kAacSampleSizeBits, num_channels,
- 760 sampling_frequency, 0 , 0 ,
- 761 0 , 0 , audio_codec_config.data(),
- 762 audio_codec_config.size(),
true));
- 763 program_demux_stream_map_[base::UintToString(index_program_id_) +
":" +
- 764 base::UintToString(audio_pes_stream_id ?
- 765 audio_pes_stream_id :
- 766 kDefaultAudioStreamId)] =
-
-
-
-
-
-
-
-
-
- 776 bool WvmMediaParser::DemuxNextPes(
bool is_program_end) {
- 777 bool output_encrypted_sample =
false;
- 778 if (!sample_data_.empty() && (prev_pes_flags_1_ & kScramblingBitsMask)) {
-
- 780 if (!content_decryptor_) {
- 781 output_encrypted_sample =
true;
-
- 783 content_decryptor_->Crypt(&sample_data_[crypto_unit_start_pos_],
- 784 sample_data_.size() - crypto_unit_start_pos_,
- 785 &sample_data_[crypto_unit_start_pos_]);
-
-
-
-
- 790 if ((pes_flags_2_ & kPesOptPts) || is_program_end) {
- 791 if (!sample_data_.empty()) {
- 792 if (!Output(output_encrypted_sample)) {
-
-
-
- 796 StartMediaSampleDemux();
-
-
- 799 crypto_unit_start_pos_ = sample_data_.size();
-
-
-
- 803 void WvmMediaParser::StartMediaSampleDemux() {
- 804 bool is_key_frame = ((pes_flags_1_ & kPesOptAlign) != 0);
-
- 806 media_sample_->set_dts(dts_);
- 807 media_sample_->set_pts(pts_);
- 808 media_sample_->set_is_key_frame(is_key_frame);
-
- 810 sample_data_.clear();
-
-
- 813 bool WvmMediaParser::Output(
bool output_encrypted_sample) {
- 814 if (output_encrypted_sample) {
- 815 media_sample_->set_data(sample_data_.data(), sample_data_.size());
- 816 media_sample_->set_is_encrypted(
true);
-
- 818 if ((prev_pes_stream_id_ & kPesStreamIdVideoMask) == kPesStreamIdVideo) {
-
- 820 std::vector<uint8_t> nal_unit_stream;
- 821 if (!byte_to_unit_stream_converter_.ConvertByteStreamToNalUnitStream(
- 822 sample_data_.data(), sample_data_.size(), &nal_unit_stream)) {
- 823 LOG(ERROR) <<
"Could not convert h.264 byte stream sample";
-
-
- 826 media_sample_->set_data(nal_unit_stream.data(), nal_unit_stream.size());
- 827 if (!is_initialized_) {
-
-
- 830 std::vector<uint8_t> decoder_config_record;
- 831 byte_to_unit_stream_converter_.GetDecoderConfigurationRecord(
- 832 &decoder_config_record);
- 833 for (uint32_t i = 0; i < stream_infos_.size(); i++) {
- 834 if (stream_infos_[i]->stream_type() == kStreamVideo &&
- 835 stream_infos_[i]->codec_string().empty()) {
- 836 const std::vector<uint8_t>* stream_config;
- 837 if (stream_infos_[i]->codec_config().empty()) {
-
-
- 840 stream_infos_[i]->set_codec_config(decoder_config_record);
- 841 stream_config = &decoder_config_record;
-
-
- 844 stream_config = &stream_infos_[i]->codec_config();
-
- 846 DCHECK(stream_config);
-
- 848 VideoStreamInfo* video_stream_info =
- 849 reinterpret_cast<VideoStreamInfo*
>(stream_infos_[i].get());
- 850 AVCDecoderConfigurationRecord avc_config;
- 851 if (!avc_config.Parse(*stream_config)) {
- 852 LOG(WARNING) <<
"Failed to parse AVCDecoderConfigurationRecord. "
- 853 "Using computed configuration record instead.";
- 854 video_stream_info->set_codec_config(decoder_config_record);
- 855 if (!avc_config.Parse(decoder_config_record)) {
- 856 LOG(ERROR) <<
"Failed to parse AVCDecoderConfigurationRecord.";
-
-
-
- 860 video_stream_info->set_codec_string(avc_config.GetCodecString());
-
- 862 if (avc_config.pixel_width() != video_stream_info->pixel_width() ||
- 863 avc_config.pixel_height() !=
- 864 video_stream_info->pixel_height()) {
- 865 LOG_IF(WARNING, video_stream_info->pixel_width() != 0 ||
- 866 video_stream_info->pixel_height() != 0)
- 867 <<
"Pixel aspect ratio in WVM metadata ("
- 868 << video_stream_info->pixel_width() <<
","
- 869 << video_stream_info->pixel_height()
- 870 <<
") does not match with SAR in "
- 871 "AVCDecoderConfigurationRecord ("
- 872 << avc_config.pixel_width() <<
","
- 873 << avc_config.pixel_height()
- 874 <<
"). Use AVCDecoderConfigurationRecord.";
- 875 video_stream_info->set_pixel_width(avc_config.pixel_width());
- 876 video_stream_info->set_pixel_height(avc_config.pixel_height());
-
- 878 if (avc_config.coded_width() != video_stream_info->width() ||
- 879 avc_config.coded_height() != video_stream_info->height()) {
- 880 LOG(WARNING) <<
"Resolution in WVM metadata ("
- 881 << video_stream_info->width() <<
","
- 882 << video_stream_info->height()
- 883 <<
") does not match with resolution in "
- 884 "AVCDecoderConfigurationRecord ("
- 885 << avc_config.coded_width() <<
","
- 886 << avc_config.coded_height()
- 887 <<
"). Use AVCDecoderConfigurationRecord.";
- 888 video_stream_info->set_width(avc_config.coded_width());
- 889 video_stream_info->set_height(avc_config.coded_height());
-
-
-
-
- 894 }
else if ((prev_pes_stream_id_ & kPesStreamIdAudioMask) ==
-
-
-
-
- 899 mp2t::AdtsHeader adts_header;
- 900 const uint8_t* frame_ptr = sample_data_.data();
- 901 if (!adts_header.Parse(frame_ptr, frame_size)) {
- 902 LOG(ERROR) <<
"Could not parse ADTS header";
-
-
- 905 size_t header_size = adts_header.GetAdtsHeaderSize(frame_ptr,
-
- 907 media_sample_->set_data(frame_ptr + header_size,
- 908 frame_size - header_size);
- 909 if (!is_initialized_) {
- 910 for (uint32_t i = 0; i < stream_infos_.size(); i++) {
- 911 if (stream_infos_[i]->stream_type() == kStreamAudio &&
- 912 stream_infos_[i]->codec_string().empty()) {
- 913 AudioStreamInfo* audio_stream_info =
- 914 reinterpret_cast<AudioStreamInfo*
>(stream_infos_[i].get());
- 915 if (audio_stream_info->codec_config().empty()) {
-
-
- 918 audio_stream_info->set_sampling_frequency(
- 919 adts_header.GetSamplingFrequency());
- 920 std::vector<uint8_t> audio_specific_config;
- 921 if (!adts_header.GetAudioSpecificConfig(&audio_specific_config)) {
- 922 LOG(ERROR) <<
"Could not compute AACaudiospecificconfig";
-
-
- 925 audio_stream_info->set_codec_config(audio_specific_config);
- 926 audio_stream_info->set_codec_string(
-
- 928 kCodecAAC, adts_header.GetObjectType()));
-
-
-
- 932 AACAudioSpecificConfig aac_config;
- 933 if (!aac_config.Parse(stream_infos_[i]->codec_config())) {
- 934 LOG(ERROR) <<
"Could not parse AACAudioSpecificconfig";
-
-
- 937 audio_stream_info->set_sampling_frequency(aac_config.frequency());
- 938 audio_stream_info->set_codec_string(
-
- 940 kCodecAAC, aac_config.audio_object_type()));
-
-
-
-
-
-
-
- 948 if (!is_initialized_) {
- 949 bool all_streams_have_config =
true;
-
- 951 for (uint32_t i = 0; i < stream_infos_.size(); i++) {
- 952 if (stream_infos_[i]->codec_string().empty()) {
- 953 all_streams_have_config =
false;
-
-
-
- 957 if (all_streams_have_config) {
- 958 init_cb_.Run(stream_infos_);
- 959 is_initialized_ =
true;
-
-
-
- 963 DCHECK_GT(media_sample_->data_size(), 0UL);
- 964 std::string key = base::UintToString(current_program_id_).append(
":")
- 965 .append(base::UintToString(prev_pes_stream_id_));
- 966 std::map<std::string, uint32_t>::iterator it =
- 967 program_demux_stream_map_.find(key);
- 968 if (it == program_demux_stream_map_.end()) {
-
-
-
-
- 973 DemuxStreamIdMediaSample demux_stream_media_sample;
- 974 demux_stream_media_sample.parsed_audio_or_video_stream_id =
-
- 976 demux_stream_media_sample.demux_stream_id = (*it).second;
- 977 demux_stream_media_sample.media_sample = media_sample_;
-
- 979 if (!is_initialized_) {
- 980 media_sample_queue_.push_back(demux_stream_media_sample);
-
-
- 983 while (!media_sample_queue_.empty()) {
- 984 if (!EmitPendingSamples())
-
-
-
- 988 if (!EmitSample(prev_pes_stream_id_, (*it).second, media_sample_,
false))
-
-
-
-
-
- 994 bool WvmMediaParser::EmitSample(uint32_t parsed_audio_or_video_stream_id,
-
- 996 scoped_refptr<MediaSample>& new_sample,
-
-
-
- 1000 if ((parsed_audio_or_video_stream_id & kPesStreamIdVideoMask) ==
- 1001 kPesStreamIdVideo) {
- 1002 new_sample->set_duration(prev_media_sample_data_.video_sample_duration);
- 1003 }
else if ((parsed_audio_or_video_stream_id & kPesStreamIdAudioMask) ==
- 1004 kPesStreamIdAudio) {
- 1005 new_sample->set_duration(prev_media_sample_data_.audio_sample_duration);
-
- 1007 if (!new_sample_cb_.Run(stream_id, new_sample)) {
- 1008 LOG(ERROR) <<
"Failed to process the last sample.";
-
-
-
-
-
-
-
- 1016 if ((parsed_audio_or_video_stream_id & kPesStreamIdVideoMask) ==
- 1017 kPesStreamIdVideo) {
- 1018 if (prev_media_sample_data_.video_sample == NULL) {
- 1019 prev_media_sample_data_.video_sample = new_sample;
- 1020 prev_media_sample_data_.video_stream_id = stream_id;
-
-
- 1023 prev_media_sample_data_.video_sample->set_duration(
- 1024 new_sample->dts() - prev_media_sample_data_.video_sample->dts());
- 1025 prev_media_sample_data_.video_sample_duration =
- 1026 prev_media_sample_data_.video_sample->duration();
- 1027 if (!new_sample_cb_.Run(prev_media_sample_data_.video_stream_id,
- 1028 prev_media_sample_data_.video_sample)) {
- 1029 LOG(ERROR) <<
"Failed to process the video sample.";
-
-
- 1032 prev_media_sample_data_.video_sample = new_sample;
- 1033 prev_media_sample_data_.video_stream_id = stream_id;
- 1034 }
else if ((parsed_audio_or_video_stream_id & kPesStreamIdAudioMask) ==
- 1035 kPesStreamIdAudio) {
- 1036 if (prev_media_sample_data_.audio_sample == NULL) {
- 1037 prev_media_sample_data_.audio_sample = new_sample;
- 1038 prev_media_sample_data_.audio_stream_id = stream_id;
-
-
- 1041 prev_media_sample_data_.audio_sample->set_duration(
- 1042 new_sample->dts() - prev_media_sample_data_.audio_sample->dts());
- 1043 prev_media_sample_data_.audio_sample_duration =
- 1044 prev_media_sample_data_.audio_sample->duration();
- 1045 if (!new_sample_cb_.Run(prev_media_sample_data_.audio_stream_id,
- 1046 prev_media_sample_data_.audio_sample)) {
- 1047 LOG(ERROR) <<
"Failed to process the audio sample.";
-
-
- 1050 prev_media_sample_data_.audio_sample = new_sample;
- 1051 prev_media_sample_data_.audio_stream_id = stream_id;
-
-
-
-
- 1056 bool WvmMediaParser::GetAssetKey(
const uint32_t asset_id,
- 1057 EncryptionKey* encryption_key) {
- 1058 DCHECK(decryption_key_source_);
- 1059 Status status = decryption_key_source_->FetchKeys(asset_id);
-
- 1061 LOG(ERROR) <<
"Fetch Key(s) failed for AssetID = " << asset_id
- 1062 <<
", error = " << status;
-
-
-
- 1066 status = decryption_key_source_->GetKey(KeySource::TRACK_TYPE_HD,
-
-
- 1069 LOG(ERROR) <<
"Fetch Key(s) failed for AssetID = " << asset_id
- 1070 <<
", error = " << status;
-
-
-
-
-
-
- 1077 bool WvmMediaParser::ProcessEcm() {
-
- 1079 if (!decryption_key_source_)
-
-
- 1082 if (current_program_id_ > 0) {
-
-
- 1085 if (ecm_.size() != kEcmSizeBytes) {
- 1086 LOG(ERROR) <<
"Unexpected ECM size = " << ecm_.size()
- 1087 <<
", expected size = " << kEcmSizeBytes;
-
-
- 1090 const uint8_t* ecm_data = ecm_.data();
-
- 1092 ecm_data +=
sizeof(uint32_t);
- 1093 ecm_data +=
sizeof(uint32_t);
- 1094 ecm_data +=
sizeof(uint32_t);
- 1095 uint32_t asset_id = ntohlFromBuffer(ecm_data);
- 1096 if (asset_id == 0) {
- 1097 LOG(ERROR) <<
"AssetID in ECM is not valid.";
-
-
- 1100 ecm_data +=
sizeof(uint32_t);
- 1101 EncryptionKey encryption_key;
- 1102 if (!GetAssetKey(asset_id, &encryption_key)) {
-
-
- 1105 if (encryption_key.key.size() < kAssetKeySizeBytes) {
- 1106 LOG(ERROR) <<
"Asset Key size of " << encryption_key.key.size()
- 1107 <<
" for AssetID = " << asset_id
- 1108 <<
" is less than minimum asset key size.";
-
-
-
-
-
- 1114 std::vector<uint8_t> asset_key(
- 1115 encryption_key.key.begin(),
- 1116 encryption_key.key.begin() + kAssetKeySizeBytes);
-
- 1118 std::vector<uint8_t> zero_iv(kInitializationVectorSizeBytes, 0);
- 1119 AesCbcDecryptor asset_decryptor(kCtsPadding, AesCryptor::kUseConstantIv);
- 1120 if (!asset_decryptor.InitializeWithIv(asset_key, zero_iv)) {
- 1121 LOG(ERROR) <<
"Failed to initialize asset_decryptor.";
-
-
-
- 1125 const size_t content_key_buffer_size =
- 1126 kEcmFlagsSizeBytes + kEcmContentKeySizeBytes +
- 1127 kEcmPaddingSizeBytes;
- 1128 std::vector<uint8_t> content_key_buffer(content_key_buffer_size);
- 1129 CHECK(asset_decryptor.Crypt(ecm_data, content_key_buffer_size,
- 1130 content_key_buffer.data()));
-
- 1132 std::vector<uint8_t> decrypted_content_key_vec(
- 1133 content_key_buffer.begin() + 4,
- 1134 content_key_buffer.begin() + 20);
- 1135 scoped_ptr<AesCbcDecryptor> content_decryptor(
- 1136 new AesCbcDecryptor(kCtsPadding, AesCryptor::kUseConstantIv));
- 1137 if (!content_decryptor->InitializeWithIv(decrypted_content_key_vec,
-
- 1139 LOG(ERROR) <<
"Failed to initialize content decryptor.";
-
-
-
- 1143 content_decryptor_ = content_decryptor.Pass();
-
-
-
- 1147 DemuxStreamIdMediaSample::DemuxStreamIdMediaSample() :
-
- 1149 parsed_audio_or_video_stream_id(0) {}
-
- 1151 DemuxStreamIdMediaSample::~DemuxStreamIdMediaSample() {}
+
+
+ 751 ? video_pes_stream_id
+ 752 : kDefaultVideoStreamId)] =
+
+
+
+ 756 const Codec audio_codec = kCodecAAC;
+
+ 758 stream_infos_.push_back(
new AudioStreamInfo(
+ 759 stream_id_count_, time_scale, track_duration, audio_codec,
+ 760 std::string(), audio_codec_config.data(), audio_codec_config.size(),
+ 761 kAacSampleSizeBits, num_channels, sampling_frequency,
+
+ 763 0 , std::string(),
true));
+ 764 program_demux_stream_map_[base::UintToString(index_program_id_) +
":" +
+
+
+ 767 ? audio_pes_stream_id
+ 768 : kDefaultAudioStreamId)] =
+
+
+
+
+
+
+
+
+
+ 778 bool WvmMediaParser::DemuxNextPes(
bool is_program_end) {
+ 779 bool output_encrypted_sample =
false;
+ 780 if (!sample_data_.empty() && (prev_pes_flags_1_ & kScramblingBitsMask)) {
+
+ 782 if (!content_decryptor_) {
+ 783 output_encrypted_sample =
true;
+
+ 785 content_decryptor_->Crypt(&sample_data_[crypto_unit_start_pos_],
+ 786 sample_data_.size() - crypto_unit_start_pos_,
+ 787 &sample_data_[crypto_unit_start_pos_]);
+
+
+
+
+ 792 if ((pes_flags_2_ & kPesOptPts) || is_program_end) {
+ 793 if (!sample_data_.empty()) {
+ 794 if (!Output(output_encrypted_sample)) {
+
+
+
+ 798 StartMediaSampleDemux();
+
+
+ 801 crypto_unit_start_pos_ = sample_data_.size();
+
+
+
+ 805 void WvmMediaParser::StartMediaSampleDemux() {
+ 806 bool is_key_frame = ((pes_flags_1_ & kPesOptAlign) != 0);
+
+ 808 media_sample_->set_dts(dts_);
+ 809 media_sample_->set_pts(pts_);
+ 810 media_sample_->set_is_key_frame(is_key_frame);
+
+ 812 sample_data_.clear();
+
+
+ 815 bool WvmMediaParser::Output(
bool output_encrypted_sample) {
+ 816 if (output_encrypted_sample) {
+ 817 media_sample_->set_data(sample_data_.data(), sample_data_.size());
+ 818 media_sample_->set_is_encrypted(
true);
+
+ 820 if ((prev_pes_stream_id_ & kPesStreamIdVideoMask) == kPesStreamIdVideo) {
+
+ 822 std::vector<uint8_t> nal_unit_stream;
+ 823 if (!byte_to_unit_stream_converter_.ConvertByteStreamToNalUnitStream(
+ 824 sample_data_.data(), sample_data_.size(), &nal_unit_stream)) {
+ 825 LOG(ERROR) <<
"Could not convert h.264 byte stream sample";
+
+
+ 828 media_sample_->set_data(nal_unit_stream.data(), nal_unit_stream.size());
+ 829 if (!is_initialized_) {
+
+
+ 832 std::vector<uint8_t> decoder_config_record;
+ 833 byte_to_unit_stream_converter_.GetDecoderConfigurationRecord(
+ 834 &decoder_config_record);
+ 835 for (uint32_t i = 0; i < stream_infos_.size(); i++) {
+ 836 if (stream_infos_[i]->stream_type() == kStreamVideo &&
+ 837 stream_infos_[i]->codec_string().empty()) {
+ 838 const std::vector<uint8_t>* stream_config;
+ 839 if (stream_infos_[i]->codec_config().empty()) {
+
+
+ 842 stream_infos_[i]->set_codec_config(decoder_config_record);
+ 843 stream_config = &decoder_config_record;
+
+
+ 846 stream_config = &stream_infos_[i]->codec_config();
+
+ 848 DCHECK(stream_config);
+
+ 850 VideoStreamInfo* video_stream_info =
+ 851 reinterpret_cast<VideoStreamInfo*
>(stream_infos_[i].get());
+ 852 AVCDecoderConfigurationRecord avc_config;
+ 853 if (!avc_config.Parse(*stream_config)) {
+ 854 LOG(WARNING) <<
"Failed to parse AVCDecoderConfigurationRecord. "
+ 855 "Using computed configuration record instead.";
+ 856 video_stream_info->set_codec_config(decoder_config_record);
+ 857 if (!avc_config.Parse(decoder_config_record)) {
+ 858 LOG(ERROR) <<
"Failed to parse AVCDecoderConfigurationRecord.";
+
+
+
+ 862 video_stream_info->set_codec_string(avc_config.GetCodecString());
+
+ 864 if (avc_config.pixel_width() != video_stream_info->pixel_width() ||
+ 865 avc_config.pixel_height() !=
+ 866 video_stream_info->pixel_height()) {
+ 867 LOG_IF(WARNING, video_stream_info->pixel_width() != 0 ||
+ 868 video_stream_info->pixel_height() != 0)
+ 869 <<
"Pixel aspect ratio in WVM metadata ("
+ 870 << video_stream_info->pixel_width() <<
","
+ 871 << video_stream_info->pixel_height()
+ 872 <<
") does not match with SAR in "
+ 873 "AVCDecoderConfigurationRecord ("
+ 874 << avc_config.pixel_width() <<
","
+ 875 << avc_config.pixel_height()
+ 876 <<
"). Use AVCDecoderConfigurationRecord.";
+ 877 video_stream_info->set_pixel_width(avc_config.pixel_width());
+ 878 video_stream_info->set_pixel_height(avc_config.pixel_height());
+
+ 880 if (avc_config.coded_width() != video_stream_info->width() ||
+ 881 avc_config.coded_height() != video_stream_info->height()) {
+ 882 LOG(WARNING) <<
"Resolution in WVM metadata ("
+ 883 << video_stream_info->width() <<
","
+ 884 << video_stream_info->height()
+ 885 <<
") does not match with resolution in "
+ 886 "AVCDecoderConfigurationRecord ("
+ 887 << avc_config.coded_width() <<
","
+ 888 << avc_config.coded_height()
+ 889 <<
"). Use AVCDecoderConfigurationRecord.";
+ 890 video_stream_info->set_width(avc_config.coded_width());
+ 891 video_stream_info->set_height(avc_config.coded_height());
+
+
+
+
+ 896 }
else if ((prev_pes_stream_id_ & kPesStreamIdAudioMask) ==
+
+
+
+
+ 901 mp2t::AdtsHeader adts_header;
+ 902 const uint8_t* frame_ptr = sample_data_.data();
+ 903 if (!adts_header.Parse(frame_ptr, frame_size)) {
+ 904 LOG(ERROR) <<
"Could not parse ADTS header";
+
+
+ 907 size_t header_size = adts_header.GetAdtsHeaderSize(frame_ptr,
+
+ 909 media_sample_->set_data(frame_ptr + header_size,
+ 910 frame_size - header_size);
+ 911 if (!is_initialized_) {
+ 912 for (uint32_t i = 0; i < stream_infos_.size(); i++) {
+ 913 if (stream_infos_[i]->stream_type() == kStreamAudio &&
+ 914 stream_infos_[i]->codec_string().empty()) {
+ 915 AudioStreamInfo* audio_stream_info =
+ 916 reinterpret_cast<AudioStreamInfo*
>(stream_infos_[i].get());
+ 917 if (audio_stream_info->codec_config().empty()) {
+
+
+ 920 audio_stream_info->set_sampling_frequency(
+ 921 adts_header.GetSamplingFrequency());
+ 922 std::vector<uint8_t> audio_specific_config;
+ 923 if (!adts_header.GetAudioSpecificConfig(&audio_specific_config)) {
+ 924 LOG(ERROR) <<
"Could not compute AACaudiospecificconfig";
+
+
+ 927 audio_stream_info->set_codec_config(audio_specific_config);
+ 928 audio_stream_info->set_codec_string(
+
+ 930 kCodecAAC, adts_header.GetObjectType()));
+
+
+
+ 934 AACAudioSpecificConfig aac_config;
+ 935 if (!aac_config.Parse(stream_infos_[i]->codec_config())) {
+ 936 LOG(ERROR) <<
"Could not parse AACAudioSpecificconfig";
+
+
+ 939 audio_stream_info->set_sampling_frequency(aac_config.frequency());
+ 940 audio_stream_info->set_codec_string(
+
+ 942 kCodecAAC, aac_config.audio_object_type()));
+
+
+
+
+
+
+
+ 950 if (!is_initialized_) {
+ 951 bool all_streams_have_config =
true;
+
+ 953 for (uint32_t i = 0; i < stream_infos_.size(); i++) {
+ 954 if (stream_infos_[i]->codec_string().empty()) {
+ 955 all_streams_have_config =
false;
+
+
+
+ 959 if (all_streams_have_config) {
+ 960 init_cb_.Run(stream_infos_);
+ 961 is_initialized_ =
true;
+
+
+
+ 965 DCHECK_GT(media_sample_->data_size(), 0UL);
+ 966 std::string key = base::UintToString(current_program_id_).append(
":")
+ 967 .append(base::UintToString(prev_pes_stream_id_));
+ 968 std::map<std::string, uint32_t>::iterator it =
+ 969 program_demux_stream_map_.find(key);
+ 970 if (it == program_demux_stream_map_.end()) {
+
+
+
+
+ 975 DemuxStreamIdMediaSample demux_stream_media_sample;
+ 976 demux_stream_media_sample.parsed_audio_or_video_stream_id =
+
+ 978 demux_stream_media_sample.demux_stream_id = (*it).second;
+ 979 demux_stream_media_sample.media_sample = media_sample_;
+
+ 981 if (!is_initialized_) {
+ 982 media_sample_queue_.push_back(demux_stream_media_sample);
+
+
+ 985 while (!media_sample_queue_.empty()) {
+ 986 if (!EmitPendingSamples())
+
+
+
+ 990 if (!EmitSample(prev_pes_stream_id_, (*it).second, media_sample_,
false))
+
+
+
+
+
+ 996 bool WvmMediaParser::EmitSample(uint32_t parsed_audio_or_video_stream_id,
+
+ 998 scoped_refptr<MediaSample>& new_sample,
+
+
+
+ 1002 if ((parsed_audio_or_video_stream_id & kPesStreamIdVideoMask) ==
+ 1003 kPesStreamIdVideo) {
+ 1004 new_sample->set_duration(prev_media_sample_data_.video_sample_duration);
+ 1005 }
else if ((parsed_audio_or_video_stream_id & kPesStreamIdAudioMask) ==
+ 1006 kPesStreamIdAudio) {
+ 1007 new_sample->set_duration(prev_media_sample_data_.audio_sample_duration);
+
+ 1009 if (!new_sample_cb_.Run(stream_id, new_sample)) {
+ 1010 LOG(ERROR) <<
"Failed to process the last sample.";
+
+
+
+
+
+
+
+ 1018 if ((parsed_audio_or_video_stream_id & kPesStreamIdVideoMask) ==
+ 1019 kPesStreamIdVideo) {
+ 1020 if (prev_media_sample_data_.video_sample == NULL) {
+ 1021 prev_media_sample_data_.video_sample = new_sample;
+ 1022 prev_media_sample_data_.video_stream_id = stream_id;
+
+
+ 1025 prev_media_sample_data_.video_sample->set_duration(
+ 1026 new_sample->dts() - prev_media_sample_data_.video_sample->dts());
+ 1027 prev_media_sample_data_.video_sample_duration =
+ 1028 prev_media_sample_data_.video_sample->duration();
+ 1029 if (!new_sample_cb_.Run(prev_media_sample_data_.video_stream_id,
+ 1030 prev_media_sample_data_.video_sample)) {
+ 1031 LOG(ERROR) <<
"Failed to process the video sample.";
+
+
+ 1034 prev_media_sample_data_.video_sample = new_sample;
+ 1035 prev_media_sample_data_.video_stream_id = stream_id;
+ 1036 }
else if ((parsed_audio_or_video_stream_id & kPesStreamIdAudioMask) ==
+ 1037 kPesStreamIdAudio) {
+ 1038 if (prev_media_sample_data_.audio_sample == NULL) {
+ 1039 prev_media_sample_data_.audio_sample = new_sample;
+ 1040 prev_media_sample_data_.audio_stream_id = stream_id;
+
+
+ 1043 prev_media_sample_data_.audio_sample->set_duration(
+ 1044 new_sample->dts() - prev_media_sample_data_.audio_sample->dts());
+ 1045 prev_media_sample_data_.audio_sample_duration =
+ 1046 prev_media_sample_data_.audio_sample->duration();
+ 1047 if (!new_sample_cb_.Run(prev_media_sample_data_.audio_stream_id,
+ 1048 prev_media_sample_data_.audio_sample)) {
+ 1049 LOG(ERROR) <<
"Failed to process the audio sample.";
+
+
+ 1052 prev_media_sample_data_.audio_sample = new_sample;
+ 1053 prev_media_sample_data_.audio_stream_id = stream_id;
+
+
+
+
+ 1058 bool WvmMediaParser::GetAssetKey(
const uint32_t asset_id,
+ 1059 EncryptionKey* encryption_key) {
+ 1060 DCHECK(decryption_key_source_);
+ 1061 Status status = decryption_key_source_->FetchKeys(asset_id);
+
+ 1063 LOG(ERROR) <<
"Fetch Key(s) failed for AssetID = " << asset_id
+ 1064 <<
", error = " << status;
+
+
+
+ 1068 status = decryption_key_source_->GetKey(KeySource::TRACK_TYPE_HD,
+
+
+ 1071 LOG(ERROR) <<
"Fetch Key(s) failed for AssetID = " << asset_id
+ 1072 <<
", error = " << status;
+
+
+
+
+
+
+ 1079 bool WvmMediaParser::ProcessEcm() {
+
+ 1081 if (!decryption_key_source_)
+
+
+ 1084 if (current_program_id_ > 0) {
+
+
+ 1087 if (ecm_.size() != kEcmSizeBytes) {
+ 1088 LOG(ERROR) <<
"Unexpected ECM size = " << ecm_.size()
+ 1089 <<
", expected size = " << kEcmSizeBytes;
+
+
+ 1092 const uint8_t* ecm_data = ecm_.data();
+
+ 1094 ecm_data +=
sizeof(uint32_t);
+ 1095 ecm_data +=
sizeof(uint32_t);
+ 1096 ecm_data +=
sizeof(uint32_t);
+ 1097 uint32_t asset_id = ntohlFromBuffer(ecm_data);
+ 1098 if (asset_id == 0) {
+ 1099 LOG(ERROR) <<
"AssetID in ECM is not valid.";
+
+
+ 1102 ecm_data +=
sizeof(uint32_t);
+ 1103 EncryptionKey encryption_key;
+ 1104 if (!GetAssetKey(asset_id, &encryption_key)) {
+
+
+ 1107 if (encryption_key.key.size() < kAssetKeySizeBytes) {
+ 1108 LOG(ERROR) <<
"Asset Key size of " << encryption_key.key.size()
+ 1109 <<
" for AssetID = " << asset_id
+ 1110 <<
" is less than minimum asset key size.";
+
+
+
+
+
+ 1116 std::vector<uint8_t> asset_key(
+ 1117 encryption_key.key.begin(),
+ 1118 encryption_key.key.begin() + kAssetKeySizeBytes);
+
+ 1120 std::vector<uint8_t> zero_iv(kInitializationVectorSizeBytes, 0);
+ 1121 AesCbcDecryptor asset_decryptor(kCtsPadding, AesCryptor::kUseConstantIv);
+ 1122 if (!asset_decryptor.InitializeWithIv(asset_key, zero_iv)) {
+ 1123 LOG(ERROR) <<
"Failed to initialize asset_decryptor.";
+
+
+
+ 1127 const size_t content_key_buffer_size =
+ 1128 kEcmFlagsSizeBytes + kEcmContentKeySizeBytes +
+ 1129 kEcmPaddingSizeBytes;
+ 1130 std::vector<uint8_t> content_key_buffer(content_key_buffer_size);
+ 1131 CHECK(asset_decryptor.Crypt(ecm_data, content_key_buffer_size,
+ 1132 content_key_buffer.data()));
+
+ 1134 std::vector<uint8_t> decrypted_content_key_vec(
+ 1135 content_key_buffer.begin() + 4,
+ 1136 content_key_buffer.begin() + 20);
+ 1137 scoped_ptr<AesCbcDecryptor> content_decryptor(
+ 1138 new AesCbcDecryptor(kCtsPadding, AesCryptor::kUseConstantIv));
+ 1139 if (!content_decryptor->InitializeWithIv(decrypted_content_key_vec,
+
+ 1141 LOG(ERROR) <<
"Failed to initialize content decryptor.";
+
+
+
+ 1145 content_decryptor_ = content_decryptor.Pass();
+
+
+
+ 1149 DemuxStreamIdMediaSample::DemuxStreamIdMediaSample() :
+
+ 1151 parsed_audio_or_video_stream_id(0) {}
- 1153 PrevSampleData::PrevSampleData() {
-
-
-
- 1157 PrevSampleData::~PrevSampleData() {}
+ 1153 DemuxStreamIdMediaSample::~DemuxStreamIdMediaSample() {}
+
+ 1155 PrevSampleData::PrevSampleData() {
+
+
- 1159 void PrevSampleData::Reset() {
- 1160 audio_sample = NULL;
- 1161 video_sample = NULL;
- 1162 audio_stream_id = 0;
- 1163 video_stream_id = 0;
- 1164 audio_sample_duration = 0;
- 1165 video_sample_duration = 0;
-
-
-
-
-
-
+ 1159 PrevSampleData::~PrevSampleData() {}
+
+ 1161 void PrevSampleData::Reset() {
+ 1162 audio_sample = NULL;
+ 1163 video_sample = NULL;
+ 1164 audio_stream_id = 0;
+ 1165 video_stream_id = 0;
+ 1166 audio_sample_duration = 0;
+ 1167 video_sample_duration = 0;
+
+
+
+
+
+
diff --git a/docs/dd/d3b/mp4_2segmenter_8h_source.html b/docs/dd/d3b/mp4_2segmenter_8h_source.html
index f37f26a2d6..b4c71b28f2 100644
--- a/docs/dd/d3b/mp4_2segmenter_8h_source.html
+++ b/docs/dd/d3b/mp4_2segmenter_8h_source.html
@@ -221,7 +221,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d3f/structshaka_1_1media_1_1mp4_1_1SyncSample.html b/docs/dd/d3f/structshaka_1_1media_1_1mp4_1_1SyncSample.html
index df9dd864e0..821c25774c 100644
--- a/docs/dd/d3f/structshaka_1_1media_1_1mp4_1_1SyncSample.html
+++ b/docs/dd/d3f/structshaka_1_1media_1_1mp4_1_1SyncSample.html
@@ -182,7 +182,7 @@ Additional Inherited Members
diff --git a/docs/dd/d42/encryptor_8h_source.html b/docs/dd/d42/encryptor_8h_source.html
index c0b2a0e51c..a24a68bf5e 100644
--- a/docs/dd/d42/encryptor_8h_source.html
+++ b/docs/dd/d42/encryptor_8h_source.html
@@ -100,58 +100,65 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
11 #include "packager/base/memory/scoped_ptr.h"
12 #include "packager/media/base/key_source.h"
13 #include "packager/media/base/status.h"
- 14 #include "packager/media/event/muxer_listener.h"
- 15 #include "packager/third_party/libwebm/src/mkvmuxer.hpp"
-
-
-
-
- 20 class AesCtrEncryptor;
-
-
-
+ 14 #include "packager/media/base/stream_info.h"
+ 15 #include "packager/media/codecs/vpx_parser.h"
+ 16 #include "packager/media/event/muxer_listener.h"
+ 17 #include "packager/third_party/libwebm/src/mkvmuxer.hpp"
+
+
+
+
+ 22 class AesCtrEncryptor;
+
-
-
-
-
-
-
- 35 KeySource::TrackType track_type,
-
-
-
-
-
-
-
-
-
-
- 52 KeySource::TrackType track_type,
-
-
-
- 56 scoped_ptr<EncryptionKey> key_;
- 57 scoped_ptr<AesCtrEncryptor> encryptor_;
-
-
-
-
-
-
- 64 #endif // MEDIA_FORMATS_WEBM_ENCRYPTOR_H_
-
-
-
-
+
+
+
+
+
+
+
+
+ 37 KeySource::TrackType track_type,
+
+
+ 40 bool webm_subsample_encryption);
+
+
+
+
+
+
+
+
+
+ 56 KeySource::TrackType track_type,
+
+
+ 59 bool webm_subsample_encryption);
+
+
+ 62 scoped_ptr<EncryptionKey> key_;
+ 63 scoped_ptr<AesCtrEncryptor> encryptor_;
+ 64 scoped_ptr<VPxParser> vpx_parser_;
+
+
+
+
+
+
+ 71 #endif // MEDIA_FORMATS_WEBM_ENCRYPTOR_H_
+
+
+
+
diff --git a/docs/dd/d46/webm__parser_8h_source.html b/docs/dd/d46/webm__parser_8h_source.html
index 2517146c99..6ea32ffdd6 100644
--- a/docs/dd/d46/webm__parser_8h_source.html
+++ b/docs/dd/d46/webm__parser_8h_source.html
@@ -227,7 +227,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d4d/structshaka_1_1media_1_1mp4_1_1MovieFragment-members.html b/docs/dd/d4d/structshaka_1_1media_1_1mp4_1_1MovieFragment-members.html
index 7eab2c9ca8..c55f074560 100644
--- a/docs/dd/d4d/structshaka_1_1media_1_1mp4_1_1MovieFragment-members.html
+++ b/docs/dd/d4d/structshaka_1_1media_1_1mp4_1_1MovieFragment-members.html
@@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d53/structshaka_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample-members.html b/docs/dd/d53/structshaka_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample-members.html
index f4c634a83d..022239ef43 100644
--- a/docs/dd/d53/structshaka_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample-members.html
+++ b/docs/dd/d53/structshaka_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample-members.html
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d54/widevine__encryption__flags_8h_source.html b/docs/dd/d54/widevine__encryption__flags_8h_source.html
index e4a3fe2b67..1e85ca17b6 100644
--- a/docs/dd/d54/widevine__encryption__flags_8h_source.html
+++ b/docs/dd/d54/widevine__encryption__flags_8h_source.html
@@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d59/classshaka_1_1media_1_1mp2t_1_1EsParserH265-members.html b/docs/dd/d59/classshaka_1_1media_1_1mp2t_1_1EsParserH265-members.html
index b2ffa6ca6b..781092105f 100644
--- a/docs/dd/d59/classshaka_1_1media_1_1mp2t_1_1EsParserH265-members.html
+++ b/docs/dd/d59/classshaka_1_1media_1_1mp2t_1_1EsParserH265-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d59/structshaka_1_1media_1_1mp4_1_1SchemeInfo-members.html b/docs/dd/d59/structshaka_1_1media_1_1mp4_1_1SchemeInfo-members.html
index c3734eeca2..896c0cebc4 100644
--- a/docs/dd/d59/structshaka_1_1media_1_1mp4_1_1SchemeInfo-members.html
+++ b/docs/dd/d59/structshaka_1_1media_1_1mp4_1_1SchemeInfo-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d64/structshaka_1_1media_1_1mp4_1_1SyncSample-members.html b/docs/dd/d64/structshaka_1_1media_1_1mp4_1_1SyncSample-members.html
index fbbb93c3a9..1e8322124d 100644
--- a/docs/dd/d64/structshaka_1_1media_1_1mp4_1_1SyncSample-members.html
+++ b/docs/dd/d64/structshaka_1_1media_1_1mp4_1_1SyncSample-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d65/vp8__parser_8h_source.html b/docs/dd/d65/vp8__parser_8h_source.html
index e4c216522f..574b1d8722 100644
--- a/docs/dd/d65/vp8__parser_8h_source.html
+++ b/docs/dd/d65/vp8__parser_8h_source.html
@@ -136,7 +136,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d67/h264__byte__to__unit__stream__converter_8cc_source.html b/docs/dd/d67/h264__byte__to__unit__stream__converter_8cc_source.html
index 206df63bad..4921036a25 100644
--- a/docs/dd/d67/h264__byte__to__unit__stream__converter_8cc_source.html
+++ b/docs/dd/d67/h264__byte__to__unit__stream__converter_8cc_source.html
@@ -177,7 +177,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d6e/classshaka_1_1media_1_1H265VideoSliceHeaderParser-members.html b/docs/dd/d6e/classshaka_1_1media_1_1H265VideoSliceHeaderParser-members.html
index a453488f03..f33d9a58e8 100644
--- a/docs/dd/d6e/classshaka_1_1media_1_1H265VideoSliceHeaderParser-members.html
+++ b/docs/dd/d6e/classshaka_1_1media_1_1H265VideoSliceHeaderParser-members.html
@@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d71/structshaka_1_1media_1_1mp4_1_1PixelAspectRatio.html b/docs/dd/d71/structshaka_1_1media_1_1mp4_1_1PixelAspectRatio.html
index 886880eca7..e21e796005 100644
--- a/docs/dd/d71/structshaka_1_1media_1_1mp4_1_1PixelAspectRatio.html
+++ b/docs/dd/d71/structshaka_1_1media_1_1mp4_1_1PixelAspectRatio.html
@@ -176,7 +176,7 @@ Additional Inherited Members
diff --git a/docs/dd/d7a/classshaka_1_1media_1_1MuxerListener.html b/docs/dd/d7a/classshaka_1_1media_1_1MuxerListener.html
index 5cb5c4539f..ce43eed010 100644
--- a/docs/dd/d7a/classshaka_1_1media_1_1MuxerListener.html
+++ b/docs/dd/d7a/classshaka_1_1media_1_1MuxerListener.html
@@ -469,7 +469,7 @@ Public Member Functions
diff --git a/docs/dd/d7c/classshaka_1_1media_1_1IoCache.html b/docs/dd/d7c/classshaka_1_1media_1_1IoCache.html
index 783e69d191..4b5b1798b8 100644
--- a/docs/dd/d7c/classshaka_1_1media_1_1IoCache.html
+++ b/docs/dd/d7c/classshaka_1_1media_1_1IoCache.html
@@ -297,7 +297,7 @@ void
diff --git a/docs/dd/d80/media__sample_8h_source.html b/docs/dd/d80/media__sample_8h_source.html
index 9f39c39e0c..0558b2f683 100644
--- a/docs/dd/d80/media__sample_8h_source.html
+++ b/docs/dd/d80/media__sample_8h_source.html
@@ -260,7 +260,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d87/memory__file_8cc_source.html b/docs/dd/d87/memory__file_8cc_source.html
index 03640c2749..4186bf169d 100644
--- a/docs/dd/d87/memory__file_8cc_source.html
+++ b/docs/dd/d87/memory__file_8cc_source.html
@@ -241,7 +241,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d88/pes__packet__generator_8h_source.html b/docs/dd/d88/pes__packet__generator_8h_source.html
index b9edcf8cd8..c645a80e59 100644
--- a/docs/dd/d88/pes__packet__generator_8h_source.html
+++ b/docs/dd/d88/pes__packet__generator_8h_source.html
@@ -164,7 +164,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
98 #endif // PACKAGER_MEDIA_FORMATS_MP2T_PES_PACKET_GENERATOR_H_
-
+
@@ -174,7 +174,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d8c/file__test__util_8h_source.html b/docs/dd/d8c/file__test__util_8h_source.html
index e9f2972ed6..4bf91b2569 100644
--- a/docs/dd/d8c/file__test__util_8h_source.html
+++ b/docs/dd/d8c/file__test__util_8h_source.html
@@ -119,7 +119,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d8d/structshaka_1_1media_1_1mp4_1_1SegmentIndex-members.html b/docs/dd/d8d/structshaka_1_1media_1_1mp4_1_1SegmentIndex-members.html
index 42eb06a92f..8547e38016 100644
--- a/docs/dd/d8d/structshaka_1_1media_1_1mp4_1_1SegmentIndex-members.html
+++ b/docs/dd/d8d/structshaka_1_1media_1_1mp4_1_1SegmentIndex-members.html
@@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d98/ts__packet__writer__util_8h_source.html b/docs/dd/d98/ts__packet__writer__util_8h_source.html
index 57a973cca6..87c6db9dd1 100644
--- a/docs/dd/d98/ts__packet__writer__util_8h_source.html
+++ b/docs/dd/d98/ts__packet__writer__util_8h_source.html
@@ -127,7 +127,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d9a/audio__timestamp__helper_8h_source.html b/docs/dd/d9a/audio__timestamp__helper_8h_source.html
index eabc86176b..4e3b538e92 100644
--- a/docs/dd/d9a/audio__timestamp__helper_8h_source.html
+++ b/docs/dd/d9a/audio__timestamp__helper_8h_source.html
@@ -167,7 +167,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d9b/structshaka_1_1media_1_1mp4_1_1SegmentReference.html b/docs/dd/d9b/structshaka_1_1media_1_1mp4_1_1SegmentReference.html
index 0c829d3e83..41a57e2e08 100644
--- a/docs/dd/d9b/structshaka_1_1media_1_1mp4_1_1SegmentReference.html
+++ b/docs/dd/d9b/structshaka_1_1media_1_1mp4_1_1SegmentReference.html
@@ -143,7 +143,7 @@ uint64_t | earliest_presenta
diff --git a/docs/dd/d9d/classshaka_1_1MpdNotifier-members.html b/docs/dd/d9d/classshaka_1_1MpdNotifier-members.html
index cfccb13967..fc389704c9 100644
--- a/docs/dd/d9d/classshaka_1_1MpdNotifier-members.html
+++ b/docs/dd/d9d/classshaka_1_1MpdNotifier-members.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/da4/structshaka_1_1xml_1_1XmlDeleter.html b/docs/dd/da4/structshaka_1_1xml_1_1XmlDeleter.html
index f32ab6be78..6fefee26f3 100644
--- a/docs/dd/da4/structshaka_1_1xml_1_1XmlDeleter.html
+++ b/docs/dd/da4/structshaka_1_1xml_1_1XmlDeleter.html
@@ -127,7 +127,7 @@ void | operator() (xmlCh
diff --git a/docs/dd/da5/classshaka_1_1media_1_1webm_1_1TwoPassSingleSegmentSegmenter.html b/docs/dd/da5/classshaka_1_1media_1_1webm_1_1TwoPassSingleSegmentSegmenter.html
index 7cef4c7351..4777d0acdb 100644
--- a/docs/dd/da5/classshaka_1_1media_1_1webm_1_1TwoPassSingleSegmentSegmenter.html
+++ b/docs/dd/da5/classshaka_1_1media_1_1webm_1_1TwoPassSingleSegmentSegmenter.html
@@ -217,7 +217,7 @@ double | cluster_length_sec<
diff --git a/docs/dd/daa/vod__media__info__dump__muxer__listener_8h_source.html b/docs/dd/daa/vod__media__info__dump__muxer__listener_8h_source.html
index 796e13f245..99ceac5394 100644
--- a/docs/dd/daa/vod__media__info__dump__muxer__listener_8h_source.html
+++ b/docs/dd/daa/vod__media__info__dump__muxer__listener_8h_source.html
@@ -167,7 +167,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
87 #endif // MEDIA_EVENT_VOD_MEDIA_INFO_DUMP_MUXER_LISTENER_H_
-
+
@@ -181,7 +181,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/dab/webm__muxer_8h_source.html b/docs/dd/dab/webm__muxer_8h_source.html
index 8e069d632d..85949f2450 100644
--- a/docs/dd/dab/webm__muxer_8h_source.html
+++ b/docs/dd/dab/webm__muxer_8h_source.html
@@ -138,7 +138,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/dae/structshaka_1_1media_1_1mp4_1_1WebVTTSourceLabelBox-members.html b/docs/dd/dae/structshaka_1_1media_1_1mp4_1_1WebVTTSourceLabelBox-members.html
index 1a8c6354ca..bf9a5d05dd 100644
--- a/docs/dd/dae/structshaka_1_1media_1_1mp4_1_1WebVTTSourceLabelBox-members.html
+++ b/docs/dd/dae/structshaka_1_1media_1_1mp4_1_1WebVTTSourceLabelBox-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/db0/classshaka_1_1media_1_1WebMAudioClient-members.html b/docs/dd/db0/classshaka_1_1media_1_1WebMAudioClient-members.html
index c47ac9e129..67a6c542bb 100644
--- a/docs/dd/db0/classshaka_1_1media_1_1WebMAudioClient-members.html
+++ b/docs/dd/db0/classshaka_1_1media_1_1WebMAudioClient-members.html
@@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/db3/structshaka_1_1media_1_1mp4_1_1SampleTable-members.html b/docs/dd/db3/structshaka_1_1media_1_1mp4_1_1SampleTable-members.html
index 5bb1dfc230..e301fb7f34 100644
--- a/docs/dd/db3/structshaka_1_1media_1_1mp4_1_1SampleTable-members.html
+++ b/docs/dd/db3/structshaka_1_1media_1_1mp4_1_1SampleTable-members.html
@@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/db9/classshaka_1_1xml_1_1RepresentationBaseXmlNode.html b/docs/dd/db9/classshaka_1_1xml_1_1RepresentationBaseXmlNode.html
index d4b430a88c..db141d1b4a 100644
--- a/docs/dd/db9/classshaka_1_1xml_1_1RepresentationBaseXmlNode.html
+++ b/docs/dd/db9/classshaka_1_1xml_1_1RepresentationBaseXmlNode.html
@@ -156,7 +156,7 @@ Protected Member Functions |
diff --git a/docs/dd/dbc/buffer__reader_8cc_source.html b/docs/dd/dbc/buffer__reader_8cc_source.html
index 58073e7dc8..55f3c65ba0 100644
--- a/docs/dd/dbc/buffer__reader_8cc_source.html
+++ b/docs/dd/dbc/buffer__reader_8cc_source.html
@@ -196,7 +196,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/dbd/structshaka_1_1media_1_1EncryptionKey.html b/docs/dd/dbd/structshaka_1_1media_1_1EncryptionKey.html
index 25521d1fcc..2e8e38e02b 100644
--- a/docs/dd/dbd/structshaka_1_1media_1_1EncryptionKey.html
+++ b/docs/dd/dbd/structshaka_1_1media_1_1EncryptionKey.html
@@ -120,7 +120,7 @@ std::vector< uint8_t >
diff --git a/docs/dd/dbd/structshaka_1_1media_1_1mp4_1_1TrackEncryption-members.html b/docs/dd/dbd/structshaka_1_1media_1_1mp4_1_1TrackEncryption-members.html
index 0a5a5d83ac..3389a5e153 100644
--- a/docs/dd/dbd/structshaka_1_1media_1_1mp4_1_1TrackEncryption-members.html
+++ b/docs/dd/dbd/structshaka_1_1media_1_1mp4_1_1TrackEncryption-members.html
@@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/dbf/webm__webvtt__parser_8h_source.html b/docs/dd/dbf/webm__webvtt__parser_8h_source.html
index d85fe5df06..b3111cb5bf 100644
--- a/docs/dd/dbf/webm__webvtt__parser_8h_source.html
+++ b/docs/dd/dbf/webm__webvtt__parser_8h_source.html
@@ -144,7 +144,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/dc1/structshaka_1_1media_1_1mp4_1_1FullBox.html b/docs/dd/dc1/structshaka_1_1media_1_1mp4_1_1FullBox.html
index 8726ec4e95..8726991c86 100644
--- a/docs/dd/dc1/structshaka_1_1media_1_1mp4_1_1FullBox.html
+++ b/docs/dd/dc1/structshaka_1_1media_1_1mp4_1_1FullBox.html
@@ -245,7 +245,7 @@ Protected Member Functions |
diff --git a/docs/dd/dc4/classshaka_1_1media_1_1ProducerConsumerQueue-members.html b/docs/dd/dc4/classshaka_1_1media_1_1ProducerConsumerQueue-members.html
index 91e4ed7fdd..97822ec54e 100644
--- a/docs/dd/dc4/classshaka_1_1media_1_1ProducerConsumerQueue-members.html
+++ b/docs/dd/dc4/classshaka_1_1media_1_1ProducerConsumerQueue-members.html
@@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/dc5/classshaka_1_1media_1_1webm_1_1Segmenter.html b/docs/dd/dc5/classshaka_1_1media_1_1webm_1_1Segmenter.html
index d35bd0a030..213269aa64 100644
--- a/docs/dd/dc5/classshaka_1_1media_1_1webm_1_1Segmenter.html
+++ b/docs/dd/dc5/classshaka_1_1media_1_1webm_1_1Segmenter.html
@@ -207,7 +207,7 @@ virtual Sta
- Returns
- OK on success, an error status otherwise.
-Definition at line 117 of file segmenter.cc.
+Definition at line 118 of file segmenter.cc.
@@ -226,7 +226,7 @@ virtual Sta
Finalize the segmenter.
- Returns
- OK on success, an error status otherwise.
-Definition at line 106 of file segmenter.cc.
+Definition at line 107 of file segmenter.cc.
@@ -253,7 +253,7 @@ virtual Sta
Converts the given time in ISO BMFF timescale to the current WebM timecode.
-
Definition at line 194 of file segmenter.cc.
+
Definition at line 195 of file segmenter.cc.
@@ -271,7 +271,7 @@ virtual Sta
- Returns
- The total length, in seconds, of segmented media files.
-
Definition at line 189 of file segmenter.cc.
+
Definition at line 190 of file segmenter.cc.
@@ -427,7 +427,7 @@ virtual Sta
diff --git a/docs/dd/dca/structshaka_1_1media_1_1mp4_1_1OriginalFormat-members.html b/docs/dd/dca/structshaka_1_1media_1_1mp4_1_1OriginalFormat-members.html
index 3273e44b3b..fe227de485 100644
--- a/docs/dd/dca/structshaka_1_1media_1_1mp4_1_1OriginalFormat-members.html
+++ b/docs/dd/dca/structshaka_1_1media_1_1mp4_1_1OriginalFormat-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/dce/structshaka_1_1media_1_1Cue.html b/docs/dd/dce/structshaka_1_1media_1_1Cue.html
index 4a6618e52a..2d09f0312f 100644
--- a/docs/dd/dce/structshaka_1_1media_1_1Cue.html
+++ b/docs/dd/dce/structshaka_1_1media_1_1Cue.html
@@ -125,7 +125,7 @@ std::vector< std::string > |
diff --git a/docs/dd/dd2/buffer__writer_8h_source.html b/docs/dd/dd2/buffer__writer_8h_source.html
index 4aa82eebb5..d68aa225e9 100644
--- a/docs/dd/dd2/buffer__writer_8h_source.html
+++ b/docs/dd/dd2/buffer__writer_8h_source.html
@@ -159,7 +159,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/dd3/buffer__writer_8cc_source.html b/docs/dd/dd3/buffer__writer_8cc_source.html
index 0c04f21896..c3fafecaf2 100644
--- a/docs/dd/dd3/buffer__writer_8cc_source.html
+++ b/docs/dd/dd3/buffer__writer_8cc_source.html
@@ -187,7 +187,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/dd6/classshaka_1_1media_1_1WebMVideoClient-members.html b/docs/dd/dd6/classshaka_1_1media_1_1WebMVideoClient-members.html
index 9321e6f885..734b80208e 100644
--- a/docs/dd/dd6/classshaka_1_1media_1_1WebMVideoClient-members.html
+++ b/docs/dd/dd6/classshaka_1_1media_1_1WebMVideoClient-members.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/dd8/mock__muxer__listener_8cc_source.html b/docs/dd/dd8/mock__muxer__listener_8cc_source.html
index 04031579de..9eb191f3ff 100644
--- a/docs/dd/dd8/mock__muxer__listener_8cc_source.html
+++ b/docs/dd/dd8/mock__muxer__listener_8cc_source.html
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/dd9/structshaka_1_1media_1_1mp4_1_1Box-members.html b/docs/dd/dd9/structshaka_1_1media_1_1mp4_1_1Box-members.html
index 855e7a6952..62cec14f64 100644
--- a/docs/dd/dd9/structshaka_1_1media_1_1mp4_1_1Box-members.html
+++ b/docs/dd/dd9/structshaka_1_1media_1_1mp4_1_1Box-members.html
@@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html b/docs/dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html
index cb38f3e8b8..75f2cc85df 100644
--- a/docs/dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html
+++ b/docs/dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html
@@ -150,7 +150,7 @@ virtual int64_t
diff --git a/docs/dd/de7/structshaka_1_1media_1_1H265Pps-members.html b/docs/dd/de7/structshaka_1_1media_1_1H265Pps-members.html
index fea0cdb4c1..a0cbb859b4 100644
--- a/docs/dd/de7/structshaka_1_1media_1_1H265Pps-members.html
+++ b/docs/dd/de7/structshaka_1_1media_1_1H265Pps-members.html
@@ -137,7 +137,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/de7/xml__node_8h_source.html b/docs/dd/de7/xml__node_8h_source.html
index 8611dd7fca..982752ef9f 100644
--- a/docs/dd/de7/xml__node_8h_source.html
+++ b/docs/dd/de7/xml__node_8h_source.html
@@ -230,7 +230,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/dee/box__definitions_8cc_source.html b/docs/dd/dee/box__definitions_8cc_source.html
index 09a1c8cbff..257ed74160 100644
--- a/docs/dd/dee/box__definitions_8cc_source.html
+++ b/docs/dd/dee/box__definitions_8cc_source.html
@@ -2944,7 +2944,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/df2/webm_2multi__segment__segmenter_8h_source.html b/docs/dd/df2/webm_2multi__segment__segmenter_8h_source.html
index 56704a4a90..b6ab6155b1 100644
--- a/docs/dd/df2/webm_2multi__segment__segmenter_8h_source.html
+++ b/docs/dd/df2/webm_2multi__segment__segmenter_8h_source.html
@@ -149,7 +149,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/df5/structshaka_1_1media_1_1mp4_1_1TrackFragmentRun.html b/docs/dd/df5/structshaka_1_1media_1_1mp4_1_1TrackFragmentRun.html
index 4c193b0ba5..f6e2fce356 100644
--- a/docs/dd/df5/structshaka_1_1media_1_1mp4_1_1TrackFragmentRun.html
+++ b/docs/dd/df5/structshaka_1_1media_1_1mp4_1_1TrackFragmentRun.html
@@ -212,7 +212,7 @@ Additional Inherited Members |
diff --git a/docs/dd/df6/structshaka_1_1media_1_1mp4_1_1Metadata.html b/docs/dd/df6/structshaka_1_1media_1_1mp4_1_1Metadata.html
index 0812f1d2c7..4ca32acec4 100644
--- a/docs/dd/df6/structshaka_1_1media_1_1mp4_1_1Metadata.html
+++ b/docs/dd/df6/structshaka_1_1media_1_1mp4_1_1Metadata.html
@@ -185,7 +185,7 @@ Additional Inherited Members
diff --git a/docs/de/d0f/local__file_8h_source.html b/docs/de/d0f/local__file_8h_source.html
index fe3c46431a..0a6c288c11 100644
--- a/docs/de/d0f/local__file_8h_source.html
+++ b/docs/de/d0f/local__file_8h_source.html
@@ -152,7 +152,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d12/container__names_8h_source.html b/docs/de/d12/container__names_8h_source.html
index bb64ee2abc..0967cf276c 100644
--- a/docs/de/d12/container__names_8h_source.html
+++ b/docs/de/d12/container__names_8h_source.html
@@ -159,7 +159,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d13/ts__writer_8cc_source.html b/docs/de/d13/ts__writer_8cc_source.html
index 4236344afa..012c0420f1 100644
--- a/docs/de/d13/ts__writer_8cc_source.html
+++ b/docs/de/d13/ts__writer_8cc_source.html
@@ -263,7 +263,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
174 if (stream_info.stream_type() == StreamType::kStreamVideo) {
- 177 if (video_stream_info.codec() != VideoCodec::kCodecH264) {
+ 177 if (video_stream_info.codec() != Codec::kCodecH264) {
178 LOG(ERROR) <<
"TsWriter cannot handle video codec "
179 << video_stream_info.codec() <<
" yet.";
@@ -273,7 +273,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
184 DCHECK_EQ(stream_type, StreamType::kStreamAudio);
- 187 if (audio_stream_info.codec() != AudioCodec::kCodecAAC) {
+ 187 if (audio_stream_info.codec() != Codec::kCodecAAC) {
188 LOG(ERROR) <<
"TsWriter cannot handle audio codec "
189 << audio_stream_info.codec() <<
" yet.";
@@ -345,7 +345,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
@@ -354,14 +354,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
-
+
+
diff --git a/docs/de/d15/media__stream_8cc_source.html b/docs/de/d15/media__stream_8cc_source.html
index c814e8cbd5..bc6f26620a 100644
--- a/docs/de/d15/media__stream_8cc_source.html
+++ b/docs/de/d15/media__stream_8cc_source.html
@@ -210,7 +210,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d16/classshaka_1_1media_1_1TextTrackConfig-members.html b/docs/de/d16/classshaka_1_1media_1_1TextTrackConfig-members.html
index cb820a53eb..a010549e78 100644
--- a/docs/de/d16/classshaka_1_1media_1_1TextTrackConfig-members.html
+++ b/docs/de/d16/classshaka_1_1media_1_1TextTrackConfig-members.html
@@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d17/cluster__builder_8cc_source.html b/docs/de/d17/cluster__builder_8cc_source.html
index fab7311273..5ef7d8ed12 100644
--- a/docs/de/d17/cluster__builder_8cc_source.html
+++ b/docs/de/d17/cluster__builder_8cc_source.html
@@ -330,7 +330,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d1a/classshaka_1_1media_1_1wvm_1_1WvmMediaParser-members.html b/docs/de/d1a/classshaka_1_1media_1_1wvm_1_1WvmMediaParser-members.html
index 444a5bf097..a287c88d9d 100644
--- a/docs/de/d1a/classshaka_1_1media_1_1wvm_1_1WvmMediaParser-members.html
+++ b/docs/de/d1a/classshaka_1_1media_1_1wvm_1_1WvmMediaParser-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d1e/mp4_2single__segment__segmenter_8cc_source.html b/docs/de/d1e/mp4_2single__segment__segmenter_8cc_source.html
index f8e89ebbde..8a050b152a 100644
--- a/docs/de/d1e/mp4_2single__segment__segmenter_8cc_source.html
+++ b/docs/de/d1e/mp4_2single__segment__segmenter_8cc_source.html
@@ -331,12 +331,12 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
diff --git a/docs/de/d22/aes__pattern__cryptor_8cc_source.html b/docs/de/d22/aes__pattern__cryptor_8cc_source.html
index 47587b906b..cc14e12418 100644
--- a/docs/de/d22/aes__pattern__cryptor_8cc_source.html
+++ b/docs/de/d22/aes__pattern__cryptor_8cc_source.html
@@ -198,7 +198,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d27/classshaka_1_1media_1_1mp2t_1_1H264ProgramMapTableWriter.html b/docs/de/d27/classshaka_1_1media_1_1mp2t_1_1H264ProgramMapTableWriter.html
index 05ab208037..016a6e6cbf 100644
--- a/docs/de/d27/classshaka_1_1media_1_1mp2t_1_1H264ProgramMapTableWriter.html
+++ b/docs/de/d27/classshaka_1_1media_1_1mp2t_1_1H264ProgramMapTableWriter.html
@@ -140,7 +140,7 @@ static const uint8_t kElem
diff --git a/docs/de/d29/structshaka_1_1media_1_1mp4_1_1TrackExtends.html b/docs/de/d29/structshaka_1_1media_1_1mp4_1_1TrackExtends.html
index 913706ad46..86f3fe93e4 100644
--- a/docs/de/d29/structshaka_1_1media_1_1mp4_1_1TrackExtends.html
+++ b/docs/de/d29/structshaka_1_1media_1_1mp4_1_1TrackExtends.html
@@ -194,7 +194,7 @@ Additional Inherited Members |
diff --git a/docs/de/d33/classshaka_1_1media_1_1WebMTracksParser-members.html b/docs/de/d33/classshaka_1_1media_1_1WebMTracksParser-members.html
index 247489cd6e..e874908d48 100644
--- a/docs/de/d33/classshaka_1_1media_1_1WebMTracksParser-members.html
+++ b/docs/de/d33/classshaka_1_1media_1_1WebMTracksParser-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d33/structshaka_1_1media_1_1H265Pps.html b/docs/de/d33/structshaka_1_1media_1_1H265Pps.html
index de32c2fc03..1d4dbf2174 100644
--- a/docs/de/d33/structshaka_1_1media_1_1H265Pps.html
+++ b/docs/de/d33/structshaka_1_1media_1_1H265Pps.html
@@ -224,7 +224,7 @@ bool chroma_qp_offset_list
diff --git a/docs/de/d34/offset__byte__queue_8h_source.html b/docs/de/d34/offset__byte__queue_8h_source.html
index b50340a98b..e15371ec77 100644
--- a/docs/de/d34/offset__byte__queue_8h_source.html
+++ b/docs/de/d34/offset__byte__queue_8h_source.html
@@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d3c/h26x__byte__to__unit__stream__converter_8cc_source.html b/docs/de/d3c/h26x__byte__to__unit__stream__converter_8cc_source.html
index f59a4c4df4..607943261f 100644
--- a/docs/de/d3c/h26x__byte__to__unit__stream__converter_8cc_source.html
+++ b/docs/de/d3c/h26x__byte__to__unit__stream__converter_8cc_source.html
@@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d3c/macros_8h_source.html b/docs/de/d3c/macros_8h_source.html
index 01a373d45c..5b54e84c8f 100644
--- a/docs/de/d3c/macros_8h_source.html
+++ b/docs/de/d3c/macros_8h_source.html
@@ -144,7 +144,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d3e/buffer__reader_8h_source.html b/docs/de/d3e/buffer__reader_8h_source.html
index d35402a19e..5c791731d4 100644
--- a/docs/de/d3e/buffer__reader_8h_source.html
+++ b/docs/de/d3e/buffer__reader_8h_source.html
@@ -163,7 +163,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d3e/classshaka_1_1media_1_1H264Parser-members.html b/docs/de/d3e/classshaka_1_1media_1_1H264Parser-members.html
index a9ef905e9e..7156183dee 100644
--- a/docs/de/d3e/classshaka_1_1media_1_1H264Parser-members.html
+++ b/docs/de/d3e/classshaka_1_1media_1_1H264Parser-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d43/classshaka_1_1media_1_1mp2t_1_1PesPacket-members.html b/docs/de/d43/classshaka_1_1media_1_1mp2t_1_1PesPacket-members.html
index 34aa68954e..bb5fa02684 100644
--- a/docs/de/d43/classshaka_1_1media_1_1mp2t_1_1PesPacket-members.html
+++ b/docs/de/d43/classshaka_1_1media_1_1mp2t_1_1PesPacket-members.html
@@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d49/classshaka_1_1media_1_1DecryptConfig.html b/docs/de/d49/classshaka_1_1media_1_1DecryptConfig.html
index de4b0d1f28..8a4f27cb63 100644
--- a/docs/de/d49/classshaka_1_1media_1_1DecryptConfig.html
+++ b/docs/de/d49/classshaka_1_1media_1_1DecryptConfig.html
@@ -249,7 +249,7 @@ static const size_t |
diff --git a/docs/de/d4a/muxer__listener__internal_8h_source.html b/docs/de/d4a/muxer__listener__internal_8h_source.html
index 5734449e40..1291acc49d 100644
--- a/docs/de/d4a/muxer__listener__internal_8h_source.html
+++ b/docs/de/d4a/muxer__listener__internal_8h_source.html
@@ -145,7 +145,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d52/classshaka_1_1Representation.html b/docs/de/d52/classshaka_1_1Representation.html
index 22697acbf2..661b59c770 100644
--- a/docs/de/d52/classshaka_1_1Representation.html
+++ b/docs/de/d52/classshaka_1_1Representation.html
@@ -456,7 +456,7 @@ template<MpdBuilder::MpdType type> |
diff --git a/docs/de/d55/structshaka_1_1media_1_1mp4_1_1Language-members.html b/docs/de/d55/structshaka_1_1media_1_1mp4_1_1Language-members.html
index 12d1b51cdf..bc35853eac 100644
--- a/docs/de/d55/structshaka_1_1media_1_1mp4_1_1Language-members.html
+++ b/docs/de/d55/structshaka_1_1media_1_1mp4_1_1Language-members.html
@@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d5b/adts__header_8cc_source.html b/docs/de/d5b/adts__header_8cc_source.html
index 41cbf7bbab..480aa21bd2 100644
--- a/docs/de/d5b/adts__header_8cc_source.html
+++ b/docs/de/d5b/adts__header_8cc_source.html
@@ -207,7 +207,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d5c/mpd__flags_8h_source.html b/docs/de/d5c/mpd__flags_8h_source.html
index 522fba352b..0736984960 100644
--- a/docs/de/d5c/mpd__flags_8h_source.html
+++ b/docs/de/d5c/mpd__flags_8h_source.html
@@ -114,7 +114,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d60/classshaka_1_1media_1_1mp2t_1_1ProgramMapTableWriter-members.html b/docs/de/d60/classshaka_1_1media_1_1mp2t_1_1ProgramMapTableWriter-members.html
index 651dd5b84d..2c69cb139a 100644
--- a/docs/de/d60/classshaka_1_1media_1_1mp2t_1_1ProgramMapTableWriter-members.html
+++ b/docs/de/d60/classshaka_1_1media_1_1mp2t_1_1ProgramMapTableWriter-members.html
@@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html b/docs/de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html
index a5eb721ea0..4a586cf6ba 100644
--- a/docs/de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html
+++ b/docs/de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html
@@ -257,7 +257,7 @@ void
diff --git a/docs/de/d6c/structshaka_1_1media_1_1mp4_1_1SampleToGroupEntry-members.html b/docs/de/d6c/structshaka_1_1media_1_1mp4_1_1SampleToGroupEntry-members.html
index 56aeca9668..02b7c18f2a 100644
--- a/docs/de/d6c/structshaka_1_1media_1_1mp4_1_1SampleToGroupEntry-members.html
+++ b/docs/de/d6c/structshaka_1_1media_1_1mp4_1_1SampleToGroupEntry-members.html
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d6e/language__utils_8h_source.html b/docs/de/d6e/language__utils_8h_source.html
index ee39d2657f..d035420817 100644
--- a/docs/de/d6e/language__utils_8h_source.html
+++ b/docs/de/d6e/language__utils_8h_source.html
@@ -114,7 +114,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d70/http__key__fetcher_8cc_source.html b/docs/de/d70/http__key__fetcher_8cc_source.html
index cf82ad2b28..a643f05da7 100644
--- a/docs/de/d70/http__key__fetcher_8cc_source.html
+++ b/docs/de/d70/http__key__fetcher_8cc_source.html
@@ -238,7 +238,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d77/webm__content__encodings__client_8cc_source.html b/docs/de/d77/webm__content__encodings__client_8cc_source.html
index 7d566f7723..48d19a638c 100644
--- a/docs/de/d77/webm__content__encodings__client_8cc_source.html
+++ b/docs/de/d77/webm__content__encodings__client_8cc_source.html
@@ -361,7 +361,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d7b/mp4__media__parser_8h_source.html b/docs/de/d7b/mp4__media__parser_8h_source.html
index 74305652da..fae0d8aa20 100644
--- a/docs/de/d7b/mp4__media__parser_8h_source.html
+++ b/docs/de/d7b/mp4__media__parser_8h_source.html
@@ -194,19 +194,19 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
114 #endif // MEDIA_FORMATS_MP4_MP4_MEDIA_PARSER_H_
-
-
+
+
-
+
-
+
diff --git a/docs/de/d7e/classshaka_1_1media_1_1mp2t_1_1TsSectionPsi.html b/docs/de/d7e/classshaka_1_1media_1_1mp2t_1_1TsSectionPsi.html
index 9f9e9964bf..6eca31a2a1 100644
--- a/docs/de/d7e/classshaka_1_1media_1_1mp2t_1_1TsSectionPsi.html
+++ b/docs/de/d7e/classshaka_1_1media_1_1mp2t_1_1TsSectionPsi.html
@@ -147,7 +147,7 @@ Additional Inherited Members |
diff --git a/docs/de/d83/box__definitions__comparison_8h_source.html b/docs/de/d83/box__definitions__comparison_8h_source.html
index 5e4bd69fb5..18fa953fa8 100644
--- a/docs/de/d83/box__definitions__comparison_8h_source.html
+++ b/docs/de/d83/box__definitions__comparison_8h_source.html
@@ -592,7 +592,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d83/classshaka_1_1media_1_1LocalFile-members.html b/docs/de/d83/classshaka_1_1media_1_1LocalFile-members.html
index c6a55d3a3f..4b973d4e8b 100644
--- a/docs/de/d83/classshaka_1_1media_1_1LocalFile-members.html
+++ b/docs/de/d83/classshaka_1_1media_1_1LocalFile-members.html
@@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d87/structshaka_1_1media_1_1wvm_1_1PrevSampleData-members.html b/docs/de/d87/structshaka_1_1media_1_1wvm_1_1PrevSampleData-members.html
index 48b3d0b356..c1269b2d48 100644
--- a/docs/de/d87/structshaka_1_1media_1_1wvm_1_1PrevSampleData-members.html
+++ b/docs/de/d87/structshaka_1_1media_1_1wvm_1_1PrevSampleData-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d8d/structshaka_1_1media_1_1mp4_1_1MovieFragmentHeader-members.html b/docs/de/d8d/structshaka_1_1media_1_1mp4_1_1MovieFragmentHeader-members.html
index ad606e440a..7c7bd94060 100644
--- a/docs/de/d8d/structshaka_1_1media_1_1mp4_1_1MovieFragmentHeader-members.html
+++ b/docs/de/d8d/structshaka_1_1media_1_1mp4_1_1MovieFragmentHeader-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/d93/classshaka_1_1media_1_1VP8Parser-members.html b/docs/de/d93/classshaka_1_1media_1_1VP8Parser-members.html
index 64bec7120a..381f98a34e 100644
--- a/docs/de/d93/classshaka_1_1media_1_1VP8Parser-members.html
+++ b/docs/de/d93/classshaka_1_1media_1_1VP8Parser-members.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/da9/structshaka_1_1Element.html b/docs/de/da9/structshaka_1_1Element.html
index f7ef365d45..f2b0cb3a04 100644
--- a/docs/de/da9/structshaka_1_1Element.html
+++ b/docs/de/da9/structshaka_1_1Element.html
@@ -120,7 +120,7 @@ std::vector< El
diff --git a/docs/de/dab/es__parser__h26x_8cc_source.html b/docs/de/dab/es__parser__h26x_8cc_source.html
index e4cce4b9e3..f58ce7e581 100644
--- a/docs/de/dab/es__parser__h26x_8cc_source.html
+++ b/docs/de/dab/es__parser__h26x_8cc_source.html
@@ -415,7 +415,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/dad/validate__flag_8cc_source.html b/docs/de/dad/validate__flag_8cc_source.html
index b847a242f0..8d82b610a4 100644
--- a/docs/de/dad/validate__flag_8cc_source.html
+++ b/docs/de/dad/validate__flag_8cc_source.html
@@ -132,7 +132,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/db3/classshaka_1_1media_1_1TextTrackConfig.html b/docs/de/db3/classshaka_1_1media_1_1TextTrackConfig.html
index da03e64fd4..9a7c1797fd 100644
--- a/docs/de/db3/classshaka_1_1media_1_1TextTrackConfig.html
+++ b/docs/de/db3/classshaka_1_1media_1_1TextTrackConfig.html
@@ -125,7 +125,7 @@ const std::string & id
diff --git a/docs/de/db4/classshaka_1_1media_1_1H26xBitReader.html b/docs/de/db4/classshaka_1_1media_1_1H26xBitReader.html
index f16f14cd6b..9f5195c371 100644
--- a/docs/de/db4/classshaka_1_1media_1_1H26xBitReader.html
+++ b/docs/de/db4/classshaka_1_1media_1_1H26xBitReader.html
@@ -134,7 +134,7 @@ size_t | NumEmulationPrevent
diff --git a/docs/de/dc1/demuxer_8h_source.html b/docs/de/dc1/demuxer_8h_source.html
index 39e6af8171..19262373ab 100644
--- a/docs/de/dc1/demuxer_8h_source.html
+++ b/docs/de/dc1/demuxer_8h_source.html
@@ -187,7 +187,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/dc2/classshaka_1_1media_1_1H265Parser.html b/docs/de/dc2/classshaka_1_1media_1_1H265Parser.html
index de8fcd1be8..ec9cd1c456 100644
--- a/docs/de/dc2/classshaka_1_1media_1_1H265Parser.html
+++ b/docs/de/dc2/classshaka_1_1media_1_1H265Parser.html
@@ -256,7 +256,7 @@ Public Member Functions |
diff --git a/docs/de/dc9/structshaka_1_1media_1_1mp4_1_1DecodingTimeToSample-members.html b/docs/de/dc9/structshaka_1_1media_1_1mp4_1_1DecodingTimeToSample-members.html
index 14d0292704..f9b4e6f4dc 100644
--- a/docs/de/dc9/structshaka_1_1media_1_1mp4_1_1DecodingTimeToSample-members.html
+++ b/docs/de/dc9/structshaka_1_1media_1_1mp4_1_1DecodingTimeToSample-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/dcb/ts__segmenter_8h_source.html b/docs/de/dcb/ts__segmenter_8h_source.html
index bd0464aabf..a8f7e00d6d 100644
--- a/docs/de/dcb/ts__segmenter_8h_source.html
+++ b/docs/de/dcb/ts__segmenter_8h_source.html
@@ -195,7 +195,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
123 #endif // PACKAGER_MEDIA_FORMATS_MP2T_TS_SEGMENTER_H_
-
+
@@ -211,7 +211,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/dcc/mock__mpd__notifier_8cc_source.html b/docs/de/dcc/mock__mpd__notifier_8cc_source.html
index dfe428e2b1..4e579e26e4 100644
--- a/docs/de/dcc/mock__mpd__notifier_8cc_source.html
+++ b/docs/de/dcc/mock__mpd__notifier_8cc_source.html
@@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/dcf/file__closer_8h_source.html b/docs/de/dcf/file__closer_8h_source.html
index e0337d1830..170522fe33 100644
--- a/docs/de/dcf/file__closer_8h_source.html
+++ b/docs/de/dcf/file__closer_8h_source.html
@@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/dd6/content__protection__element_8h_source.html b/docs/de/dd6/content__protection__element_8h_source.html
index b70ce03e6b..c5c73b2349 100644
--- a/docs/de/dd6/content__protection__element_8h_source.html
+++ b/docs/de/dd6/content__protection__element_8h_source.html
@@ -142,7 +142,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/dd6/muxer__listener__test__helper_8cc_source.html b/docs/de/dd6/muxer__listener__test__helper_8cc_source.html
index 004d605582..29b28f6d44 100644
--- a/docs/de/dd6/muxer__listener__test__helper_8cc_source.html
+++ b/docs/de/dd6/muxer__listener__test__helper_8cc_source.html
@@ -105,121 +105,111 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
17 scoped_refptr<StreamInfo> CreateVideoStreamInfo(
18 const VideoStreamInfoParameters& param) {
- 19 return scoped_refptr<StreamInfo>(
- 20 new VideoStreamInfo(param.track_id,
-
-
-
-
-
-
-
-
-
-
- 31 param.nalu_length_size,
- 32 param.codec_config.data(),
- 33 param.codec_config.size(),
-
-
-
- 37 VideoStreamInfoParameters GetDefaultVideoStreamInfoParams() {
- 38 const int kTrackId = 0;
- 39 const uint32_t kTimeScale = 10;
- 40 const uint64_t kVideoStreamDuration = 200;
- 41 const VideoCodec kH264Codec = kCodecH264;
- 42 const char* kCodecString =
"avc1.010101";
- 43 const char* kLanuageUndefined =
"und";
- 44 const uint16_t kWidth = 720;
- 45 const uint16_t kHeight = 480;
- 46 const uint32_t kPixelWidth = 1;
- 47 const uint32_t kPixelHeight = 1;
- 48 const uint8_t kNaluLengthSize = 1;
- 49 const std::vector<uint8_t> kExtraData;
- 50 const bool kEncryptedFlag =
false;
- 51 VideoStreamInfoParameters params;
- 52 params.track_id = kTrackId;
- 53 params.time_scale = kTimeScale;
- 54 params.duration = kVideoStreamDuration;
- 55 params.codec = kH264Codec;
- 56 params.codec_string = kCodecString;
- 57 params.language = kLanuageUndefined;
- 58 params.width = kWidth;
- 59 params.height = kHeight;
- 60 params.pixel_width = kPixelWidth;
- 61 params.pixel_height = kPixelHeight;
- 62 params.nalu_length_size = kNaluLengthSize;
- 63 params.codec_config = kExtraData;
- 64 params.is_encrypted = kEncryptedFlag;
-
-
-
- 68 OnMediaEndParameters GetDefaultOnMediaEndParams() {
-
-
- 71 const bool kHasInitRange =
true;
- 72 const uint64_t kInitRangeStart = 0;
- 73 const uint64_t kInitRangeEnd = kInitRangeStart + 120;
- 74 const uint64_t kHasIndexRange =
true;
- 75 const uint64_t kIndexRangeStart = kInitRangeEnd + 1;
- 76 const uint64_t kIndexRangeEnd = kIndexRangeStart + 100;
- 77 const float kMediaDuration = 10.5f;
- 78 const uint64_t kFileSize = 10000;
- 79 OnMediaEndParameters param = {
- 80 kHasInitRange, kInitRangeStart, kInitRangeEnd, kHasIndexRange,
- 81 kIndexRangeStart, kIndexRangeEnd, kMediaDuration, kFileSize};
-
-
-
- 85 void SetDefaultMuxerOptionsValues(MuxerOptions* muxer_options) {
- 86 muxer_options->single_segment =
true;
- 87 muxer_options->segment_duration = 10.0;
- 88 muxer_options->fragment_duration = 10.0;
- 89 muxer_options->segment_sap_aligned =
true;
- 90 muxer_options->fragment_sap_aligned =
true;
- 91 muxer_options->num_subsegments_per_sidx = 0;
- 92 muxer_options->output_file_name =
"test_output_file_name.mp4";
- 93 muxer_options->segment_template.clear();
- 94 muxer_options->temp_dir.clear();
-
-
- 97 std::vector<ProtectionSystemSpecificInfo> GetDefaultKeySystemInfo() {
- 98 const uint8_t kPsshData[] = {
'p',
's',
's',
'h'};
- 99 const uint8_t kTestSystemId[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
- 100 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b,
- 101 0x0c, 0x0d, 0x0e, 0x0f};
-
- 103 ProtectionSystemSpecificInfo info;
- 104 info.set_system_id(kTestSystemId, arraysize(kTestSystemId));
-
- 106 std::vector<uint8_t>(kPsshData, kPsshData + arraysize(kPsshData)));
- 107 info.set_pssh_box_version(0);
-
- 109 std::vector<ProtectionSystemSpecificInfo> key_system_info;
- 110 key_system_info.push_back(info);
- 111 return key_system_info;
-
-
- 114 void ExpectMediaInfoEqual(
const MediaInfo& expect,
const MediaInfo& actual) {
- 115 ASSERT_TRUE(MediaInfoEqual(expect, actual));
+ 19 return scoped_refptr<StreamInfo>(
new VideoStreamInfo(
+ 20 param.track_id, param.time_scale, param.duration, param.codec,
+ 21 param.codec_string, param.codec_config.data(), param.codec_config.size(),
+ 22 param.width, param.height, param.pixel_width, param.pixel_height,
+
+ 24 param.nalu_length_size, param.language, param.is_encrypted));
+
+
+ 27 VideoStreamInfoParameters GetDefaultVideoStreamInfoParams() {
+ 28 const int kTrackId = 0;
+ 29 const uint32_t kTimeScale = 10;
+ 30 const uint64_t kVideoStreamDuration = 200;
+ 31 const Codec kH264Codec = kCodecH264;
+ 32 const char* kCodecString =
"avc1.010101";
+ 33 const char* kLanuageUndefined =
"und";
+ 34 const uint16_t kWidth = 720;
+ 35 const uint16_t kHeight = 480;
+ 36 const uint32_t kPixelWidth = 1;
+ 37 const uint32_t kPixelHeight = 1;
+ 38 const uint8_t kNaluLengthSize = 1;
+ 39 const std::vector<uint8_t> kExtraData;
+ 40 const bool kEncryptedFlag =
false;
+ 41 VideoStreamInfoParameters params;
+ 42 params.track_id = kTrackId;
+ 43 params.time_scale = kTimeScale;
+ 44 params.duration = kVideoStreamDuration;
+ 45 params.codec = kH264Codec;
+ 46 params.codec_string = kCodecString;
+ 47 params.language = kLanuageUndefined;
+ 48 params.width = kWidth;
+ 49 params.height = kHeight;
+ 50 params.pixel_width = kPixelWidth;
+ 51 params.pixel_height = kPixelHeight;
+ 52 params.nalu_length_size = kNaluLengthSize;
+ 53 params.codec_config = kExtraData;
+ 54 params.is_encrypted = kEncryptedFlag;
+
+
+
+ 58 OnMediaEndParameters GetDefaultOnMediaEndParams() {
+
+
+ 61 const bool kHasInitRange =
true;
+ 62 const uint64_t kInitRangeStart = 0;
+ 63 const uint64_t kInitRangeEnd = kInitRangeStart + 120;
+ 64 const uint64_t kHasIndexRange =
true;
+ 65 const uint64_t kIndexRangeStart = kInitRangeEnd + 1;
+ 66 const uint64_t kIndexRangeEnd = kIndexRangeStart + 100;
+ 67 const float kMediaDuration = 10.5f;
+ 68 const uint64_t kFileSize = 10000;
+ 69 OnMediaEndParameters param = {
+ 70 kHasInitRange, kInitRangeStart, kInitRangeEnd, kHasIndexRange,
+ 71 kIndexRangeStart, kIndexRangeEnd, kMediaDuration, kFileSize};
+
+
+
+ 75 void SetDefaultMuxerOptionsValues(MuxerOptions* muxer_options) {
+ 76 muxer_options->single_segment =
true;
+ 77 muxer_options->segment_duration = 10.0;
+ 78 muxer_options->fragment_duration = 10.0;
+ 79 muxer_options->segment_sap_aligned =
true;
+ 80 muxer_options->fragment_sap_aligned =
true;
+ 81 muxer_options->num_subsegments_per_sidx = 0;
+ 82 muxer_options->output_file_name =
"test_output_file_name.mp4";
+ 83 muxer_options->segment_template.clear();
+ 84 muxer_options->temp_dir.clear();
+
+
+ 87 std::vector<ProtectionSystemSpecificInfo> GetDefaultKeySystemInfo() {
+ 88 const uint8_t kPsshData[] = {
'p',
's',
's',
'h'};
+ 89 const uint8_t kTestSystemId[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
+ 90 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b,
+ 91 0x0c, 0x0d, 0x0e, 0x0f};
+
+ 93 ProtectionSystemSpecificInfo info;
+ 94 info.set_system_id(kTestSystemId, arraysize(kTestSystemId));
+
+ 96 std::vector<uint8_t>(kPsshData, kPsshData + arraysize(kPsshData)));
+ 97 info.set_pssh_box_version(0);
+
+ 99 std::vector<ProtectionSystemSpecificInfo> key_system_info;
+ 100 key_system_info.push_back(info);
+ 101 return key_system_info;
+
+
+ 104 void ExpectMediaInfoEqual(
const MediaInfo& expect,
const MediaInfo& actual) {
+ 105 ASSERT_TRUE(MediaInfoEqual(expect, actual));
+
+
+ 108 bool MediaInfoEqual(
const MediaInfo& expect,
const MediaInfo& actual) {
+
+
+
+ 112 std::string expect_serialized = expect.SerializeAsString();
+ 113 std::string actual_serialized = actual.SerializeAsString();
+ 114 EXPECT_EQ(expect_serialized, actual_serialized);
+ 115 return expect_serialized == actual_serialized;
- 118 bool MediaInfoEqual(
const MediaInfo& expect,
const MediaInfo& actual) {
-
-
-
- 122 std::string expect_serialized = expect.SerializeAsString();
- 123 std::string actual_serialized = actual.SerializeAsString();
- 124 EXPECT_EQ(expect_serialized, actual_serialized);
- 125 return expect_serialized == actual_serialized;
-
-
-
-
+
+
diff --git a/docs/de/ddd/classshaka_1_1media_1_1Muxer-members.html b/docs/de/ddd/classshaka_1_1media_1_1Muxer-members.html
index 35e4c79d53..a89f539640 100644
--- a/docs/de/ddd/classshaka_1_1media_1_1Muxer-members.html
+++ b/docs/de/ddd/classshaka_1_1media_1_1Muxer-members.html
@@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html b/docs/de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html
index 8236139f0a..9c5fac1dbe 100644
--- a/docs/de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html
+++ b/docs/de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html
@@ -256,7 +256,7 @@ void
diff --git a/docs/de/ddf/structshaka_1_1media_1_1mp4_1_1MediaData-members.html b/docs/de/ddf/structshaka_1_1media_1_1mp4_1_1MediaData-members.html
index 844197e460..ff3c104e4e 100644
--- a/docs/de/ddf/structshaka_1_1media_1_1mp4_1_1MediaData-members.html
+++ b/docs/de/ddf/structshaka_1_1media_1_1mp4_1_1MediaData-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/de0/classshaka_1_1media_1_1DecoderConfigurationRecord.html b/docs/de/de0/classshaka_1_1media_1_1DecoderConfigurationRecord.html
index 8217f6ac21..c42317151d 100644
--- a/docs/de/de0/classshaka_1_1media_1_1DecoderConfigurationRecord.html
+++ b/docs/de/de0/classshaka_1_1media_1_1DecoderConfigurationRecord.html
@@ -333,7 +333,7 @@ void |
diff --git a/docs/de/de0/classshaka_1_1media_1_1mp4_1_1MP4Muxer-members.html b/docs/de/de0/classshaka_1_1media_1_1mp4_1_1MP4Muxer-members.html
index c13efaeb03..22ac5a2297 100644
--- a/docs/de/de0/classshaka_1_1media_1_1mp4_1_1MP4Muxer-members.html
+++ b/docs/de/de0/classshaka_1_1media_1_1mp4_1_1MP4Muxer-members.html
@@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/de4/structshaka_1_1media_1_1H264Pps.html b/docs/de/de4/structshaka_1_1media_1_1H264Pps.html
index 0cee8c6821..b3179990ce 100644
--- a/docs/de/de4/structshaka_1_1media_1_1H264Pps.html
+++ b/docs/de/de4/structshaka_1_1media_1_1H264Pps.html
@@ -167,7 +167,7 @@ int | second_chroma_qp_index
diff --git a/docs/de/dea/classshaka_1_1media_1_1H26xByteToUnitStreamConverter.html b/docs/de/dea/classshaka_1_1media_1_1H26xByteToUnitStreamConverter.html
index d9b8328a34..1a061d947d 100644
--- a/docs/de/dea/classshaka_1_1media_1_1H26xByteToUnitStreamConverter.html
+++ b/docs/de/dea/classshaka_1_1media_1_1H26xByteToUnitStreamConverter.html
@@ -216,7 +216,7 @@ static const size_t | kUnitS
diff --git a/docs/de/def/structshaka_1_1media_1_1mp4_1_1DecodingTimeToSample.html b/docs/de/def/structshaka_1_1media_1_1mp4_1_1DecodingTimeToSample.html
index a9602a7cac..e0af806c5f 100644
--- a/docs/de/def/structshaka_1_1media_1_1mp4_1_1DecodingTimeToSample.html
+++ b/docs/de/def/structshaka_1_1media_1_1mp4_1_1DecodingTimeToSample.html
@@ -182,7 +182,7 @@ Additional Inherited Members |
diff --git a/docs/de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html b/docs/de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html
index 45bf4007c5..9757dfb169 100644
--- a/docs/de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html
+++ b/docs/de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html
@@ -412,7 +412,7 @@ bool is_keyframe () co
diff --git a/docs/de/dfa/classshaka_1_1media_1_1webm_1_1Encryptor.html b/docs/de/dfa/classshaka_1_1media_1_1webm_1_1Encryptor.html
index 7655308874..353de3f484 100644
--- a/docs/de/dfa/classshaka_1_1media_1_1webm_1_1Encryptor.html
+++ b/docs/de/dfa/classshaka_1_1media_1_1webm_1_1Encryptor.html
@@ -98,8 +98,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
|
-Status | Initialize (MuxerListener *muxer_listener, KeySource::TrackType track_type, KeySource *key_source) |
- |
+Status | Initialize (MuxerListener *muxer_listener, KeySource::TrackType track_type, Codec codec, KeySource *key_source, bool webm_subsample_encryption) |
+ |
Status | AddTrackInfo (mkvmuxer::Track *track) |
|
Status | EncryptFrame (scoped_refptr< MediaSample > sample, bool encrypt_frame) |
@@ -108,7 +108,7 @@ Public Member Functions
A helper class used to encrypt WebM frames before being written to the Cluster. This can also handle unencrypted frames.
- Definition at line 27 of file encryptor.h.
+ Definition at line 29 of file encryptor.h.
@@ -126,7 +126,7 @@ Public Member Functions
Adds the encryption info to the given track. Initialize must be called first.
- Returns
- OK on success, an error status otherwise.
- Definition at line 62 of file encryptor.cc.
+ Definition at line 71 of file encryptor.cc.
@@ -156,11 +156,11 @@ Public Member Functions
Encrypt the data. This needs to be told whether the current frame will be encrypted (e.g. for a clear lead).
- Returns
- OK on success, an error status otherwise.
-Definition at line 67 of file encryptor.cc.
+Definition at line 76 of file encryptor.cc.
-
+
@@ -176,11 +176,23 @@ Public Member Functions
KeySource::TrackType |
track_type, |
+
+ |
+ |
+ Codec |
+ codec, |
+
|
|
KeySource * |
- key_source |
+ key_source, |
+
+
+ |
+ |
+ bool |
+ webm_subsample_encryption |
|
@@ -192,7 +204,7 @@ Public Member Functions
Initializes the encryptor with the given key source.
- Returns
- OK on success, an error status otherwise.
-Definition at line 55 of file encryptor.cc.
+Definition at line 61 of file encryptor.cc.
@@ -203,7 +215,7 @@ Public Member Functions
diff --git a/docs/de/dfa/muxer__listener_8h_source.html b/docs/de/dfa/muxer__listener_8h_source.html
index c9266898e5..e5b8298019 100644
--- a/docs/de/dfa/muxer__listener_8h_source.html
+++ b/docs/de/dfa/muxer__listener_8h_source.html
@@ -164,7 +164,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
@@ -173,7 +173,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/de/dfa/structshaka_1_1media_1_1mp4_1_1OpusSpecific.html b/docs/de/dfa/structshaka_1_1media_1_1mp4_1_1OpusSpecific.html
index 000fb6623a..184bebe773 100644
--- a/docs/de/dfa/structshaka_1_1media_1_1mp4_1_1OpusSpecific.html
+++ b/docs/de/dfa/structshaka_1_1media_1_1mp4_1_1OpusSpecific.html
@@ -176,7 +176,7 @@ Additional Inherited Members
diff --git a/docs/de/dfd/stream__info_8cc_source.html b/docs/de/dfd/stream__info_8cc_source.html
index bb92686226..178fea8f90 100644
--- a/docs/de/dfd/stream__info_8cc_source.html
+++ b/docs/de/dfd/stream__info_8cc_source.html
@@ -103,47 +103,44 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
- 17 StreamInfo::StreamInfo(StreamType stream_type,
-
-
-
- 21 const std::string& codec_string,
- 22 const std::string& language,
- 23 const uint8_t* codec_config,
- 24 size_t codec_config_size,
-
- 26 : stream_type_(stream_type),
-
- 28 time_scale_(time_scale),
-
- 30 codec_string_(codec_string),
-
- 32 is_encrypted_(is_encrypted) {
- 33 if (codec_config_size > 0) {
- 34 codec_config_.assign(codec_config, codec_config + codec_config_size);
-
-
-
- 38 StreamInfo::~StreamInfo() {}
-
-
- 41 return base::StringPrintf(
- 42 "type: %s\n codec_string: %s\n time_scale: %d\n duration: "
- 43 "%" PRIu64 " (%.1f seconds)\n is_encrypted: %s\n",
- 44 (stream_type_ == kStreamAudio ? "Audio" : "Video"),
- 45 codec_string_.c_str(),
- 46 time_scale_, duration_,
- 47 static_cast<double>(duration_) / time_scale_,
- 48 is_encrypted_ ? "true" : "false");
-
-
-
-
-
+ 17 StreamInfo::StreamInfo(StreamType stream_type, int track_id,
+ 18 uint32_t time_scale, uint64_t duration, Codec codec,
+ 19 const std::string& codec_string,
+ 20 const uint8_t* codec_config, size_t codec_config_size,
+ 21 const std::string& language, bool is_encrypted)
+ 22 : stream_type_(stream_type),
+
+ 24 time_scale_(time_scale),
+
+
+ 27 codec_string_(codec_string),
+
+ 29 is_encrypted_(is_encrypted) {
+ 30 if (codec_config_size > 0) {
+ 31 codec_config_.assign(codec_config, codec_config + codec_config_size);
+
+
+
+ 35 StreamInfo::~StreamInfo() {}
+
+
+ 38 return base::StringPrintf(
+ 39 "type: %s\n codec_string: %s\n time_scale: %d\n duration: "
+ 40 "%" PRIu64 " (%.1f seconds)\n is_encrypted: %s\n",
+ 41 (stream_type_ == kStreamAudio ? "Audio" : "Video"),
+ 42 codec_string_.c_str(),
+ 43 time_scale_, duration_,
+ 44 static_cast<double>(duration_) / time_scale_,
+ 45 is_encrypted_ ? "true" : "false");
+
+
+
+
+
diff --git a/docs/df/d05/vp__codec__configuration__record_8cc_source.html b/docs/df/d05/vp__codec__configuration__record_8cc_source.html
index e27665e3ff..21e3e2b3f2 100644
--- a/docs/df/d05/vp__codec__configuration__record_8cc_source.html
+++ b/docs/df/d05/vp__codec__configuration__record_8cc_source.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
24 kFeatureChromaSubsampling = 4,
- 27 std::string VPCodecAsString(VideoCodec codec) {
+ 27 std::string VPCodecAsString(Codec codec) {
@@ -294,7 +294,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
205 writer.SwapBuffer(data);
-
+
209 const std::string fields[] = {
210 base::IntToString(profile_),
211 base::IntToString(level_),
@@ -352,15 +352,15 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+
-
diff --git a/docs/df/d1a/offset__byte__queue_8cc_source.html b/docs/df/d1a/offset__byte__queue_8cc_source.html
index 1ff0302c38..f6759fb1c8 100644
--- a/docs/df/d1a/offset__byte__queue_8cc_source.html
+++ b/docs/df/d1a/offset__byte__queue_8cc_source.html
@@ -164,7 +164,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d1c/classshaka_1_1media_1_1MediaSample-members.html b/docs/df/d1c/classshaka_1_1media_1_1MediaSample-members.html
index 8930ee1fe3..93ec9943db 100644
--- a/docs/df/d1c/classshaka_1_1media_1_1MediaSample-members.html
+++ b/docs/df/d1c/classshaka_1_1media_1_1MediaSample-members.html
@@ -123,7 +123,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d1c/composition__offset__iterator_8h_source.html b/docs/df/d1c/composition__offset__iterator_8h_source.html
index 958d1b3a72..9972ab0d3c 100644
--- a/docs/df/d1c/composition__offset__iterator_8h_source.html
+++ b/docs/df/d1c/composition__offset__iterator_8h_source.html
@@ -147,7 +147,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d21/classshaka_1_1media_1_1SegmentTestBase_1_1ClusterParser-members.html b/docs/df/d21/classshaka_1_1media_1_1SegmentTestBase_1_1ClusterParser-members.html
index f5d334af1e..6c02642c6d 100644
--- a/docs/df/d21/classshaka_1_1media_1_1SegmentTestBase_1_1ClusterParser-members.html
+++ b/docs/df/d21/classshaka_1_1media_1_1SegmentTestBase_1_1ClusterParser-members.html
@@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d22/validate__flag_8h_source.html b/docs/df/d22/validate__flag_8h_source.html
index 70e8d31e3b..af3ec24d16 100644
--- a/docs/df/d22/validate__flag_8h_source.html
+++ b/docs/df/d22/validate__flag_8h_source.html
@@ -120,7 +120,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d2a/classshaka_1_1media_1_1mp4_1_1DecodingTimeIterator-members.html b/docs/df/d2a/classshaka_1_1media_1_1mp4_1_1DecodingTimeIterator-members.html
index 5d4c1f39c9..23c730190a 100644
--- a/docs/df/d2a/classshaka_1_1media_1_1mp4_1_1DecodingTimeIterator-members.html
+++ b/docs/df/d2a/classshaka_1_1media_1_1mp4_1_1DecodingTimeIterator-members.html
@@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d2d/classshaka_1_1media_1_1AesCbcDecryptor.html b/docs/df/d2d/classshaka_1_1media_1_1AesCbcDecryptor.html
index d4a0a1888c..3e5cf12585 100644
--- a/docs/df/d2d/classshaka_1_1media_1_1AesCbcDecryptor.html
+++ b/docs/df/d2d/classshaka_1_1media_1_1AesCbcDecryptor.html
@@ -279,7 +279,7 @@ AES_KEY * | mutable_aes_key<
diff --git a/docs/df/d31/muxer__util_8cc_source.html b/docs/df/d31/muxer__util_8cc_source.html
index 1e0dd8d504..e1e3f72759 100644
--- a/docs/df/d31/muxer__util_8cc_source.html
+++ b/docs/df/d31/muxer__util_8cc_source.html
@@ -264,7 +264,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d32/audio__stream__info_8h_source.html b/docs/df/d32/audio__stream__info_8h_source.html
index 70da571a42..829d7acc9c 100644
--- a/docs/df/d32/audio__stream__info_8h_source.html
+++ b/docs/df/d32/audio__stream__info_8h_source.html
@@ -103,97 +103,68 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
- 18 kUnknownAudioCodec = 0,
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 42 const std::string& codec_string,
- 43 const std::string& language,
-
-
- 46 uint32_t sampling_frequency,
- 47 uint64_t seek_preroll_ns,
- 48 uint64_t codec_delay_ns,
-
-
- 51 const uint8_t* codec_config,
- 52 size_t codec_config_size,
-
-
-
- 58 std::string ToString() const override;
-
- 61 AudioCodec codec() const { return codec_; }
- 62 uint8_t sample_bits() const { return sample_bits_; }
- 63 uint8_t sample_bytes() const { return sample_bits_ / 8; }
- 64 uint8_t num_channels() const { return num_channels_; }
- 65 uint32_t sampling_frequency() const { return sampling_frequency_; }
- 66 uint32_t bytes_per_frame() const {
- 67 return static_cast<uint32_t >(num_channels_) * sample_bits_ / 8;
-
- 69 uint64_t seek_preroll_ns() const { return seek_preroll_ns_; }
- 70 uint64_t codec_delay_ns() const { return codec_delay_ns_; }
- 71 uint32_t max_bitrate() const { return max_bitrate_; }
- 72 uint32_t avg_bitrate() const { return avg_bitrate_; }
-
- 74 void set_codec(AudioCodec codec) { codec_ = codec; }
- 75 void set_sampling_frequency( const uint32_t sampling_frequency) {
- 76 sampling_frequency_ = sampling_frequency;
-
-
-
- 82 uint8_t audio_object_type);
-
-
-
-
-
-
- 89 uint8_t num_channels_;
- 90 uint32_t sampling_frequency_;
- 91 uint64_t seek_preroll_ns_;
- 92 uint64_t codec_delay_ns_;
- 93 uint32_t max_bitrate_;
- 94 uint32_t avg_bitrate_;
-
-
-
-
-
-
-
-
-
- 104 #endif // MEDIA_BASE_AUDIO_STREAM_INFO_H_
-
-
-
-
-
-
+
+
+
+ 22 Codec codec, const std::string& codec_string,
+ 23 const uint8_t* codec_config, size_t codec_config_size,
+ 24 uint8_t sample_bits, uint8_t num_channels,
+ 25 uint32_t sampling_frequency, uint64_t seek_preroll_ns,
+ 26 uint64_t codec_delay_ns, uint32_t max_bitrate,
+ 27 uint32_t avg_bitrate, const std::string& language,
+
+
+
+ 33 std::string ToString() const override;
+
+ 36 uint8_t sample_bits() const { return sample_bits_; }
+ 37 uint8_t sample_bytes() const { return sample_bits_ / 8; }
+ 38 uint8_t num_channels() const { return num_channels_; }
+ 39 uint32_t sampling_frequency() const { return sampling_frequency_; }
+ 40 uint32_t bytes_per_frame() const {
+ 41 return static_cast<uint32_t >(num_channels_) * sample_bits_ / 8;
+
+ 43 uint64_t seek_preroll_ns() const { return seek_preroll_ns_; }
+ 44 uint64_t codec_delay_ns() const { return codec_delay_ns_; }
+ 45 uint32_t max_bitrate() const { return max_bitrate_; }
+ 46 uint32_t avg_bitrate() const { return avg_bitrate_; }
+
+ 48 void set_sampling_frequency( const uint32_t sampling_frequency) {
+ 49 sampling_frequency_ = sampling_frequency;
+
+
+ 54 static std::string GetCodecString(Codec codec, uint8_t audio_object_type);
+
+
+
+
+
+ 60 uint8_t num_channels_;
+ 61 uint32_t sampling_frequency_;
+ 62 uint64_t seek_preroll_ns_;
+ 63 uint64_t codec_delay_ns_;
+ 64 uint32_t max_bitrate_;
+ 65 uint32_t avg_bitrate_;
+
+
+
+
+
+
+
+
+
+ 75 #endif // MEDIA_BASE_AUDIO_STREAM_INFO_H_
+
+
+
+
+
+
diff --git a/docs/df/d33/classshaka_1_1AdaptationSet-members.html b/docs/df/d33/classshaka_1_1AdaptationSet-members.html
index 08ae74ea6e..2ab34dec93 100644
--- a/docs/df/d33/classshaka_1_1AdaptationSet-members.html
+++ b/docs/df/d33/classshaka_1_1AdaptationSet-members.html
@@ -119,7 +119,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d38/structshaka_1_1media_1_1mp4_1_1ChunkInfo.html b/docs/df/d38/structshaka_1_1media_1_1mp4_1_1ChunkInfo.html
index 14bb156bd6..89db15cd4a 100644
--- a/docs/df/d38/structshaka_1_1media_1_1mp4_1_1ChunkInfo.html
+++ b/docs/df/d38/structshaka_1_1media_1_1mp4_1_1ChunkInfo.html
@@ -115,7 +115,7 @@ uint32_t | sample_descriptio
diff --git a/docs/df/d38/structshaka_1_1media_1_1mp4_1_1MovieExtendsHeader-members.html b/docs/df/d38/structshaka_1_1media_1_1mp4_1_1MovieExtendsHeader-members.html
index 608da62668..196cd68111 100644
--- a/docs/df/d38/structshaka_1_1media_1_1mp4_1_1MovieExtendsHeader-members.html
+++ b/docs/df/d38/structshaka_1_1media_1_1mp4_1_1MovieExtendsHeader-members.html
@@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d3c/classshaka_1_1media_1_1RequestSigner.html b/docs/df/d3c/classshaka_1_1media_1_1RequestSigner.html
index 2ae392a638..7f406a5be6 100644
--- a/docs/df/d3c/classshaka_1_1media_1_1RequestSigner.html
+++ b/docs/df/d3c/classshaka_1_1media_1_1RequestSigner.html
@@ -180,7 +180,7 @@ Protected Member Functions |
diff --git a/docs/df/d46/classshaka_1_1media_1_1Muxer.html b/docs/df/d46/classshaka_1_1media_1_1Muxer.html
index 1508a576d0..34d02ecca0 100644
--- a/docs/df/d46/classshaka_1_1media_1_1Muxer.html
+++ b/docs/df/d46/classshaka_1_1media_1_1Muxer.html
@@ -342,7 +342,7 @@ class MediaStream |
diff --git a/docs/df/d46/classshaka_1_1media_1_1ThreadedIoFile-members.html b/docs/df/d46/classshaka_1_1media_1_1ThreadedIoFile-members.html
index f3d4d9ade1..67c31298e9 100644
--- a/docs/df/d46/classshaka_1_1media_1_1ThreadedIoFile-members.html
+++ b/docs/df/d46/classshaka_1_1media_1_1ThreadedIoFile-members.html
@@ -120,7 +120,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d50/classshaka_1_1media_1_1mp2t_1_1AacProgramMapTableWriter-members.html b/docs/df/d50/classshaka_1_1media_1_1mp2t_1_1AacProgramMapTableWriter-members.html
index 7fb5cf06f7..c2870cfb77 100644
--- a/docs/df/d50/classshaka_1_1media_1_1mp2t_1_1AacProgramMapTableWriter-members.html
+++ b/docs/df/d50/classshaka_1_1media_1_1mp2t_1_1AacProgramMapTableWriter-members.html
@@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d51/classshaka_1_1media_1_1RsaPrivateKey-members.html b/docs/df/d51/classshaka_1_1media_1_1RsaPrivateKey-members.html
index a7549016ae..a1d6a8d4f7 100644
--- a/docs/df/d51/classshaka_1_1media_1_1RsaPrivateKey-members.html
+++ b/docs/df/d51/classshaka_1_1media_1_1RsaPrivateKey-members.html
@@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d51/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter-members.html b/docs/df/d51/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter-members.html
index 64f02df5af..7c4caaba12 100644
--- a/docs/df/d51/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter-members.html
+++ b/docs/df/d51/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter-members.html
@@ -122,7 +122,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d60/classshaka_1_1MockMpdBuilder.html b/docs/df/d60/classshaka_1_1MockMpdBuilder.html
index 230819e4df..a48b06eb5d 100644
--- a/docs/df/d60/classshaka_1_1MockMpdBuilder.html
+++ b/docs/df/d60/classshaka_1_1MockMpdBuilder.html
@@ -153,7 +153,7 @@ Additional Inherited Members
diff --git a/docs/df/d63/structshaka_1_1media_1_1mp4_1_1AudioRollRecoveryEntry-members.html b/docs/df/d63/structshaka_1_1media_1_1mp4_1_1AudioRollRecoveryEntry-members.html
index 5212dbec6c..72d3ef9a82 100644
--- a/docs/df/d63/structshaka_1_1media_1_1mp4_1_1AudioRollRecoveryEntry-members.html
+++ b/docs/df/d63/structshaka_1_1media_1_1mp4_1_1AudioRollRecoveryEntry-members.html
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d66/classshaka_1_1media_1_1KeyFetcher.html b/docs/df/d66/classshaka_1_1media_1_1KeyFetcher.html
index 4e753a379c..6ac0c2fe35 100644
--- a/docs/df/d66/classshaka_1_1media_1_1KeyFetcher.html
+++ b/docs/df/d66/classshaka_1_1media_1_1KeyFetcher.html
@@ -177,7 +177,7 @@ Public Member Functions
diff --git a/docs/df/d6a/classshaka_1_1MockMpdBuilder-members.html b/docs/df/d6a/classshaka_1_1MockMpdBuilder-members.html
index 692523d582..1e794273d0 100644
--- a/docs/df/d6a/classshaka_1_1MockMpdBuilder-members.html
+++ b/docs/df/d6a/classshaka_1_1MockMpdBuilder-members.html
@@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d6a/structshaka_1_1media_1_1mp4_1_1OpusSpecific-members.html b/docs/df/d6a/structshaka_1_1media_1_1mp4_1_1OpusSpecific-members.html
index d06ab24c13..8a4a8a37d9 100644
--- a/docs/df/d6a/structshaka_1_1media_1_1mp4_1_1OpusSpecific-members.html
+++ b/docs/df/d6a/structshaka_1_1media_1_1mp4_1_1OpusSpecific-members.html
@@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d7b/structshaka_1_1media_1_1mp4_1_1CompositionTimeToSample.html b/docs/df/d7b/structshaka_1_1media_1_1mp4_1_1CompositionTimeToSample.html
index 27b89ed431..6553e068a4 100644
--- a/docs/df/d7b/structshaka_1_1media_1_1mp4_1_1CompositionTimeToSample.html
+++ b/docs/df/d7b/structshaka_1_1media_1_1mp4_1_1CompositionTimeToSample.html
@@ -182,7 +182,7 @@ Additional Inherited Members
diff --git a/docs/df/d7b/structshaka_1_1media_1_1mp4_1_1TrackFragment.html b/docs/df/d7b/structshaka_1_1media_1_1mp4_1_1TrackFragment.html
index 8abd7bcd14..cd0b35dfdf 100644
--- a/docs/df/d7b/structshaka_1_1media_1_1mp4_1_1TrackFragment.html
+++ b/docs/df/d7b/structshaka_1_1media_1_1mp4_1_1TrackFragment.html
@@ -198,7 +198,7 @@ Additional Inherited Members
diff --git a/docs/df/d7d/webm__info__parser_8cc_source.html b/docs/df/d7d/webm__info__parser_8cc_source.html
index d09b2eae73..ee1d535dd6 100644
--- a/docs/df/d7d/webm__info__parser_8cc_source.html
+++ b/docs/df/d7d/webm__info__parser_8cc_source.html
@@ -200,7 +200,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d82/classshaka_1_1media_1_1DecoderConfigurationRecord-members.html b/docs/df/d82/classshaka_1_1media_1_1DecoderConfigurationRecord-members.html
index 172ae59c90..85cef21416 100644
--- a/docs/df/d82/classshaka_1_1media_1_1DecoderConfigurationRecord-members.html
+++ b/docs/df/d82/classshaka_1_1media_1_1DecoderConfigurationRecord-members.html
@@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d87/classshaka_1_1media_1_1AesCryptor.html b/docs/df/d87/classshaka_1_1media_1_1AesCryptor.html
index bb3b47f525..9fec2a5f9c 100644
--- a/docs/df/d87/classshaka_1_1media_1_1AesCryptor.html
+++ b/docs/df/d87/classshaka_1_1media_1_1AesCryptor.html
@@ -424,7 +424,7 @@ AES_KEY * mutable_aes_key<
diff --git a/docs/df/d8a/structshaka_1_1media_1_1mp4_1_1DataEntryUrl.html b/docs/df/d8a/structshaka_1_1media_1_1mp4_1_1DataEntryUrl.html
index c2483499e9..8f653ab73c 100644
--- a/docs/df/d8a/structshaka_1_1media_1_1mp4_1_1DataEntryUrl.html
+++ b/docs/df/d8a/structshaka_1_1media_1_1mp4_1_1DataEntryUrl.html
@@ -182,7 +182,7 @@ Additional Inherited Members |
diff --git a/docs/df/d8a/vp9__parser_8h_source.html b/docs/df/d8a/vp9__parser_8h_source.html
index df1c162757..bd9f483636 100644
--- a/docs/df/d8a/vp9__parser_8h_source.html
+++ b/docs/df/d8a/vp9__parser_8h_source.html
@@ -136,7 +136,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d8a/vpx__parser_8h_source.html b/docs/df/d8a/vpx__parser_8h_source.html
index 978b65a5f9..e6a23fbbc6 100644
--- a/docs/df/d8a/vpx__parser_8h_source.html
+++ b/docs/df/d8a/vpx__parser_8h_source.html
@@ -147,7 +147,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d8c/classshaka_1_1media_1_1mp4_1_1MultiSegmentSegmenter-members.html b/docs/df/d8c/classshaka_1_1media_1_1mp4_1_1MultiSegmentSegmenter-members.html
index 922c94082a..3572b2b346 100644
--- a/docs/df/d8c/classshaka_1_1media_1_1mp4_1_1MultiSegmentSegmenter-members.html
+++ b/docs/df/d8c/classshaka_1_1media_1_1mp4_1_1MultiSegmentSegmenter-members.html
@@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d8d/es__parser__h26x_8h_source.html b/docs/df/d8d/es__parser__h26x_8h_source.html
index c77270712b..73bf691663 100644
--- a/docs/df/d8d/es__parser__h26x_8h_source.html
+++ b/docs/df/d8d/es__parser__h26x_8h_source.html
@@ -222,7 +222,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d94/classshaka_1_1RepresentationStateChangeListener.html b/docs/df/d94/classshaka_1_1RepresentationStateChangeListener.html
index 7992d18951..68d8ece02c 100644
--- a/docs/df/d94/classshaka_1_1RepresentationStateChangeListener.html
+++ b/docs/df/d94/classshaka_1_1RepresentationStateChangeListener.html
@@ -195,7 +195,7 @@ Public Member Functions
diff --git a/docs/df/d96/xml__node_8cc_source.html b/docs/df/d96/xml__node_8cc_source.html
index 69fffa11c3..b67585d6b8 100644
--- a/docs/df/d96/xml__node_8cc_source.html
+++ b/docs/df/d96/xml__node_8cc_source.html
@@ -488,7 +488,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d9a/structshaka_1_1media_1_1mp4_1_1TrackFragmentDecodeTime.html b/docs/df/d9a/structshaka_1_1media_1_1mp4_1_1TrackFragmentDecodeTime.html
index 73bdd5e749..5352789b54 100644
--- a/docs/df/d9a/structshaka_1_1media_1_1mp4_1_1TrackFragmentDecodeTime.html
+++ b/docs/df/d9a/structshaka_1_1media_1_1mp4_1_1TrackFragmentDecodeTime.html
@@ -182,7 +182,7 @@ Additional Inherited Members
diff --git a/docs/df/d9e/classshaka_1_1xml_1_1RepresentationXmlNode.html b/docs/df/d9e/classshaka_1_1xml_1_1RepresentationXmlNode.html
index 9f28f4f0f2..cd4310de80 100644
--- a/docs/df/d9e/classshaka_1_1xml_1_1RepresentationXmlNode.html
+++ b/docs/df/d9e/classshaka_1_1xml_1_1RepresentationXmlNode.html
@@ -311,7 +311,7 @@ Additional Inherited Members
diff --git a/docs/df/da0/structshaka_1_1media_1_1mp4_1_1ChunkOffset-members.html b/docs/df/da0/structshaka_1_1media_1_1mp4_1_1ChunkOffset-members.html
index d7c7e064ae..426e1eb4a4 100644
--- a/docs/df/da0/structshaka_1_1media_1_1mp4_1_1ChunkOffset-members.html
+++ b/docs/df/da0/structshaka_1_1media_1_1mp4_1_1ChunkOffset-members.html
@@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/da5/structshaka_1_1media_1_1mp4_1_1CueIDBox-members.html b/docs/df/da5/structshaka_1_1media_1_1mp4_1_1CueIDBox-members.html
index ab29ce7d9e..3d8011c516 100644
--- a/docs/df/da5/structshaka_1_1media_1_1mp4_1_1CueIDBox-members.html
+++ b/docs/df/da5/structshaka_1_1media_1_1mp4_1_1CueIDBox-members.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/dad/decrypt__config_8h_source.html b/docs/df/dad/decrypt__config_8h_source.html
index 1f876dcce0..6363b8b6da 100644
--- a/docs/df/dad/decrypt__config_8h_source.html
+++ b/docs/df/dad/decrypt__config_8h_source.html
@@ -168,7 +168,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/db8/structshaka_1_1media_1_1StreamDescriptor-members.html b/docs/df/db8/structshaka_1_1media_1_1StreamDescriptor-members.html
index 6b9a692cfc..3dfe1d14e5 100644
--- a/docs/df/db8/structshaka_1_1media_1_1StreamDescriptor-members.html
+++ b/docs/df/db8/structshaka_1_1media_1_1StreamDescriptor-members.html
@@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/dc7/avc__decoder__configuration__record_8h_source.html b/docs/df/dc7/avc__decoder__configuration__record_8h_source.html
index 472c64135a..4936c65228 100644
--- a/docs/df/dc7/avc__decoder__configuration__record_8h_source.html
+++ b/docs/df/dc7/avc__decoder__configuration__record_8h_source.html
@@ -153,7 +153,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/dd2/mpd__utils_8h_source.html b/docs/df/dd2/mpd__utils_8h_source.html
index 057a4852bd..0f823d3af2 100644
--- a/docs/df/dd2/mpd__utils_8h_source.html
+++ b/docs/df/dd2/mpd__utils_8h_source.html
@@ -174,7 +174,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/dd2/structshaka_1_1media_1_1H264Pps-members.html b/docs/df/dd2/structshaka_1_1media_1_1H264Pps-members.html
index 4d5e33e6b4..97c7d52977 100644
--- a/docs/df/dd2/structshaka_1_1media_1_1H264Pps-members.html
+++ b/docs/df/dd2/structshaka_1_1media_1_1H264Pps-members.html
@@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/ddc/webm_2segmenter_8h_source.html b/docs/df/ddc/webm_2segmenter_8h_source.html
index 4521511a0b..cb6c48e804 100644
--- a/docs/df/ddc/webm_2segmenter_8h_source.html
+++ b/docs/df/ddc/webm_2segmenter_8h_source.html
@@ -225,32 +225,32 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
168 #endif // MEDIA_FORMATS_WEBM_SEGMENTER_H_
-
-
-
-
+
+
+
+
-
+
-
+
-
+
-
-
-
-
+
+
+
+
diff --git a/docs/df/dde/ts__section__psi_8cc_source.html b/docs/df/dde/ts__section__psi_8cc_source.html
index 4f55668500..9297f0f41f 100644
--- a/docs/df/dde/ts__section__psi_8cc_source.html
+++ b/docs/df/dde/ts__section__psi_8cc_source.html
@@ -228,7 +228,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/de2/structshaka_1_1media_1_1H264SEIRecoveryPoint.html b/docs/df/de2/structshaka_1_1media_1_1H264SEIRecoveryPoint.html
index 84336d122b..bb8ef140b9 100644
--- a/docs/df/de2/structshaka_1_1media_1_1H264SEIRecoveryPoint.html
+++ b/docs/df/de2/structshaka_1_1media_1_1H264SEIRecoveryPoint.html
@@ -118,7 +118,7 @@ int changing_slice_group_i
diff --git a/docs/df/de3/text__track__config_8cc_source.html b/docs/df/de3/text__track__config_8cc_source.html
index 05851c502a..5573dc07dd 100644
--- a/docs/df/de3/text__track__config_8cc_source.html
+++ b/docs/df/de3/text__track__config_8cc_source.html
@@ -122,7 +122,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/de9/segment__info_8h_source.html b/docs/df/de9/segment__info_8h_source.html
index 5805839677..20cdb6b6b7 100644
--- a/docs/df/de9/segment__info_8h_source.html
+++ b/docs/df/de9/segment__info_8h_source.html
@@ -114,7 +114,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/df1/structshaka_1_1ContentProtectionElement-members.html b/docs/df/df1/structshaka_1_1ContentProtectionElement-members.html
index ed27fd2b04..22bcc959aa 100644
--- a/docs/df/df1/structshaka_1_1ContentProtectionElement-members.html
+++ b/docs/df/df1/structshaka_1_1ContentProtectionElement-members.html
@@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dir_0494b8c96e3190a776d2b97ade9c8ddf.html b/docs/dir_0494b8c96e3190a776d2b97ade9c8ddf.html
index f8ba3c2c62..70abf04aa5 100644
--- a/docs/dir_0494b8c96e3190a776d2b97ade9c8ddf.html
+++ b/docs/dir_0494b8c96e3190a776d2b97ade9c8ddf.html
@@ -165,7 +165,7 @@ Files |
diff --git a/docs/dir_2618cd273dea54f184e42d7a562af818.html b/docs/dir_2618cd273dea54f184e42d7a562af818.html
index 593576dbce..2a771557f3 100644
--- a/docs/dir_2618cd273dea54f184e42d7a562af818.html
+++ b/docs/dir_2618cd273dea54f184e42d7a562af818.html
@@ -140,7 +140,7 @@ Files
diff --git a/docs/dir_279fd47bebb21302c25cfb685e84c359.html b/docs/dir_279fd47bebb21302c25cfb685e84c359.html
index 74cd0346d0..add3429b0a 100644
--- a/docs/dir_279fd47bebb21302c25cfb685e84c359.html
+++ b/docs/dir_279fd47bebb21302c25cfb685e84c359.html
@@ -119,7 +119,7 @@ Files
diff --git a/docs/dir_2eceb70145328c029a5f43350007537a.html b/docs/dir_2eceb70145328c029a5f43350007537a.html
index 5c6ca22317..e4497160e0 100644
--- a/docs/dir_2eceb70145328c029a5f43350007537a.html
+++ b/docs/dir_2eceb70145328c029a5f43350007537a.html
@@ -93,7 +93,7 @@ Files
diff --git a/docs/dir_39dc0668bd5a501998f94e8b4e546c71.html b/docs/dir_39dc0668bd5a501998f94e8b4e546c71.html
index 8673d6d722..2f3926ca21 100644
--- a/docs/dir_39dc0668bd5a501998f94e8b4e546c71.html
+++ b/docs/dir_39dc0668bd5a501998f94e8b4e546c71.html
@@ -99,7 +99,7 @@ Directories
diff --git a/docs/dir_3e9291fd7a18fdecc763294cb2628910.html b/docs/dir_3e9291fd7a18fdecc763294cb2628910.html
index 5354354470..b2b6bfc4bb 100644
--- a/docs/dir_3e9291fd7a18fdecc763294cb2628910.html
+++ b/docs/dir_3e9291fd7a18fdecc763294cb2628910.html
@@ -157,7 +157,7 @@ Files
diff --git a/docs/dir_49627ef5ef0630f6cf11dd06344c4cf0.html b/docs/dir_49627ef5ef0630f6cf11dd06344c4cf0.html
index 417a3fd3b4..b44baecf51 100644
--- a/docs/dir_49627ef5ef0630f6cf11dd06344c4cf0.html
+++ b/docs/dir_49627ef5ef0630f6cf11dd06344c4cf0.html
@@ -93,7 +93,7 @@ Files
diff --git a/docs/dir_5039d854a18988ed1f1dbebc120ffbf7.html b/docs/dir_5039d854a18988ed1f1dbebc120ffbf7.html
index 539146e522..e2ecb9a580 100644
--- a/docs/dir_5039d854a18988ed1f1dbebc120ffbf7.html
+++ b/docs/dir_5039d854a18988ed1f1dbebc120ffbf7.html
@@ -181,7 +181,7 @@ Files
diff --git a/docs/dir_65f7acfa8cf3a5f1edc11faa2428b914.html b/docs/dir_65f7acfa8cf3a5f1edc11faa2428b914.html
index 07b60d44c6..75467ca3ac 100644
--- a/docs/dir_65f7acfa8cf3a5f1edc11faa2428b914.html
+++ b/docs/dir_65f7acfa8cf3a5f1edc11faa2428b914.html
@@ -101,7 +101,7 @@ Directories
diff --git a/docs/dir_679a6f4e9fa092b388fc986148018f2a.html b/docs/dir_679a6f4e9fa092b388fc986148018f2a.html
index 33021ba2bd..da3c65d661 100644
--- a/docs/dir_679a6f4e9fa092b388fc986148018f2a.html
+++ b/docs/dir_679a6f4e9fa092b388fc986148018f2a.html
@@ -95,7 +95,7 @@ Files
diff --git a/docs/dir_7f5e01ba7faf319a30cabd201b6ef121.html b/docs/dir_7f5e01ba7faf319a30cabd201b6ef121.html
index 23d2735f12..eafabbeb99 100644
--- a/docs/dir_7f5e01ba7faf319a30cabd201b6ef121.html
+++ b/docs/dir_7f5e01ba7faf319a30cabd201b6ef121.html
@@ -93,7 +93,7 @@ Files
diff --git a/docs/dir_89dd766eb2df7d7257dbe806a34404af.html b/docs/dir_89dd766eb2df7d7257dbe806a34404af.html
index 400c105bd1..426e3edccd 100644
--- a/docs/dir_89dd766eb2df7d7257dbe806a34404af.html
+++ b/docs/dir_89dd766eb2df7d7257dbe806a34404af.html
@@ -93,7 +93,7 @@ Directories
diff --git a/docs/dir_aa73376d632f252584a1c0dfbefab2c4.html b/docs/dir_aa73376d632f252584a1c0dfbefab2c4.html
index 194426e261..451011aaa9 100644
--- a/docs/dir_aa73376d632f252584a1c0dfbefab2c4.html
+++ b/docs/dir_aa73376d632f252584a1c0dfbefab2c4.html
@@ -117,7 +117,7 @@ Files
diff --git a/docs/dir_c6ada2450b25ab5438a4dba6c9b890af.html b/docs/dir_c6ada2450b25ab5438a4dba6c9b890af.html
index 2bc160e7e6..5f3e8aae96 100644
--- a/docs/dir_c6ada2450b25ab5438a4dba6c9b890af.html
+++ b/docs/dir_c6ada2450b25ab5438a4dba6c9b890af.html
@@ -245,7 +245,7 @@ Files
diff --git a/docs/dir_d422163b96683743ed3963d4aac17747.html b/docs/dir_d422163b96683743ed3963d4aac17747.html
index ff077a182e..c177356a5c 100644
--- a/docs/dir_d422163b96683743ed3963d4aac17747.html
+++ b/docs/dir_d422163b96683743ed3963d4aac17747.html
@@ -135,7 +135,7 @@ Files
diff --git a/docs/dir_eeaeb49ac3913fcfb450d3ce9cc0141b.html b/docs/dir_eeaeb49ac3913fcfb450d3ce9cc0141b.html
index af4c8d4819..76a859fe32 100644
--- a/docs/dir_eeaeb49ac3913fcfb450d3ce9cc0141b.html
+++ b/docs/dir_eeaeb49ac3913fcfb450d3ce9cc0141b.html
@@ -93,7 +93,7 @@ Files
diff --git a/docs/dir_f7dcbe7025bbacfc4b9a7dff6ad41d72.html b/docs/dir_f7dcbe7025bbacfc4b9a7dff6ad41d72.html
index 481a8a62d4..fc86413b09 100644
--- a/docs/dir_f7dcbe7025bbacfc4b9a7dff6ad41d72.html
+++ b/docs/dir_f7dcbe7025bbacfc4b9a7dff6ad41d72.html
@@ -171,7 +171,7 @@ Files
diff --git a/docs/files.html b/docs/files.html
index 50feba4f0d..2ea2335b88 100644
--- a/docs/files.html
+++ b/docs/files.html
@@ -430,7 +430,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions.html b/docs/functions.html
index 34b28c0a75..06a494569d 100644
--- a/docs/functions.html
+++ b/docs/functions.html
@@ -231,7 +231,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: shaka::media::AACAudioSpecificConfig
AudioStreamInfo()
-: shaka::media::AudioStreamInfo
+: shaka::media::AudioStreamInfo
AuxInfoNeedsToBeCached()
: shaka::media::mp4::TrackRunIterator
@@ -240,7 +240,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_b.html b/docs/functions_b.html
index e5297c3835..298cc7ad40 100644
--- a/docs/functions_b.html
+++ b/docs/functions_b.html
@@ -240,7 +240,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_c.html b/docs/functions_c.html
index 2e8df11a9f..b663c36ea5 100644
--- a/docs/functions_c.html
+++ b/docs/functions_c.html
@@ -241,7 +241,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_d.html b/docs/functions_d.html
index 968e85f836..c58453eb66 100644
--- a/docs/functions_d.html
+++ b/docs/functions_d.html
@@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_e.html b/docs/functions_e.html
index 5731fd266c..86ae8249eb 100644
--- a/docs/functions_e.html
+++ b/docs/functions_e.html
@@ -146,7 +146,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_enum.html b/docs/functions_enum.html
index a7b4c6bc8d..a6bf183263 100644
--- a/docs/functions_enum.html
+++ b/docs/functions_enum.html
@@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_eval.html b/docs/functions_eval.html
index d8d2220677..80f58754cf 100644
--- a/docs/functions_eval.html
+++ b/docs/functions_eval.html
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_f.html b/docs/functions_f.html
index 51c98563a4..27a690bf88 100644
--- a/docs/functions_f.html
+++ b/docs/functions_f.html
@@ -193,7 +193,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func.html b/docs/functions_func.html
index b46a182aff..32c528c796 100644
--- a/docs/functions_func.html
+++ b/docs/functions_func.html
@@ -231,7 +231,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: shaka::media::AACAudioSpecificConfig
AudioStreamInfo()
-: shaka::media::AudioStreamInfo
+: shaka::media::AudioStreamInfo
AuxInfoNeedsToBeCached()
: shaka::media::mp4::TrackRunIterator
@@ -240,7 +240,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_b.html b/docs/functions_func_b.html
index b1c08823e4..d1af9dda97 100644
--- a/docs/functions_func_b.html
+++ b/docs/functions_func_b.html
@@ -237,7 +237,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_c.html b/docs/functions_func_c.html
index e8c18bb399..ab88d738ae 100644
--- a/docs/functions_func_c.html
+++ b/docs/functions_func_c.html
@@ -241,7 +241,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_d.html b/docs/functions_func_d.html
index d37abef476..5d8ee69fad 100644
--- a/docs/functions_func_d.html
+++ b/docs/functions_func_d.html
@@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_e.html b/docs/functions_func_e.html
index 0d154ffd84..62618cb9ed 100644
--- a/docs/functions_func_e.html
+++ b/docs/functions_func_e.html
@@ -146,7 +146,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_f.html b/docs/functions_func_f.html
index d9cecb3ce8..e7420245ee 100644
--- a/docs/functions_func_f.html
+++ b/docs/functions_func_f.html
@@ -187,7 +187,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_g.html b/docs/functions_func_g.html
index f7b9367367..6dfe3ccf32 100644
--- a/docs/functions_func_g.html
+++ b/docs/functions_func_g.html
@@ -153,10 +153,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: shaka::media::WebMAudioClient
GetCodecString()
-: shaka::media::AudioStreamInfo
+: shaka::media::AudioStreamInfo
, shaka::media::AVCDecoderConfigurationRecord
-, shaka::media::HEVCDecoderConfigurationRecord
-, shaka::media::VPCodecConfigurationRecord
+, shaka::media::HEVCDecoderConfigurationRecord
+, shaka::media::VPCodecConfigurationRecord
GetCryptoPeriodKey()
: shaka::media::FixedKeySource
@@ -259,7 +259,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_h.html b/docs/functions_func_h.html
index 8591ddaaf0..bcf68a7e4a 100644
--- a/docs/functions_func_h.html
+++ b/docs/functions_func_h.html
@@ -154,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_i.html b/docs/functions_func_i.html
index d2a74ec1d1..a6ca867c7c 100644
--- a/docs/functions_func_i.html
+++ b/docs/functions_func_i.html
@@ -151,7 +151,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
, shaka::media::mp4::Segmenter
, shaka::media::NalUnitToByteStreamConverter
, shaka::media::VideoSliceHeaderParser
-, shaka::media::webm::Encryptor
+, shaka::media::webm::Encryptor
, shaka::media::webm::Segmenter
InitializeFragment()
@@ -210,7 +210,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_k.html b/docs/functions_func_k.html
index 960ea4c19e..c266f657bd 100644
--- a/docs/functions_func_k.html
+++ b/docs/functions_func_k.html
@@ -129,7 +129,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_l.html b/docs/functions_func_l.html
index 3f8040ec46..127c3aeff6 100644
--- a/docs/functions_func_l.html
+++ b/docs/functions_func_l.html
@@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_m.html b/docs/functions_func_m.html
index 1a0cc1afd0..a9158189f5 100644
--- a/docs/functions_func_m.html
+++ b/docs/functions_func_m.html
@@ -147,7 +147,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_n.html b/docs/functions_func_n.html
index 9105f00cef..f93ff81bc0 100644
--- a/docs/functions_func_n.html
+++ b/docs/functions_func_n.html
@@ -172,7 +172,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_o.html b/docs/functions_func_o.html
index f94c9506a7..81f84297b7 100644
--- a/docs/functions_func_o.html
+++ b/docs/functions_func_o.html
@@ -193,7 +193,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_p.html b/docs/functions_func_p.html
index b2a8318aec..85310bdd6d 100644
--- a/docs/functions_func_p.html
+++ b/docs/functions_func_p.html
@@ -228,7 +228,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_r.html b/docs/functions_func_r.html
index 5b1fb5074f..02ca2f47ff 100644
--- a/docs/functions_func_r.html
+++ b/docs/functions_func_r.html
@@ -201,7 +201,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_s.html b/docs/functions_func_s.html
index e5e718b594..dc963654ce 100644
--- a/docs/functions_func_s.html
+++ b/docs/functions_func_s.html
@@ -285,7 +285,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_t.html b/docs/functions_func_t.html
index 2b132e5d00..d674dc18b3 100644
--- a/docs/functions_func_t.html
+++ b/docs/functions_func_t.html
@@ -139,7 +139,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: shaka::media::SegmentTestBase
TextStreamInfo()
-: shaka::media::TextStreamInfo
+: shaka::media::TextStreamInfo
ToString()
: shaka::media::AudioStreamInfo
@@ -179,7 +179,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_u.html b/docs/functions_func_u.html
index 7f82f8f7ea..f772440803 100644
--- a/docs/functions_func_u.html
+++ b/docs/functions_func_u.html
@@ -146,7 +146,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_v.html b/docs/functions_func_v.html
index 72696fdd32..431f720e60 100644
--- a/docs/functions_func_v.html
+++ b/docs/functions_func_v.html
@@ -129,13 +129,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: shaka::media::mp4::TrackRunIterator
VideoStreamInfo()
-: shaka::media::VideoStreamInfo
+: shaka::media::VideoStreamInfo
diff --git a/docs/functions_func_w.html b/docs/functions_func_w.html
index be90aa10d1..7b2f4b9a33 100644
--- a/docs/functions_func_w.html
+++ b/docs/functions_func_w.html
@@ -182,7 +182,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_x.html b/docs/functions_func_x.html
index 758243767b..84ff4865c4 100644
--- a/docs/functions_func_x.html
+++ b/docs/functions_func_x.html
@@ -129,7 +129,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_~.html b/docs/functions_func_~.html
index 25b21fa87c..1aee803968 100644
--- a/docs/functions_func_~.html
+++ b/docs/functions_func_~.html
@@ -132,7 +132,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_g.html b/docs/functions_g.html
index 9f5012a5c2..b85a5b0701 100644
--- a/docs/functions_g.html
+++ b/docs/functions_g.html
@@ -153,10 +153,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: shaka::media::WebMAudioClient
GetCodecString()
-: shaka::media::AudioStreamInfo
+: shaka::media::AudioStreamInfo
, shaka::media::AVCDecoderConfigurationRecord
-, shaka::media::HEVCDecoderConfigurationRecord
-, shaka::media::VPCodecConfigurationRecord
+, shaka::media::HEVCDecoderConfigurationRecord
+, shaka::media::VPCodecConfigurationRecord
GetCryptoPeriodKey()
: shaka::media::FixedKeySource
@@ -259,7 +259,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_h.html b/docs/functions_h.html
index 45b2c28342..3447e4bc75 100644
--- a/docs/functions_h.html
+++ b/docs/functions_h.html
@@ -154,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_i.html b/docs/functions_i.html
index 1139577fd4..1da09fe33d 100644
--- a/docs/functions_i.html
+++ b/docs/functions_i.html
@@ -154,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
, shaka::media::mp4::Segmenter
, shaka::media::NalUnitToByteStreamConverter
, shaka::media::VideoSliceHeaderParser
-, shaka::media::webm::Encryptor
+, shaka::media::webm::Encryptor
, shaka::media::webm::Segmenter
InitializeFragment()
@@ -213,7 +213,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_k.html b/docs/functions_k.html
index b119d725c3..8a89b50837 100644
--- a/docs/functions_k.html
+++ b/docs/functions_k.html
@@ -150,7 +150,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_l.html b/docs/functions_l.html
index 26b590983a..9c13f57c03 100644
--- a/docs/functions_l.html
+++ b/docs/functions_l.html
@@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_m.html b/docs/functions_m.html
index d1e2655069..098a2d060f 100644
--- a/docs/functions_m.html
+++ b/docs/functions_m.html
@@ -150,7 +150,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_n.html b/docs/functions_n.html
index 7cb20ad8be..d8db95b425 100644
--- a/docs/functions_n.html
+++ b/docs/functions_n.html
@@ -178,7 +178,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_o.html b/docs/functions_o.html
index 1771ba5e09..da33cd485f 100644
--- a/docs/functions_o.html
+++ b/docs/functions_o.html
@@ -196,7 +196,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_p.html b/docs/functions_p.html
index 2daeb92793..d35b5c496a 100644
--- a/docs/functions_p.html
+++ b/docs/functions_p.html
@@ -234,7 +234,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_r.html b/docs/functions_r.html
index 198b5b1fb2..c6ec3d0072 100644
--- a/docs/functions_r.html
+++ b/docs/functions_r.html
@@ -201,7 +201,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_s.html b/docs/functions_s.html
index d823c13f8d..02e901e6fe 100644
--- a/docs/functions_s.html
+++ b/docs/functions_s.html
@@ -300,7 +300,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_t.html b/docs/functions_t.html
index 6c2201552b..217e50e6c6 100644
--- a/docs/functions_t.html
+++ b/docs/functions_t.html
@@ -142,7 +142,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: shaka::media::SegmentTestBase
TextStreamInfo()
-: shaka::media::TextStreamInfo
+: shaka::media::TextStreamInfo
ToString()
: shaka::media::AudioStreamInfo
@@ -182,7 +182,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_type.html b/docs/functions_type.html
index 879fa72461..3597de607d 100644
--- a/docs/functions_type.html
+++ b/docs/functions_type.html
@@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_u.html b/docs/functions_u.html
index b3ceb7225b..ed35e3461a 100644
--- a/docs/functions_u.html
+++ b/docs/functions_u.html
@@ -146,7 +146,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_v.html b/docs/functions_v.html
index abf7ea0223..5977e7524b 100644
--- a/docs/functions_v.html
+++ b/docs/functions_v.html
@@ -129,13 +129,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: shaka::media::mp4::TrackRunIterator
VideoStreamInfo()
-: shaka::media::VideoStreamInfo
+: shaka::media::VideoStreamInfo
diff --git a/docs/functions_vars.html b/docs/functions_vars.html
index afd7c05e43..95e81a67d9 100644
--- a/docs/functions_vars.html
+++ b/docs/functions_vars.html
@@ -145,7 +145,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_w.html b/docs/functions_w.html
index d68b6f7b23..4e30e78092 100644
--- a/docs/functions_w.html
+++ b/docs/functions_w.html
@@ -182,7 +182,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_x.html b/docs/functions_x.html
index 8fa1b845bd..940f0168af 100644
--- a/docs/functions_x.html
+++ b/docs/functions_x.html
@@ -129,7 +129,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_~.html b/docs/functions_~.html
index bbfefadd30..ff6a2535c1 100644
--- a/docs/functions_~.html
+++ b/docs/functions_~.html
@@ -132,7 +132,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/hierarchy.html b/docs/hierarchy.html
index 85cd65fc9e..92e961f285 100644
--- a/docs/hierarchy.html
+++ b/docs/hierarchy.html
@@ -368,7 +368,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/index.html b/docs/index.html
index 2b016bb893..ec2f586631 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -81,7 +81,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/namespacemembers.html b/docs/namespacemembers.html
index 5c7ad1807d..cf0fe7fc8a 100644
--- a/docs/namespacemembers.html
+++ b/docs/namespacemembers.html
@@ -124,7 +124,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/namespacemembers_func.html b/docs/namespacemembers_func.html
index 53ad01caae..7445f17e12 100644
--- a/docs/namespacemembers_func.html
+++ b/docs/namespacemembers_func.html
@@ -124,7 +124,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/namespaces.html b/docs/namespaces.html
index 8557238662..7cc1589e13 100644
--- a/docs/namespaces.html
+++ b/docs/namespaces.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/search/all_0.js b/docs/search/all_0.js
index b79537e5b2..5e5990c7a3 100644
--- a/docs/search/all_0.js
+++ b/docs/search/all_0.js
@@ -49,7 +49,7 @@ var searchData=
['audiorollrecoveryentry',['AudioRollRecoveryEntry',['../da/d6e/structshaka_1_1media_1_1mp4_1_1AudioRollRecoveryEntry.html',1,'shaka::media::mp4']]],
['audiosampleentry',['AudioSampleEntry',['../d8/d5b/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry.html',1,'shaka::media::mp4']]],
['audiostreaminfo',['AudioStreamInfo',['../da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html',1,'shaka::media']]],
- ['audiostreaminfo',['AudioStreamInfo',['../da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html#a90bac4407cc8f295781b4819c60da771',1,'shaka::media::AudioStreamInfo']]],
+ ['audiostreaminfo',['AudioStreamInfo',['../da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html#a1333ea7b15790da37addb60ba49131b4',1,'shaka::media::AudioStreamInfo']]],
['audiotimestamphelper',['AudioTimestampHelper',['../d0/d4d/classshaka_1_1media_1_1AudioTimestampHelper.html',1,'shaka::media']]],
['auxinfoneedstobecached',['AuxInfoNeedsToBeCached',['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#a8d4fb433e66fec693035cac796ca6851',1,'shaka::media::mp4::TrackRunIterator']]],
['avcdecoderconfigurationrecord',['AVCDecoderConfigurationRecord',['../d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html',1,'shaka::media']]]
diff --git a/docs/search/all_11.js b/docs/search/all_11.js
index e9f196abfe..3bb1b32f61 100644
--- a/docs/search/all_11.js
+++ b/docs/search/all_11.js
@@ -7,7 +7,7 @@ var searchData=
['templatefilename',['TemplateFileName',['../d2/dba/classshaka_1_1media_1_1SegmentTestBase.html#afa2cdde90c04bf69301a9589faa7efd9',1,'shaka::media::SegmentTestBase']]],
['textsampleentry',['TextSampleEntry',['../d7/dc3/structshaka_1_1media_1_1mp4_1_1TextSampleEntry.html',1,'shaka::media::mp4']]],
['textstreaminfo',['TextStreamInfo',['../db/dab/classshaka_1_1media_1_1TextStreamInfo.html',1,'shaka::media']]],
- ['textstreaminfo',['TextStreamInfo',['../db/dab/classshaka_1_1media_1_1TextStreamInfo.html#a643174313de01f895f8e494c15010fdc',1,'shaka::media::TextStreamInfo']]],
+ ['textstreaminfo',['TextStreamInfo',['../db/dab/classshaka_1_1media_1_1TextStreamInfo.html#a3cc97869179c6e1f845ee84ba630048f',1,'shaka::media::TextStreamInfo']]],
['texttrack',['TextTrack',['../d4/d0b/classshaka_1_1media_1_1TextTrack.html',1,'shaka::media']]],
['texttrackconfig',['TextTrackConfig',['../de/db3/classshaka_1_1media_1_1TextTrackConfig.html',1,'shaka::media']]],
['threadediofile',['ThreadedIoFile',['../d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html',1,'shaka::media']]],
diff --git a/docs/search/all_13.js b/docs/search/all_13.js
index 52981f1a85..35f01f5ab9 100644
--- a/docs/search/all_13.js
+++ b/docs/search/all_13.js
@@ -8,7 +8,7 @@ var searchData=
['videomediaheader',['VideoMediaHeader',['../d1/db0/structshaka_1_1media_1_1mp4_1_1VideoMediaHeader.html',1,'shaka::media::mp4']]],
['videosampleentry',['VideoSampleEntry',['../d0/d73/structshaka_1_1media_1_1mp4_1_1VideoSampleEntry.html',1,'shaka::media::mp4']]],
['videosliceheaderparser',['VideoSliceHeaderParser',['../dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html',1,'shaka::media']]],
- ['videostreaminfo',['VideoStreamInfo',['../d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html#a3f4380f77c0846fc07e07df40d5eb618',1,'shaka::media::VideoStreamInfo']]],
+ ['videostreaminfo',['VideoStreamInfo',['../d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html#a3de6a7d65ddd877c513f3047a86db59e',1,'shaka::media::VideoStreamInfo']]],
['videostreaminfo',['VideoStreamInfo',['../d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html',1,'shaka::media']]],
['videostreaminfoparameters',['VideoStreamInfoParameters',['../d6/d26/structshaka_1_1media_1_1VideoStreamInfoParameters.html',1,'shaka::media']]],
['vodmediainfodumpmuxerlistener',['VodMediaInfoDumpMuxerListener',['../db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html',1,'shaka::media']]],
diff --git a/docs/search/all_6.js b/docs/search/all_6.js
index 6960eaa9c5..91432de582 100644
--- a/docs/search/all_6.js
+++ b/docs/search/all_6.js
@@ -9,7 +9,7 @@ var searchData=
['getaudiodefaultduration',['GetAudioDefaultDuration',['../d8/d86/classshaka_1_1media_1_1WebMTracksParser.html#a554135ee3a8ad995beeab868c67aba36',1,'shaka::media::WebMTracksParser']]],
['getaudiospecificconfig',['GetAudioSpecificConfig',['../d3/d0c/classshaka_1_1media_1_1mp2t_1_1AdtsHeader.html#a5ca14cc4eb4a28906fe832ab263ba5a2',1,'shaka::media::mp2t::AdtsHeader']]],
['getaudiostreaminfo',['GetAudioStreamInfo',['../d3/d7c/classshaka_1_1media_1_1WebMAudioClient.html#a8a23999bc3e6e88276d3ad62bd81e63f',1,'shaka::media::WebMAudioClient']]],
- ['getcodecstring',['GetCodecString',['../da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html#a2a09eeb3559dd38c333c071d78be1e8c',1,'shaka::media::AudioStreamInfo::GetCodecString()'],['../d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html#a52fbab2c863be9e771eafa20b34b89bc',1,'shaka::media::AVCDecoderConfigurationRecord::GetCodecString() const '],['../d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html#a120f0913aea1e336da1335e80564b106',1,'shaka::media::AVCDecoderConfigurationRecord::GetCodecString(uint8_t profile_indication, uint8_t profile_compatibility, uint8_t avc_level)'],['../d4/d8a/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord.html#a1383da792b80b1607767f1ee53112e3e',1,'shaka::media::HEVCDecoderConfigurationRecord::GetCodecString()'],['../d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html#a44bfb58b5c35974fd617cba85fc81be6',1,'shaka::media::VPCodecConfigurationRecord::GetCodecString()']]],
+ ['getcodecstring',['GetCodecString',['../da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html#aee79e7aa61b741bb96f451c6de1c9d42',1,'shaka::media::AudioStreamInfo::GetCodecString()'],['../d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html#a52fbab2c863be9e771eafa20b34b89bc',1,'shaka::media::AVCDecoderConfigurationRecord::GetCodecString() const '],['../d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html#a120f0913aea1e336da1335e80564b106',1,'shaka::media::AVCDecoderConfigurationRecord::GetCodecString(uint8_t profile_indication, uint8_t profile_compatibility, uint8_t avc_level)'],['../d4/d8a/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord.html#ad6b1f9ca644b001ff59c8e8188117f76',1,'shaka::media::HEVCDecoderConfigurationRecord::GetCodecString()'],['../d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html#a86b48fb506b476538a7440d9ccf9a533',1,'shaka::media::VPCodecConfigurationRecord::GetCodecString()']]],
['getcontenttype',['GetContentType',['../d8/daf/namespaceshaka.html#a5ea880937da26d677ff6a48c0219d090',1,'shaka']]],
['getcryptoperiodkey',['GetCryptoPeriodKey',['../d0/dac/classshaka_1_1media_1_1FixedKeySource.html#afa9abf3a9104cbcb4711eac65c8a5bdf',1,'shaka::media::FixedKeySource::GetCryptoPeriodKey()'],['../d1/d1f/classshaka_1_1media_1_1KeySource.html#a18806b962c858e35ed07753687605b16',1,'shaka::media::KeySource::GetCryptoPeriodKey()'],['../da/ddd/classshaka_1_1media_1_1WidevineKeySource.html#ab56a71e9f9f9e545f96e667279c05bb1',1,'shaka::media::WidevineKeySource::GetCryptoPeriodKey()']]],
['getdecoderconfigurationrecord',['GetDecoderConfigurationRecord',['../d8/d08/classshaka_1_1media_1_1H264ByteToUnitStreamConverter.html#a6a7a73841ded1942364f88aad90dcbc9',1,'shaka::media::H264ByteToUnitStreamConverter::GetDecoderConfigurationRecord()'],['../db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html#a9a866e255a2b267f2b44d0156c479de9',1,'shaka::media::H265ByteToUnitStreamConverter::GetDecoderConfigurationRecord()'],['../de/dea/classshaka_1_1media_1_1H26xByteToUnitStreamConverter.html#a57f8a71d948f27303ba41dd5aafb5445',1,'shaka::media::H26xByteToUnitStreamConverter::GetDecoderConfigurationRecord()']]],
diff --git a/docs/search/all_8.js b/docs/search/all_8.js
index b63b475866..530e092925 100644
--- a/docs/search/all_8.js
+++ b/docs/search/all_8.js
@@ -5,7 +5,7 @@ var searchData=
['ignorebytes',['IgnoreBytes',['../d1/da1/classshaka_1_1media_1_1mp4_1_1BoxBuffer.html#a1a0c70e3124677ae08164f7b89f6a1d4',1,'shaka::media::mp4::BoxBuffer']]],
['init',['Init',['../d3/d0a/classshaka_1_1media_1_1MediaParser.html#adc7c91bebe75879abba91a56dae52153',1,'shaka::media::MediaParser::Init()'],['../d3/dc1/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser.html#aa2aff12312827aacf2b7db6e2f792c52',1,'shaka::media::mp2t::Mp2tMediaParser::Init()'],['../d7/dd5/classshaka_1_1media_1_1mp4_1_1MP4MediaParser.html#acc87b9752a7f6e8c739109acbc02b69d',1,'shaka::media::mp4::MP4MediaParser::Init()'],['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#ae9f02c32b4e2be8fc41a20f3f00f3494',1,'shaka::media::mp4::TrackRunIterator::Init()'],['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#a4d39eaf8568da29b597411c56f50d86f',1,'shaka::media::mp4::TrackRunIterator::Init(const MovieFragment &moof)'],['../d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html#a5cd5c298938e2c58c45f962b21e43b2e',1,'shaka::media::WebMMediaParser::Init()'],['../dc/df2/classshaka_1_1media_1_1WebVttMediaParser.html#af6c0fb7de806cccd0e1f9dd92b5310f3',1,'shaka::media::WebVttMediaParser::Init()'],['../dc/d18/classshaka_1_1media_1_1wvm_1_1WvmMediaParser.html#a6f931f1702724a9b19c3078a7832bc77',1,'shaka::media::wvm::WvmMediaParser::Init()'],['../d4/d70/classshaka_1_1DashIopMpdNotifier.html#a9dd9d655a538ff2618634ca1f9809478',1,'shaka::DashIopMpdNotifier::Init()'],['../de/d52/classshaka_1_1Representation.html#ae998409ae94f3ba12909a96e8f3f4f7e',1,'shaka::Representation::Init()'],['../d3/dd0/classshaka_1_1MpdNotifier.html#ad6171481d6fb437767b1f5b9e0dac1a3',1,'shaka::MpdNotifier::Init()'],['../d8/de1/classshaka_1_1SimpleMpdNotifier.html#a59bcb401b5ca8d5b893ec7da9461569f',1,'shaka::SimpleMpdNotifier::Init()']]],
['initcb',['InitCB',['../d3/d0a/classshaka_1_1media_1_1MediaParser.html#a95d25a50ad371304f1abce9971ce3704',1,'shaka::media::MediaParser']]],
- ['initialize',['Initialize',['../dd/d17/classshaka_1_1media_1_1Demuxer.html#a436ed9fd2a3ddd78056ec7cf656fd9ad',1,'shaka::media::Demuxer::Initialize()'],['../d5/d66/classshaka_1_1media_1_1NalUnitToByteStreamConverter.html#aa84e36b83b1caa2b1f726c4d3cff3d6d',1,'shaka::media::NalUnitToByteStreamConverter::Initialize()'],['../dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html#a862422cdf78f370069055037338fa53d',1,'shaka::media::VideoSliceHeaderParser::Initialize()'],['../da/df0/classshaka_1_1media_1_1H264VideoSliceHeaderParser.html#a551bd1e2a852d1a3b23b77df8505b7f7',1,'shaka::media::H264VideoSliceHeaderParser::Initialize()'],['../d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html#a83a25520f713f4818a765ea3324a1438',1,'shaka::media::H265VideoSliceHeaderParser::Initialize()'],['../d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html#aa0346189f99b2f0fc2c71da1543155fa',1,'shaka::media::mp2t::PesPacketGenerator::Initialize()'],['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html#a412be69ae8e18c5ceb3c48d1559c79c2',1,'shaka::media::mp2t::TsSegmenter::Initialize()'],['../de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html#a6bee605be771538f78633e2ecfc979c6',1,'shaka::media::mp2t::TsWriter::Initialize()'],['../d9/d26/classshaka_1_1media_1_1mp4_1_1Segmenter.html#a0440c751fd818964397d17330acc7afc',1,'shaka::media::mp4::Segmenter::Initialize()'],['../de/dfa/classshaka_1_1media_1_1webm_1_1Encryptor.html#ace5a25125eb3ca9848813ac044e56429',1,'shaka::media::webm::Encryptor::Initialize()'],['../dd/dc5/classshaka_1_1media_1_1webm_1_1Segmenter.html#a144b19be7c3f693b06da2fbe2e40587a',1,'shaka::media::webm::Segmenter::Initialize()']]],
+ ['initialize',['Initialize',['../dd/d17/classshaka_1_1media_1_1Demuxer.html#a436ed9fd2a3ddd78056ec7cf656fd9ad',1,'shaka::media::Demuxer::Initialize()'],['../d5/d66/classshaka_1_1media_1_1NalUnitToByteStreamConverter.html#aa84e36b83b1caa2b1f726c4d3cff3d6d',1,'shaka::media::NalUnitToByteStreamConverter::Initialize()'],['../dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html#a862422cdf78f370069055037338fa53d',1,'shaka::media::VideoSliceHeaderParser::Initialize()'],['../da/df0/classshaka_1_1media_1_1H264VideoSliceHeaderParser.html#a551bd1e2a852d1a3b23b77df8505b7f7',1,'shaka::media::H264VideoSliceHeaderParser::Initialize()'],['../d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html#a83a25520f713f4818a765ea3324a1438',1,'shaka::media::H265VideoSliceHeaderParser::Initialize()'],['../d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html#aa0346189f99b2f0fc2c71da1543155fa',1,'shaka::media::mp2t::PesPacketGenerator::Initialize()'],['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html#a412be69ae8e18c5ceb3c48d1559c79c2',1,'shaka::media::mp2t::TsSegmenter::Initialize()'],['../de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html#a6bee605be771538f78633e2ecfc979c6',1,'shaka::media::mp2t::TsWriter::Initialize()'],['../d9/d26/classshaka_1_1media_1_1mp4_1_1Segmenter.html#a0440c751fd818964397d17330acc7afc',1,'shaka::media::mp4::Segmenter::Initialize()'],['../de/dfa/classshaka_1_1media_1_1webm_1_1Encryptor.html#afa6065049fad093b96643b9e3d70595f',1,'shaka::media::webm::Encryptor::Initialize()'],['../dd/dc5/classshaka_1_1media_1_1webm_1_1Segmenter.html#a144b19be7c3f693b06da2fbe2e40587a',1,'shaka::media::webm::Segmenter::Initialize()']]],
['initializefragment',['InitializeFragment',['../dc/df3/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a126294f104809268975fe04391902ad3',1,'shaka::media::mp4::EncryptingFragmenter::InitializeFragment()'],['../db/d95/classshaka_1_1media_1_1mp4_1_1Fragmenter.html#aa702c2af5ea5096d94f2943076a21e4a',1,'shaka::media::mp4::Fragmenter::InitializeFragment()']]],
['initializewithiv',['InitializeWithIv',['../df/d87/classshaka_1_1media_1_1AesCryptor.html#a41954df34b76b04d561892732dd0ec2f',1,'shaka::media::AesCryptor::InitializeWithIv()'],['../df/d2d/classshaka_1_1media_1_1AesCbcDecryptor.html#a71ff0b9654de96f9990b29c35fa9b7bf',1,'shaka::media::AesCbcDecryptor::InitializeWithIv()'],['../d3/d75/classshaka_1_1media_1_1AesEncryptor.html#a0695df5615cadf6977fdbac978daeffa',1,'shaka::media::AesEncryptor::InitializeWithIv()'],['../d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html#af878688f0f277f3f6757e85654439c34',1,'shaka::media::AesPatternCryptor::InitializeWithIv()']]],
['injectclockfortesting',['InjectClockForTesting',['../dc/da1/classshaka_1_1MpdBuilder.html#a723afe73b9d619a1178ae21e46fd7450',1,'shaka::MpdBuilder']]],
diff --git a/docs/search/functions_0.js b/docs/search/functions_0.js
index fbcbd80e67..6412d98eb7 100644
--- a/docs/search/functions_0.js
+++ b/docs/search/functions_0.js
@@ -33,6 +33,6 @@ var searchData=
['appendnbytes',['AppendNBytes',['../dc/d41/classshaka_1_1media_1_1BufferWriter.html#ae44b09c03c9b8f0fbf58deb80355f299',1,'shaka::media::BufferWriter']]],
['audio_5fdescription',['audio_description',['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#adb40e673e8025ca51740a50eb20d89b2',1,'shaka::media::mp4::TrackRunIterator']]],
['audio_5fobject_5ftype',['audio_object_type',['../d0/da2/classshaka_1_1media_1_1AACAudioSpecificConfig.html#a8c89c8845d90d292fad38f8caf378a63',1,'shaka::media::AACAudioSpecificConfig']]],
- ['audiostreaminfo',['AudioStreamInfo',['../da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html#a90bac4407cc8f295781b4819c60da771',1,'shaka::media::AudioStreamInfo']]],
+ ['audiostreaminfo',['AudioStreamInfo',['../da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html#a1333ea7b15790da37addb60ba49131b4',1,'shaka::media::AudioStreamInfo']]],
['auxinfoneedstobecached',['AuxInfoNeedsToBeCached',['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#a8d4fb433e66fec693035cac796ca6851',1,'shaka::media::mp4::TrackRunIterator']]]
];
diff --git a/docs/search/functions_11.js b/docs/search/functions_11.js
index ba17cd125c..6c3a48a407 100644
--- a/docs/search/functions_11.js
+++ b/docs/search/functions_11.js
@@ -4,7 +4,7 @@ var searchData=
['tailpos',['TailPos',['../d5/d33/classshaka_1_1media_1_1ProducerConsumerQueue.html#a8a48278d994c0c170b408191d7d994b7',1,'shaka::media::ProducerConsumerQueue']]],
['tell',['Tell',['../d3/d61/classshaka_1_1media_1_1File.html#a57dd80258b1989f85d99c154ba377db8',1,'shaka::media::File::Tell()'],['../d9/de6/classshaka_1_1media_1_1LocalFile.html#ad8dd99ee399830616cd23869ed35d768',1,'shaka::media::LocalFile::Tell()'],['../d9/dbd/classshaka_1_1media_1_1MemoryFile.html#a0346e0c4f961c06041efeaf43aee8f03',1,'shaka::media::MemoryFile::Tell()'],['../d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html#a23949d75527c8de9f02e749c7744f11e',1,'shaka::media::ThreadedIoFile::Tell()'],['../d7/d7a/classshaka_1_1media_1_1UdpFile.html#affb3b5c69847e5f40671e65a7110358c',1,'shaka::media::UdpFile::Tell()']]],
['templatefilename',['TemplateFileName',['../d2/dba/classshaka_1_1media_1_1SegmentTestBase.html#afa2cdde90c04bf69301a9589faa7efd9',1,'shaka::media::SegmentTestBase']]],
- ['textstreaminfo',['TextStreamInfo',['../db/dab/classshaka_1_1media_1_1TextStreamInfo.html#a643174313de01f895f8e494c15010fdc',1,'shaka::media::TextStreamInfo']]],
+ ['textstreaminfo',['TextStreamInfo',['../db/dab/classshaka_1_1media_1_1TextStreamInfo.html#a3cc97869179c6e1f845ee84ba630048f',1,'shaka::media::TextStreamInfo']]],
['tostring',['ToString',['../da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html#a7f94e51abcf522ff70e2456a8c8595df',1,'shaka::media::AudioStreamInfo::ToString()'],['../d7/d6d/classshaka_1_1media_1_1MediaSample.html#aa3cbd9fee3a228403c3128be5141a614',1,'shaka::media::MediaSample::ToString()'],['../d8/d5c/classshaka_1_1media_1_1MediaStream.html#a51d85facae4f9d8d89b97a42148769dd',1,'shaka::media::MediaStream::ToString()'],['../d0/d93/classshaka_1_1media_1_1Status.html#ac5d67e71539ca2f3589d3b2d4dc9ad60',1,'shaka::media::Status::ToString()'],['../d5/db1/classshaka_1_1media_1_1StreamInfo.html#aa11d2fe5509ebfdc038aa3f2cdbbe00d',1,'shaka::media::StreamInfo::ToString()'],['../d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html#a9cac8e75d76f1192a48d1dcf61435537',1,'shaka::media::VideoStreamInfo::ToString()'],['../dc/da1/classshaka_1_1MpdBuilder.html#af7eae5cc11141eed2b5451d969e57db6',1,'shaka::MpdBuilder::ToString()']]],
['trackruniterator',['TrackRunIterator',['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#a743961add0060500509c3fc74ffd26ab',1,'shaka::media::mp4::TrackRunIterator']]],
['tracktypetostring',['TrackTypeToString',['../d1/d1f/classshaka_1_1media_1_1KeySource.html#a4f9cede7a8c1678e1fac93c8fe12aa75',1,'shaka::media::KeySource']]],
diff --git a/docs/search/functions_13.js b/docs/search/functions_13.js
index 493758520b..ab2001b112 100644
--- a/docs/search/functions_13.js
+++ b/docs/search/functions_13.js
@@ -5,5 +5,5 @@ var searchData=
['validatewidevinecryptoflags',['ValidateWidevineCryptoFlags',['../d8/daf/namespaceshaka.html#ade3cbb360c0dcaacc5667676af885008',1,'shaka']]],
['verifysignature',['VerifySignature',['../d9/d0c/classshaka_1_1media_1_1RsaPublicKey.html#a146cc97c8fcacadde1b08c373b766fe4',1,'shaka::media::RsaPublicKey']]],
['video_5fdescription',['video_description',['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#aee813f01267e89ff00fdb836bb3a159d',1,'shaka::media::mp4::TrackRunIterator']]],
- ['videostreaminfo',['VideoStreamInfo',['../d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html#a3f4380f77c0846fc07e07df40d5eb618',1,'shaka::media::VideoStreamInfo']]]
+ ['videostreaminfo',['VideoStreamInfo',['../d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html#a3de6a7d65ddd877c513f3047a86db59e',1,'shaka::media::VideoStreamInfo']]]
];
diff --git a/docs/search/functions_6.js b/docs/search/functions_6.js
index 6960eaa9c5..91432de582 100644
--- a/docs/search/functions_6.js
+++ b/docs/search/functions_6.js
@@ -9,7 +9,7 @@ var searchData=
['getaudiodefaultduration',['GetAudioDefaultDuration',['../d8/d86/classshaka_1_1media_1_1WebMTracksParser.html#a554135ee3a8ad995beeab868c67aba36',1,'shaka::media::WebMTracksParser']]],
['getaudiospecificconfig',['GetAudioSpecificConfig',['../d3/d0c/classshaka_1_1media_1_1mp2t_1_1AdtsHeader.html#a5ca14cc4eb4a28906fe832ab263ba5a2',1,'shaka::media::mp2t::AdtsHeader']]],
['getaudiostreaminfo',['GetAudioStreamInfo',['../d3/d7c/classshaka_1_1media_1_1WebMAudioClient.html#a8a23999bc3e6e88276d3ad62bd81e63f',1,'shaka::media::WebMAudioClient']]],
- ['getcodecstring',['GetCodecString',['../da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html#a2a09eeb3559dd38c333c071d78be1e8c',1,'shaka::media::AudioStreamInfo::GetCodecString()'],['../d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html#a52fbab2c863be9e771eafa20b34b89bc',1,'shaka::media::AVCDecoderConfigurationRecord::GetCodecString() const '],['../d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html#a120f0913aea1e336da1335e80564b106',1,'shaka::media::AVCDecoderConfigurationRecord::GetCodecString(uint8_t profile_indication, uint8_t profile_compatibility, uint8_t avc_level)'],['../d4/d8a/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord.html#a1383da792b80b1607767f1ee53112e3e',1,'shaka::media::HEVCDecoderConfigurationRecord::GetCodecString()'],['../d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html#a44bfb58b5c35974fd617cba85fc81be6',1,'shaka::media::VPCodecConfigurationRecord::GetCodecString()']]],
+ ['getcodecstring',['GetCodecString',['../da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html#aee79e7aa61b741bb96f451c6de1c9d42',1,'shaka::media::AudioStreamInfo::GetCodecString()'],['../d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html#a52fbab2c863be9e771eafa20b34b89bc',1,'shaka::media::AVCDecoderConfigurationRecord::GetCodecString() const '],['../d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html#a120f0913aea1e336da1335e80564b106',1,'shaka::media::AVCDecoderConfigurationRecord::GetCodecString(uint8_t profile_indication, uint8_t profile_compatibility, uint8_t avc_level)'],['../d4/d8a/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord.html#ad6b1f9ca644b001ff59c8e8188117f76',1,'shaka::media::HEVCDecoderConfigurationRecord::GetCodecString()'],['../d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html#a86b48fb506b476538a7440d9ccf9a533',1,'shaka::media::VPCodecConfigurationRecord::GetCodecString()']]],
['getcontenttype',['GetContentType',['../d8/daf/namespaceshaka.html#a5ea880937da26d677ff6a48c0219d090',1,'shaka']]],
['getcryptoperiodkey',['GetCryptoPeriodKey',['../d0/dac/classshaka_1_1media_1_1FixedKeySource.html#afa9abf3a9104cbcb4711eac65c8a5bdf',1,'shaka::media::FixedKeySource::GetCryptoPeriodKey()'],['../d1/d1f/classshaka_1_1media_1_1KeySource.html#a18806b962c858e35ed07753687605b16',1,'shaka::media::KeySource::GetCryptoPeriodKey()'],['../da/ddd/classshaka_1_1media_1_1WidevineKeySource.html#ab56a71e9f9f9e545f96e667279c05bb1',1,'shaka::media::WidevineKeySource::GetCryptoPeriodKey()']]],
['getdecoderconfigurationrecord',['GetDecoderConfigurationRecord',['../d8/d08/classshaka_1_1media_1_1H264ByteToUnitStreamConverter.html#a6a7a73841ded1942364f88aad90dcbc9',1,'shaka::media::H264ByteToUnitStreamConverter::GetDecoderConfigurationRecord()'],['../db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html#a9a866e255a2b267f2b44d0156c479de9',1,'shaka::media::H265ByteToUnitStreamConverter::GetDecoderConfigurationRecord()'],['../de/dea/classshaka_1_1media_1_1H26xByteToUnitStreamConverter.html#a57f8a71d948f27303ba41dd5aafb5445',1,'shaka::media::H26xByteToUnitStreamConverter::GetDecoderConfigurationRecord()']]],
diff --git a/docs/search/functions_8.js b/docs/search/functions_8.js
index 38533f87e8..3e9a3d1a93 100644
--- a/docs/search/functions_8.js
+++ b/docs/search/functions_8.js
@@ -3,7 +3,7 @@ var searchData=
['id',['id',['../de/d52/classshaka_1_1Representation.html#a6a3ba385179698e57a1451d1a26ad827',1,'shaka::Representation']]],
['ignorebytes',['IgnoreBytes',['../d1/da1/classshaka_1_1media_1_1mp4_1_1BoxBuffer.html#a1a0c70e3124677ae08164f7b89f6a1d4',1,'shaka::media::mp4::BoxBuffer']]],
['init',['Init',['../d3/d0a/classshaka_1_1media_1_1MediaParser.html#adc7c91bebe75879abba91a56dae52153',1,'shaka::media::MediaParser::Init()'],['../d3/dc1/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser.html#aa2aff12312827aacf2b7db6e2f792c52',1,'shaka::media::mp2t::Mp2tMediaParser::Init()'],['../d7/dd5/classshaka_1_1media_1_1mp4_1_1MP4MediaParser.html#acc87b9752a7f6e8c739109acbc02b69d',1,'shaka::media::mp4::MP4MediaParser::Init()'],['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#ae9f02c32b4e2be8fc41a20f3f00f3494',1,'shaka::media::mp4::TrackRunIterator::Init()'],['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#a4d39eaf8568da29b597411c56f50d86f',1,'shaka::media::mp4::TrackRunIterator::Init(const MovieFragment &moof)'],['../d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html#a5cd5c298938e2c58c45f962b21e43b2e',1,'shaka::media::WebMMediaParser::Init()'],['../dc/df2/classshaka_1_1media_1_1WebVttMediaParser.html#af6c0fb7de806cccd0e1f9dd92b5310f3',1,'shaka::media::WebVttMediaParser::Init()'],['../dc/d18/classshaka_1_1media_1_1wvm_1_1WvmMediaParser.html#a6f931f1702724a9b19c3078a7832bc77',1,'shaka::media::wvm::WvmMediaParser::Init()'],['../d4/d70/classshaka_1_1DashIopMpdNotifier.html#a9dd9d655a538ff2618634ca1f9809478',1,'shaka::DashIopMpdNotifier::Init()'],['../de/d52/classshaka_1_1Representation.html#ae998409ae94f3ba12909a96e8f3f4f7e',1,'shaka::Representation::Init()'],['../d3/dd0/classshaka_1_1MpdNotifier.html#ad6171481d6fb437767b1f5b9e0dac1a3',1,'shaka::MpdNotifier::Init()'],['../d8/de1/classshaka_1_1SimpleMpdNotifier.html#a59bcb401b5ca8d5b893ec7da9461569f',1,'shaka::SimpleMpdNotifier::Init()']]],
- ['initialize',['Initialize',['../dd/d17/classshaka_1_1media_1_1Demuxer.html#a436ed9fd2a3ddd78056ec7cf656fd9ad',1,'shaka::media::Demuxer::Initialize()'],['../d5/d66/classshaka_1_1media_1_1NalUnitToByteStreamConverter.html#aa84e36b83b1caa2b1f726c4d3cff3d6d',1,'shaka::media::NalUnitToByteStreamConverter::Initialize()'],['../dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html#a862422cdf78f370069055037338fa53d',1,'shaka::media::VideoSliceHeaderParser::Initialize()'],['../da/df0/classshaka_1_1media_1_1H264VideoSliceHeaderParser.html#a551bd1e2a852d1a3b23b77df8505b7f7',1,'shaka::media::H264VideoSliceHeaderParser::Initialize()'],['../d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html#a83a25520f713f4818a765ea3324a1438',1,'shaka::media::H265VideoSliceHeaderParser::Initialize()'],['../d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html#aa0346189f99b2f0fc2c71da1543155fa',1,'shaka::media::mp2t::PesPacketGenerator::Initialize()'],['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html#a412be69ae8e18c5ceb3c48d1559c79c2',1,'shaka::media::mp2t::TsSegmenter::Initialize()'],['../de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html#a6bee605be771538f78633e2ecfc979c6',1,'shaka::media::mp2t::TsWriter::Initialize()'],['../d9/d26/classshaka_1_1media_1_1mp4_1_1Segmenter.html#a0440c751fd818964397d17330acc7afc',1,'shaka::media::mp4::Segmenter::Initialize()'],['../de/dfa/classshaka_1_1media_1_1webm_1_1Encryptor.html#ace5a25125eb3ca9848813ac044e56429',1,'shaka::media::webm::Encryptor::Initialize()'],['../dd/dc5/classshaka_1_1media_1_1webm_1_1Segmenter.html#a144b19be7c3f693b06da2fbe2e40587a',1,'shaka::media::webm::Segmenter::Initialize()']]],
+ ['initialize',['Initialize',['../dd/d17/classshaka_1_1media_1_1Demuxer.html#a436ed9fd2a3ddd78056ec7cf656fd9ad',1,'shaka::media::Demuxer::Initialize()'],['../d5/d66/classshaka_1_1media_1_1NalUnitToByteStreamConverter.html#aa84e36b83b1caa2b1f726c4d3cff3d6d',1,'shaka::media::NalUnitToByteStreamConverter::Initialize()'],['../dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html#a862422cdf78f370069055037338fa53d',1,'shaka::media::VideoSliceHeaderParser::Initialize()'],['../da/df0/classshaka_1_1media_1_1H264VideoSliceHeaderParser.html#a551bd1e2a852d1a3b23b77df8505b7f7',1,'shaka::media::H264VideoSliceHeaderParser::Initialize()'],['../d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html#a83a25520f713f4818a765ea3324a1438',1,'shaka::media::H265VideoSliceHeaderParser::Initialize()'],['../d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html#aa0346189f99b2f0fc2c71da1543155fa',1,'shaka::media::mp2t::PesPacketGenerator::Initialize()'],['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html#a412be69ae8e18c5ceb3c48d1559c79c2',1,'shaka::media::mp2t::TsSegmenter::Initialize()'],['../de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html#a6bee605be771538f78633e2ecfc979c6',1,'shaka::media::mp2t::TsWriter::Initialize()'],['../d9/d26/classshaka_1_1media_1_1mp4_1_1Segmenter.html#a0440c751fd818964397d17330acc7afc',1,'shaka::media::mp4::Segmenter::Initialize()'],['../de/dfa/classshaka_1_1media_1_1webm_1_1Encryptor.html#afa6065049fad093b96643b9e3d70595f',1,'shaka::media::webm::Encryptor::Initialize()'],['../dd/dc5/classshaka_1_1media_1_1webm_1_1Segmenter.html#a144b19be7c3f693b06da2fbe2e40587a',1,'shaka::media::webm::Segmenter::Initialize()']]],
['initializefragment',['InitializeFragment',['../dc/df3/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a126294f104809268975fe04391902ad3',1,'shaka::media::mp4::EncryptingFragmenter::InitializeFragment()'],['../db/d95/classshaka_1_1media_1_1mp4_1_1Fragmenter.html#aa702c2af5ea5096d94f2943076a21e4a',1,'shaka::media::mp4::Fragmenter::InitializeFragment()']]],
['initializewithiv',['InitializeWithIv',['../df/d87/classshaka_1_1media_1_1AesCryptor.html#a41954df34b76b04d561892732dd0ec2f',1,'shaka::media::AesCryptor::InitializeWithIv()'],['../df/d2d/classshaka_1_1media_1_1AesCbcDecryptor.html#a71ff0b9654de96f9990b29c35fa9b7bf',1,'shaka::media::AesCbcDecryptor::InitializeWithIv()'],['../d3/d75/classshaka_1_1media_1_1AesEncryptor.html#a0695df5615cadf6977fdbac978daeffa',1,'shaka::media::AesEncryptor::InitializeWithIv()'],['../d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html#af878688f0f277f3f6757e85654439c34',1,'shaka::media::AesPatternCryptor::InitializeWithIv()']]],
['injectclockfortesting',['InjectClockForTesting',['../dc/da1/classshaka_1_1MpdBuilder.html#a723afe73b9d619a1178ae21e46fd7450',1,'shaka::MpdBuilder']]],