diff --git a/docs/annotated.html b/docs/annotated.html
index 5675bc5c58..9142bee184 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 ec2114281f..36dc300d0c 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 30efaab59d..fc9df33e08 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 4c5c10f18b..f52952c85c 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 a121ee0807..46ac5b4675 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 d77bd37437..e5c1a2440b 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 a20c33051c..202a3acaba 100644
--- a/docs/d0/d0e/hevc__decoder__configuration__record_8h_source.html
+++ b/docs/d0/d0e/hevc__decoder__configuration__record_8h_source.html
@@ -138,7 +138,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/d0e/muxer__options_8h_source.html b/docs/d0/d0e/muxer__options_8h_source.html
index 7b5873ccf6..bfe2dec888 100644
--- a/docs/d0/d0e/muxer__options_8h_source.html
+++ b/docs/d0/d0e/muxer__options_8h_source.html
@@ -152,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 04233926cd..8b27f28c37 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 50db0a5d9c..9da439c723 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 334f423248..b7a714b8d3 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 93c0d0e2ba..1573194966 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 05b116dddf..7e6479ebf7 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 be2ae06ca0..647829aab7 100644
--- a/docs/d0/d27/structshaka_1_1media_1_1MuxerOptions.html
+++ b/docs/d0/d27/structshaka_1_1media_1_1MuxerOptions.html
@@ -291,7 +291,7 @@ bool | webm_subsample_encryp
diff --git a/docs/d0/d30/mock__mpd__notifier_8h_source.html b/docs/d0/d30/mock__mpd__notifier_8h_source.html
index 2bc75ad240..f5df3b1f66 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 2790cfe849..4c07192a4f 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 853f1aea1b..cadc9d4875 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 5d6f645b04..83e797a981 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 ff0a2ec038..f492b3a9bf 100644
--- a/docs/d0/d3a/hls__notify__muxer__listener_8cc_source.html
+++ b/docs/d0/d3a/hls__notify__muxer__listener_8cc_source.html
@@ -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 819ae268d3..1f4d70165f 100644
--- a/docs/d0/d3a/webm__constants_8h_source.html
+++ b/docs/d0/d3a/webm__constants_8h_source.html
@@ -318,7 +318,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
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 d1cb73076e..5914c41403 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 13490630c1..9207c54e7c 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 71da3a039a..1484005621 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 694b50178b..9f4cdfa67d 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 d77ea21606..f1b2aee1f0 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
@@ -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 8620314e77..1c3eb587fb 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 2b2b4e0fbc..9d3ce0d812 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 f63a24e095..9505b4a9a1 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 9433623cc3..53a73e2d44 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 f54f0f21fe..a52ba41668 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 50244c3823..6cf4bcb83b 100644
--- a/docs/d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html
+++ b/docs/d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html
@@ -204,7 +204,7 @@ Additional Inherited Members |
Implements shaka::media::File.
-Definition at line 56 of file threaded_io_file.cc.
+Definition at line 58 of file threaded_io_file.cc.
@@ -233,7 +233,7 @@ Additional Inherited Members
Implements shaka::media::File.
-Definition at line 108 of file threaded_io_file.cc.
+Definition at line 110 of file threaded_io_file.cc.
@@ -280,7 +280,7 @@ Additional Inherited Members
Implements shaka::media::File.
-Definition at line 70 of file threaded_io_file.cc.
+Definition at line 72 of file threaded_io_file.cc.
@@ -316,7 +316,7 @@ Additional Inherited Members
Implements shaka::media::File.
-Definition at line 118 of file threaded_io_file.cc.
+Definition at line 120 of file threaded_io_file.cc.
@@ -344,7 +344,7 @@ Additional Inherited Members
Implements shaka::media::File.
-Definition at line 102 of file threaded_io_file.cc.
+Definition at line 104 of file threaded_io_file.cc.
@@ -380,7 +380,7 @@ Additional Inherited Members
Implements shaka::media::File.
-Definition at line 147 of file threaded_io_file.cc.
+Definition at line 149 of file threaded_io_file.cc.
@@ -427,7 +427,7 @@ Additional Inherited Members
Implements shaka::media::File.
-Definition at line 87 of file threaded_io_file.cc.
+Definition at line 89 of file threaded_io_file.cc.
@@ -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 4b96f74bac..76081d91b5 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 b55d688e47..33305a81d7 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 cb36021b3c..4e2e6d1823 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 83ce809735..94b67c15f1 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 881dee00a3..287e53aed3 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 026ed5f468..c3b3fce1a8 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 f2b9451b36..bc6519720a 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 79799ea0af..4e3c032212 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 d1af6bc134..6bb7b0079b 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 a0b8b71b5e..12570602d6 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 7cbfbfdc92..8eaf23a940 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 454eeedf3d..4af2133d80 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 b290d299fb..7560b0e9e9 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 29d7102961..7457650247 100644
--- a/docs/d0/dac/classshaka_1_1media_1_1FixedKeySource.html
+++ b/docs/d0/dac/classshaka_1_1media_1_1FixedKeySource.html
@@ -213,7 +213,7 @@ Additional Inherited Members |
-Definition at line 86 of file fixed_key_source.cc.
+Definition at line 87 of file fixed_key_source.cc.
@@ -249,7 +249,7 @@ Additional Inherited Members
Implements shaka::media::KeySource.
-Definition at line 17 of file fixed_key_source.cc.
+Definition at line 18 of file fixed_key_source.cc.
@@ -285,7 +285,7 @@ Additional Inherited Members
Implements shaka::media::KeySource.
-Definition at line 22 of file fixed_key_source.cc.
+Definition at line 23 of file fixed_key_source.cc.
@@ -321,7 +321,7 @@ Additional Inherited Members
Implements shaka::media::KeySource.
-Definition at line 28 of file fixed_key_source.cc.
+Definition at line 29 of file fixed_key_source.cc.
@@ -375,7 +375,7 @@ Additional Inherited Members
Implements shaka::media::KeySource.
-Definition at line 54 of file fixed_key_source.cc.
+Definition at line 55 of file fixed_key_source.cc.
@@ -422,7 +422,7 @@ Additional Inherited Members
Implements shaka::media::KeySource.
-Definition at line 33 of file fixed_key_source.cc.
+Definition at line 34 of file fixed_key_source.cc.
@@ -469,7 +469,7 @@ Additional Inherited Members
Implements shaka::media::KeySource.
-Definition at line 40 of file fixed_key_source.cc.
+Definition at line 41 of file fixed_key_source.cc.
@@ -480,7 +480,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 673a57d9c3..26a0ed1c51 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 be267167c3..2ecfa1dbbe 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 a29021be83..8e6e0051b2 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 b104525eba..ee95bb7708 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 dce21294c7..6a9f654148 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 b33ff48ec4..8a9e6677e9 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 7ee3d8a786..37314647bc 100644
--- a/docs/d0/dd6/webm__crypto__helpers_8cc_source.html
+++ b/docs/d0/dd6/webm__crypto__helpers_8cc_source.html
@@ -205,7 +205,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d0/dd8/classshaka_1_1media_1_1AesCtrEncryptor.html b/docs/d0/dd8/classshaka_1_1media_1_1AesCtrEncryptor.html
index 7b6e27290b..3d4b5f8bd8 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 1ff20da4f2..fee68521ea 100644
--- a/docs/d0/dee/segmenter__test__base_8h_source.html
+++ b/docs/d0/dee/segmenter__test__base_8h_source.html
@@ -216,7 +216,7 @@ 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 547cd0d6c4..a659c1331d 100644
--- a/docs/d0/df3/packager__util_8cc_source.html
+++ b/docs/d0/df3/packager__util_8cc_source.html
@@ -329,12 +329,12 @@ 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 206dad7bdb..829e06559a 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 503e756663..0f87238bec 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 5d696f4310..a602d2e273 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 550ecf9afd..64dbe883b0 100644
--- a/docs/d1/d0b/hevc__decoder__configuration__record_8cc_source.html
+++ b/docs/d1/d0b/hevc__decoder__configuration__record_8cc_source.html
@@ -256,7 +256,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
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 72252fdb6c..01483d41f1 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 40619c5c6d..531324884f 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 4a5e478630..e78d28328f 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
@@ -273,11 +273,11 @@ 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 e10d54be59..f86f12ce33 100644
--- a/docs/d1/d1d/muxer__flags_8cc_source.html
+++ b/docs/d1/d1d/muxer__flags_8cc_source.html
@@ -144,7 +144,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/d1f/classshaka_1_1media_1_1KeySource.html b/docs/d1/d1f/classshaka_1_1media_1_1KeySource.html
index 9d39ca5872..d8a591953b 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 e9089c897e..baae8f7e83 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 dd19ab191c..52fb402040 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 24fc6074f8..93a5f72792 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 558c55c1d6..c16ff64157 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 b40f4a1428..206e375d17 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 9876ac6d7e..288ea7429f 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 a4c6c00ff7..f4bf1a0730 100644
--- a/docs/d1/d2f/webvtt__media__parser_8cc_source.html
+++ b/docs/d1/d2f/webvtt__media__parser_8cc_source.html
@@ -488,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 6e9a0fb782..8af44fa432 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 6062cd72d7..95f4acdb7b 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 8ce9fc3ce9..e0c52a1bd7 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 dfea6fa374..8a06b02a32 100644
--- a/docs/d1/d37/es__parser__h264_8h_source.html
+++ b/docs/d1/d37/es__parser__h264_8h_source.html
@@ -152,7 +152,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 a5a5c94888..b789166b0d 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 968f61aca4..4186f3229b 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 d7a42eb378..fb82b92c0e 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 5fb1dcae1d..41343f25d3 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 32111a2d42..f9218d6453 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 536a57ec8b..5347af75d0 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 c2a79788ec..aadc553037 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 05f9a816eb..dde44c9e09 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 9f43def213..fb6343f6fe 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 a419888342..06c0632ed2 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 afced796d7..f1d1349bdb 100644
--- a/docs/d1/d74/mp2t__media__parser_8cc_source.html
+++ b/docs/d1/d74/mp2t__media__parser_8cc_source.html
@@ -537,7 +537,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 fbe447df61..67adc0b45b 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 2a34fc7ba1..267f43a5f1 100644
--- a/docs/d1/d7d/webm__video__client_8cc_source.html
+++ b/docs/d1/d7d/webm__video__client_8cc_source.html
@@ -270,7 +270,7 @@ 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 5a9dc08d99..88b9de9bcb 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 6aeb00da7d..be8f47074a 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 2849d48e84..5a869014f2 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 6e50d11f4b..1a7103c3be 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 e5fda96b19..6c2497d6c2 100644
--- a/docs/d1/d8e/webm__audio__client_8cc_source.html
+++ b/docs/d1/d8e/webm__audio__client_8cc_source.html
@@ -214,7 +214,7 @@ 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 48e472ca8c..6723d55790 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 12446309ac..ed680be561 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 d488457825..59c7d602df 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 2c5a0170d2..f8a07c244b 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 4927658cf6..09c7cab9f9 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 98eb409e58..f6bce21a8b 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 3e99b57171..da00be3f25 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 1a30389e05..9cd18471be 100644
--- a/docs/d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html
+++ b/docs/d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html
@@ -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 63e5af2640..efe71878c8 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 bc957b3e62..bc08d7eb30 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 4308dad808..c19ce0b367 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 842a43890a..e911c9f37a 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 18b70c2d2c..6b4e380b49 100644
--- a/docs/d1/dcb/encrypting__fragmenter_8h_source.html
+++ b/docs/d1/dcb/encrypting__fragmenter_8h_source.html
@@ -195,7 +195,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/dd5/classshaka_1_1media_1_1Cluster.html b/docs/d1/dd5/classshaka_1_1media_1_1Cluster.html
index 534e5be5bc..2cac9932e9 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 b87056d421..d668975c53 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 d5d9a2065a..e94cb02aec 100644
--- a/docs/d1/de2/classshaka_1_1media_1_1VideoStreamInfo-members.html
+++ b/docs/d1/de2/classshaka_1_1media_1_1VideoStreamInfo-members.html
@@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d1/de2/composition__offset__iterator_8cc_source.html b/docs/d1/de2/composition__offset__iterator_8cc_source.html
index 38a3aaeded..fe6c013e4b 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 f7ddfb54f1..02ff48a361 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 f0567b9775..ad9c0704c6 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 d1734077a5..b13460a662 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 b76ec48646..b5c517c7ca 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 47bc0569b5..854240876c 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 94ed2f0535..d49f0186b3 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 e27d6c2a1d..6048f17399 100644
--- a/docs/d1/df0/aes__encryptor_8h_source.html
+++ b/docs/d1/df0/aes__encryptor_8h_source.html
@@ -194,7 +194,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 f6ef78e1fb..329f31f5cb 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 0932bcff44..94561d14b4 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 e218d2463f..3487ccfe13 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 392af815f3..1b905dffb3 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 2884ca3c39..9b30902bbd 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 1c885758d8..70b408882d 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 e4f709bc2f..13150b95ee 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 dffab584c2..a0f4bf44f3 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 b887bc3862..482afd5b4d 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 dc559fb27b..e17ea5d591 100644
--- a/docs/d2/d23/threaded__io__file_8cc_source.html
+++ b/docs/d2/d23/threaded__io__file_8cc_source.html
@@ -119,203 +119,205 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
- 33 flush_complete_event_(false, false),
- 34 internal_file_error_(0),
- 35 task_exit_event_(false, false) {
- 36 DCHECK(internal_file_);
-
-
- 39 ThreadedIoFile::~ThreadedIoFile() {}
+ 33 flush_complete_event_(base::WaitableEvent::ResetPolicy::AUTOMATIC,
+ 34 base::WaitableEvent::InitialState::NOT_SIGNALED),
+ 35 internal_file_error_(0),
+ 36 task_exit_event_(base::WaitableEvent::ResetPolicy::AUTOMATIC,
+ 37 base::WaitableEvent::InitialState::NOT_SIGNALED) {
+ 38 DCHECK(internal_file_);
+
-
- 42 DCHECK(internal_file_);
-
- 44 if (!internal_file_->Open())
-
-
-
- 48 size_ = internal_file_->Size();
-
- 50 base::WorkerPool::PostTask(FROM_HERE, base::Bind(&ThreadedIoFile::TaskHandler,
- 51 base::Unretained( this)),
-
-
-
-
-
- 57 DCHECK(internal_file_);
-
- 59 if (mode_ == kOutputMode)
-
-
-
- 63 task_exit_event_.Wait();
-
- 65 bool result = internal_file_.release()->Close();
-
-
-
-
-
- 71 DCHECK(internal_file_);
- 72 DCHECK_EQ(kInputMode, mode_);
-
-
-
-
- 77 if (NoBarrier_Load(&internal_file_error_))
- 78 return NoBarrier_Load(&internal_file_error_);
-
-
- 81 uint64_t bytes_read = cache_. Read(buffer, length);
- 82 position_ += bytes_read;
-
-
-
-
-
- 88 DCHECK(internal_file_);
- 89 DCHECK_EQ(kOutputMode, mode_);
-
- 91 if (NoBarrier_Load(&internal_file_error_))
- 92 return NoBarrier_Load(&internal_file_error_);
-
- 94 uint64_t bytes_written = cache_. Write(buffer, length);
- 95 position_ += bytes_written;
- 96 if (position_ > size_)
-
-
-
-
-
-
- 103 DCHECK(internal_file_);
-
-
-
-
-
- 109 DCHECK(internal_file_);
- 110 DCHECK_EQ(kOutputMode, mode_);
-
-
-
- 114 flush_complete_event_.Wait();
- 115 return internal_file_->Flush();
-
-
-
- 119 if (mode_ == kOutputMode) {
-
- 121 if (! Flush()) return false;
- 122 if (!internal_file_->Seek(position)) return false;
-
-
-
-
- 127 task_exit_event_.Wait();
- 128 bool result = internal_file_->Seek(position);
-
-
- 131 if (!internal_file_->Seek(position_) && (position != position_)) {
- 132 LOG(WARNING) << "Seek failed. ThreadedIoFile left in invalid state.";
-
-
-
-
- 137 base::WorkerPool::PostTask(
-
- 139 base::Bind(&ThreadedIoFile::TaskHandler, base::Unretained( this)),
-
- 141 if (!result) return false;
-
- 143 position_ = position;
-
-
-
-
-
-
- 150 *position = position_;
-
-
-
- 154 void ThreadedIoFile::TaskHandler() {
- 155 if (mode_ == kInputMode)
-
-
-
- 159 task_exit_event_.Signal();
-
-
- 162 void ThreadedIoFile::RunInInputMode() {
- 163 DCHECK(internal_file_);
- 164 DCHECK_EQ(kInputMode, mode_);
-
-
- 167 int64_t read_result = internal_file_->Read(&io_buffer_[0],
-
- 169 if (read_result <= 0) {
- 170 NoBarrier_Store(&eof_, read_result == 0);
- 171 NoBarrier_Store(&internal_file_error_, read_result);
-
-
-
- 175 if (cache_. Write(&io_buffer_[0], read_result) == 0) {
-
-
-
-
-
- 181 void ThreadedIoFile::RunInOutputMode() {
- 182 DCHECK(internal_file_);
- 183 DCHECK_EQ(kOutputMode, mode_);
-
-
- 186 uint64_t write_bytes = cache_. Read(&io_buffer_[0], io_buffer_.size());
- 187 if (write_bytes == 0) {
-
-
-
- 191 flush_complete_event_.Signal();
-
-
-
-
- 196 uint64_t bytes_written(0);
- 197 while (bytes_written < write_bytes) {
- 198 int64_t write_result = internal_file_->Write(
- 199 &io_buffer_[bytes_written], write_bytes - bytes_written);
- 200 if (write_result < 0) {
- 201 NoBarrier_Store(&internal_file_error_, write_result);
-
-
-
- 205 bytes_written += write_result;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ 41 ThreadedIoFile::~ThreadedIoFile() {}
+
+
+ 44 DCHECK(internal_file_);
+
+ 46 if (!internal_file_->Open())
+
+
+
+ 50 size_ = internal_file_->Size();
+
+ 52 base::WorkerPool::PostTask(FROM_HERE, base::Bind(&ThreadedIoFile::TaskHandler,
+ 53 base::Unretained( this)),
+
+
+
+
+
+ 59 DCHECK(internal_file_);
+
+ 61 if (mode_ == kOutputMode)
+
+
+
+ 65 task_exit_event_.Wait();
+
+ 67 bool result = internal_file_.release()->Close();
+
+
+
+
+
+ 73 DCHECK(internal_file_);
+ 74 DCHECK_EQ(kInputMode, mode_);
+
+
+
+
+ 79 if (NoBarrier_Load(&internal_file_error_))
+ 80 return NoBarrier_Load(&internal_file_error_);
+
+
+ 83 uint64_t bytes_read = cache_. Read(buffer, length);
+ 84 position_ += bytes_read;
+
+
+
+
+
+ 90 DCHECK(internal_file_);
+ 91 DCHECK_EQ(kOutputMode, mode_);
+
+ 93 if (NoBarrier_Load(&internal_file_error_))
+ 94 return NoBarrier_Load(&internal_file_error_);
+
+ 96 uint64_t bytes_written = cache_. Write(buffer, length);
+ 97 position_ += bytes_written;
+ 98 if (position_ > size_)
+
+
+ 101 return bytes_written;
+
+
+
+ 105 DCHECK(internal_file_);
+
+
+
+
+
+ 111 DCHECK(internal_file_);
+ 112 DCHECK_EQ(kOutputMode, mode_);
+
+
+
+ 116 flush_complete_event_.Wait();
+ 117 return internal_file_->Flush();
+
+
+
+ 121 if (mode_ == kOutputMode) {
+
+ 123 if (! Flush()) return false;
+ 124 if (!internal_file_->Seek(position)) return false;
+
+
+
+
+ 129 task_exit_event_.Wait();
+ 130 bool result = internal_file_->Seek(position);
+
+
+ 133 if (!internal_file_->Seek(position_) && (position != position_)) {
+ 134 LOG(WARNING) << "Seek failed. ThreadedIoFile left in invalid state.";
+
+
+
+
+ 139 base::WorkerPool::PostTask(
+
+ 141 base::Bind(&ThreadedIoFile::TaskHandler, base::Unretained( this)),
+
+ 143 if (!result) return false;
+
+ 145 position_ = position;
+
+
+
+
+
+
+ 152 *position = position_;
+
+
+
+ 156 void ThreadedIoFile::TaskHandler() {
+ 157 if (mode_ == kInputMode)
+
+
+
+ 161 task_exit_event_.Signal();
+
+
+ 164 void ThreadedIoFile::RunInInputMode() {
+ 165 DCHECK(internal_file_);
+ 166 DCHECK_EQ(kInputMode, mode_);
+
+
+ 169 int64_t read_result = internal_file_->Read(&io_buffer_[0],
+
+ 171 if (read_result <= 0) {
+ 172 NoBarrier_Store(&eof_, read_result == 0);
+ 173 NoBarrier_Store(&internal_file_error_, read_result);
+
+
+
+ 177 if (cache_. Write(&io_buffer_[0], read_result) == 0) {
+
+
+
+
+
+ 183 void ThreadedIoFile::RunInOutputMode() {
+ 184 DCHECK(internal_file_);
+ 185 DCHECK_EQ(kOutputMode, mode_);
+
+
+ 188 uint64_t write_bytes = cache_. Read(&io_buffer_[0], io_buffer_.size());
+ 189 if (write_bytes == 0) {
+
+
+
+ 193 flush_complete_event_.Signal();
+
+
+
+
+ 198 uint64_t bytes_written(0);
+ 199 while (bytes_written < write_bytes) {
+ 200 int64_t write_result = internal_file_->Write(
+ 201 &io_buffer_[bytes_written], write_bytes - bytes_written);
+ 202 if (write_result < 0) {
+ 203 NoBarrier_Store(&internal_file_error_, write_result);
+
+
+
+ 207 bytes_written += write_result;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/d2/d24/packager__util_8h_source.html b/docs/d2/d24/packager__util_8h_source.html
index d3480a53dd..08861627df 100644
--- a/docs/d2/d24/packager__util_8h_source.html
+++ b/docs/d2/d24/packager__util_8h_source.html
@@ -140,7 +140,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 dbee7b972f..c89c79c65d 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 cb7756ab9d..c1101acc0f 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 59194f7955..f4e1049869 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 9d2adbf36f..f96f8ca07a 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 413fd7844a..c96addec33 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 c167a6fddd..2718ee606b 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 cfa7d6c249..d4ee0de0e2 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 5ff9842ea8..4c24a63e56 100644
--- a/docs/d2/d4d/file_8h_source.html
+++ b/docs/d2/d4d/file_8h_source.html
@@ -171,27 +171,27 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
153 #endif // PACKAGER_FILE_FILE_H_
-
-
+
+
-
+
-
-
+
+
-
+
diff --git a/docs/d2/d4f/structshaka_1_1Element-members.html b/docs/d2/d4f/structshaka_1_1Element-members.html
index 707c01d907..01593a3a3f 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 734cfad3a7..4ef717afbf 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 ed8adc83c6..c2e6aea4e1 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 02a2b68bda..07e1f97ba4 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 f0f7f1048a..d6a271d7c2 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 f4518ab821..884c215c86 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 e83befcfdd..55d76d0470 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 ce35ef0929..553753732b 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 f116e3d52e..fd00001113 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 fd1b4ba99c..4e4d552894 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 dcbdba924f..cce452e73a 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 fc42d9360c..4baab14ca2 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 496dc97cad..b050d4efec 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 6195d3c39b..fcbfe2498a 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 ecd465c5df..bcc57846bd 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 9a340c4394..0a94673f66 100644
--- a/docs/d2/d8a/hls__notify__muxer__listener_8h_source.html
+++ b/docs/d2/d8a/hls__notify__muxer__listener_8h_source.html
@@ -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 64c952652f..a05bba0119 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 3bbe3bf565..ce349317b2 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 42ce9cade6..dfd42d3259 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 be17bd3b86..dd79c509e4 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 430d934bdb..8f667d218a 100644
--- a/docs/d2/da6/threaded__io__file_8h_source.html
+++ b/docs/d2/da6/threaded__io__file_8h_source.html
@@ -158,21 +158,21 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
75 #endif // PACKAGER_FILE_THREADED_IO_FILE_H
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
+
diff --git a/docs/d2/da8/mp4_2segmenter_8cc_source.html b/docs/d2/da8/mp4_2segmenter_8cc_source.html
index da3ee96c4c..37264387d8 100644
--- a/docs/d2/da8/mp4_2segmenter_8cc_source.html
+++ b/docs/d2/da8/mp4_2segmenter_8cc_source.html
@@ -135,8 +135,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
46 uint8_t skip_byte_block;
- 49 COMPILE_ASSERT(arraysize(kKeyRotationDefaultKeyId) == kCencKeyIdSize,
- 50 cenc_key_id_must_be_size_16);
+ 49 static_assert(arraysize(kKeyRotationDefaultKeyId) == kCencKeyIdSize,
+ 50 "cenc_key_id_must_be_size_16");
52 uint64_t Rescale(uint64_t time_in_old_scale,
@@ -577,7 +577,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
@@ -601,7 +601,7 @@ 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 99cc4dfa01..b18eedf6fd 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 d437c5f28d..d7ccca3a66 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 4d1336c38a..af4b630e7c 100644
--- a/docs/d2/dae/webm__muxer_8cc_source.html
+++ b/docs/d2/dae/webm__muxer_8cc_source.html
@@ -216,7 +216,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
@@ -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 22d8a7fffc..08f31c499f 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 857de7b34c..3c08a696ac 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 c3b57c0bc9..e4dd842b84 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 26c90c3990..050363f411 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 9787ff617f..71a1233ae3 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 c8d5c9d89a..74af498952 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 eeaac8cc6c..9089b48fa6 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 543915c55d..ee3289bc3c 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 99949d28f2..27e8ac342b 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 eeb3adc4a7..d90fa11d2f 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 72784b9522..8b3cb73273 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 f7ca8e91d0..fd56812fb6 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 8f960639f4..edf97032fb 100644
--- a/docs/d2/de6/packager__main_8cc_source.html
+++ b/docs/d2/de6/packager__main_8cc_source.html
@@ -375,7 +375,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
290 if (!mpd_notifier->NotifyNewContainer(text_media_info, &unused)) {
291 LOG(ERROR) << "Failed to process text file " << stream_iter->input;
@@ -558,8 +558,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
469 if (!FLAGS_mpd_output.empty()) {
470 DashProfile profile =
471 FLAGS_single_segment ? kOnDemandProfile : kLiveProfile;
- 472 std::vector<std::string> base_urls;
- 473 base::SplitString(FLAGS_base_urls, ',', &base_urls);
+ 472 std::vector<std::string> base_urls = base::SplitString(
+ 473 FLAGS_base_urls, ",", base::KEEP_WHITESPACE, base::SPLIT_WANT_NONEMPTY);
474 if (FLAGS_generate_dash_if_iop_compliant_mpd) {
475 mpd_notifier.reset( new DashIopMpdNotifier(profile, mpd_options, base_urls,
@@ -683,15 +683,15 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
594 return shaka::media::PackagerMain(argc, argv);
596 #endif // defined(OS_WIN)
-
+
bool ValidateWidevineCryptoFlags()
-
+
bool ValidateFixedCryptoFlags()
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 04ed480ba9..6075fa5b48 100644
--- a/docs/d2/de7/classshaka_1_1media_1_1TextStreamInfo-members.html
+++ b/docs/d2/de7/classshaka_1_1media_1_1TextStreamInfo-members.html
@@ -118,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 5a22b30ba7..e419bb84f0 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 6b009c5228..e1b1141e42 100644
--- a/docs/d2/de9/mock__muxer__listener_8h_source.html
+++ b/docs/d2/de9/mock__muxer__listener_8h_source.html
@@ -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 a24f2446cb..b69931a55f 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 ce71bd645f..0d7303251a 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 49c80ea9c0..3b3046353f 100644
--- a/docs/d2/dee/pes__packet__generator_8cc_source.html
+++ b/docs/d2/dee/pes__packet__generator_8cc_source.html
@@ -328,7 +328,7 @@ 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 b5b9977729..99da1d6103 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 b225ff1798..2710d5097b 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 ba87d799ac..6d40bbaa95 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 fb95f4df5d..21aca062c8 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 138711d4a7..a96ab12f84 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 2e6374922f..4d30987049 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 858abcbfac..fbd1c94a2b 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 69aa5f750e..34a2ae8fe0 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 552781e623..f7ebe8335c 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 77eeeffab7..e4d69f8731 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 6814b57c0b..e90795c3ed 100644
--- a/docs/d3/d19/io__cache_8h_source.html
+++ b/docs/d3/d19/io__cache_8h_source.html
@@ -150,19 +150,19 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
86 #endif // PACKAGER_FILE_IO_CACHE_H
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
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 e8c977557d..0cb6b18d1f 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 dddd6a410a..f51d1f4d1c 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 f03b56d441..20fb8b79d7 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 6d1543c7fd..e7af0d94b0 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 7ac6fb2c3a..91d20e18e0 100644
--- a/docs/d3/d61/classshaka_1_1media_1_1File.html
+++ b/docs/d3/d61/classshaka_1_1media_1_1File.html
@@ -270,7 +270,7 @@ class ThreadedIoFile
- Returns
- true on success, false otherwise.
-Definition at line 204 of file file.cc.
+Definition at line 203 of file file.cc.
@@ -315,7 +315,7 @@ class | ThreadedIoFile
- Returns
- Number of bytes written, or a value < 0 on error.
-Definition at line 233 of file file.cc.
+Definition at line 232 of file file.cc.
@@ -367,7 +367,7 @@ class | ThreadedIoFile
- Returns
- Number of bytes written, or a value < 0 on error.
-Definition at line 237 of file file.cc.
+Definition at line 236 of file file.cc.
@@ -401,7 +401,7 @@ class | ThreadedIoFile
- Returns
- true if successful, false otherwise.
-Definition at line 164 of file file.cc.
+Definition at line 163 of file file.cc.
@@ -481,7 +481,7 @@ class | ThreadedIoFile
- Returns
- The size of a file in bytes on success, a value < 0 otherwise. The file will be opened and closed in the process.
- Definition at line 177 of file file.cc.
+ Definition at line 176 of file file.cc.
@@ -526,7 +526,7 @@ class | ThreadedIoFile
- Returns
- A File pointer on success, false otherwise.
-Definition at line 142 of file file.cc.
+Definition at line 141 of file file.cc.
@@ -571,7 +571,7 @@ class | ThreadedIoFile
- Returns
- A File pointer on success, false otherwise.
-Definition at line 153 of file file.cc.
+Definition at line 152 of file file.cc.
@@ -661,7 +661,7 @@ class | ThreadedIoFile
- Returns
- true on success, false otherwise.
-Definition at line 186 of file file.cc.
+Definition at line 185 of file file.cc.
@@ -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 3ce38c9aaa..7299f40b47 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 bc54208f5b..713bf07959 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 b0742bdf77..266762187b 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 a856285984..1631f54501 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 a71d462810..4a5fb000b3 100644
--- a/docs/d3/d6b/fixed__key__source_8cc_source.html
+++ b/docs/d3/d6b/fixed__key__source_8cc_source.html
@@ -95,158 +95,159 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
7 #include "packager/media/base/fixed_key_source.h"
- 9 #include "packager/base/logging.h"
- 10 #include "packager/base/strings/string_number_conversions.h"
-
-
-
-
- 15 FixedKeySource::~FixedKeySource() {}
-
-
-
-
-
-
-
- 23 const std::vector<std::vector<uint8_t>>& key_ids) {
-
-
-
-
-
-
-
-
-
-
-
- 35 DCHECK(encryption_key_);
- 36 *key = *encryption_key_;
-
-
-
-
-
-
- 43 DCHECK(encryption_key_);
- 44 if (key_id != encryption_key_->key_id) {
- 45 return Status(error::NOT_FOUND,
- 46 std::string( "Key for key ID ") +
- 47 base::HexEncode(&key_id[0], key_id.size()) +
-
-
- 50 *key = *encryption_key_;
-
-
-
-
-
-
-
- 58 *key = *encryption_key_;
-
-
-
-
-
-
- 65 << "This naive key rotation algorithm should not be used in production.";
- 66 std::rotate(key->key_id.begin(),
- 67 key->key_id.begin() + (crypto_period_index % key->key_id.size()),
-
- 69 std::rotate(key->key.begin(),
- 70 key->key.begin() + (crypto_period_index % key->key.size()),
-
-
- 73 for ( size_t i = 0; i < key->key_system_info.size(); i++) {
- 74 std::vector<uint8_t> pssh_data = key->key_system_info[i].pssh_data();
- 75 if (!pssh_data.empty()) {
- 76 std::rotate(pssh_data.begin(),
- 77 pssh_data.begin() + (crypto_period_index % pssh_data.size()),
-
- 79 key->key_system_info[i].set_pssh_data(pssh_data);
-
-
-
-
-
-
-
- 87 const std::string& key_id_hex,
- 88 const std::string& key_hex,
- 89 const std::string& pssh_boxes_hex,
- 90 const std::string& iv_hex) {
- 91 std::unique_ptr<EncryptionKey> encryption_key( new EncryptionKey());
-
- 93 if (!base::HexStringToBytes(key_id_hex, &encryption_key->key_id)) {
- 94 LOG(ERROR) << "Cannot parse key_id_hex " << key_id_hex;
- 95 return std::unique_ptr<FixedKeySource>();
- 96 } else if (encryption_key->key_id.size() != 16) {
- 97 LOG(ERROR) << "Invalid key ID size '" << encryption_key->key_id.size()
- 98 << "', must be 16 bytes.";
- 99 return std::unique_ptr<FixedKeySource>();
-
-
- 102 if (!base::HexStringToBytes(key_hex, &encryption_key->key)) {
- 103 LOG(ERROR) << "Cannot parse key_hex " << key_hex;
- 104 return std::unique_ptr<FixedKeySource>();
-
-
- 107 std::vector<uint8_t> pssh_boxes;
- 108 if (!pssh_boxes_hex.empty() &&
- 109 !base::HexStringToBytes(pssh_boxes_hex, &pssh_boxes)) {
- 110 LOG(ERROR) << "Cannot parse pssh_hex " << pssh_boxes_hex;
- 111 return std::unique_ptr<FixedKeySource>();
-
-
- 114 if (!iv_hex.empty()) {
- 115 if (!base::HexStringToBytes(iv_hex, &encryption_key->iv)) {
- 116 LOG(ERROR) << "Cannot parse iv_hex " << iv_hex;
- 117 return std::unique_ptr<FixedKeySource>();
-
-
-
-
- 122 pssh_boxes.data(), pssh_boxes.size(),
- 123 &encryption_key->key_system_info)) {
- 124 LOG(ERROR) << "--pssh argument should be full PSSH boxes.";
- 125 return std::unique_ptr<FixedKeySource>();
-
-
-
- 129 if (encryption_key->key_system_info.size() == 0) {
-
- 131 info.add_key_id(encryption_key->key_id);
- 132 info.set_system_id(kCommonSystemId, arraysize(kCommonSystemId));
- 133 info.set_pssh_box_version(1);
-
- 135 encryption_key->key_system_info.push_back(info);
-
-
- 138 return std::unique_ptr<FixedKeySource>(
-
-
-
- 142 FixedKeySource::FixedKeySource() {}
- 143 FixedKeySource::FixedKeySource(std::unique_ptr<EncryptionKey> key)
- 144 : encryption_key_(std::move(key)) {}
-
-
-
-
-
+
+ 10 #include "packager/base/logging.h"
+ 11 #include "packager/base/strings/string_number_conversions.h"
+
+
+
+
+ 16 FixedKeySource::~FixedKeySource() {}
+
+
+
+
+
+
+
+ 24 const std::vector<std::vector<uint8_t>>& key_ids) {
+
+
+
+
+
+
+
+
+
+
+
+ 36 DCHECK(encryption_key_);
+ 37 *key = *encryption_key_;
+
+
+
+
+
+
+ 44 DCHECK(encryption_key_);
+ 45 if (key_id != encryption_key_->key_id) {
+ 46 return Status(error::NOT_FOUND,
+ 47 std::string( "Key for key ID ") +
+ 48 base::HexEncode(&key_id[0], key_id.size()) +
+
+
+ 51 *key = *encryption_key_;
+
+
+
+
+
+
+
+ 59 *key = *encryption_key_;
+
+
+
+
+
+
+ 66 << "This naive key rotation algorithm should not be used in production.";
+ 67 std::rotate(key->key_id.begin(),
+ 68 key->key_id.begin() + (crypto_period_index % key->key_id.size()),
+
+ 70 std::rotate(key->key.begin(),
+ 71 key->key.begin() + (crypto_period_index % key->key.size()),
+
+
+ 74 for ( size_t i = 0; i < key->key_system_info.size(); i++) {
+ 75 std::vector<uint8_t> pssh_data = key->key_system_info[i].pssh_data();
+ 76 if (!pssh_data.empty()) {
+ 77 std::rotate(pssh_data.begin(),
+ 78 pssh_data.begin() + (crypto_period_index % pssh_data.size()),
+
+ 80 key->key_system_info[i].set_pssh_data(pssh_data);
+
+
+
+
+
+
+
+ 88 const std::string& key_id_hex,
+ 89 const std::string& key_hex,
+ 90 const std::string& pssh_boxes_hex,
+ 91 const std::string& iv_hex) {
+ 92 std::unique_ptr<EncryptionKey> encryption_key( new EncryptionKey());
+
+ 94 if (!base::HexStringToBytes(key_id_hex, &encryption_key->key_id)) {
+ 95 LOG(ERROR) << "Cannot parse key_id_hex " << key_id_hex;
+ 96 return std::unique_ptr<FixedKeySource>();
+ 97 } else if (encryption_key->key_id.size() != 16) {
+ 98 LOG(ERROR) << "Invalid key ID size '" << encryption_key->key_id.size()
+ 99 << "', must be 16 bytes.";
+ 100 return std::unique_ptr<FixedKeySource>();
+
+
+ 103 if (!base::HexStringToBytes(key_hex, &encryption_key->key)) {
+ 104 LOG(ERROR) << "Cannot parse key_hex " << key_hex;
+ 105 return std::unique_ptr<FixedKeySource>();
+
+
+ 108 std::vector<uint8_t> pssh_boxes;
+ 109 if (!pssh_boxes_hex.empty() &&
+ 110 !base::HexStringToBytes(pssh_boxes_hex, &pssh_boxes)) {
+ 111 LOG(ERROR) << "Cannot parse pssh_hex " << pssh_boxes_hex;
+ 112 return std::unique_ptr<FixedKeySource>();
+
+
+ 115 if (!iv_hex.empty()) {
+ 116 if (!base::HexStringToBytes(iv_hex, &encryption_key->iv)) {
+ 117 LOG(ERROR) << "Cannot parse iv_hex " << iv_hex;
+ 118 return std::unique_ptr<FixedKeySource>();
+
+
+
+
+ 123 pssh_boxes.data(), pssh_boxes.size(),
+ 124 &encryption_key->key_system_info)) {
+ 125 LOG(ERROR) << "--pssh argument should be full PSSH boxes.";
+ 126 return std::unique_ptr<FixedKeySource>();
+
+
+
+ 130 if (encryption_key->key_system_info.size() == 0) {
+
+ 132 info.add_key_id(encryption_key->key_id);
+ 133 info.set_system_id(kCommonSystemId, arraysize(kCommonSystemId));
+ 134 info.set_pssh_box_version(1);
+
+ 136 encryption_key->key_system_info.push_back(info);
+
+
+ 139 return std::unique_ptr<FixedKeySource>(
+
+
+
+ 143 FixedKeySource::FixedKeySource() {}
+ 144 FixedKeySource::FixedKeySource(std::unique_ptr<EncryptionKey> key)
+ 145 : encryption_key_(std::move(key)) {}
+
+
+
+
+
-
+
-
+
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 00e6366dfa..ed478c5a72 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 d7daf4614b..48e2f61506 100644
--- a/docs/d3/d72/fixed__key__source_8h_source.html
+++ b/docs/d3/d72/fixed__key__source_8h_source.html
@@ -149,18 +149,18 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
75 #endif // MEDIA_BASE_FIXED_KEY_SOURCE_H_
-
-
+
+
-
+
-
+
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 07bbde73b4..a15f96d0cf 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 5260aeba53..b819faeee5 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 72bcdffe18..edd0411ffa 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 7747ec9d46..9646c64bbf 100644
--- a/docs/d3/d76/muxer__flags_8h_source.html
+++ b/docs/d3/d76/muxer__flags_8h_source.html
@@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
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 ad2e77ae33..824693a3fd 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 2d190ccdc3..8ab24ccc0b 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 12d1e1d92a..e3584bf628 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 08b31e97da..973a1f4682 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 30645d917c..3c7b84c6e1 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 11af56dff4..8cc3740202 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 de5a7daa7d..439256a03d 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 23bca853ae..107d56bcdd 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 cfee6da13f..0798ec6ae8 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 b243a6f803..eb93d2c68a 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 c7ce5bbd18..70db93dd20 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 215b411bda..c34f6f4784 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 dcdf3f5ed7..73238c9d28 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 fe57c52d3c..005c3c053f 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 143f3b6dd0..7034bc369b 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 f73485d024..1a8508e48b 100644
--- a/docs/d3/db6/webm__parser_8cc_source.html
+++ b/docs/d3/db6/webm__parser_8cc_source.html
@@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
16 #include "packager/base/logging.h"
17 #include "packager/base/numerics/safe_conversions.h"
@@ -558,7 +558,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+ 472 *num = std::numeric_limits<int64_t>::max();
@@ -581,7 +581,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
492 if (num_id_bytes <= 0)
- 495 if (tmp == kint64max)
+ 495 if (tmp == std::numeric_limits<int64_t>::max())
496 tmp = kWebMReservedId;
498 *
id =
static_cast<int>(tmp);
@@ -593,7 +593,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
504 if (num_size_bytes <= 0)
505 return num_size_bytes;
- 507 if (tmp == kint64max)
+ 507 if (tmp == std::numeric_limits<int64_t>::max())
508 tmp = kWebMUnknownSize;
@@ -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 113f03f2d6..72d766be49 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 690a75dc32..a158819173 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 113f0370b0..c001dc5fa6 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 336348280d..021dce215d 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 b1f0857dd8..679aade94a 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 13da83d802..2a253f359e 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 9c02656314..e0e35ec624 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 5343de9d35..91ff038af4 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 8edc80a28b..e0c60526c3 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 152d21ec08..08ea6f9ba0 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 e3d1f8df31..b9b7a3e475 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 d71bc194b9..33948db77b 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 a3c752b1a9..cae74b3f5f 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 a5968e46ed..adbb5daa1d 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 7c7e2db65f..5aa0945ea3 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 db9e74706c..b2d7de47fc 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 ba96c05936..a7f0e67ccd 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 1c02f4de94..655efa66c4 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 0fcf93959a..9a21f3e647 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 4884ccf6a1..81f1872c62 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 e6ce43b311..f5e9c0889d 100644
--- a/docs/d4/d37/io__cache_8cc_source.html
+++ b/docs/d4/d37/io__cache_8cc_source.html
@@ -110,149 +110,151 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
22 IoCache::IoCache(uint64_t cache_size)
23 : cache_size_(cache_size),
- 24 read_event_(false, false),
- 25 write_event_(false, false),
-
-
- 28 circular_buffer_(cache_size + 1),
- 29 end_ptr_(&circular_buffer_[0] + cache_size + 1),
- 30 r_ptr_(circular_buffer_.data()),
- 31 w_ptr_(circular_buffer_.data()),
-
-
-
-
-
-
-
-
-
-
- 42 while (!closed_ && (BytesCachedInternal() == 0)) {
- 43 AutoUnlock unlock(lock_);
-
-
-
- 47 size = std::min(size, BytesCachedInternal());
- 48 uint64_t first_chunk_size(std::min(size, static_cast<uint64_t>(
-
- 50 memcpy(buffer, r_ptr_, first_chunk_size);
- 51 r_ptr_ += first_chunk_size;
- 52 DCHECK_GE(end_ptr_, r_ptr_);
- 53 if (r_ptr_ == end_ptr_)
- 54 r_ptr_ = &circular_buffer_[0];
- 55 uint64_t second_chunk_size(size - first_chunk_size);
- 56 if (second_chunk_size) {
- 57 memcpy(static_cast<uint8_t*>(buffer) + first_chunk_size, r_ptr_,
-
- 59 r_ptr_ += second_chunk_size;
- 60 DCHECK_GT(end_ptr_, r_ptr_);
-
-
-
-
-
-
-
-
- 69 const uint8_t* r_ptr(static_cast<const uint8_t*>(buffer));
- 70 uint64_t bytes_left(size);
-
-
- 73 while (!closed_ && (BytesFreeInternal() == 0)) {
- 74 AutoUnlock unlock(lock_);
-
-
-
-
-
- 80 uint64_t write_size(std::min(bytes_left, BytesFreeInternal()));
- 81 uint64_t first_chunk_size(std::min(write_size, static_cast<uint64_t>(
-
- 83 memcpy(w_ptr_, r_ptr, first_chunk_size);
- 84 w_ptr_ += first_chunk_size;
- 85 DCHECK_GE(end_ptr_, w_ptr_);
- 86 if (w_ptr_ == end_ptr_)
- 87 w_ptr_ = &circular_buffer_[0];
- 88 r_ptr += first_chunk_size;
- 89 uint64_t second_chunk_size(write_size - first_chunk_size);
- 90 if (second_chunk_size) {
- 91 memcpy(w_ptr_, r_ptr, second_chunk_size);
- 92 w_ptr_ += second_chunk_size;
- 93 DCHECK_GT(end_ptr_, w_ptr_);
- 94 r_ptr += second_chunk_size;
-
- 96 bytes_left -= write_size;
- 97 write_event_.Signal();
-
-
-
-
-
- 103 AutoLock lock(lock_);
- 104 r_ptr_ = w_ptr_ = circular_buffer_.data();
-
- 106 read_event_.Signal();
-
-
-
- 110 AutoLock lock(lock_);
-
- 112 read_event_.Signal();
- 113 write_event_.Signal();
-
-
-
- 117 AutoLock lock(lock_);
-
- 119 r_ptr_ = w_ptr_ = circular_buffer_.data();
-
-
- 122 write_event_.Reset();
-
-
-
- 126 AutoLock lock(lock_);
- 127 return BytesCachedInternal();
-
-
-
- 131 AutoLock lock(lock_);
- 132 return BytesFreeInternal();
-
-
- 135 uint64_t IoCache::BytesCachedInternal() {
- 136 return (r_ptr_ <= w_ptr_)
-
- 138 : (end_ptr_ - r_ptr_) + (w_ptr_ - circular_buffer_.data());
-
-
- 141 uint64_t IoCache::BytesFreeInternal() {
- 142 return cache_size_ - BytesCachedInternal();
-
-
-
- 146 AutoLock lock(lock_);
- 147 while (!closed_ && BytesCachedInternal()) {
- 148 AutoUnlock unlock(lock_);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ 24 read_event_(base::WaitableEvent::ResetPolicy::AUTOMATIC,
+ 25 base::WaitableEvent::InitialState::NOT_SIGNALED),
+ 26 write_event_(base::WaitableEvent::ResetPolicy::AUTOMATIC,
+ 27 base::WaitableEvent::InitialState::NOT_SIGNALED),
+
+
+ 30 circular_buffer_(cache_size + 1),
+ 31 end_ptr_(&circular_buffer_[0] + cache_size + 1),
+ 32 r_ptr_(circular_buffer_.data()),
+ 33 w_ptr_(circular_buffer_.data()),
+
+
+
+
+
+
+
+
+
+
+ 44 while (!closed_ && (BytesCachedInternal() == 0)) {
+ 45 AutoUnlock unlock(lock_);
+
+
+
+ 49 size = std::min(size, BytesCachedInternal());
+ 50 uint64_t first_chunk_size(std::min(size, static_cast<uint64_t>(
+
+ 52 memcpy(buffer, r_ptr_, first_chunk_size);
+ 53 r_ptr_ += first_chunk_size;
+ 54 DCHECK_GE(end_ptr_, r_ptr_);
+ 55 if (r_ptr_ == end_ptr_)
+ 56 r_ptr_ = &circular_buffer_[0];
+ 57 uint64_t second_chunk_size(size - first_chunk_size);
+ 58 if (second_chunk_size) {
+ 59 memcpy(static_cast<uint8_t*>(buffer) + first_chunk_size, r_ptr_,
+
+ 61 r_ptr_ += second_chunk_size;
+ 62 DCHECK_GT(end_ptr_, r_ptr_);
+
+
+
+
+
+
+
+
+ 71 const uint8_t* r_ptr(static_cast<const uint8_t*>(buffer));
+ 72 uint64_t bytes_left(size);
+
+
+ 75 while (!closed_ && (BytesFreeInternal() == 0)) {
+ 76 AutoUnlock unlock(lock_);
+
+
+
+
+
+ 82 uint64_t write_size(std::min(bytes_left, BytesFreeInternal()));
+ 83 uint64_t first_chunk_size(std::min(write_size, static_cast<uint64_t>(
+
+ 85 memcpy(w_ptr_, r_ptr, first_chunk_size);
+ 86 w_ptr_ += first_chunk_size;
+ 87 DCHECK_GE(end_ptr_, w_ptr_);
+ 88 if (w_ptr_ == end_ptr_)
+ 89 w_ptr_ = &circular_buffer_[0];
+ 90 r_ptr += first_chunk_size;
+ 91 uint64_t second_chunk_size(write_size - first_chunk_size);
+ 92 if (second_chunk_size) {
+ 93 memcpy(w_ptr_, r_ptr, second_chunk_size);
+ 94 w_ptr_ += second_chunk_size;
+ 95 DCHECK_GT(end_ptr_, w_ptr_);
+ 96 r_ptr += second_chunk_size;
+
+ 98 bytes_left -= write_size;
+ 99 write_event_.Signal();
+
+
+
+
+
+ 105 AutoLock lock(lock_);
+ 106 r_ptr_ = w_ptr_ = circular_buffer_.data();
+
+ 108 read_event_.Signal();
+
+
+
+ 112 AutoLock lock(lock_);
+
+ 114 read_event_.Signal();
+ 115 write_event_.Signal();
+
+
+
+ 119 AutoLock lock(lock_);
+
+ 121 r_ptr_ = w_ptr_ = circular_buffer_.data();
+
+
+ 124 write_event_.Reset();
+
+
+
+ 128 AutoLock lock(lock_);
+ 129 return BytesCachedInternal();
+
+
+
+ 133 AutoLock lock(lock_);
+ 134 return BytesFreeInternal();
+
+
+ 137 uint64_t IoCache::BytesCachedInternal() {
+ 138 return (r_ptr_ <= w_ptr_)
+
+ 140 : (end_ptr_ - r_ptr_) + (w_ptr_ - circular_buffer_.data());
+
+
+ 143 uint64_t IoCache::BytesFreeInternal() {
+ 144 return cache_size_ - BytesCachedInternal();
+
+
+
+ 148 AutoLock lock(lock_);
+ 149 while (!closed_ && BytesCachedInternal()) {
+ 150 AutoUnlock unlock(lock_);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 898c2f8c6e..9481c59cfc 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 7f45de3498..bceabf2079 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 af8ff1f6c7..d4a1eed73e 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 fc73376fe9..0f26e250bd 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 b0f01ead5a..cec7d8555b 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 ae192daf8d..641c4b310d 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 e1675311e6..8389ff5ef0 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 7ffd64dbb4..acec04d382 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 8bc2d41d38..75b996d7ad 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 2aab4f0122..b1acc55786 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 47a2a35db3..d4ba83e5cb 100644
--- a/docs/d4/d8a/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord.html
+++ b/docs/d4/d8a/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord.html
@@ -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 2ad2240797..9c2137a160 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 fed3f228ed..c485557ca1 100644
--- a/docs/d4/da7/segmenter__test__base_8cc_source.html
+++ b/docs/d4/da7/segmenter__test__base_8cc_source.html
@@ -298,7 +298,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
@@ -310,7 +310,7 @@ 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 3c63185e16..25bfe0da6b 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 3af607d9ad..3b93ac554a 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 e968504036..2d4565427f 100644
--- a/docs/d4/db2/cluster__builder_8h_source.html
+++ b/docs/d4/db2/cluster__builder_8h_source.html
@@ -181,7 +181,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 f2110a65fd..cff9b76fbe 100644
--- a/docs/d4/db4/classshaka_1_1MpdNotifierFactory.html
+++ b/docs/d4/db4/classshaka_1_1MpdNotifierFactory.html
@@ -113,7 +113,7 @@ virtual std::unique_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 2ba48731ad..0a42bd7432 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 3ff59b1bb9..0345d03492 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 d38291fc3d..47cd86d141 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 86639f5b79..c36a3b4fdd 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 b452df7200..da289f9074 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 7f2619f853..8f9b848e60 100644
--- a/docs/d4/dde/webvtt__util_8h_source.html
+++ b/docs/d4/dde/webvtt__util_8h_source.html
@@ -100,29 +100,31 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
- 15 void MakeSideData(T id_begin, T id_end,
- 16 T settings_begin, T settings_end,
- 17 std::vector<uint8>* side_data) {
-
-
-
-
-
- 23 side_data->insert(side_data->end(), id_begin, id_end);
- 24 side_data->push_back(0);
- 25 side_data->insert(side_data->end(), settings_begin, settings_end);
+
+ 15 void MakeSideData(T id_begin,
+
+
+
+ 19 std::vector<uint8_t>* side_data) {
+
+
+
+
+
+ 25 side_data->insert(side_data->end(), id_begin, id_end);
26 side_data->push_back(0);
-
-
-
-
-
- 32 #endif // PACKAGER_MEDIA_CODECS_WEBVTT_UTIL_H_
+ 27 side_data->insert(side_data->end(), settings_begin, settings_end);
+ 28 side_data->push_back(0);
+
+
+
+
+
+ 34 #endif // PACKAGER_MEDIA_CODECS_WEBVTT_UTIL_H_
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 1c25de4591..6db027fa78 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 fc02863d7e..ec144ba5d2 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 556b1082a5..831d429c31 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 e79598f6da..a09393458a 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 0c0fe15d1f..41ddfd647e 100644
--- a/docs/d4/df5/request__signer_8cc_source.html
+++ b/docs/d4/df5/request__signer_8cc_source.html
@@ -179,7 +179,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 8a33634af8..8e974ffa3c 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 62cee7ff32..2b2a61f8fa 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 36afa5236d..0dadccee9e 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 fab18a96a2..16efc37465 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 51ed8afa1a..150b386d65 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 de85f5f00b..697b1044b9 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 984ab3e435..82f2645545 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 447ff707e7..a6c23883b8 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 abd64f4bc4..8db1a0bfe4 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 2e20b497d7..dc7b94f968 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 7a10dedab7..b220a772af 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 1aae6b072c..dddc24998e 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 d1ed32cc53..1285ca731d 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 c3f9d7d5f3..0eca5d60c7 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 e9bfe828eb..de7fbfe7a1 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 f27f8f2629..2237f80147 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 17eabc69f2..9ec68ab12b 100644
--- a/docs/d5/d40/webm_2single__segment__segmenter_8h_source.html
+++ b/docs/d5/d40/webm_2single__segment__segmenter_8h_source.html
@@ -158,7 +158,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 7283bfd438..3e68e72459 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 dd2a6fe211..71cdb55c3c 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 3106cae3cd..8914fde07a 100644
--- a/docs/d5/d52/ts__section__pes_8h_source.html
+++ b/docs/d5/d52/ts__section__pes_8h_source.html
@@ -160,7 +160,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 0cdf61318a..022064a6cd 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 b286388b62..8843eca3f8 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 81861d9b5c..5c050507d7 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 642b370ab7..fce22f0120 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 ae8fad088f..28b42a85dd 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 e2e263847e..4a16b785f3 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 6cb4e0fc78..86b09474fb 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 10c0bc2dd4..e5c28fe747 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 9e3b079a61..c30e7666f9 100644
--- a/docs/d5/d72/avc__decoder__configuration__record_8cc_source.html
+++ b/docs/d5/d72/avc__decoder__configuration__record_8cc_source.html
@@ -188,12 +188,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
100 const uint8_t bytes[] = {profile_indication, profile_compatibility,
-
- 103 base::StringToLowerASCII(base::HexEncode(bytes, arraysize(bytes)));
-
-
-
-
+ 102 return "avc1." + base::ToLowerASCII(base::HexEncode(bytes, arraysize(bytes)));
+
+
+
+
@@ -203,7 +202,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 48e36928e7..6b58a52153 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 66543e70e6..e0b808127c 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 f48a530af8..718fe1c6fd 100644
--- a/docs/d5/d89/widevine__key__source_8cc_source.html
+++ b/docs/d5/d89/widevine__key__source_8cc_source.html
@@ -233,498 +233,499 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
144 crypto_period_count_(kDefaultCryptoPeriodCount),
145 add_common_pssh_(add_common_pssh),
146 key_production_started_(false),
- 147 start_key_production_(false, false),
- 148 first_crypto_period_index_(0) {
- 149 key_production_thread_.Start();
-
-
- 152 WidevineKeySource::~WidevineKeySource() {
-
-
- 155 if (key_production_thread_.HasBeenStarted()) {
-
-
- 158 start_key_production_.Signal();
- 159 key_production_thread_.Join();
-
- 161 STLDeleteValues(&encryption_key_map_);
-
-
-
- 165 const std::string& policy) {
- 166 base::AutoLock scoped_lock(lock_);
- 167 request_dict_.Clear();
- 168 std::string content_id_base64_string;
- 169 BytesToBase64String(content_id, &content_id_base64_string);
- 170 request_dict_.SetString(
"content_id", content_id_base64_string);
- 171 request_dict_.SetString(
"policy", policy);
- 172 return FetchKeysInternal(!kEnableKeyRotation, 0,
false);
-
-
-
- 176 const std::vector<uint8_t> widevine_system_id(
- 177 kWidevineSystemId, kWidevineSystemId + arraysize(kWidevineSystemId));
-
-
- 180 if (!info.
Parse(pssh_box.data(), pssh_box.size()))
- 181 return Status(error::PARSER_FAILURE,
"Error parsing the PSSH box.");
-
- 183 if (info.system_id() == widevine_system_id) {
- 184 base::AutoLock scoped_lock(lock_);
- 185 request_dict_.Clear();
- 186 std::string pssh_data_base64_string;
-
- 188 BytesToBase64String(info.pssh_data(), &pssh_data_base64_string);
- 189 request_dict_.SetString(
"pssh_data", pssh_data_base64_string);
- 190 return FetchKeysInternal(!kEnableKeyRotation, 0,
false);
- 191 }
else if (!info.key_ids().empty()) {
-
-
-
-
-
-
- 198 return Status(error::NOT_FOUND,
"No key IDs given in PSSH box.");
-
-
-
-
- 203 const std::vector<std::vector<uint8_t>>& key_ids) {
- 204 base::AutoLock scoped_lock(lock_);
- 205 request_dict_.Clear();
- 206 std::string pssh_data_base64_string;
-
-
- 209 WidevinePsshData widevine_pssh_data;
- 210 for (
size_t i = 0; i < key_ids.size(); i++) {
- 211 widevine_pssh_data.add_key_id(key_ids[i].data(), key_ids[i].size());
-
-
- 214 const std::string serialized_string = widevine_pssh_data.SerializeAsString();
- 215 std::vector<uint8_t> pssh_data(serialized_string.begin(),
- 216 serialized_string.end());
-
- 218 BytesToBase64String(pssh_data, &pssh_data_base64_string);
- 219 request_dict_.SetString(
"pssh_data", pssh_data_base64_string);
- 220 return FetchKeysInternal(!kEnableKeyRotation, 0,
false);
-
-
-
- 224 base::AutoLock scoped_lock(lock_);
- 225 request_dict_.Clear();
-
-
- 228 request_dict_.SetDouble(
"asset_id", asset_id);
- 229 return FetchKeysInternal(!kEnableKeyRotation, 0,
true);
-
-
-
-
- 234 if (encryption_key_map_.find(track_type) == encryption_key_map_.end()) {
- 235 return Status(error::INTERNAL_ERROR,
-
-
- 238 *key = *encryption_key_map_[track_type];
-
-
-
-
-
-
- 245 for (std::map<TrackType, EncryptionKey*>::iterator iter =
- 246 encryption_key_map_.begin();
- 247 iter != encryption_key_map_.end();
-
- 249 if (iter->second->key_id == key_id) {
- 250 *key = *iter->second;
-
-
-
- 254 return Status(error::INTERNAL_ERROR,
- 255 "Cannot find key with specified key ID");
-
-
-
- 259 TrackType track_type,
-
- 261 DCHECK(key_production_thread_.HasBeenStarted());
-
-
- 264 base::AutoLock scoped_lock(lock_);
- 265 if (!key_production_started_) {
-
-
- 268 first_crypto_period_index_ =
- 269 crypto_period_index ? crypto_period_index - 1 : 0;
-
-
- 272 first_crypto_period_index_));
- 273 start_key_production_.Signal();
- 274 key_production_started_ =
true;
-
-
- 277 return GetKeyInternal(crypto_period_index, track_type, key);
-
-
-
- 281 signer_ = std::move(signer);
-
-
-
- 285 std::unique_ptr<KeyFetcher> key_fetcher) {
- 286 key_fetcher_ = std::move(key_fetcher);
-
-
- 289 Status WidevineKeySource::GetKeyInternal(uint32_t crypto_period_index,
- 290 TrackType track_type,
-
-
-
- 294 DCHECK_LE(track_type, NUM_VALID_TRACK_TYPES);
- 295 DCHECK_NE(track_type, TRACK_TYPE_UNKNOWN);
-
- 297 scoped_refptr<RefCountedEncryptionKeyMap> ref_counted_encryption_key_map;
-
- 299 key_pool_->Peek(crypto_period_index, &ref_counted_encryption_key_map,
- 300 kGetKeyTimeoutInSeconds * 1000);
-
- 302 if (status.error_code() == error::STOPPED) {
- 303 CHECK(!common_encryption_request_status_.ok());
- 304 return common_encryption_request_status_;
-
-
-
-
- 309 EncryptionKeyMap& encryption_key_map = ref_counted_encryption_key_map->map();
- 310 if (encryption_key_map.find(track_type) == encryption_key_map.end()) {
- 311 return Status(error::INTERNAL_ERROR,
-
-
- 314 *key = *encryption_key_map[track_type];
-
-
-
- 318 void WidevineKeySource::FetchKeysTask() {
-
- 320 start_key_production_.Wait();
- 321 if (!key_pool_ || key_pool_->Stopped())
-
-
- 324 Status status = FetchKeysInternal(kEnableKeyRotation,
- 325 first_crypto_period_index_,
-
- 327 while (status.ok()) {
- 328 first_crypto_period_index_ += crypto_period_count_;
- 329 status = FetchKeysInternal(kEnableKeyRotation,
- 330 first_crypto_period_index_,
-
-
- 333 common_encryption_request_status_ = status;
-
-
-
- 337 Status WidevineKeySource::FetchKeysInternal(
bool enable_key_rotation,
- 338 uint32_t first_crypto_period_index,
- 339 bool widevine_classic) {
-
- 341 FillRequest(enable_key_rotation,
- 342 first_crypto_period_index,
-
-
-
- 346 Status status = GenerateKeyMessage(request, &message);
-
-
- 349 VLOG(1) <<
"Message: " << message;
-
- 351 std::string raw_response;
- 352 int64_t sleep_duration = kFirstRetryDelayMilliseconds;
-
-
-
- 356 for (
int i = 0; i < kNumTransientErrorRetries; ++i) {
- 357 status = key_fetcher_->FetchKeys(server_url_, message, &raw_response);
-
- 359 VLOG(1) <<
"Retry [" << i <<
"] Response:" << raw_response;
-
- 361 std::string response;
- 362 if (!DecodeResponse(raw_response, &response)) {
- 363 return Status(error::SERVER_ERROR,
- 364 "Failed to decode response '" + raw_response +
"'.");
-
-
- 367 bool transient_error =
false;
- 368 if (ExtractEncryptionKey(enable_key_rotation,
-
-
-
-
-
- 374 if (!transient_error) {
-
-
- 377 "Failed to extract encryption key from '" + response +
"'.");
-
- 379 }
else if (status.error_code() != error::TIME_OUT) {
-
-
-
-
- 384 if (i != kNumTransientErrorRetries - 1) {
- 385 base::PlatformThread::Sleep(
- 386 base::TimeDelta::FromMilliseconds(sleep_duration));
-
-
-
- 390 return Status(error::SERVER_ERROR,
- 391 "Failed to recover from server internal error.");
-
-
- 394 void WidevineKeySource::FillRequest(
bool enable_key_rotation,
- 395 uint32_t first_crypto_period_index,
- 396 std::string* request) {
-
- 398 DCHECK(!request_dict_.empty());
-
-
- 401 base::ListValue* tracks =
new base::ListValue();
-
- 403 base::DictionaryValue* track_sd =
new base::DictionaryValue();
- 404 track_sd->SetString(
"type",
"SD");
- 405 tracks->Append(track_sd);
- 406 base::DictionaryValue* track_hd =
new base::DictionaryValue();
- 407 track_hd->SetString(
"type",
"HD");
- 408 tracks->Append(track_hd);
- 409 base::DictionaryValue* track_audio =
new base::DictionaryValue();
- 410 track_audio->SetString(
"type",
"AUDIO");
- 411 tracks->Append(track_audio);
-
- 413 request_dict_.Set(
"tracks", tracks);
-
-
- 416 base::ListValue* drm_types =
new base::ListValue();
- 417 drm_types->AppendString(
"WIDEVINE");
- 418 request_dict_.Set(
"drm_types", drm_types);
-
-
- 421 if (enable_key_rotation) {
-
-
- 424 request_dict_.SetDouble(
"first_crypto_period_index",
- 425 first_crypto_period_index);
- 426 request_dict_.SetInteger(
"crypto_period_count", crypto_period_count_);
-
-
- 429 base::JSONWriter::WriteWithOptions(
-
-
-
- 433 base::JSONWriter::OPTIONS_OMIT_DOUBLE_TYPE_PRESERVATION, request);
-
-
- 436 Status WidevineKeySource::GenerateKeyMessage(
const std::string& request,
- 437 std::string* message) {
-
-
- 440 std::string request_base64_string;
- 441 base::Base64Encode(request, &request_base64_string);
-
- 443 base::DictionaryValue request_dict;
- 444 request_dict.SetString(
"request", request_base64_string);
-
-
-
- 448 std::string signature;
- 449 if (!signer_->GenerateSignature(request, &signature))
- 450 return Status(error::INTERNAL_ERROR,
"Signature generation failed.");
-
- 452 std::string signature_base64_string;
- 453 base::Base64Encode(signature, &signature_base64_string);
-
- 455 request_dict.SetString(
"signature", signature_base64_string);
- 456 request_dict.SetString(
"signer", signer_->signer_name());
-
-
- 459 base::JSONWriter::Write(request_dict, message);
-
-
-
- 463 bool WidevineKeySource::DecodeResponse(
- 464 const std::string& raw_response,
- 465 std::string* response) {
-
-
-
-
- 470 std::unique_ptr<base::Value> root(
- 471 base::JSONReader::Read(raw_response).release());
-
- 473 LOG(ERROR) <<
"'" << raw_response <<
"' is not in JSON format.";
-
-
- 476 const base::DictionaryValue* response_dict = NULL;
- 477 RCHECK(root->GetAsDictionary(&response_dict));
-
- 479 std::string response_base64_string;
- 480 RCHECK(response_dict->GetString(
"response", &response_base64_string));
- 481 RCHECK(base::Base64Decode(response_base64_string, response));
-
-
-
- 485 bool WidevineKeySource::ExtractEncryptionKey(
- 486 bool enable_key_rotation,
- 487 bool widevine_classic,
- 488 const std::string& response,
- 489 bool* transient_error) {
- 490 DCHECK(transient_error);
- 491 *transient_error =
false;
-
-
- 494 std::unique_ptr<base::Value> root(base::JSONReader::Read(response).release());
-
- 496 LOG(ERROR) <<
"'" << response <<
"' is not in JSON format.";
-
-
-
- 500 const base::DictionaryValue* license_dict = NULL;
- 501 RCHECK(root->GetAsDictionary(&license_dict));
-
- 503 std::string license_status;
- 504 RCHECK(license_dict->GetString(
"status", &license_status));
- 505 if (license_status != kLicenseStatusOK) {
- 506 LOG(ERROR) <<
"Received non-OK license response: " << response;
- 507 *transient_error = (license_status == kLicenseStatusTransientError);
-
-
-
- 511 const base::ListValue* tracks;
- 512 RCHECK(license_dict->GetList(
"tracks", &tracks));
-
- 514 RCHECK(enable_key_rotation ? tracks->GetSize() >= 1 * crypto_period_count_
- 515 : tracks->GetSize() >= 1);
-
- 517 int current_crypto_period_index = first_crypto_period_index_;
-
- 519 EncryptionKeyMap encryption_key_map;
- 520 for (
size_t i = 0; i < tracks->GetSize(); ++i) {
- 521 const base::DictionaryValue* track_dict;
- 522 RCHECK(tracks->GetDictionary(i, &track_dict));
-
- 524 if (enable_key_rotation) {
- 525 int crypto_period_index;
-
- 527 track_dict->GetInteger(
"crypto_period_index", &crypto_period_index));
- 528 if (crypto_period_index != current_crypto_period_index) {
- 529 if (crypto_period_index != current_crypto_period_index + 1) {
- 530 LOG(ERROR) <<
"Expecting crypto period index "
- 531 << current_crypto_period_index <<
" or "
- 532 << current_crypto_period_index + 1 <<
"; Seen "
- 533 << crypto_period_index <<
" at track " << i;
-
-
- 536 if (!PushToKeyPool(&encryption_key_map))
-
- 538 ++current_crypto_period_index;
-
-
-
- 542 std::string track_type_str;
- 543 RCHECK(track_dict->GetString(
"type", &track_type_str));
-
- 545 DCHECK_NE(TRACK_TYPE_UNKNOWN, track_type);
- 546 RCHECK(encryption_key_map.find(track_type) == encryption_key_map.end());
-
- 548 std::unique_ptr<EncryptionKey> encryption_key(
new EncryptionKey());
-
- 550 if (!GetKeyFromTrack(*track_dict, &encryption_key->key))
-
-
-
- 554 if (!widevine_classic) {
- 555 if (!GetKeyIdFromTrack(*track_dict, &encryption_key->key_id))
-
-
- 558 ProtectionSystemSpecificInfo info;
- 559 info.add_key_id(encryption_key->key_id);
- 560 info.set_system_id(kWidevineSystemId, arraysize(kWidevineSystemId));
- 561 info.set_pssh_box_version(0);
-
- 563 std::vector<uint8_t> pssh_data;
- 564 if (!GetPsshDataFromTrack(*track_dict, &pssh_data))
-
- 566 info.set_pssh_data(pssh_data);
-
- 568 encryption_key->key_system_info.push_back(info);
-
- 570 encryption_key_map[track_type] = encryption_key.release();
-
-
-
-
- 575 if (add_common_pssh_ && !widevine_classic) {
- 576 std::set<std::vector<uint8_t>> key_ids;
- 577 for (
const EncryptionKeyMap::value_type& pair : encryption_key_map) {
- 578 key_ids.insert(pair.second->key_id);
-
-
-
- 582 ProtectionSystemSpecificInfo info;
- 583 info.set_system_id(kCommonSystemId, arraysize(kCommonSystemId));
- 584 info.set_pssh_box_version(1);
- 585 for (
const std::vector<uint8_t>& key_id : key_ids) {
- 586 info.add_key_id(key_id);
-
-
- 589 for (
const EncryptionKeyMap::value_type& pair : encryption_key_map) {
- 590 pair.second->key_system_info.push_back(info);
-
-
-
- 594 DCHECK(!encryption_key_map.empty());
- 595 if (!enable_key_rotation) {
- 596 encryption_key_map_ = encryption_key_map;
-
-
- 599 return PushToKeyPool(&encryption_key_map);
-
-
- 602 bool WidevineKeySource::PushToKeyPool(
- 603 EncryptionKeyMap* encryption_key_map) {
-
- 605 DCHECK(encryption_key_map);
-
- 607 key_pool_->Push(scoped_refptr<RefCountedEncryptionKeyMap>(
- 608 new RefCountedEncryptionKeyMap(encryption_key_map)),
-
- 610 encryption_key_map->clear();
-
- 612 DCHECK_EQ(error::STOPPED, status.error_code());
-
-
-
-
-
-
-
+ 147 start_key_production_(base::WaitableEvent::ResetPolicy::AUTOMATIC,
+ 148 base::WaitableEvent::InitialState::NOT_SIGNALED),
+ 149 first_crypto_period_index_(0) {
+ 150 key_production_thread_.Start();
+
+
+ 153 WidevineKeySource::~WidevineKeySource() {
+
+
+ 156 if (key_production_thread_.HasBeenStarted()) {
+
+
+ 159 start_key_production_.Signal();
+ 160 key_production_thread_.Join();
+
+ 162 STLDeleteValues(&encryption_key_map_);
+
+
+
+ 166 const std::string& policy) {
+ 167 base::AutoLock scoped_lock(lock_);
+ 168 request_dict_.Clear();
+ 169 std::string content_id_base64_string;
+ 170 BytesToBase64String(content_id, &content_id_base64_string);
+ 171 request_dict_.SetString(
"content_id", content_id_base64_string);
+ 172 request_dict_.SetString(
"policy", policy);
+ 173 return FetchKeysInternal(!kEnableKeyRotation, 0,
false);
+
+
+
+ 177 const std::vector<uint8_t> widevine_system_id(
+ 178 kWidevineSystemId, kWidevineSystemId + arraysize(kWidevineSystemId));
+
+
+ 181 if (!info.
Parse(pssh_box.data(), pssh_box.size()))
+ 182 return Status(error::PARSER_FAILURE,
"Error parsing the PSSH box.");
+
+ 184 if (info.system_id() == widevine_system_id) {
+ 185 base::AutoLock scoped_lock(lock_);
+ 186 request_dict_.Clear();
+ 187 std::string pssh_data_base64_string;
+
+ 189 BytesToBase64String(info.pssh_data(), &pssh_data_base64_string);
+ 190 request_dict_.SetString(
"pssh_data", pssh_data_base64_string);
+ 191 return FetchKeysInternal(!kEnableKeyRotation, 0,
false);
+ 192 }
else if (!info.key_ids().empty()) {
+
+
+
+
+
+
+ 199 return Status(error::NOT_FOUND,
"No key IDs given in PSSH box.");
+
+
+
+
+ 204 const std::vector<std::vector<uint8_t>>& key_ids) {
+ 205 base::AutoLock scoped_lock(lock_);
+ 206 request_dict_.Clear();
+ 207 std::string pssh_data_base64_string;
+
+
+ 210 WidevinePsshData widevine_pssh_data;
+ 211 for (
size_t i = 0; i < key_ids.size(); i++) {
+ 212 widevine_pssh_data.add_key_id(key_ids[i].data(), key_ids[i].size());
+
+
+ 215 const std::string serialized_string = widevine_pssh_data.SerializeAsString();
+ 216 std::vector<uint8_t> pssh_data(serialized_string.begin(),
+ 217 serialized_string.end());
+
+ 219 BytesToBase64String(pssh_data, &pssh_data_base64_string);
+ 220 request_dict_.SetString(
"pssh_data", pssh_data_base64_string);
+ 221 return FetchKeysInternal(!kEnableKeyRotation, 0,
false);
+
+
+
+ 225 base::AutoLock scoped_lock(lock_);
+ 226 request_dict_.Clear();
+
+
+ 229 request_dict_.SetDouble(
"asset_id", asset_id);
+ 230 return FetchKeysInternal(!kEnableKeyRotation, 0,
true);
+
+
+
+
+ 235 if (encryption_key_map_.find(track_type) == encryption_key_map_.end()) {
+ 236 return Status(error::INTERNAL_ERROR,
+
+
+ 239 *key = *encryption_key_map_[track_type];
+
+
+
+
+
+
+ 246 for (std::map<TrackType, EncryptionKey*>::iterator iter =
+ 247 encryption_key_map_.begin();
+ 248 iter != encryption_key_map_.end();
+
+ 250 if (iter->second->key_id == key_id) {
+ 251 *key = *iter->second;
+
+
+
+ 255 return Status(error::INTERNAL_ERROR,
+ 256 "Cannot find key with specified key ID");
+
+
+
+ 260 TrackType track_type,
+
+ 262 DCHECK(key_production_thread_.HasBeenStarted());
+
+
+ 265 base::AutoLock scoped_lock(lock_);
+ 266 if (!key_production_started_) {
+
+
+ 269 first_crypto_period_index_ =
+ 270 crypto_period_index ? crypto_period_index - 1 : 0;
+
+
+ 273 first_crypto_period_index_));
+ 274 start_key_production_.Signal();
+ 275 key_production_started_ =
true;
+
+
+ 278 return GetKeyInternal(crypto_period_index, track_type, key);
+
+
+
+ 282 signer_ = std::move(signer);
+
+
+
+ 286 std::unique_ptr<KeyFetcher> key_fetcher) {
+ 287 key_fetcher_ = std::move(key_fetcher);
+
+
+ 290 Status WidevineKeySource::GetKeyInternal(uint32_t crypto_period_index,
+ 291 TrackType track_type,
+
+
+
+ 295 DCHECK_LE(track_type, NUM_VALID_TRACK_TYPES);
+ 296 DCHECK_NE(track_type, TRACK_TYPE_UNKNOWN);
+
+ 298 scoped_refptr<RefCountedEncryptionKeyMap> ref_counted_encryption_key_map;
+
+ 300 key_pool_->Peek(crypto_period_index, &ref_counted_encryption_key_map,
+ 301 kGetKeyTimeoutInSeconds * 1000);
+
+ 303 if (status.error_code() == error::STOPPED) {
+ 304 CHECK(!common_encryption_request_status_.ok());
+ 305 return common_encryption_request_status_;
+
+
+
+
+ 310 EncryptionKeyMap& encryption_key_map = ref_counted_encryption_key_map->map();
+ 311 if (encryption_key_map.find(track_type) == encryption_key_map.end()) {
+ 312 return Status(error::INTERNAL_ERROR,
+
+
+ 315 *key = *encryption_key_map[track_type];
+
+
+
+ 319 void WidevineKeySource::FetchKeysTask() {
+
+ 321 start_key_production_.Wait();
+ 322 if (!key_pool_ || key_pool_->Stopped())
+
+
+ 325 Status status = FetchKeysInternal(kEnableKeyRotation,
+ 326 first_crypto_period_index_,
+
+ 328 while (status.ok()) {
+ 329 first_crypto_period_index_ += crypto_period_count_;
+ 330 status = FetchKeysInternal(kEnableKeyRotation,
+ 331 first_crypto_period_index_,
+
+
+ 334 common_encryption_request_status_ = status;
+
+
+
+ 338 Status WidevineKeySource::FetchKeysInternal(
bool enable_key_rotation,
+ 339 uint32_t first_crypto_period_index,
+ 340 bool widevine_classic) {
+
+ 342 FillRequest(enable_key_rotation,
+ 343 first_crypto_period_index,
+
+
+
+ 347 Status status = GenerateKeyMessage(request, &message);
+
+
+ 350 VLOG(1) <<
"Message: " << message;
+
+ 352 std::string raw_response;
+ 353 int64_t sleep_duration = kFirstRetryDelayMilliseconds;
+
+
+
+ 357 for (
int i = 0; i < kNumTransientErrorRetries; ++i) {
+ 358 status = key_fetcher_->FetchKeys(server_url_, message, &raw_response);
+
+ 360 VLOG(1) <<
"Retry [" << i <<
"] Response:" << raw_response;
+
+ 362 std::string response;
+ 363 if (!DecodeResponse(raw_response, &response)) {
+ 364 return Status(error::SERVER_ERROR,
+ 365 "Failed to decode response '" + raw_response +
"'.");
+
+
+ 368 bool transient_error =
false;
+ 369 if (ExtractEncryptionKey(enable_key_rotation,
+
+
+
+
+
+ 375 if (!transient_error) {
+
+
+ 378 "Failed to extract encryption key from '" + response +
"'.");
+
+ 380 }
else if (status.error_code() != error::TIME_OUT) {
+
+
+
+
+ 385 if (i != kNumTransientErrorRetries - 1) {
+ 386 base::PlatformThread::Sleep(
+ 387 base::TimeDelta::FromMilliseconds(sleep_duration));
+
+
+
+ 391 return Status(error::SERVER_ERROR,
+ 392 "Failed to recover from server internal error.");
+
+
+ 395 void WidevineKeySource::FillRequest(
bool enable_key_rotation,
+ 396 uint32_t first_crypto_period_index,
+ 397 std::string* request) {
+
+ 399 DCHECK(!request_dict_.empty());
+
+
+ 402 base::ListValue* tracks =
new base::ListValue();
+
+ 404 base::DictionaryValue* track_sd =
new base::DictionaryValue();
+ 405 track_sd->SetString(
"type",
"SD");
+ 406 tracks->Append(track_sd);
+ 407 base::DictionaryValue* track_hd =
new base::DictionaryValue();
+ 408 track_hd->SetString(
"type",
"HD");
+ 409 tracks->Append(track_hd);
+ 410 base::DictionaryValue* track_audio =
new base::DictionaryValue();
+ 411 track_audio->SetString(
"type",
"AUDIO");
+ 412 tracks->Append(track_audio);
+
+ 414 request_dict_.Set(
"tracks", tracks);
+
+
+ 417 base::ListValue* drm_types =
new base::ListValue();
+ 418 drm_types->AppendString(
"WIDEVINE");
+ 419 request_dict_.Set(
"drm_types", drm_types);
+
+
+ 422 if (enable_key_rotation) {
+
+
+ 425 request_dict_.SetDouble(
"first_crypto_period_index",
+ 426 first_crypto_period_index);
+ 427 request_dict_.SetInteger(
"crypto_period_count", crypto_period_count_);
+
+
+ 430 base::JSONWriter::WriteWithOptions(
+
+
+
+ 434 base::JSONWriter::OPTIONS_OMIT_DOUBLE_TYPE_PRESERVATION, request);
+
+
+ 437 Status WidevineKeySource::GenerateKeyMessage(
const std::string& request,
+ 438 std::string* message) {
+
+
+ 441 std::string request_base64_string;
+ 442 base::Base64Encode(request, &request_base64_string);
+
+ 444 base::DictionaryValue request_dict;
+ 445 request_dict.SetString(
"request", request_base64_string);
+
+
+
+ 449 std::string signature;
+ 450 if (!signer_->GenerateSignature(request, &signature))
+ 451 return Status(error::INTERNAL_ERROR,
"Signature generation failed.");
+
+ 453 std::string signature_base64_string;
+ 454 base::Base64Encode(signature, &signature_base64_string);
+
+ 456 request_dict.SetString(
"signature", signature_base64_string);
+ 457 request_dict.SetString(
"signer", signer_->signer_name());
+
+
+ 460 base::JSONWriter::Write(request_dict, message);
+
+
+
+ 464 bool WidevineKeySource::DecodeResponse(
+ 465 const std::string& raw_response,
+ 466 std::string* response) {
+
+
+
+
+ 471 std::unique_ptr<base::Value> root(
+ 472 base::JSONReader::Read(raw_response).release());
+
+ 474 LOG(ERROR) <<
"'" << raw_response <<
"' is not in JSON format.";
+
+
+ 477 const base::DictionaryValue* response_dict = NULL;
+ 478 RCHECK(root->GetAsDictionary(&response_dict));
+
+ 480 std::string response_base64_string;
+ 481 RCHECK(response_dict->GetString(
"response", &response_base64_string));
+ 482 RCHECK(base::Base64Decode(response_base64_string, response));
+
+
+
+ 486 bool WidevineKeySource::ExtractEncryptionKey(
+ 487 bool enable_key_rotation,
+ 488 bool widevine_classic,
+ 489 const std::string& response,
+ 490 bool* transient_error) {
+ 491 DCHECK(transient_error);
+ 492 *transient_error =
false;
+
+
+ 495 std::unique_ptr<base::Value> root(base::JSONReader::Read(response).release());
+
+ 497 LOG(ERROR) <<
"'" << response <<
"' is not in JSON format.";
+
+
+
+ 501 const base::DictionaryValue* license_dict = NULL;
+ 502 RCHECK(root->GetAsDictionary(&license_dict));
+
+ 504 std::string license_status;
+ 505 RCHECK(license_dict->GetString(
"status", &license_status));
+ 506 if (license_status != kLicenseStatusOK) {
+ 507 LOG(ERROR) <<
"Received non-OK license response: " << response;
+ 508 *transient_error = (license_status == kLicenseStatusTransientError);
+
+
+
+ 512 const base::ListValue* tracks;
+ 513 RCHECK(license_dict->GetList(
"tracks", &tracks));
+
+ 515 RCHECK(enable_key_rotation ? tracks->GetSize() >= 1 * crypto_period_count_
+ 516 : tracks->GetSize() >= 1);
+
+ 518 int current_crypto_period_index = first_crypto_period_index_;
+
+ 520 EncryptionKeyMap encryption_key_map;
+ 521 for (
size_t i = 0; i < tracks->GetSize(); ++i) {
+ 522 const base::DictionaryValue* track_dict;
+ 523 RCHECK(tracks->GetDictionary(i, &track_dict));
+
+ 525 if (enable_key_rotation) {
+ 526 int crypto_period_index;
+
+ 528 track_dict->GetInteger(
"crypto_period_index", &crypto_period_index));
+ 529 if (crypto_period_index != current_crypto_period_index) {
+ 530 if (crypto_period_index != current_crypto_period_index + 1) {
+ 531 LOG(ERROR) <<
"Expecting crypto period index "
+ 532 << current_crypto_period_index <<
" or "
+ 533 << current_crypto_period_index + 1 <<
"; Seen "
+ 534 << crypto_period_index <<
" at track " << i;
+
+
+ 537 if (!PushToKeyPool(&encryption_key_map))
+
+ 539 ++current_crypto_period_index;
+
+
+
+ 543 std::string track_type_str;
+ 544 RCHECK(track_dict->GetString(
"type", &track_type_str));
+
+ 546 DCHECK_NE(TRACK_TYPE_UNKNOWN, track_type);
+ 547 RCHECK(encryption_key_map.find(track_type) == encryption_key_map.end());
+
+ 549 std::unique_ptr<EncryptionKey> encryption_key(
new EncryptionKey());
+
+ 551 if (!GetKeyFromTrack(*track_dict, &encryption_key->key))
+
+
+
+ 555 if (!widevine_classic) {
+ 556 if (!GetKeyIdFromTrack(*track_dict, &encryption_key->key_id))
+
+
+ 559 ProtectionSystemSpecificInfo info;
+ 560 info.add_key_id(encryption_key->key_id);
+ 561 info.set_system_id(kWidevineSystemId, arraysize(kWidevineSystemId));
+ 562 info.set_pssh_box_version(0);
+
+ 564 std::vector<uint8_t> pssh_data;
+ 565 if (!GetPsshDataFromTrack(*track_dict, &pssh_data))
+
+ 567 info.set_pssh_data(pssh_data);
+
+ 569 encryption_key->key_system_info.push_back(info);
+
+ 571 encryption_key_map[track_type] = encryption_key.release();
+
+
+
+
+ 576 if (add_common_pssh_ && !widevine_classic) {
+ 577 std::set<std::vector<uint8_t>> key_ids;
+ 578 for (
const EncryptionKeyMap::value_type& pair : encryption_key_map) {
+ 579 key_ids.insert(pair.second->key_id);
+
+
+
+ 583 ProtectionSystemSpecificInfo info;
+ 584 info.set_system_id(kCommonSystemId, arraysize(kCommonSystemId));
+ 585 info.set_pssh_box_version(1);
+ 586 for (
const std::vector<uint8_t>& key_id : key_ids) {
+ 587 info.add_key_id(key_id);
+
+
+ 590 for (
const EncryptionKeyMap::value_type& pair : encryption_key_map) {
+ 591 pair.second->key_system_info.push_back(info);
+
+
+
+ 595 DCHECK(!encryption_key_map.empty());
+ 596 if (!enable_key_rotation) {
+ 597 encryption_key_map_ = encryption_key_map;
+
+
+ 600 return PushToKeyPool(&encryption_key_map);
+
+
+ 603 bool WidevineKeySource::PushToKeyPool(
+ 604 EncryptionKeyMap* encryption_key_map) {
+
+ 606 DCHECK(encryption_key_map);
+
+ 608 key_pool_->Push(scoped_refptr<RefCountedEncryptionKeyMap>(
+ 609 new RefCountedEncryptionKeyMap(encryption_key_map)),
+
+ 611 encryption_key_map->clear();
+
+ 613 DCHECK_EQ(error::STOPPED, status.error_code());
+
+
+
+
+
+
+
-
-
-
+
+
+
-
+
-
+
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 2acccb78df..1a8684193f 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 7029f700b3..22ce495373 100644
--- a/docs/d5/d8f/webm__cluster__parser_8cc_source.html
+++ b/docs/d5/d8f/webm__cluster__parser_8cc_source.html
@@ -721,7 +721,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d91/es__parser__adts_8cc_source.html b/docs/d5/d91/es__parser__adts_8cc_source.html
index 99bfc0ed20..3a37db0ae6 100644
--- a/docs/d5/d91/es__parser__adts_8cc_source.html
+++ b/docs/d5/d91/es__parser__adts_8cc_source.html
@@ -366,7 +366,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
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 d14099fc89..34ed2a29be 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 c07f8cd3a9..3ece3e6cba 100644
--- a/docs/d5/d98/encryptor_8cc_source.html
+++ b/docs/d5/d98/encryptor_8cc_source.html
@@ -134,7 +134,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
46 if (!key->key_id.empty() &&
47 !encoding->SetEncryptionID(
- 48 reinterpret_cast<const uint8*>(key->key_id.data()),
+ 48 reinterpret_cast<const uint8_t*>(key->key_id.data()),
49 key->key_id.size())) {
50 return Status(error::INTERNAL_ERROR, "Error setting encryption ID.");
@@ -203,7 +203,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
114 memcpy(sample_data + kWebMSignalByteSize, encryptor_->iv().data(),
116 sample_data[kWebMSignalByteSize + kWebMIvSize] = num_partitions;
- 117 uint32 partition_offset = 0;
+ 117 uint32_t partition_offset = 0;
118 BufferWriter offsets_buffer(kWebMPartitionOffsetSize * num_partitions);
119 for ( const auto& vpx_frame : vpx_frames) {
120 uint32_t encrypted_size =
@@ -316,7 +316,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
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 2cf06981c8..43181a503d 100644
--- a/docs/d5/d9b/vp__codec__configuration__record_8h_source.html
+++ b/docs/d5/d9b/vp__codec__configuration__record_8h_source.html
@@ -224,7 +224,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d5/d9d/structshaka_1_1media_1_1H265ReferencePictureListModifications.html b/docs/d5/d9d/structshaka_1_1media_1_1H265ReferencePictureListModifications.html
index e2bd74df45..dc2605fcfb 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 3359659b54..8cc492c2e0 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 cd21f4e7fc..1cba547149 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 d45384c473..31f209fe49 100644
--- a/docs/d5/db1/classshaka_1_1media_1_1StreamInfo.html
+++ b/docs/d5/db1/classshaka_1_1media_1_1StreamInfo.html
@@ -235,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 e54d860d98..ebdad61580 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 a2a99c45a4..5f3e83b954 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 682ca64680..4e88d1e20b 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 957f245a31..a63f04c99c 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 34b1d7750f..2673750dc8 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 d6a97ba8c7..9c2558e2e1 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 b33c212009..49ecbcdd1b 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 19393b6dff..6d302eb6eb 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 dac34c6057..0b65f08f8b 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
@@ -307,7 +307,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 da9ece5acf..e23814afe6 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 393a24300b..795a4b6f8f 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 f53783f95e..56a89f9019 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 ab65bb1312..a254db9384 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 fedfa58e8d..8af7a8150b 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 38fe9815fc..1673da8c77 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 7759fe778d..53eaf2202b 100644
--- a/docs/d5/dfc/file_8cc_source.html
+++ b/docs/d5/dfc/file_8cc_source.html
@@ -99,285 +99,284 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
12 #include "packager/base/logging.h"
- 13 #include "packager/base/strings/string_util.h"
- 14 #include "packager/media/file/local_file.h"
- 15 #include "packager/media/file/memory_file.h"
- 16 #include "packager/media/file/threaded_io_file.h"
- 17 #include "packager/media/file/udp_file.h"
-
- 19 DEFINE_uint64(io_cache_size,
-
- 21 "Size of the threaded I/O cache, in bytes. Specify 0 to disable "
-
- 23 DEFINE_uint64(io_block_size,
-
- 25 "Size of the block size used for threaded I/O, in bytes.");
-
-
-
-
-
-
-
-
-
- 35 const char* kLocalFilePrefix =
"file://";
- 36 const char* kUdpFilePrefix =
"udp://";
- 37 const char* kMemoryFilePrefix =
"memory://";
-
-
-
- 41 typedef File* (*FileFactoryFunction)(
const char* file_name,
const char* mode);
- 42 typedef bool (*FileDeleteFunction)(
const char* file_name);
-
- 44 struct SupportedTypeInfo {
-
-
- 47 const FileFactoryFunction factory_function;
- 48 const FileDeleteFunction delete_function;
-
-
- 51 File* CreateLocalFile(
const char* file_name,
const char* mode) {
- 52 return new LocalFile(file_name, mode);
-
-
- 55 bool DeleteLocalFile(
const char* file_name) {
-
-
-
- 59 File* CreateUdpFile(
const char* file_name,
const char* mode) {
- 60 if (base::strcasecmp(mode,
"r")) {
- 61 NOTIMPLEMENTED() <<
"UdpFile only supports read (receive) mode.";
-
-
- 64 return new UdpFile(file_name);
-
-
- 67 File* CreateMemoryFile(
const char* file_name,
const char* mode) {
- 68 return new MemoryFile(file_name, mode);
-
-
- 71 bool DeleteMemoryFile(
const char* file_name) {
-
-
-
-
- 76 static const SupportedTypeInfo kSupportedTypeInfo[] = {
-
-
- 79 strlen(kLocalFilePrefix),
-
-
-
-
-
- 85 strlen(kUdpFilePrefix),
-
-
-
-
-
- 91 strlen(kMemoryFilePrefix),
-
-
-
-
-
-
-
- 99 File* File::Create(
const char* file_name,
const char* mode) {
- 100 std::unique_ptr<File, FileCloser> internal_file(
- 101 CreateInternalFile(file_name, mode));
-
- 103 if (!strncmp(file_name, kMemoryFilePrefix, strlen(kMemoryFilePrefix))) {
-
- 105 return internal_file.release();
-
-
- 108 if (FLAGS_io_cache_size) {
-
- 110 if (!strcmp(mode,
"r")) {
- 111 return new ThreadedIoFile(std::move(internal_file),
- 112 ThreadedIoFile::kInputMode, FLAGS_io_cache_size,
- 113 FLAGS_io_block_size);
- 114 }
else if (!strcmp(mode,
"w") || !strcmp(mode,
"a")) {
- 115 return new ThreadedIoFile(std::move(internal_file),
- 116 ThreadedIoFile::kOutputMode,
- 117 FLAGS_io_cache_size, FLAGS_io_block_size);
-
-
-
-
- 122 DLOG(WARNING) <<
"Threaded I/O is disabled. Performance may be decreased.";
- 123 return internal_file.release();
-
-
- 126 File* File::CreateInternalFile(
const char* file_name,
const char* mode) {
- 127 std::unique_ptr<File, FileCloser> internal_file;
- 128 for (
size_t i = 0; i < arraysize(kSupportedTypeInfo); ++i) {
- 129 const SupportedTypeInfo& type_info = kSupportedTypeInfo[i];
- 130 if (strncmp(type_info.type, file_name, type_info.type_length) == 0) {
- 131 internal_file.reset(type_info.factory_function(
- 132 file_name + type_info.type_length, mode));
-
-
-
-
- 137 internal_file.reset(CreateLocalFile(file_name, mode));
-
- 139 return internal_file.release();
-
-
-
- 143 File* file = File::Create(file_name, mode);
-
-
-
-
-
-
-
-
-
-
- 154 File* file = File::CreateInternalFile(file_name, mode);
-
-
-
-
-
-
-
-
-
-
- 165 for (
size_t i = 0; i < arraysize(kSupportedTypeInfo); ++i) {
- 166 const SupportedTypeInfo& type_info = kSupportedTypeInfo[i];
- 167 if (strncmp(type_info.type, file_name, type_info.type_length) == 0) {
- 168 return type_info.delete_function ?
- 169 type_info.delete_function(file_name + type_info.type_length) :
-
-
-
-
- 174 return DeleteLocalFile(file_name);
-
-
-
-
-
-
- 181 int64_t res = file->
Size();
-
-
-
-
-
-
-
-
-
-
-
- 193 const size_t kBufferSize = 0x40000;
- 194 std::unique_ptr<char[]> buf(
new char[kBufferSize]);
-
-
- 197 while ((len = file->
Read(buf.get(), kBufferSize)) > 0)
- 198 contents->append(buf.get(), len);
-
-
-
-
-
- 204 bool File::Copy(
const char* from_file_name,
const char* to_file_name) {
-
-
- 207 LOG(ERROR) <<
"Failed to open file " << from_file_name;
-
-
-
- 211 std::unique_ptr<File, FileCloser> output_file(
File::Open(to_file_name,
"w"));
-
- 213 LOG(ERROR) <<
"Failed to write to " << to_file_name;
-
-
-
- 217 uint64_t bytes_left = content.size();
- 218 uint64_t total_bytes_written = 0;
- 219 const char* content_cstr = content.c_str();
- 220 while (bytes_left > total_bytes_written) {
- 221 const int64_t bytes_written =
- 222 output_file->Write(content_cstr + total_bytes_written, bytes_left);
- 223 if (bytes_written < 0) {
- 224 LOG(ERROR) <<
"Failure while writing to " << to_file_name;
-
-
-
- 228 total_bytes_written += bytes_written;
-
-
-
-
-
- 234 return CopyFile(source, destination, kWholeFile);
-
-
-
-
-
-
- 241 max_copy = std::numeric_limits<int64_t>::max();
-
- 243 const int64_t kBufferSize = 0x40000;
- 244 std::unique_ptr<uint8_t[]> buffer(
new uint8_t[kBufferSize]);
- 245 int64_t bytes_copied = 0;
- 246 while (bytes_copied < max_copy) {
- 247 const int64_t size = std::min(kBufferSize, max_copy - bytes_copied);
- 248 const int64_t bytes_read = source->
Read(buffer.get(), size);
-
-
-
-
-
- 254 int64_t total_bytes_written = 0;
- 255 while (total_bytes_written < bytes_read) {
- 256 const int64_t bytes_written = destination->
Write(
- 257 buffer.get() + total_bytes_written, bytes_read - total_bytes_written);
- 258 if (bytes_written < 0)
- 259 return bytes_written;
-
- 261 total_bytes_written += bytes_written;
-
-
- 264 DCHECK_EQ(total_bytes_written, bytes_read);
- 265 bytes_copied += bytes_read;
-
-
-
-
-
-
-
+ 13 #include "packager/media/file/local_file.h"
+ 14 #include "packager/media/file/memory_file.h"
+ 15 #include "packager/media/file/threaded_io_file.h"
+ 16 #include "packager/media/file/udp_file.h"
+
+ 18 DEFINE_uint64(io_cache_size,
+
+ 20 "Size of the threaded I/O cache, in bytes. Specify 0 to disable "
+
+ 22 DEFINE_uint64(io_block_size,
+
+ 24 "Size of the block size used for threaded I/O, in bytes.");
+
+
+
+
+
+
+
+
+
+ 34 const char* kLocalFilePrefix =
"file://";
+ 35 const char* kUdpFilePrefix =
"udp://";
+ 36 const char* kMemoryFilePrefix =
"memory://";
+
+
+
+ 40 typedef File* (*FileFactoryFunction)(
const char* file_name,
const char* mode);
+ 41 typedef bool (*FileDeleteFunction)(
const char* file_name);
+
+ 43 struct SupportedTypeInfo {
+
+
+ 46 const FileFactoryFunction factory_function;
+ 47 const FileDeleteFunction delete_function;
+
+
+ 50 File* CreateLocalFile(
const char* file_name,
const char* mode) {
+ 51 return new LocalFile(file_name, mode);
+
+
+ 54 bool DeleteLocalFile(
const char* file_name) {
+
+
+
+ 58 File* CreateUdpFile(
const char* file_name,
const char* mode) {
+ 59 if (strcmp(mode,
"r")) {
+ 60 NOTIMPLEMENTED() <<
"UdpFile only supports read (receive) mode.";
+
+
+ 63 return new UdpFile(file_name);
+
+
+ 66 File* CreateMemoryFile(
const char* file_name,
const char* mode) {
+ 67 return new MemoryFile(file_name, mode);
+
+
+ 70 bool DeleteMemoryFile(
const char* file_name) {
+
+
+
+
+ 75 static const SupportedTypeInfo kSupportedTypeInfo[] = {
+
+
+ 78 strlen(kLocalFilePrefix),
+
+
+
+
+
+ 84 strlen(kUdpFilePrefix),
+
+
+
+
+
+ 90 strlen(kMemoryFilePrefix),
+
+
+
+
+
+
+
+ 98 File* File::Create(
const char* file_name,
const char* mode) {
+ 99 std::unique_ptr<File, FileCloser> internal_file(
+ 100 CreateInternalFile(file_name, mode));
+
+ 102 if (!strncmp(file_name, kMemoryFilePrefix, strlen(kMemoryFilePrefix))) {
+
+ 104 return internal_file.release();
+
+
+ 107 if (FLAGS_io_cache_size) {
+
+ 109 if (!strcmp(mode,
"r")) {
+ 110 return new ThreadedIoFile(std::move(internal_file),
+ 111 ThreadedIoFile::kInputMode, FLAGS_io_cache_size,
+ 112 FLAGS_io_block_size);
+ 113 }
else if (!strcmp(mode,
"w") || !strcmp(mode,
"a")) {
+ 114 return new ThreadedIoFile(std::move(internal_file),
+ 115 ThreadedIoFile::kOutputMode,
+ 116 FLAGS_io_cache_size, FLAGS_io_block_size);
+
+
+
+
+ 121 DLOG(WARNING) <<
"Threaded I/O is disabled. Performance may be decreased.";
+ 122 return internal_file.release();
+
+
+ 125 File* File::CreateInternalFile(
const char* file_name,
const char* mode) {
+ 126 std::unique_ptr<File, FileCloser> internal_file;
+ 127 for (
size_t i = 0; i < arraysize(kSupportedTypeInfo); ++i) {
+ 128 const SupportedTypeInfo& type_info = kSupportedTypeInfo[i];
+ 129 if (strncmp(type_info.type, file_name, type_info.type_length) == 0) {
+ 130 internal_file.reset(type_info.factory_function(
+ 131 file_name + type_info.type_length, mode));
+
+
+
+
+ 136 internal_file.reset(CreateLocalFile(file_name, mode));
+
+ 138 return internal_file.release();
+
+
+
+ 142 File* file = File::Create(file_name, mode);
+
+
+
+
+
+
+
+
+
+
+ 153 File* file = File::CreateInternalFile(file_name, mode);
+
+
+
+
+
+
+
+
+
+
+ 164 for (
size_t i = 0; i < arraysize(kSupportedTypeInfo); ++i) {
+ 165 const SupportedTypeInfo& type_info = kSupportedTypeInfo[i];
+ 166 if (strncmp(type_info.type, file_name, type_info.type_length) == 0) {
+ 167 return type_info.delete_function ?
+ 168 type_info.delete_function(file_name + type_info.type_length) :
+
+
+
+
+ 173 return DeleteLocalFile(file_name);
+
+
+
+
+
+
+ 180 int64_t res = file->
Size();
+
+
+
+
+
+
+
+
+
+
+
+ 192 const size_t kBufferSize = 0x40000;
+ 193 std::unique_ptr<char[]> buf(
new char[kBufferSize]);
+
+
+ 196 while ((len = file->
Read(buf.get(), kBufferSize)) > 0)
+ 197 contents->append(buf.get(), len);
+
+
+
+
+
+ 203 bool File::Copy(
const char* from_file_name,
const char* to_file_name) {
+
+
+ 206 LOG(ERROR) <<
"Failed to open file " << from_file_name;
+
+
+
+ 210 std::unique_ptr<File, FileCloser> output_file(
File::Open(to_file_name,
"w"));
+
+ 212 LOG(ERROR) <<
"Failed to write to " << to_file_name;
+
+
+
+ 216 uint64_t bytes_left = content.size();
+ 217 uint64_t total_bytes_written = 0;
+ 218 const char* content_cstr = content.c_str();
+ 219 while (bytes_left > total_bytes_written) {
+ 220 const int64_t bytes_written =
+ 221 output_file->Write(content_cstr + total_bytes_written, bytes_left);
+ 222 if (bytes_written < 0) {
+ 223 LOG(ERROR) <<
"Failure while writing to " << to_file_name;
+
+
+
+ 227 total_bytes_written += bytes_written;
+
+
+
+
+
+ 233 return CopyFile(source, destination, kWholeFile);
+
+
+
+
+
+
+ 240 max_copy = std::numeric_limits<int64_t>::max();
+
+ 242 const int64_t kBufferSize = 0x40000;
+ 243 std::unique_ptr<uint8_t[]> buffer(
new uint8_t[kBufferSize]);
+ 244 int64_t bytes_copied = 0;
+ 245 while (bytes_copied < max_copy) {
+ 246 const int64_t size = std::min(kBufferSize, max_copy - bytes_copied);
+ 247 const int64_t bytes_read = source->
Read(buffer.get(), size);
+
+
+
+
+
+ 253 int64_t total_bytes_written = 0;
+ 254 while (total_bytes_written < bytes_read) {
+ 255 const int64_t bytes_written = destination->
Write(
+ 256 buffer.get() + total_bytes_written, bytes_read - total_bytes_written);
+ 257 if (bytes_written < 0)
+ 258 return bytes_written;
+
+ 260 total_bytes_written += bytes_written;
+
+
+ 263 DCHECK_EQ(total_bytes_written, bytes_read);
+ 264 bytes_copied += bytes_read;
+
+
+
+
+
+
+
-
-
+
+
-
+
-
-
-
+
+
+
-
+
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 4088b6cda4..9df36d1f66 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 f76561aca3..9024aa3af4 100644
--- a/docs/d6/d09/aes__pattern__cryptor_8h_source.html
+++ b/docs/d6/d09/aes__pattern__cryptor_8h_source.html
@@ -149,7 +149,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 21f2da39b4..dc48f292b7 100644
--- a/docs/d6/d16/text__stream__info_8cc_source.html
+++ b/docs/d6/d16/text__stream__info_8cc_source.html
@@ -124,7 +124,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d6/d17/es__parser__h264_8cc_source.html b/docs/d6/d17/es__parser__h264_8cc_source.html
index 87e86f653c..d0b7ae8a2d 100644
--- a/docs/d6/d17/es__parser__h264_8cc_source.html
+++ b/docs/d6/d17/es__parser__h264_8cc_source.html
@@ -258,7 +258,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
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 881a0b8d29..685713f4f8 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 ced849ae4a..d265041c81 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 cb56d5b1fa..3ed0c9bc52 100644
--- a/docs/d6/d26/structshaka_1_1media_1_1VideoStreamInfoParameters.html
+++ b/docs/d6/d26/structshaka_1_1media_1_1VideoStreamInfoParameters.html
@@ -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 59e613d185..6819b9be16 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 9bfd156f05..66b63fb6fc 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 74a5fb6d4a..3f0d568631 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 f12d7d2eb1..a2787aa355 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 5a34149e5d..d457e6d69c 100644
--- a/docs/d6/d41/encrypting__fragmenter_8cc_source.html
+++ b/docs/d6/d41/encrypting__fragmenter_8cc_source.html
@@ -475,13 +475,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
-
+
-
+
@@ -495,11 +495,11 @@ 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 34f86a32bf..ffcf1b341a 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 39576d8c88..cd57e4884e 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 6b6c59223a..93f1e56e66 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 a9333b6bee..c6f93ce8f9 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 99f7cf0754..47527bb531 100644
--- a/docs/d6/d60/classshaka_1_1media_1_1VPCodecConfigurationRecord-members.html
+++ b/docs/d6/d60/classshaka_1_1media_1_1VPCodecConfigurationRecord-members.html
@@ -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 a4f94ee952..469579035c 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 0f7e43c8e8..fba818438c 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 5818a226aa..352ff0cf27 100644
--- a/docs/d6/d71/scoped__xml__ptr_8h_source.html
+++ b/docs/d6/d71/scoped__xml__ptr_8h_source.html
@@ -132,7 +132,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 e732efa783..c068194991 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 ab9cd5da40..8ea18e97c5 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 3f704ae35b..877268718d 100644
--- a/docs/d6/d7b/webm__tracks__parser_8h_source.html
+++ b/docs/d6/d7b/webm__tracks__parser_8h_source.html
@@ -201,7 +201,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 c4ad78f8bb..9a9331edb0 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 7ba4a07c9c..d633a5caa1 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 6022a83ba8..516e678b00 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 e0d30c62c6..cc7c0f481d 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 cd49917023..f74f5911d3 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 9b3808a90e..a8fa0f41a7 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 e4f5ecb790..c2a07c8b8c 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 b666e679c7..f4b7be962e 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 d302856c26..4519af1178 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 75da80f897..3827a0d3a5 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 13a97b8498..26ab0cf53e 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 aec7cee0d2..66b725ebf2 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 ed9a20c59d..31247d55fd 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 2125d3a3f6..665f0ab249 100644
--- a/docs/d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html
+++ b/docs/d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html
@@ -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 c1a4cfcd9c..0bc76b2b24 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 201d3722d1..fefe21e2d1 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 5b810d3e42..88e3aae770 100644
--- a/docs/d6/dc8/mkv__writer_8cc_source.html
+++ b/docs/d6/dc8/mkv__writer_8cc_source.html
@@ -186,7 +186,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
@@ -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 971a2e0805..ca74466862 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 b45beedf4f..10cdeb7bc0 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 54a44ede39..271dc543c9 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 ca7666a599..2483007fee 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 4fe269bd86..f336b989fb 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 5d86a43a92..d84496642c 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 8ee26509ae..85587c3a03 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 5b2b98aa5e..a31f1b426b 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 d2e0ce9c79..8fd8c970c8 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 e898afb44a..733b303174 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 daa3684815..e385a8b995 100644
--- a/docs/d6/de9/ts__segmenter_8cc_source.html
+++ b/docs/d6/de9/ts__segmenter_8cc_source.html
@@ -302,7 +302,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 da8b119d95..256e8816ae 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 544ca35e67..08a84eaf39 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 9f642281a6..cd6686d29e 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 e9af968d14..3783e98de1 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 f257f378d5..c2a293ad89 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 7663708d0d..169c5a89dc 100644
--- a/docs/d7/d0b/muxer__listener__test__helper_8h_source.html
+++ b/docs/d7/d0b/muxer__listener__test__helper_8h_source.html
@@ -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 0ecae8719f..ee28d304cb 100644
--- a/docs/d7/d12/media__parser_8h_source.html
+++ b/docs/d7/d12/media__parser_8h_source.html
@@ -149,7 +149,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 96a37678e9..6a188d9331 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 d48cc60122..ec1d43997e 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 846b516567..56eccfd216 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 940db3772e..5cfbe6219c 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 0ae99a2c4c..eee063e2d7 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 b9715a412e..3edffe2d30 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 58b9415e92..9e1e4be3d7 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 c39dcdfec6..9bcddb3b60 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 fe775b6f3c..9d54ffd2bb 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 54f0368003..0229a3fc15 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 67bb72e38b..7ae6c5e1e6 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 8aab37acca..013991aae4 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 6f4cbcb38c..f91b58388d 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 49971a3728..4979cd08c4 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 deb9102604..1490d54ac1 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 342f6b36d4..18c0d0b572 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 d611e3d8b3..2920139f1f 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 a024b17ed8..cb2114e7b3 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 5a70c35078..ec18e79ea9 100644
--- a/docs/d7/d87/video__stream__info_8h_source.html
+++ b/docs/d7/d87/video__stream__info_8h_source.html
@@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
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 7cd6a03d88..3fb7d4ab54 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 6234d275b1..2cdb78e917 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 b931f41982..b550fc34fa 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 55483b2598..c4e3f5201d 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 4d40a8a084..82e8659dd4 100644
--- a/docs/d7/db0/mpd__writer_8h_source.html
+++ b/docs/d7/db0/mpd__writer_8h_source.html
@@ -183,7 +183,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 aaf38be21e..fefa6d2bcc 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 cf10df86ec..b06ce7ad31 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 7d5ce15dd1..8cfb61f06c 100644
--- a/docs/d7/dc6/byte__queue_8h_source.html
+++ b/docs/d7/dc6/byte__queue_8h_source.html
@@ -146,7 +146,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 22137b95fe..743e1608bb 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 20ac031f26..6231045099 100644
--- a/docs/d7/dd4/request__signer_8h_source.html
+++ b/docs/d7/dd4/request__signer_8h_source.html
@@ -179,7 +179,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 93b13c1ddd..27a9cb6b98 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
@@ -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 a3a8765e58..a8837d1ef7 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 d96211c94c..d54e065e8d 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 446848f691..4d9569c06d 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 9766d5eff6..ee6bf6bc6d 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 2104d85ed9..72c1cfb70c 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 faaecdeccd..b6b959fbef 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 e9046ed8a6..89b2c44bfb 100644
--- a/docs/d7/dee/mpd__generator_8cc_source.html
+++ b/docs/d7/dee/mpd__generator_8cc_source.html
@@ -148,86 +148,87 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
59 ExitStatus RunMpdGenerator() {
60 DCHECK_EQ(CheckRequiredFlags(), kSuccess);
61 std::vector<std::string> base_urls;
- 62 std::vector<std::string> input_files;
- 63 typedef std::vector<std::string>::const_iterator Iterator;
-
- 65 base::SplitString(FLAGS_input, ',', &input_files);
+ 62 typedef std::vector<std::string>::const_iterator Iterator;
+
+ 64 std::vector<std::string> input_files = base::SplitString(
+ 65 FLAGS_input, ",", base::KEEP_WHITESPACE, base::SPLIT_WANT_ALL);
67 if (!FLAGS_base_urls.empty()) {
- 68 base::SplitString(FLAGS_base_urls, ',', &base_urls);
-
-
-
- 72 for (Iterator it = base_urls.begin(); it != base_urls.end(); ++it)
- 73 mpd_writer.AddBaseUrl(*it);
-
- 75 for (Iterator it = input_files.begin(); it != input_files.end(); ++it) {
- 76 if (!mpd_writer.AddFile(it->c_str(), FLAGS_output)) {
- 77 LOG(WARNING) << "MpdWriter failed to read " << *it << ", skipping.";
-
-
-
- 81 if (!mpd_writer.WriteMpdToFile(FLAGS_output.c_str())) {
- 82 LOG(ERROR) << "Failed to write MPD to " << FLAGS_output;
- 83 return kFailedToWriteMpdToFileError;
-
-
-
-
-
- 89 int MpdMain( int argc, char** argv) {
- 90 base::AtExitManager exit;
-
- 92 base::CommandLine::Init(argc, argv);
- 93 CHECK(logging::InitLogging(logging::LoggingSettings()));
-
- 95 google::SetUsageMessage(base::StringPrintf(kUsage, argv[0]));
- 96 google::ParseCommandLineFlags(&argc, &argv, true);
-
- 98 ExitStatus status = CheckRequiredFlags();
- 99 if (status != kSuccess) {
- 100 const std::string version_string = base::StringPrintf(
- 101 "mpd_generator version %s", GetPackagerVersion().c_str());
- 102 google::ShowUsageWithFlags(version_string.c_str());
-
-
-
- 106 return RunMpdGenerator();
-
-
-
-
-
-
-
- 114 int wmain( int argc, wchar_t* argv[], wchar_t* envp[]) {
- 115 std::unique_ptr<char* [], std::function<void(char**)>> utf8_argv(
- 116 new char*[argc], [argc]( char** utf8_args) {
-
-
-
-
-
-
-
- 124 std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
- 125 for ( int idx = 0; idx < argc; ++idx) {
- 126 std::string utf8_arg(converter.to_bytes(argv[idx]));
-
- 128 utf8_argv[idx] = new char[utf8_arg.size()];
- 129 memcpy(utf8_argv[idx], &utf8_arg[0], utf8_arg.size());
-
- 131 return shaka::MpdMain(argc, utf8_argv.get());
-
-
- 134 int main( int argc, char** argv) {
- 135 return shaka::MpdMain(argc, argv);
-
- 137 #endif // !defined(OS_WIN)
+ 68 base_urls = base::SplitString(FLAGS_base_urls, ",", base::KEEP_WHITESPACE,
+ 69 base::SPLIT_WANT_ALL);
+
+
+
+ 73 for (Iterator it = base_urls.begin(); it != base_urls.end(); ++it)
+ 74 mpd_writer.AddBaseUrl(*it);
+
+ 76 for (Iterator it = input_files.begin(); it != input_files.end(); ++it) {
+ 77 if (!mpd_writer.AddFile(it->c_str(), FLAGS_output)) {
+ 78 LOG(WARNING) << "MpdWriter failed to read " << *it << ", skipping.";
+
+
+
+ 82 if (!mpd_writer.WriteMpdToFile(FLAGS_output.c_str())) {
+ 83 LOG(ERROR) << "Failed to write MPD to " << FLAGS_output;
+ 84 return kFailedToWriteMpdToFileError;
+
+
+
+
+
+ 90 int MpdMain( int argc, char** argv) {
+ 91 base::AtExitManager exit;
+
+ 93 base::CommandLine::Init(argc, argv);
+ 94 CHECK(logging::InitLogging(logging::LoggingSettings()));
+
+ 96 google::SetUsageMessage(base::StringPrintf(kUsage, argv[0]));
+ 97 google::ParseCommandLineFlags(&argc, &argv, true);
+
+ 99 ExitStatus status = CheckRequiredFlags();
+ 100 if (status != kSuccess) {
+ 101 const std::string version_string = base::StringPrintf(
+ 102 "mpd_generator version %s", GetPackagerVersion().c_str());
+ 103 google::ShowUsageWithFlags(version_string.c_str());
+
+
+
+ 107 return RunMpdGenerator();
+
+
+
+
+
+
+
+ 115 int wmain( int argc, wchar_t* argv[], wchar_t* envp[]) {
+ 116 std::unique_ptr<char* [], std::function<void(char**)>> utf8_argv(
+ 117 new char*[argc], [argc]( char** utf8_args) {
+
+
+
+
+
+
+
+ 125 std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
+ 126 for ( int idx = 0; idx < argc; ++idx) {
+ 127 std::string utf8_arg(converter.to_bytes(argv[idx]));
+
+ 129 utf8_argv[idx] = new char[utf8_arg.size()];
+ 130 memcpy(utf8_argv[idx], &utf8_arg[0], utf8_arg.size());
+
+ 132 return shaka::MpdMain(argc, utf8_argv.get());
+
+
+ 135 int main( int argc, char** argv) {
+ 136 return shaka::MpdMain(argc, argv);
+
+ 138 #endif // !defined(OS_WIN)
diff --git a/docs/d7/def/mp4__media__parser_8cc_source.html b/docs/d7/def/mp4__media__parser_8cc_source.html
index 052691966c..98a2ece881 100644
--- a/docs/d7/def/mp4__media__parser_8cc_source.html
+++ b/docs/d7/def/mp4__media__parser_8cc_source.html
@@ -839,7 +839,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
+
@@ -855,7 +855,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d7/df9/byte__queue_8cc_source.html b/docs/d7/df9/byte__queue_8cc_source.html
index 2b941e35f0..302d0be2cc 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 fc74f6b543..cd90ed6679 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 d13af62bd3..96866bfa72 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 727c944821..ee2a7fef17 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 942026d89d..154fd53a70 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 6ff2a52ba2..8b762409a0 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 73a0d52475..82706388a7 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 25d6dec769..101d612f6f 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 a2bea659ac..25ab104789 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 9fca256cb3..2bd2e31057 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 1f3df96786..34a909d6b5 100644
--- a/docs/d8/d16/structshaka_1_1media_1_1MuxerOptions-members.html
+++ b/docs/d8/d16/structshaka_1_1media_1_1MuxerOptions-members.html
@@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/d19/bandwidth__estimator_8h_source.html b/docs/d8/d19/bandwidth__estimator_8h_source.html
index c6f5bc1827..2b2375654f 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 7cfa2459fd..f689c106d0 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 3201cc7588..75fd3af3dd 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 12bf7c631a..67e680b54b 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 3e8e6fa1e1..ee6c803292 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 d35654e284..646e39b8e7 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 c60771d0f1..bd2502442c 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 3da9482801..ff72661258 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 7d595e4b50..211740eb44 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 55e8d32aef..1a975d7ac2 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 6aa8a0661d..be5f9c5d8b 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 d4662cb8d3..526639b8f8 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 f8bfe00943..a8aabc7f6f 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 98911ded5f..6cea3e89e3 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 4178467d56..1c9df1abf2 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 82429af018..8759491831 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 fbeac2b3ae..d7bd51964e 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 1234e27ad1..50c9d0b9ac 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 4215969cb1..33b0de2b57 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 59b57d560b..0928358621 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 11f6d3abe6..d9264b47fe 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 db5642b6c9..4e02744099 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 2001b453aa..110e619163 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 5a4680856c..1c87d776a2 100644
--- a/docs/d8/d9a/fragmenter_8cc_source.html
+++ b/docs/d8/d9a/fragmenter_8cc_source.html
@@ -125,183 +125,182 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
36 fragment_initialized_(false),
37 fragment_finalized_(false),
38 fragment_duration_(0),
- 39 presentation_start_time_(kInvalidTime),
- 40 earliest_presentation_time_(kInvalidTime),
- 41 first_sap_time_(kInvalidTime) {
-
-
-
- 45 Fragmenter::~Fragmenter() {}
-
-
-
- 49 if (sample->duration() == 0) {
- 50 LOG(WARNING) <<
"Unexpected sample with zero duration @ dts "
-
-
-
- 54 if (!fragment_initialized_) {
-
-
-
-
-
- 60 if (sample->side_data_size() > 0)
- 61 LOG(WARNING) <<
"MP4 samples do not support side data. Side data ignored.";
-
-
- 64 traf_->runs[0].sample_sizes.push_back(sample->data_size());
- 65 traf_->runs[0].sample_durations.push_back(sample->duration());
- 66 traf_->runs[0].sample_flags.push_back(
- 67 sample->is_key_frame() ? 0 : TrackFragmentHeader::kNonKeySampleMask);
-
- 69 data_->AppendArray(sample->data(), sample->data_size());
- 70 fragment_duration_ += sample->duration();
-
- 72 const int64_t pts = sample->pts();
- 73 const int64_t dts = sample->dts();
-
- 75 const int64_t timestamp = use_decoding_timestamp_in_timeline_ ? dts : pts;
-
-
- 78 if (earliest_presentation_time_ > timestamp)
- 79 earliest_presentation_time_ = timestamp;
-
- 81 traf_->runs[0].sample_composition_time_offsets.push_back(pts - dts);
-
- 83 traf_->runs[0].flags |= TrackFragmentRun::kSampleCompTimeOffsetsPresentMask;
-
- 85 if (sample->is_key_frame()) {
- 86 if (first_sap_time_ == kInvalidTime)
- 87 first_sap_time_ = pts;
-
-
-
-
-
- 93 fragment_initialized_ =
true;
- 94 fragment_finalized_ =
false;
- 95 traf_->decode_time.decode_time = first_sample_dts;
-
- 97 traf_->runs.resize(1);
- 98 traf_->runs[0].flags = TrackFragmentRun::kDataOffsetPresentMask;
- 99 traf_->sample_group_descriptions.clear();
- 100 traf_->sample_to_groups.clear();
- 101 traf_->header.sample_description_index = 1;
- 102 traf_->header.flags = TrackFragmentHeader::kDefaultBaseIsMoofMask |
- 103 TrackFragmentHeader::kSampleDescriptionIndexPresentMask;
- 104 fragment_duration_ = 0;
- 105 earliest_presentation_time_ = kInvalidTime;
- 106 first_sap_time_ = kInvalidTime;
-
-
-
-
-
-
- 113 traf_->runs[0].sample_count = traf_->runs[0].sample_sizes.size();
-
- 115 &traf_->header.default_sample_duration)) {
- 116 traf_->header.flags |=
- 117 TrackFragmentHeader::kDefaultSampleDurationPresentMask;
-
- 119 traf_->runs[0].flags |= TrackFragmentRun::kSampleDurationPresentMask;
-
-
- 122 &traf_->header.default_sample_size)) {
- 123 traf_->header.flags |= TrackFragmentHeader::kDefaultSampleSizePresentMask;
-
- 125 traf_->runs[0].flags |= TrackFragmentRun::kSampleSizePresentMask;
-
-
- 128 &traf_->header.default_sample_flags)) {
- 129 traf_->header.flags |= TrackFragmentHeader::kDefaultSampleFlagsPresentMask;
-
- 131 traf_->runs[0].flags |= TrackFragmentRun::kSampleFlagsPresentMask;
-
-
-
-
-
-
-
- 139 DCHECK_EQ(traf_->sample_to_groups.size(), 0u);
- 140 if (seek_preroll_ > 0) {
- 141 traf_->sample_to_groups.resize(traf_->sample_to_groups.size() + 1);
- 142 SampleToGroup& sample_to_group = traf_->sample_to_groups.back();
- 143 sample_to_group.grouping_type = FOURCC_roll;
-
- 145 sample_to_group.entries.resize(1);
-
- 147 sample_to_group_entry.sample_count = traf_->runs[0].sample_count;
- 148 sample_to_group_entry.group_description_index =
- 149 SampleToGroupEntry::kTrackGroupDescriptionIndexBase + 1;
-
- 151 for (
const auto& sample_group_description :
- 152 traf_->sample_group_descriptions) {
- 153 traf_->sample_to_groups.resize(traf_->sample_to_groups.size() + 1);
- 154 SampleToGroup& sample_to_group = traf_->sample_to_groups.back();
- 155 sample_to_group.grouping_type = sample_group_description.grouping_type;
-
- 157 sample_to_group.entries.resize(1);
-
- 159 sample_to_group_entry.sample_count = traf_->runs[0].sample_count;
- 160 sample_to_group_entry.group_description_index =
- 161 SampleToGroupEntry::kTrackFragmentGroupDescriptionIndexBase + 1;
-
-
- 164 fragment_finalized_ =
true;
- 165 fragment_initialized_ =
false;
-
-
-
-
- 170 reference->reference_type =
false;
- 171 reference->subsegment_duration = fragment_duration_;
- 172 reference->starts_with_sap = StartsWithSAP();
- 173 if (kInvalidTime == first_sap_time_) {
- 174 reference->sap_type = SegmentReference::TypeUnknown;
- 175 reference->sap_delta_time = 0;
-
- 177 reference->sap_type = SegmentReference::Type1;
- 178 reference->sap_delta_time = first_sap_time_ - earliest_presentation_time_;
-
- 180 reference->earliest_presentation_time = earliest_presentation_time_;
-
-
- 183 bool Fragmenter::StartsWithSAP() {
- 184 DCHECK(!traf_->runs.empty());
- 185 uint32_t start_sample_flag;
- 186 if (traf_->runs[0].flags & TrackFragmentRun::kSampleFlagsPresentMask) {
- 187 DCHECK(!traf_->runs[0].sample_flags.empty());
- 188 start_sample_flag = traf_->runs[0].sample_flags[0];
-
- 190 DCHECK(traf_->header.flags &
- 191 TrackFragmentHeader::kDefaultSampleFlagsPresentMask);
- 192 start_sample_flag = traf_->header.default_sample_flags;
-
- 194 return (start_sample_flag & TrackFragmentHeader::kNonKeySampleMask) == 0;
-
-
-
-
-
+ 39 earliest_presentation_time_(kInvalidTime),
+ 40 first_sap_time_(kInvalidTime) {
+
+
+
+ 44 Fragmenter::~Fragmenter() {}
+
+
+
+ 48 if (sample->duration() == 0) {
+ 49 LOG(WARNING) <<
"Unexpected sample with zero duration @ dts "
+
+
+
+ 53 if (!fragment_initialized_) {
+
+
+
+
+
+ 59 if (sample->side_data_size() > 0)
+ 60 LOG(WARNING) <<
"MP4 samples do not support side data. Side data ignored.";
+
+
+ 63 traf_->runs[0].sample_sizes.push_back(sample->data_size());
+ 64 traf_->runs[0].sample_durations.push_back(sample->duration());
+ 65 traf_->runs[0].sample_flags.push_back(
+ 66 sample->is_key_frame() ? 0 : TrackFragmentHeader::kNonKeySampleMask);
+
+ 68 data_->AppendArray(sample->data(), sample->data_size());
+ 69 fragment_duration_ += sample->duration();
+
+ 71 const int64_t pts = sample->pts();
+ 72 const int64_t dts = sample->dts();
+
+ 74 const int64_t timestamp = use_decoding_timestamp_in_timeline_ ? dts : pts;
+
+
+ 77 if (earliest_presentation_time_ > timestamp)
+ 78 earliest_presentation_time_ = timestamp;
+
+ 80 traf_->runs[0].sample_composition_time_offsets.push_back(pts - dts);
+
+ 82 traf_->runs[0].flags |= TrackFragmentRun::kSampleCompTimeOffsetsPresentMask;
+
+ 84 if (sample->is_key_frame()) {
+ 85 if (first_sap_time_ == kInvalidTime)
+ 86 first_sap_time_ = pts;
+
+
+
+
+
+ 92 fragment_initialized_ =
true;
+ 93 fragment_finalized_ =
false;
+ 94 traf_->decode_time.decode_time = first_sample_dts;
+
+ 96 traf_->runs.resize(1);
+ 97 traf_->runs[0].flags = TrackFragmentRun::kDataOffsetPresentMask;
+ 98 traf_->sample_group_descriptions.clear();
+ 99 traf_->sample_to_groups.clear();
+ 100 traf_->header.sample_description_index = 1;
+ 101 traf_->header.flags = TrackFragmentHeader::kDefaultBaseIsMoofMask |
+ 102 TrackFragmentHeader::kSampleDescriptionIndexPresentMask;
+ 103 fragment_duration_ = 0;
+ 104 earliest_presentation_time_ = kInvalidTime;
+ 105 first_sap_time_ = kInvalidTime;
+
+
+
+
+
+
+ 112 traf_->runs[0].sample_count = traf_->runs[0].sample_sizes.size();
+
+ 114 &traf_->header.default_sample_duration)) {
+ 115 traf_->header.flags |=
+ 116 TrackFragmentHeader::kDefaultSampleDurationPresentMask;
+
+ 118 traf_->runs[0].flags |= TrackFragmentRun::kSampleDurationPresentMask;
+
+
+ 121 &traf_->header.default_sample_size)) {
+ 122 traf_->header.flags |= TrackFragmentHeader::kDefaultSampleSizePresentMask;
+
+ 124 traf_->runs[0].flags |= TrackFragmentRun::kSampleSizePresentMask;
+
+
+ 127 &traf_->header.default_sample_flags)) {
+ 128 traf_->header.flags |= TrackFragmentHeader::kDefaultSampleFlagsPresentMask;
+
+ 130 traf_->runs[0].flags |= TrackFragmentRun::kSampleFlagsPresentMask;
+
+
+
+
+
+
+
+ 138 DCHECK_EQ(traf_->sample_to_groups.size(), 0u);
+ 139 if (seek_preroll_ > 0) {
+ 140 traf_->sample_to_groups.resize(traf_->sample_to_groups.size() + 1);
+ 141 SampleToGroup& sample_to_group = traf_->sample_to_groups.back();
+ 142 sample_to_group.grouping_type = FOURCC_roll;
+
+ 144 sample_to_group.entries.resize(1);
+
+ 146 sample_to_group_entry.sample_count = traf_->runs[0].sample_count;
+ 147 sample_to_group_entry.group_description_index =
+ 148 SampleToGroupEntry::kTrackGroupDescriptionIndexBase + 1;
+
+ 150 for (
const auto& sample_group_description :
+ 151 traf_->sample_group_descriptions) {
+ 152 traf_->sample_to_groups.resize(traf_->sample_to_groups.size() + 1);
+ 153 SampleToGroup& sample_to_group = traf_->sample_to_groups.back();
+ 154 sample_to_group.grouping_type = sample_group_description.grouping_type;
+
+ 156 sample_to_group.entries.resize(1);
+
+ 158 sample_to_group_entry.sample_count = traf_->runs[0].sample_count;
+ 159 sample_to_group_entry.group_description_index =
+ 160 SampleToGroupEntry::kTrackFragmentGroupDescriptionIndexBase + 1;
+
+
+ 163 fragment_finalized_ =
true;
+ 164 fragment_initialized_ =
false;
+
+
+
+
+ 169 reference->reference_type =
false;
+ 170 reference->subsegment_duration = fragment_duration_;
+ 171 reference->starts_with_sap = StartsWithSAP();
+ 172 if (kInvalidTime == first_sap_time_) {
+ 173 reference->sap_type = SegmentReference::TypeUnknown;
+ 174 reference->sap_delta_time = 0;
+
+ 176 reference->sap_type = SegmentReference::Type1;
+ 177 reference->sap_delta_time = first_sap_time_ - earliest_presentation_time_;
+
+ 179 reference->earliest_presentation_time = earliest_presentation_time_;
+
+
+ 182 bool Fragmenter::StartsWithSAP() {
+ 183 DCHECK(!traf_->runs.empty());
+ 184 uint32_t start_sample_flag;
+ 185 if (traf_->runs[0].flags & TrackFragmentRun::kSampleFlagsPresentMask) {
+ 186 DCHECK(!traf_->runs[0].sample_flags.empty());
+ 187 start_sample_flag = traf_->runs[0].sample_flags[0];
+
+ 189 DCHECK(traf_->header.flags &
+ 190 TrackFragmentHeader::kDefaultSampleFlagsPresentMask);
+ 191 start_sample_flag = traf_->header.default_sample_flags;
+
+ 193 return (start_sample_flag & TrackFragmentHeader::kNonKeySampleMask) == 0;
+
+
+
+
+
-
-
+
+
-
-
+
+
-
+
diff --git a/docs/d8/d9c/webm__tracks__parser_8cc_source.html b/docs/d8/d9c/webm__tracks__parser_8cc_source.html
index d683720206..983e95460b 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 f13d043d3b..1030cc0e83 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 2ccf2ad5cf..5893cf0305 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 ac8c65debd..fa4872ffcc 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 3a3ebe20dc..655f81dacf 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 85189216db..7552635d9d 100644
--- a/docs/d8/daa/stream__info_8h_source.html
+++ b/docs/d8/daa/stream__info_8h_source.html
@@ -205,7 +205,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/d8/daf/namespaceshaka.html b/docs/d8/daf/namespaceshaka.html
index 5fed2f8f37..e3401faf4c 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 d28f9621c4..c95cdc3703 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 043cc506fe..059d223a99 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 2b15b5dab1..6f4ba09e80 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 b15b73ba24..c5acbca851 100644
--- a/docs/d8/dca/ts__writer_8h_source.html
+++ b/docs/d8/dca/ts__writer_8h_source.html
@@ -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 baf1371176..e68319dac2 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 720ad15e24..9e413fdb98 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 d524fd49b6..2f99b24ade 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 c764eb7f48..fb35c08d20 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 d47dcf2990..f597034658 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 4dd0f08df8..8fae40c5b6 100644
--- a/docs/d8/de6/webm__crypto__helpers_8h_source.html
+++ b/docs/d8/de6/webm__crypto__helpers_8h_source.html
@@ -115,7 +115,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 8334b50118..fe59e1b615 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 650abef427..a643be5d89 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 2cb6b1f8b0..c52890b0b9 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 f1fdb7ecbb..ad164c71f7 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 be2f6ba827..0390c6597a 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 074855d1d1..aa04f0817d 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 51f83e3d7e..e29331ef31 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 c946b04f61..32fdc6a6ea 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 d219ff134c..8a3a519d3a 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 2038392c59..c0e75d92b3 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 286871e394..eee5060160 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 4cde838ea8..77f7261aa4 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 bad21e54e1..7a0c70d185 100644
--- a/docs/d9/d15/key__rotation__fragmenter_8cc_source.html
+++ b/docs/d9/d15/key__rotation__fragmenter_8cc_source.html
@@ -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 d07d819cae..7c4b06032d 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 86d39a8174..b05a90d106 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 7f1119e94e..c037812355 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 1d62a5b883..94bc7c4045 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 15cb1168cf..47963d0b72 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 562e1f003f..2f4480fc5f 100644
--- a/docs/d9/d3b/webm__content__encodings_8h_source.html
+++ b/docs/d9/d3b/webm__content__encodings_8h_source.html
@@ -178,7 +178,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 a23e71b6ef..d5cedbf92d 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 7a1ae88597..aa613b9bfa 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 01ab3a33f3..ebf7613153 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 b359ecc075..7430ca940e 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 a9ea31b151..1ba7c260b4 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 8fe48229aa..ce1e99d198 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 e42425e3f7..e89e03a572 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 7f5bf3be11..ebf07a2410 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 48afc0a623..df1c496e0b 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 02c0d0d593..59f05054b4 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 49c0738d00..8c44405ea5 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 7d7018f730..2cbb40f449 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 9a353c886b..e09493e54c 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 ec8b5a2d59..bde3c25d3d 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 5409638b03..f254415fb6 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 831091e13c..e30aaf5c95 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 b06b412761..3218e8f4b7 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 fa7f734eea..87ca69c400 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 f7febe7d39..4fb27f615d 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 15751cd3d8..f3ce5eb6d6 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 cc3ebf2bfc..15f70b3179 100644
--- a/docs/d9/db9/muxer_8cc_source.html
+++ b/docs/d9/db9/muxer_8cc_source.html
@@ -220,7 +220,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 df0fdc984f..c6ab0c5af7 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 792cc18730..d116ea4f34 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 4203d2c7b1..cc7f23b2f5 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 505b445170..35ab4b05b8 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 e7d56ef5db..951d0d8b55 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 b9bf2e02e0..24632a61a2 100644
--- a/docs/d9/de3/muxer__listener__internal_8cc_source.html
+++ b/docs/d9/de3/muxer__listener__internal_8cc_source.html
@@ -333,8 +333,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
245 std::string CreateUUIDString( const std::vector<uint8_t>& data) {
246 DCHECK_EQ(16u, data.size());
- 247 std::string uuid = base::HexEncode(data.data(), data.size());
- 248 base::StringToLowerASCII(&uuid);
+
+ 248 base::ToLowerASCII(base::HexEncode(data.data(), data.size()));
249 uuid.insert(20, "-");
250 uuid.insert(16, "-");
251 uuid.insert(12, "-");
@@ -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 07c4956d55..0bdab96447 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 4ef50fb506..ca5c166586 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 0bf511dd5e..b8b7bfffa8 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 8d48b966af..138b341df6 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 f71d36c1c3..3c2b8f2df6 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 eb5d2bbceb..927820251e 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 ddf9785c39..fb4fa901ef 100644
--- a/docs/da/d04/audio__stream__info_8cc_source.html
+++ b/docs/da/d04/audio__stream__info_8cc_source.html
@@ -223,7 +223,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
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 ce39655bee..aa3685f07a 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 d5cbaf0594..b17a5e62f1 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 e236f4cd54..827f0deb37 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 217dbda8d4..bab79a8e9f 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 e5b85503b0..ead3ed4449 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 37d8d1db53..1ba9c1a0c4 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 9f065d7db4..95eec139c5 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 7e73e64adf..a7e08e7b1a 100644
--- a/docs/da/d2a/text__stream__info_8h_source.html
+++ b/docs/da/d2a/text__stream__info_8h_source.html
@@ -136,7 +136,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
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 b765c89308..09119a1035 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 9827bd870c..a21eccf2d1 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 b65f4927c1..989f391780 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 459e1a864e..7aebc22409 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 836755b4ea..234bf78ec0 100644
--- a/docs/da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html
+++ b/docs/da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html
@@ -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 329a726849..50b2b71d23 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 1cdbc204e2..678e593220 100644
--- a/docs/da/d53/es__parser__h265_8cc_source.html
+++ b/docs/da/d53/es__parser__h265_8cc_source.html
@@ -256,7 +256,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
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 86f2345e25..fda8145080 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 89af823ae4..8a75fae668 100644
--- a/docs/da/d5c/widevine__key__source_8h_source.html
+++ b/docs/da/d5c/widevine__key__source_8h_source.html
@@ -207,22 +207,22 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
134 #endif // MEDIA_BASE_WIDEVINE_KEY_SOURCE_H_
-
-
-
+
+
+
-
+
-
+
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 13aba9f8ca..fb0e7a9194 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 e0c3e61750..13027cc0a2 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 fbc8a9de28..f06d426c83 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 5cf8e5caa1..28b3d0e56f 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 61d1d08c56..d8e8f36a06 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 017539f478..7ce7253720 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 ef2c72cc54..65bbfb0f06 100644
--- a/docs/da/d88/mp4__muxer_8cc_source.html
+++ b/docs/da/d88/mp4__muxer_8cc_source.html
@@ -496,14 +496,14 @@ 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 09d023b1f6..f088325c22 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 eaee0b7a03..155d0d37a6 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 01732be19a..f460c0d12f 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 1d588c6e26..2e820ad785 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 e7a102e51b..859aad6d56 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 35323e479b..8733f67955 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 ed82183649..b3b655671e 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 c7946c5584..bc45c1626f 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 777b58f04a..e05c9bc425 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 aeaf3cda9c..47305196b7 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 dce158cfe0..870e791f44 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 675efaea93..1cba4593de 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 8cf75d9d24..c1f5bf4aec 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 4510651f80..a204c1385d 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 8ae126995f..02e087c0ca 100644
--- a/docs/da/dd1/fragmenter_8h_source.html
+++ b/docs/da/dd1/fragmenter_8h_source.html
@@ -159,54 +159,53 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
90 bool fragment_initialized_;
91 bool fragment_finalized_;
92 uint64_t fragment_duration_;
- 93 int64_t presentation_start_time_;
- 94 int64_t earliest_presentation_time_;
- 95 int64_t first_sap_time_;
- 96 std::unique_ptr<BufferWriter> data_;
-
-
-
-
- 101 template <
typename T>
-
-
-
- 105 DCHECK(default_value);
- 106 DCHECK(!entries->empty());
-
- 108 typename std::vector<T>::const_iterator it = entries->begin();
-
- 110 for (; it < entries->end(); ++it)
-
-
-
-
-
- 116 *default_value = value;
-
-
-
-
-
-
-
- 124 #endif // MEDIA_FORMATS_MP4_FRAGMENTER_H_
+ 93 int64_t earliest_presentation_time_;
+ 94 int64_t first_sap_time_;
+ 95 std::unique_ptr<BufferWriter> data_;
+
+
+
+
+ 100 template <
typename T>
+
+
+
+ 104 DCHECK(default_value);
+ 105 DCHECK(!entries->empty());
+
+ 107 typename std::vector<T>::const_iterator it = entries->begin();
+
+ 109 for (; it < entries->end(); ++it)
+
+
+
+
+
+ 115 *default_value = value;
+
+
+
+
+
+
+
+ 123 #endif // MEDIA_FORMATS_MP4_FRAGMENTER_H_
-
-
+
+
-
+
-
+
-
+
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 ad6f05764f..3fae7529c6 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 8ff55eacd8..8be82b02de 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 c72428367c..580d435906 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 0a18ab82e8..5eabc00414 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 b8ac8e3dc6..b1ec5e0c97 100644
--- a/docs/da/ddd/classshaka_1_1media_1_1WidevineKeySource.html
+++ b/docs/da/ddd/classshaka_1_1media_1_1WidevineKeySource.html
@@ -232,7 +232,7 @@ static std::string shaka::media::KeySource.
- Definition at line 175 of file widevine_key_source.cc.
+Definition at line 176 of file widevine_key_source.cc.
@@ -268,7 +268,7 @@ static std::string | shaka::media::KeySource.
- Definition at line 202 of file widevine_key_source.cc.
+Definition at line 203 of file widevine_key_source.cc.
@@ -304,7 +304,7 @@ static std::string | shaka::media::KeySource.
- Definition at line 223 of file widevine_key_source.cc.
+Definition at line 224 of file widevine_key_source.cc.
@@ -341,7 +341,7 @@ static std::string | ReturnsOK on success, an error status otherwise.
- Definition at line 164 of file widevine_key_source.cc.
+Definition at line 165 of file widevine_key_source.cc.
@@ -395,7 +395,7 @@ static std::string | shaka::media::KeySource.
- Definition at line 258 of file widevine_key_source.cc.
+Definition at line 259 of file widevine_key_source.cc.
@@ -442,7 +442,7 @@ static std::string | shaka::media::KeySource.
- Definition at line 232 of file widevine_key_source.cc.
+Definition at line 233 of file widevine_key_source.cc.
@@ -489,7 +489,7 @@ static std::string | shaka::media::KeySource.
- Definition at line 242 of file widevine_key_source.cc.
+Definition at line 243 of file widevine_key_source.cc.
@@ -514,7 +514,7 @@ static std::string | 284 of file widevine_key_source.cc.
+ Definition at line 285 of file widevine_key_source.cc.
@@ -539,7 +539,7 @@ static std::string | 280 of file widevine_key_source.cc.
+ Definition at line 281 of file widevine_key_source.cc.
@@ -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 d39bfe42c2..62fb38ba22 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 0d632ea23b..dca9cb2db7 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 fa1b93635e..64ce2936ad 100644
--- a/docs/da/de4/classshaka_1_1media_1_1WebMClusterParser.html
+++ b/docs/da/de4/classshaka_1_1media_1_1WebMClusterParser.html
@@ -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 eac3cf51b4..ea3c140a55 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 eb9cf856ca..76ebde1fd2 100644
--- a/docs/da/de8/classshaka_1_1media_1_1AudioStreamInfo-members.html
+++ b/docs/da/de8/classshaka_1_1media_1_1AudioStreamInfo-members.html
@@ -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 9b44dc7e3c..436925f33b 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 9dcd9edfb0..a17f9c4c13 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 d189daa677..0b99b3a8ba 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 5a47d4b23d..f3a5ef34db 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 db80cf12d3..8d29de53b6 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 e8164be790..38a4278fdd 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 8d4a38b576..b40002bf82 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 2a62e4ba83..5a810a552b 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 c899343185..025cd7c052 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 aa474e99d1..a15a06a9d6 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 bd5a8cecbe..1b6773f61f 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 fb5fe786c2..540458b9db 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 b4818f2366..4541c1a19e 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 c56d655f41..6566a3de2d 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 5f5c59cf8c..e4a0efd279 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 c10655fb8b..dd526e7d33 100644
--- a/docs/db/d45/mpd__notify__muxer__listener_8h_source.html
+++ b/docs/db/d45/mpd__notify__muxer__listener_8h_source.html
@@ -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 16f3b256e4..9b6c17cde5 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 3e9251c0fd..fdcf01a6e1 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 7c92ebe129..a90c886633 100644
--- a/docs/db/d51/mp2t__media__parser_8h_source.html
+++ b/docs/db/d51/mp2t__media__parser_8h_source.html
@@ -192,7 +192,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 73121e5310..6564d802e1 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
@@ -144,7 +144,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 ceeb4d781e..a217616800 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 56f9002774..c11282b09e 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 4a13d3c50b..ad54fb6fe1 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 ce2cb19f03..6f2aea0348 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 3681613bd3..e2a7a76fc8 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 f324b9d1d1..d674af4bac 100644
--- a/docs/db/d74/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord-members.html
+++ b/docs/db/d74/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord-members.html
@@ -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 1f8c97b974..46f28c52ac 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 378efb25cf..032b2f54ac 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 1abd0b3763..7d6aa9e0c0 100644
--- a/docs/db/d7e/muxer__options_8cc_source.html
+++ b/docs/db/d7e/muxer__options_8cc_source.html
@@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
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 21878dff35..e6e5d29b83 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 02801c5836..11ab788a13 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 9e2a95c924..3e21b187c5 100644
--- a/docs/db/d8f/mp4__muxer_8h_source.html
+++ b/docs/db/d8f/mp4__muxer_8h_source.html
@@ -173,7 +173,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/d94/classshaka_1_1media_1_1ClusterBuilder.html b/docs/db/d94/classshaka_1_1media_1_1ClusterBuilder.html
index 7265e0d9d7..ad98cc7645 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 @@ std::unique_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 05c27b9673..33afd6049c 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
@@ -226,7 +226,7 @@ Protected Member Functions |
Reimplemented in shaka::media::mp4::EncryptingFragmenter.
-Definition at line 47 of file fragmenter.cc.
+Definition at line 46 of file fragmenter.cc.
@@ -262,7 +262,7 @@ Protected Member Functions
Reimplemented in shaka::media::mp4::EncryptingFragmenter.
-Definition at line 92 of file fragmenter.cc.
+Definition at line 91 of file fragmenter.cc.
@@ -301,7 +301,7 @@ template<typename T >
Optimize sample entries table. If all values in entries are identical, then entries is cleared and the value is assigned to default_value; otherwise it is a NOP. Return true if the table is optimized.
-
Definition at line 102 of file fragmenter.h.
+
Definition at line 101 of file fragmenter.h.
@@ -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 e2347881e5..4da4797cec 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 e70f108173..9bea743ef2 100644
--- a/docs/db/d96/wvm__media__parser_8h_source.html
+++ b/docs/db/d96/wvm__media__parser_8h_source.html
@@ -309,61 +309,60 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
- 227 uint32_t skip_bytes_;
- 228 bool metadata_is_complete_;
- 229 uint8_t current_program_id_;
- 230 uint32_t pes_stream_id_;
- 231 uint32_t prev_pes_stream_id_;
- 232 uint16_t pes_packet_bytes_;
- 233 uint8_t pes_flags_1_;
- 234 uint8_t pes_flags_2_;
- 235 uint8_t prev_pes_flags_1_;
- 236 uint8_t pes_header_data_bytes_;
-
-
-
- 240 uint8_t index_program_id_;
- 241 scoped_refptr<MediaSample> media_sample_;
- 242 uint32_t crypto_unit_start_pos_;
-
-
-
- 246 std::vector<uint8_t, std::allocator<uint8_t> > ecm_;
- 247 std::vector<uint8_t> psm_data_;
- 248 std::vector<uint8_t> index_data_;
- 249 std::map<std::string, uint32_t> program_demux_stream_map_;
- 250 int stream_id_count_;
- 251 std::vector<scoped_refptr<StreamInfo> > stream_infos_;
- 252 std::deque<DemuxStreamIdMediaSample> media_sample_queue_;
- 253 std::vector<uint8_t> sample_data_;
-
- 255 std::unique_ptr<AesCbcDecryptor> content_decryptor_;
-
-
-
-
-
-
-
-
- 264 #endif // MEDIA_FORMATS_WVM_WVM_MEDIA_PARSER_H_
+ 226 uint32_t skip_bytes_;
+ 227 bool metadata_is_complete_;
+ 228 uint8_t current_program_id_;
+ 229 uint32_t pes_stream_id_;
+ 230 uint32_t prev_pes_stream_id_;
+ 231 uint16_t pes_packet_bytes_;
+ 232 uint8_t pes_flags_1_;
+ 233 uint8_t pes_flags_2_;
+ 234 uint8_t prev_pes_flags_1_;
+ 235 uint8_t pes_header_data_bytes_;
+
+
+
+ 239 uint8_t index_program_id_;
+ 240 scoped_refptr<MediaSample> media_sample_;
+ 241 uint32_t crypto_unit_start_pos_;
+
+
+
+ 245 std::vector<uint8_t, std::allocator<uint8_t> > ecm_;
+ 246 std::vector<uint8_t> psm_data_;
+ 247 std::vector<uint8_t> index_data_;
+ 248 std::map<std::string, uint32_t> program_demux_stream_map_;
+ 249 int stream_id_count_;
+ 250 std::vector<scoped_refptr<StreamInfo> > stream_infos_;
+ 251 std::deque<DemuxStreamIdMediaSample> media_sample_queue_;
+ 252 std::vector<uint8_t> sample_data_;
+
+ 254 std::unique_ptr<AesCbcDecryptor> content_decryptor_;
+
+
+
+
+
+
+
+
+ 263 #endif // MEDIA_FORMATS_WVM_WVM_MEDIA_PARSER_H_
-
+
-
+
-
+
diff --git a/docs/db/da4/classBandwidthEstimator-members.html b/docs/db/da4/classBandwidthEstimator-members.html
index 2c9a74b3d7..011fe06d83 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 9d3763f230..d1e4732581 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 309bfab269..ff4373b6c2 100644
--- a/docs/db/dab/classshaka_1_1media_1_1TextStreamInfo.html
+++ b/docs/db/dab/classshaka_1_1media_1_1TextStreamInfo.html
@@ -282,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 e3559596c9..dfa2b3be56 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 3f4bd17a47..f71a085129 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 2bf2557842..42f9ccf73a 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 f3a2c53c10..00ce1adc62 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 ce8ce3062f..a78dfe8e62 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 95228c9ab8..0742a26253 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 912f3b6ffa..d1e8fc8c70 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
@@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/db/dcd/classshaka_1_1MpdWriter.html b/docs/db/dcd/classshaka_1_1MpdWriter.html
index a91fcdea77..a49cba5ee8 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 e085f90bbc..a040ee10fb 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 c927b9c322..35c1f42a39 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 d984ec0137..3b67fb4d69 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 5e590bd6e9..c6e81b9877 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 5809d53f6e..cf8889342a 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 476d23fb42..5e65c2bbf9 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 7dc14f05d5..539d38db78 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 f558d6b659..4e7b2ea93b 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 4ab54cac48..b709c816ab 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 5bd98153d5..2093639874 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 f6f7789eeb..e95c7f4253 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 06d14f945a..a9b71c27be 100644
--- a/docs/db/dfb/mpd__utils_8cc_source.html
+++ b/docs/db/dfb/mpd__utils_8cc_source.html
@@ -271,7 +271,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
184 const std::string hex_encoded =
- 185 base::StringToLowerASCII(base::HexEncode(data.data(), data.size()));
+ 185 base::ToLowerASCII(base::HexEncode(data.data(), data.size()));
186 DCHECK_EQ(hex_encoded.size(), kExpectedUUIDSize * 2);
187 base::StringPiece all(hex_encoded);
@@ -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 8939255151..98e83c98c3 100644
--- a/docs/db/dfc/mpd__notify__muxer__listener_8cc_source.html
+++ b/docs/db/dfc/mpd__notify__muxer__listener_8cc_source.html
@@ -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 b4aba7b6fc..f21b33b6bc 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 ceb5da0d2d..1ffb96bcb6 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 7795e4164c..42b6b1be4e 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 85f615406e..5272b79aaf 100644
--- a/docs/dc/d06/classshaka_1_1media_1_1StreamInfo-members.html
+++ b/docs/dc/d06/classshaka_1_1media_1_1StreamInfo-members.html
@@ -115,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 09080e6cd4..efccaa4c11 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 4badd46d53..27c9b7dd2a 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 9d93d9e3c4..100dae4a2b 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
@@ -153,7 +153,7 @@ track_id, const scoped_refptr
Implements shaka::media::MediaParser.
-Definition at line 519 of file wvm_media_parser.cc.
+Definition at line 518 of file wvm_media_parser.cc.
@@ -205,7 +205,7 @@ track_id, const scoped_refptr
Implements shaka::media::MediaParser.
-Definition at line 117 of file wvm_media_parser.cc.
+Definition at line 116 of file wvm_media_parser.cc.
@@ -245,7 +245,7 @@ track_id, const scoped_refptr
Implements shaka::media::MediaParser.
-Definition at line 128 of file wvm_media_parser.cc.
+Definition at line 127 of file wvm_media_parser.cc.
@@ -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 1c040c4038..64f5a94653 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 ca30507ebc..a42555376e 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 e9bc78bf91..0c9f544ff5 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 365146e6ef..27b06b48b3 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 684663dc11..a8999a990e 100644
--- a/docs/dc/d3c/webm__cluster__parser_8h_source.html
+++ b/docs/dc/d3c/webm__cluster__parser_8h_source.html
@@ -301,7 +301,7 @@ 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 0ed386de0a..0f1337d6cb 100644
--- a/docs/dc/d3f/key__source_8h_source.html
+++ b/docs/dc/d3f/key__source_8h_source.html
@@ -168,7 +168,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 998daf2972..b6af37d7c0 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 d067e53cd6..69fbb5f13c 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 2751bdd898..0782d54430 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 6af543a739..627e03dc9a 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 f98df47356..28a93db974 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 4ad3c0dd49..7908f97706 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 5817ba2130..c15172907a 100644
--- a/docs/dc/d53/webm_2segmenter_8cc_source.html
+++ b/docs/dc/d53/webm_2segmenter_8cc_source.html
@@ -553,7 +553,7 @@ 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 8d2035b5f0..8c7c8f42dc 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 7259678f69..3bfc560d34 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 1123355f77..a9b657fd75 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 e0f40927e3..92ca2b3bac 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 d57400ea0a..028430f50f 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 b6d651a79e..9a8bf24fdf 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 94a80d891b..e5eb9fbea8 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 69f99ec7c9..359f3b1d9f 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 1910cb4990..d05862e5c5 100644
--- a/docs/dc/d7b/h264__parser_8cc_source.html
+++ b/docs/dc/d7b/h264__parser_8cc_source.html
@@ -268,8 +268,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
179 static const int kTableSarHeight[] = {
180 0, 1, 11, 11, 11, 33, 11, 11, 11, 33, 11, 11, 33, 99, 3, 2, 1
- 182 COMPILE_ASSERT(arraysize(kTableSarWidth) == arraysize(kTableSarHeight),
- 183 sar_tables_must_have_same_size);
+ 182 static_assert(arraysize(kTableSarWidth) == arraysize(kTableSarHeight),
+ 183 "sar_tables_must_have_same_size");
185 H264Parser::H264Parser() {}
@@ -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 5619b9f54b..929d2ab5bc 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 228d056e11..0253ef958a 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 1c1da78578..38f4a98cf4 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 9575461779..ef4b3ec849 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 2cdde2f98d..de77152e64 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 ad809b9e0c..173c5966e3 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 26560b316c..6f01254691 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 dd65e0fc3c..7f254e37e5 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 81780111f0..d02860706d 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 b7a4a1d908..ae77b8628f 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 5fb242c24c..2381d5f1b7 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 aadc304118..fa23cb9fc1 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 458afb4ac8..c86bd650e1 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 bff43e8b58..3243260b0d 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 7f02c7ea89..ff63c39218 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 d0b50e5c41..b26114156a 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 06393c6707..1defdaeae0 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 cdc8015b0d..35c90e17a7 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 e342ece1fa..deb25e2116 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
@@ -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 749f560cf5..91ca53f4cb 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 44ba70a9cf..c1c66d8ea2 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 ed57c0b9b7..bd97278ddb 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 bb98fbd0c3..d464c64f05 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 fa16abc870..8b1f385f5f 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 7eb5cf5f13..4f408e0b27 100644
--- a/docs/dd/d12/mpd__writer_8cc_source.html
+++ b/docs/dd/d12/mpd__writer_8cc_source.html
@@ -217,11 +217,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
static void MakePathsRelativeToMpd(const std::string &mpd_path, MediaInfo *media_info)
-
+
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 35fe38b96a..d4f9db73b4 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 f420c9b13a..e2ccfafb4b 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 654b2bb713..d07417a250 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 45eca7f6d0..dbbcea626b 100644
--- a/docs/dd/d19/video__stream__info_8cc_source.html
+++ b/docs/dd/d19/video__stream__info_8cc_source.html
@@ -180,7 +180,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d30/wvm__media__parser_8cc_source.html b/docs/dd/d30/wvm__media__parser_8cc_source.html
index 9953cc5045..8709f6243d 100644
--- a/docs/dd/d30/wvm__media__parser_8cc_source.html
+++ b/docs/dd/d30/wvm__media__parser_8cc_source.html
@@ -180,1085 +180,1084 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
91 WvmMediaParser::WvmMediaParser()
92 : is_initialized_(false),
93 parse_state_(StartCode1),
-
-
- 96 metadata_is_complete_(false),
- 97 current_program_id_(0),
-
- 99 prev_pes_stream_id_(0),
- 100 pes_packet_bytes_(0),
-
-
- 103 prev_pes_flags_1_(0),
- 104 pes_header_data_bytes_(0),
-
-
-
- 108 index_program_id_(0),
-
- 110 crypto_unit_start_pos_(0),
-
- 112 decryption_key_source_(NULL) {
-
-
- 115 WvmMediaParser::~WvmMediaParser() {}
-
- 117 void WvmMediaParser::Init(
const InitCB& init_cb,
- 118 const NewSampleCB& new_sample_cb,
-
- 120 DCHECK(!is_initialized_);
- 121 DCHECK(!init_cb.is_null());
- 122 DCHECK(!new_sample_cb.is_null());
- 123 decryption_key_source_ = decryption_key_source;
-
- 125 new_sample_cb_ = new_sample_cb;
-
-
- 128 bool WvmMediaParser::Parse(
const uint8_t* buf,
int size) {
- 129 uint32_t num_bytes, prev_size;
- 130 num_bytes = prev_size = 0;
- 131 const uint8_t* read_ptr = buf;
- 132 const uint8_t* end = read_ptr + size;
-
- 134 while (read_ptr < end) {
- 135 switch (parse_state_) {
-
- 137 if (*read_ptr == kStartCode1) {
- 138 parse_state_ = StartCode2;
-
-
-
- 142 if (*read_ptr == kStartCode2) {
- 143 parse_state_ = StartCode3;
-
- 145 parse_state_ = StartCode1;
-
-
-
- 149 if (*read_ptr == kStartCode3) {
- 150 parse_state_ = StartCode4;
-
- 152 parse_state_ = StartCode1;
-
-
-
-
- 157 case kStartCode4Pack:
- 158 parse_state_ = PackHeader1;
-
- 160 case kStartCode4System:
- 161 parse_state_ = SystemHeader1;
-
- 163 case kStartCode4ProgramEnd:
- 164 parse_state_ = ProgramEnd;
-
-
- 167 parse_state_ = PesStreamId;
-
-
-
-
- 172 parse_state_ = PackHeader2;
-
-
- 175 parse_state_ = PackHeader3;
-
-
- 178 parse_state_ = PackHeader4;
-
-
- 181 parse_state_ = PackHeader5;
-
-
- 184 parse_state_ = PackHeader6;
-
-
- 187 parse_state_ = PackHeader7;
-
-
- 190 parse_state_ = PackHeader8;
-
-
- 193 parse_state_ = PackHeader9;
-
-
- 196 parse_state_ = PackHeader10;
-
-
- 199 skip_bytes_ = *read_ptr & 0x07;
- 200 parse_state_ = PackHeaderStuffingSkip;
-
-
- 203 skip_bytes_ = *read_ptr;
-
- 205 parse_state_ = SystemHeader2;
-
-
- 208 skip_bytes_ |= *read_ptr;
- 209 parse_state_ = SystemHeaderSkip;
-
- 211 case PackHeaderStuffingSkip:
- 212 if ((end - read_ptr) >= (int32_t)skip_bytes_) {
- 213 read_ptr += skip_bytes_;
-
- 215 parse_state_ = StartCode1;
-
- 217 skip_bytes_ -= (end - read_ptr);
-
-
-
- 221 case SystemHeaderSkip:
- 222 if ((end - read_ptr) >= (int32_t)skip_bytes_) {
- 223 read_ptr += skip_bytes_;
-
- 225 parse_state_ = StartCode1;
-
- 227 uint32_t remaining_size = end - read_ptr;
- 228 skip_bytes_ -= remaining_size;
-
-
-
-
- 233 pes_stream_id_ = *read_ptr;
- 234 if (!metadata_is_complete_ &&
- 235 (pes_stream_id_ != kPsmStreamId) &&
- 236 (pes_stream_id_ != kIndexStreamId) &&
- 237 (pes_stream_id_ != kEcmStreamId) &&
- 238 (pes_stream_id_ != kV2MetadataStreamId) &&
- 239 (pes_stream_id_ != kPaddingStreamId)) {
- 240 metadata_is_complete_ =
true;
-
- 242 parse_state_ = PesPacketLength1;
-
- 244 case PesPacketLength1:
- 245 pes_packet_bytes_ = *read_ptr;
- 246 pes_packet_bytes_ <<= 8;
- 247 parse_state_ = PesPacketLength2;
-
- 249 case PesPacketLength2:
- 250 pes_packet_bytes_ |= *read_ptr;
- 251 if (HAS_HEADER_EXTENSION(pes_stream_id_)) {
- 252 parse_state_ = PesExtension1;
-
- 254 pes_flags_1_ = pes_flags_2_ = 0;
- 255 pes_header_data_bytes_ = 0;
- 256 parse_state_ = PesPayload;
-
-
-
- 260 prev_pes_flags_1_ = pes_flags_1_;
- 261 pes_flags_1_ = *read_ptr;
-
- 263 parse_state_ = PesExtension2;
-
-
- 266 pes_flags_2_ = *read_ptr;
-
- 268 parse_state_ = PesExtension3;
-
-
- 271 pes_header_data_bytes_ = *read_ptr;
-
- 273 if (pes_flags_2_ & kPesOptPts) {
-
-
- 276 parse_state_ = PesHeaderData;
-
-
-
- 280 timestamp_ = (*read_ptr & 0x0E);
- 281 --pes_header_data_bytes_;
-
-
-
-
-
- 287 timestamp_ |= *read_ptr;
- 288 --pes_header_data_bytes_;
-
-
-
-
-
- 294 timestamp_ |= *read_ptr >> 1;
- 295 --pes_header_data_bytes_;
-
-
-
-
-
- 301 timestamp_ |= *read_ptr;
- 302 --pes_header_data_bytes_;
-
-
-
-
-
- 308 timestamp_ |= *read_ptr >> 1;
-
- 310 --pes_header_data_bytes_;
-
- 312 if (pes_flags_2_ & kPesOptDts) {
-
-
-
- 316 parse_state_ = PesHeaderData;
-
-
-
- 320 timestamp_ = (*read_ptr & 0x0E);
- 321 --pes_header_data_bytes_;
-
-
-
-
-
- 327 timestamp_ |= *read_ptr;
- 328 --pes_header_data_bytes_;
-
-
-
-
-
- 334 timestamp_ |= *read_ptr >> 1;
- 335 --pes_header_data_bytes_;
-
-
-
-
-
- 341 timestamp_ |= *read_ptr;
- 342 --pes_header_data_bytes_;
-
-
-
-
-
- 348 timestamp_ |= *read_ptr >> 1;
-
- 350 --pes_header_data_bytes_;
-
- 352 parse_state_ = PesHeaderData;
-
-
- 355 num_bytes = end - read_ptr;
- 356 if (num_bytes >= pes_header_data_bytes_) {
- 357 num_bytes = pes_header_data_bytes_;
- 358 parse_state_ = PesPayload;
-
- 360 pes_header_data_bytes_ -= num_bytes;
- 361 pes_packet_bytes_ -= num_bytes;
- 362 read_ptr += num_bytes;
-
-
- 365 switch (pes_stream_id_) {
-
-
- 368 parse_state_ = PsmPayload;
-
- 370 case kPaddingStreamId:
- 371 parse_state_ = Padding;
-
-
-
- 375 parse_state_ = EcmPayload;
-
-
- 378 parse_state_ = IndexPayload;
-
-
- 381 if (!DemuxNextPes(
false)) {
-
-
- 384 parse_state_ = EsPayload;
-
-
-
- 388 num_bytes = end - read_ptr;
- 389 if (num_bytes >= pes_packet_bytes_) {
- 390 num_bytes = pes_packet_bytes_;
- 391 parse_state_ = StartCode1;
-
-
- 394 pes_packet_bytes_ -= num_bytes;
- 395 prev_size = psm_data_.size();
- 396 psm_data_.resize(prev_size + num_bytes);
- 397 memcpy(&psm_data_[prev_size], read_ptr, num_bytes);
-
- 399 read_ptr += num_bytes;
-
-
- 402 num_bytes = end - read_ptr;
- 403 if (num_bytes >= pes_packet_bytes_) {
- 404 num_bytes = pes_packet_bytes_;
- 405 parse_state_ = StartCode1;
-
-
- 408 pes_packet_bytes_ -= num_bytes;
- 409 prev_size = ecm_.size();
- 410 ecm_.resize(prev_size + num_bytes);
- 411 memcpy(&ecm_[prev_size], read_ptr, num_bytes);
-
- 413 if ((pes_packet_bytes_ == 0) && !ecm_.empty()) {
-
-
-
-
- 418 read_ptr += num_bytes;
-
-
- 421 num_bytes = end - read_ptr;
- 422 if (num_bytes >= pes_packet_bytes_) {
- 423 num_bytes = pes_packet_bytes_;
- 424 parse_state_ = StartCode1;
-
-
- 427 pes_packet_bytes_ -= num_bytes;
- 428 prev_size = index_data_.size();
- 429 index_data_.resize(prev_size + num_bytes);
- 430 memcpy(&index_data_[prev_size], read_ptr, num_bytes);
-
- 432 if (pes_packet_bytes_ == 0 && !index_data_.empty()) {
- 433 if (!metadata_is_complete_) {
- 434 if (!ParseIndexEntry()) {
-
-
-
-
- 439 read_ptr += num_bytes;
-
-
- 442 num_bytes = end - read_ptr;
- 443 if (num_bytes >= pes_packet_bytes_) {
- 444 num_bytes = pes_packet_bytes_;
- 445 parse_state_ = StartCode1;
-
- 447 pes_packet_bytes_ -= num_bytes;
- 448 if (pes_stream_id_ != kV2MetadataStreamId) {
- 449 sample_data_.resize(sample_data_.size() + num_bytes);
- 450 memcpy(&sample_data_[sample_data_.size() - num_bytes], read_ptr,
-
-
- 453 prev_pes_stream_id_ = pes_stream_id_;
- 454 read_ptr += num_bytes;
-
-
- 457 num_bytes = end - read_ptr;
- 458 if (num_bytes >= pes_packet_bytes_) {
- 459 num_bytes = pes_packet_bytes_;
- 460 parse_state_ = StartCode1;
-
- 462 pes_packet_bytes_ -= num_bytes;
- 463 read_ptr += num_bytes;
-
-
- 466 parse_state_ = StartCode1;
- 467 metadata_is_complete_ =
true;
- 468 if (!DemuxNextPes(
true)) {
-
-
-
-
-
-
-
- 476 parse_state_ = StartCode1;
- 477 prev_media_sample_data_.Reset();
- 478 current_program_id_++;
-
-
-
-
-
-
-
-
-
-
-
-
- 491 bool WvmMediaParser::EmitLastSample(uint32_t stream_id,
- 492 scoped_refptr<MediaSample>& new_sample) {
- 493 std::string key = base::UintToString(current_program_id_)
-
- 495 .append(base::UintToString(stream_id));
- 496 std::map<std::string, uint32_t>::iterator it =
- 497 program_demux_stream_map_.find(key);
- 498 if (it == program_demux_stream_map_.end())
-
- 500 return EmitSample(stream_id, (*it).second, new_sample,
true);
-
-
- 503 bool WvmMediaParser::EmitPendingSamples() {
-
- 505 while (!media_sample_queue_.empty()) {
- 506 DemuxStreamIdMediaSample& demux_stream_media_sample =
- 507 media_sample_queue_.front();
- 508 if (!EmitSample(demux_stream_media_sample.parsed_audio_or_video_stream_id,
- 509 demux_stream_media_sample.demux_stream_id,
- 510 demux_stream_media_sample.media_sample,
-
-
-
- 514 media_sample_queue_.pop_front();
-
-
-
-
- 519 bool WvmMediaParser::Flush() {
-
-
- 522 if (prev_media_sample_data_.audio_sample != NULL) {
- 523 if (!EmitLastSample(prev_pes_stream_id_,
- 524 prev_media_sample_data_.audio_sample)) {
- 525 LOG(ERROR) <<
"Did not emit last sample for audio stream with ID = "
- 526 << prev_pes_stream_id_;
-
-
-
- 530 if (prev_media_sample_data_.video_sample != NULL) {
- 531 if (!EmitLastSample(prev_pes_stream_id_,
- 532 prev_media_sample_data_.video_sample)) {
- 533 LOG(ERROR) <<
"Did not emit last sample for video stream with ID = "
- 534 << prev_pes_stream_id_;
-
-
-
-
-
-
- 541 bool WvmMediaParser::ParseIndexEntry() {
-
-
- 544 if (current_program_id_ > 0) {
-
-
- 547 uint32_t index_size = 0;
- 548 if (index_data_.size() < kIndexVersion4HeaderSize) {
-
-
-
- 552 const uint8_t* read_ptr = index_data_.data();
- 553 if (ntohlFromBuffer(read_ptr) != kIndexMagic) {
-
-
-
-
-
- 559 uint32_t version = ntohlFromBuffer(read_ptr);
-
- 561 if (version == kVersion4) {
- 562 index_size = kIndexVersion4HeaderSize + ntohlFromBuffer(read_ptr);
- 563 if (index_data_.size() < index_size) {
-
-
-
- 567 read_ptr +=
sizeof(uint32_t);
-
-
- 570 uint32_t index_metadata_max_size = index_size - kIndexVersion4HeaderSize;
- 571 if (index_metadata_max_size <
sizeof(uint8_t)) {
-
-
-
-
- 576 uint64_t track_duration = 0;
- 577 int16_t trick_play_rate = 0;
- 578 uint32_t sampling_frequency = kDefaultSamplingFrequency;
- 579 uint32_t time_scale = kMpeg2ClockRate;
- 580 uint16_t video_width = 0;
- 581 uint16_t video_height = 0;
- 582 uint32_t pixel_width = 0;
- 583 uint32_t pixel_height = 0;
- 584 uint8_t nalu_length_size = kNaluLengthSize;
- 585 uint8_t num_channels = 0;
- 586 int audio_pes_stream_id = 0;
- 587 int video_pes_stream_id = 0;
- 588 bool has_video =
false;
- 589 bool has_audio =
false;
- 590 std::vector<uint8_t> audio_codec_config;
- 591 std::vector<uint8_t> video_codec_config;
- 592 uint8_t num_index_entries = *read_ptr;
-
- 594 --index_metadata_max_size;
-
- 596 for (uint8_t idx = 0; idx < num_index_entries; ++idx) {
- 597 if (index_metadata_max_size < (2 *
sizeof(uint8_t)) +
sizeof(uint32_t)) {
-
-
- 600 uint8_t tag = *read_ptr;
-
- 602 uint8_t type = *read_ptr;
-
- 604 uint32_t length = ntohlFromBuffer(read_ptr);
- 605 read_ptr +=
sizeof(uint32_t);
- 606 index_metadata_max_size -= (2 *
sizeof(uint8_t)) +
sizeof(uint32_t);
- 607 if (index_metadata_max_size < length) {
-
-
-
-
- 612 std::vector<uint8_t> binary_data;
- 613 switch (Type(type)) {
-
- 615 if (length ==
sizeof(uint8_t)) {
- 616 tagtype = GetTag(tag, length, read_ptr, &value);
-
-
-
-
-
- 622 if (length ==
sizeof(int8_t)) {
- 623 tagtype = GetTag(tag, length, read_ptr, &value);
-
-
-
-
-
- 629 if (length ==
sizeof(uint16_t)) {
- 630 tagtype = GetTag(tag, length, read_ptr, &value);
-
-
-
-
-
- 636 if (length ==
sizeof(int16_t)) {
- 637 tagtype = GetTag(tag, length, read_ptr, &value);
-
-
-
-
-
- 643 if (length ==
sizeof(uint32_t)) {
- 644 tagtype = GetTag(tag, length, read_ptr, &value);
-
-
-
-
-
- 650 if (length ==
sizeof(int32_t)) {
- 651 tagtype = GetTag(tag, length, read_ptr, &value);
-
-
-
-
-
- 657 if (length ==
sizeof(uint64_t)) {
- 658 tagtype = GetTag(tag, length, read_ptr, &value);
-
-
-
-
-
- 664 if (length ==
sizeof(int64_t)) {
- 665 tagtype = GetTag(tag, length, read_ptr, &value);
-
-
-
-
-
- 671 case Type_BinaryData:
- 672 binary_data.assign(read_ptr, read_ptr + length);
-
-
-
-
-
-
-
-
- 681 track_duration = value;
-
- 683 case TrackTrickPlayRate:
- 684 trick_play_rate = value;
-
-
- 687 video_pes_stream_id = value;
-
-
- 690 audio_pes_stream_id = value;
-
-
- 693 video_width = (uint16_t)value;
-
-
- 696 video_height = (uint16_t)value;
-
- 698 case AudioNumChannels:
- 699 num_channels = (uint8_t)value;
-
-
-
-
-
-
-
- 707 case VideoPixelWidth:
- 708 pixel_width =
static_cast<uint32_t
>(value);
-
- 710 case VideoPixelHeight:
- 711 pixel_height =
static_cast<uint32_t
>(value);
-
- 713 case Audio_EsDescriptor: {
- 714 ESDescriptor descriptor;
- 715 if (!descriptor.Parse(binary_data)) {
-
- 717 "Could not extract AudioSpecificConfig from ES_Descriptor";
-
-
- 720 audio_codec_config = descriptor.decoder_specific_info();
-
-
- 723 case Audio_EC3SpecificData:
- 724 case Audio_DtsSpecificData:
- 725 case Audio_AC3SpecificData:
- 726 LOG(ERROR) <<
"Audio type not supported.";
-
- 728 case Video_AVCDecoderConfigurationRecord:
- 729 video_codec_config = binary_data;
-
-
-
-
-
-
- 736 index_metadata_max_size -= length;
-
-
- 739 index_size = read_ptr - index_data_.data();
-
-
- 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(), 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_) +
":" +
-
-
- 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 std::unique_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_ = std::move(content_decryptor);
-
-
-
- 1149 DemuxStreamIdMediaSample::DemuxStreamIdMediaSample() :
-
- 1151 parsed_audio_or_video_stream_id(0) {}
-
- 1153 DemuxStreamIdMediaSample::~DemuxStreamIdMediaSample() {}
-
- 1155 PrevSampleData::PrevSampleData() {
-
-
-
- 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;
-
-
-
-
-
+
+ 95 metadata_is_complete_(false),
+ 96 current_program_id_(0),
+
+ 98 prev_pes_stream_id_(0),
+
+
+
+ 102 prev_pes_flags_1_(0),
+ 103 pes_header_data_bytes_(0),
+
+
+
+ 107 index_program_id_(0),
+
+ 109 crypto_unit_start_pos_(0),
+
+ 111 decryption_key_source_(NULL) {
+
+
+ 114 WvmMediaParser::~WvmMediaParser() {}
+
+ 116 void WvmMediaParser::Init(
const InitCB& init_cb,
+ 117 const NewSampleCB& new_sample_cb,
+
+ 119 DCHECK(!is_initialized_);
+ 120 DCHECK(!init_cb.is_null());
+ 121 DCHECK(!new_sample_cb.is_null());
+ 122 decryption_key_source_ = decryption_key_source;
+
+ 124 new_sample_cb_ = new_sample_cb;
+
+
+ 127 bool WvmMediaParser::Parse(
const uint8_t* buf,
int size) {
+ 128 uint32_t num_bytes, prev_size;
+ 129 num_bytes = prev_size = 0;
+ 130 const uint8_t* read_ptr = buf;
+ 131 const uint8_t* end = read_ptr + size;
+
+ 133 while (read_ptr < end) {
+ 134 switch (parse_state_) {
+
+ 136 if (*read_ptr == kStartCode1) {
+ 137 parse_state_ = StartCode2;
+
+
+
+ 141 if (*read_ptr == kStartCode2) {
+ 142 parse_state_ = StartCode3;
+
+ 144 parse_state_ = StartCode1;
+
+
+
+ 148 if (*read_ptr == kStartCode3) {
+ 149 parse_state_ = StartCode4;
+
+ 151 parse_state_ = StartCode1;
+
+
+
+
+ 156 case kStartCode4Pack:
+ 157 parse_state_ = PackHeader1;
+
+ 159 case kStartCode4System:
+ 160 parse_state_ = SystemHeader1;
+
+ 162 case kStartCode4ProgramEnd:
+ 163 parse_state_ = ProgramEnd;
+
+
+ 166 parse_state_ = PesStreamId;
+
+
+
+
+ 171 parse_state_ = PackHeader2;
+
+
+ 174 parse_state_ = PackHeader3;
+
+
+ 177 parse_state_ = PackHeader4;
+
+
+ 180 parse_state_ = PackHeader5;
+
+
+ 183 parse_state_ = PackHeader6;
+
+
+ 186 parse_state_ = PackHeader7;
+
+
+ 189 parse_state_ = PackHeader8;
+
+
+ 192 parse_state_ = PackHeader9;
+
+
+ 195 parse_state_ = PackHeader10;
+
+
+ 198 skip_bytes_ = *read_ptr & 0x07;
+ 199 parse_state_ = PackHeaderStuffingSkip;
+
+
+ 202 skip_bytes_ = *read_ptr;
+
+ 204 parse_state_ = SystemHeader2;
+
+
+ 207 skip_bytes_ |= *read_ptr;
+ 208 parse_state_ = SystemHeaderSkip;
+
+ 210 case PackHeaderStuffingSkip:
+ 211 if ((end - read_ptr) >= (int32_t)skip_bytes_) {
+ 212 read_ptr += skip_bytes_;
+
+ 214 parse_state_ = StartCode1;
+
+ 216 skip_bytes_ -= (end - read_ptr);
+
+
+
+ 220 case SystemHeaderSkip:
+ 221 if ((end - read_ptr) >= (int32_t)skip_bytes_) {
+ 222 read_ptr += skip_bytes_;
+
+ 224 parse_state_ = StartCode1;
+
+ 226 uint32_t remaining_size = end - read_ptr;
+ 227 skip_bytes_ -= remaining_size;
+
+
+
+
+ 232 pes_stream_id_ = *read_ptr;
+ 233 if (!metadata_is_complete_ &&
+ 234 (pes_stream_id_ != kPsmStreamId) &&
+ 235 (pes_stream_id_ != kIndexStreamId) &&
+ 236 (pes_stream_id_ != kEcmStreamId) &&
+ 237 (pes_stream_id_ != kV2MetadataStreamId) &&
+ 238 (pes_stream_id_ != kPaddingStreamId)) {
+ 239 metadata_is_complete_ =
true;
+
+ 241 parse_state_ = PesPacketLength1;
+
+ 243 case PesPacketLength1:
+ 244 pes_packet_bytes_ = *read_ptr;
+ 245 pes_packet_bytes_ <<= 8;
+ 246 parse_state_ = PesPacketLength2;
+
+ 248 case PesPacketLength2:
+ 249 pes_packet_bytes_ |= *read_ptr;
+ 250 if (HAS_HEADER_EXTENSION(pes_stream_id_)) {
+ 251 parse_state_ = PesExtension1;
+
+ 253 pes_flags_1_ = pes_flags_2_ = 0;
+ 254 pes_header_data_bytes_ = 0;
+ 255 parse_state_ = PesPayload;
+
+
+
+ 259 prev_pes_flags_1_ = pes_flags_1_;
+ 260 pes_flags_1_ = *read_ptr;
+
+ 262 parse_state_ = PesExtension2;
+
+
+ 265 pes_flags_2_ = *read_ptr;
+
+ 267 parse_state_ = PesExtension3;
+
+
+ 270 pes_header_data_bytes_ = *read_ptr;
+
+ 272 if (pes_flags_2_ & kPesOptPts) {
+
+
+ 275 parse_state_ = PesHeaderData;
+
+
+
+ 279 timestamp_ = (*read_ptr & 0x0E);
+ 280 --pes_header_data_bytes_;
+
+
+
+
+
+ 286 timestamp_ |= *read_ptr;
+ 287 --pes_header_data_bytes_;
+
+
+
+
+
+ 293 timestamp_ |= *read_ptr >> 1;
+ 294 --pes_header_data_bytes_;
+
+
+
+
+
+ 300 timestamp_ |= *read_ptr;
+ 301 --pes_header_data_bytes_;
+
+
+
+
+
+ 307 timestamp_ |= *read_ptr >> 1;
+
+ 309 --pes_header_data_bytes_;
+
+ 311 if (pes_flags_2_ & kPesOptDts) {
+
+
+
+ 315 parse_state_ = PesHeaderData;
+
+
+
+ 319 timestamp_ = (*read_ptr & 0x0E);
+ 320 --pes_header_data_bytes_;
+
+
+
+
+
+ 326 timestamp_ |= *read_ptr;
+ 327 --pes_header_data_bytes_;
+
+
+
+
+
+ 333 timestamp_ |= *read_ptr >> 1;
+ 334 --pes_header_data_bytes_;
+
+
+
+
+
+ 340 timestamp_ |= *read_ptr;
+ 341 --pes_header_data_bytes_;
+
+
+
+
+
+ 347 timestamp_ |= *read_ptr >> 1;
+
+ 349 --pes_header_data_bytes_;
+
+ 351 parse_state_ = PesHeaderData;
+
+
+ 354 num_bytes = end - read_ptr;
+ 355 if (num_bytes >= pes_header_data_bytes_) {
+ 356 num_bytes = pes_header_data_bytes_;
+ 357 parse_state_ = PesPayload;
+
+ 359 pes_header_data_bytes_ -= num_bytes;
+ 360 pes_packet_bytes_ -= num_bytes;
+ 361 read_ptr += num_bytes;
+
+
+ 364 switch (pes_stream_id_) {
+
+
+ 367 parse_state_ = PsmPayload;
+
+ 369 case kPaddingStreamId:
+ 370 parse_state_ = Padding;
+
+
+
+ 374 parse_state_ = EcmPayload;
+
+
+ 377 parse_state_ = IndexPayload;
+
+
+ 380 if (!DemuxNextPes(
false)) {
+
+
+ 383 parse_state_ = EsPayload;
+
+
+
+ 387 num_bytes = end - read_ptr;
+ 388 if (num_bytes >= pes_packet_bytes_) {
+ 389 num_bytes = pes_packet_bytes_;
+ 390 parse_state_ = StartCode1;
+
+
+ 393 pes_packet_bytes_ -= num_bytes;
+ 394 prev_size = psm_data_.size();
+ 395 psm_data_.resize(prev_size + num_bytes);
+ 396 memcpy(&psm_data_[prev_size], read_ptr, num_bytes);
+
+ 398 read_ptr += num_bytes;
+
+
+ 401 num_bytes = end - read_ptr;
+ 402 if (num_bytes >= pes_packet_bytes_) {
+ 403 num_bytes = pes_packet_bytes_;
+ 404 parse_state_ = StartCode1;
+
+
+ 407 pes_packet_bytes_ -= num_bytes;
+ 408 prev_size = ecm_.size();
+ 409 ecm_.resize(prev_size + num_bytes);
+ 410 memcpy(&ecm_[prev_size], read_ptr, num_bytes);
+
+ 412 if ((pes_packet_bytes_ == 0) && !ecm_.empty()) {
+
+
+
+
+ 417 read_ptr += num_bytes;
+
+
+ 420 num_bytes = end - read_ptr;
+ 421 if (num_bytes >= pes_packet_bytes_) {
+ 422 num_bytes = pes_packet_bytes_;
+ 423 parse_state_ = StartCode1;
+
+
+ 426 pes_packet_bytes_ -= num_bytes;
+ 427 prev_size = index_data_.size();
+ 428 index_data_.resize(prev_size + num_bytes);
+ 429 memcpy(&index_data_[prev_size], read_ptr, num_bytes);
+
+ 431 if (pes_packet_bytes_ == 0 && !index_data_.empty()) {
+ 432 if (!metadata_is_complete_) {
+ 433 if (!ParseIndexEntry()) {
+
+
+
+
+ 438 read_ptr += num_bytes;
+
+
+ 441 num_bytes = end - read_ptr;
+ 442 if (num_bytes >= pes_packet_bytes_) {
+ 443 num_bytes = pes_packet_bytes_;
+ 444 parse_state_ = StartCode1;
+
+ 446 pes_packet_bytes_ -= num_bytes;
+ 447 if (pes_stream_id_ != kV2MetadataStreamId) {
+ 448 sample_data_.resize(sample_data_.size() + num_bytes);
+ 449 memcpy(&sample_data_[sample_data_.size() - num_bytes], read_ptr,
+
+
+ 452 prev_pes_stream_id_ = pes_stream_id_;
+ 453 read_ptr += num_bytes;
+
+
+ 456 num_bytes = end - read_ptr;
+ 457 if (num_bytes >= pes_packet_bytes_) {
+ 458 num_bytes = pes_packet_bytes_;
+ 459 parse_state_ = StartCode1;
+
+ 461 pes_packet_bytes_ -= num_bytes;
+ 462 read_ptr += num_bytes;
+
+
+ 465 parse_state_ = StartCode1;
+ 466 metadata_is_complete_ =
true;
+ 467 if (!DemuxNextPes(
true)) {
+
+
+
+
+
+
+
+ 475 parse_state_ = StartCode1;
+ 476 prev_media_sample_data_.Reset();
+ 477 current_program_id_++;
+
+
+
+
+
+
+
+
+
+
+
+
+ 490 bool WvmMediaParser::EmitLastSample(uint32_t stream_id,
+ 491 scoped_refptr<MediaSample>& new_sample) {
+ 492 std::string key = base::UintToString(current_program_id_)
+
+ 494 .append(base::UintToString(stream_id));
+ 495 std::map<std::string, uint32_t>::iterator it =
+ 496 program_demux_stream_map_.find(key);
+ 497 if (it == program_demux_stream_map_.end())
+
+ 499 return EmitSample(stream_id, (*it).second, new_sample,
true);
+
+
+ 502 bool WvmMediaParser::EmitPendingSamples() {
+
+ 504 while (!media_sample_queue_.empty()) {
+ 505 DemuxStreamIdMediaSample& demux_stream_media_sample =
+ 506 media_sample_queue_.front();
+ 507 if (!EmitSample(demux_stream_media_sample.parsed_audio_or_video_stream_id,
+ 508 demux_stream_media_sample.demux_stream_id,
+ 509 demux_stream_media_sample.media_sample,
+
+
+
+ 513 media_sample_queue_.pop_front();
+
+
+
+
+ 518 bool WvmMediaParser::Flush() {
+
+
+ 521 if (prev_media_sample_data_.audio_sample != NULL) {
+ 522 if (!EmitLastSample(prev_pes_stream_id_,
+ 523 prev_media_sample_data_.audio_sample)) {
+ 524 LOG(ERROR) <<
"Did not emit last sample for audio stream with ID = "
+ 525 << prev_pes_stream_id_;
+
+
+
+ 529 if (prev_media_sample_data_.video_sample != NULL) {
+ 530 if (!EmitLastSample(prev_pes_stream_id_,
+ 531 prev_media_sample_data_.video_sample)) {
+ 532 LOG(ERROR) <<
"Did not emit last sample for video stream with ID = "
+ 533 << prev_pes_stream_id_;
+
+
+
+
+
+
+ 540 bool WvmMediaParser::ParseIndexEntry() {
+
+
+ 543 if (current_program_id_ > 0) {
+
+
+ 546 uint32_t index_size = 0;
+ 547 if (index_data_.size() < kIndexVersion4HeaderSize) {
+
+
+
+ 551 const uint8_t* read_ptr = index_data_.data();
+ 552 if (ntohlFromBuffer(read_ptr) != kIndexMagic) {
+
+
+
+
+
+ 558 uint32_t version = ntohlFromBuffer(read_ptr);
+
+ 560 if (version == kVersion4) {
+ 561 index_size = kIndexVersion4HeaderSize + ntohlFromBuffer(read_ptr);
+ 562 if (index_data_.size() < index_size) {
+
+
+
+ 566 read_ptr +=
sizeof(uint32_t);
+
+
+ 569 uint32_t index_metadata_max_size = index_size - kIndexVersion4HeaderSize;
+ 570 if (index_metadata_max_size <
sizeof(uint8_t)) {
+
+
+
+
+ 575 uint64_t track_duration = 0;
+ 576 int16_t trick_play_rate = 0;
+ 577 uint32_t sampling_frequency = kDefaultSamplingFrequency;
+ 578 uint32_t time_scale = kMpeg2ClockRate;
+ 579 uint16_t video_width = 0;
+ 580 uint16_t video_height = 0;
+ 581 uint32_t pixel_width = 0;
+ 582 uint32_t pixel_height = 0;
+ 583 uint8_t nalu_length_size = kNaluLengthSize;
+ 584 uint8_t num_channels = 0;
+ 585 int audio_pes_stream_id = 0;
+ 586 int video_pes_stream_id = 0;
+ 587 bool has_video =
false;
+ 588 bool has_audio =
false;
+ 589 std::vector<uint8_t> audio_codec_config;
+ 590 std::vector<uint8_t> video_codec_config;
+ 591 uint8_t num_index_entries = *read_ptr;
+
+ 593 --index_metadata_max_size;
+
+ 595 for (uint8_t idx = 0; idx < num_index_entries; ++idx) {
+ 596 if (index_metadata_max_size < (2 *
sizeof(uint8_t)) +
sizeof(uint32_t)) {
+
+
+ 599 uint8_t tag = *read_ptr;
+
+ 601 uint8_t type = *read_ptr;
+
+ 603 uint32_t length = ntohlFromBuffer(read_ptr);
+ 604 read_ptr +=
sizeof(uint32_t);
+ 605 index_metadata_max_size -= (2 *
sizeof(uint8_t)) +
sizeof(uint32_t);
+ 606 if (index_metadata_max_size < length) {
+
+
+
+
+ 611 std::vector<uint8_t> binary_data;
+ 612 switch (Type(type)) {
+
+ 614 if (length ==
sizeof(uint8_t)) {
+ 615 tagtype = GetTag(tag, length, read_ptr, &value);
+
+
+
+
+
+ 621 if (length ==
sizeof(int8_t)) {
+ 622 tagtype = GetTag(tag, length, read_ptr, &value);
+
+
+
+
+
+ 628 if (length ==
sizeof(uint16_t)) {
+ 629 tagtype = GetTag(tag, length, read_ptr, &value);
+
+
+
+
+
+ 635 if (length ==
sizeof(int16_t)) {
+ 636 tagtype = GetTag(tag, length, read_ptr, &value);
+
+
+
+
+
+ 642 if (length ==
sizeof(uint32_t)) {
+ 643 tagtype = GetTag(tag, length, read_ptr, &value);
+
+
+
+
+
+ 649 if (length ==
sizeof(int32_t)) {
+ 650 tagtype = GetTag(tag, length, read_ptr, &value);
+
+
+
+
+
+ 656 if (length ==
sizeof(uint64_t)) {
+ 657 tagtype = GetTag(tag, length, read_ptr, &value);
+
+
+
+
+
+ 663 if (length ==
sizeof(int64_t)) {
+ 664 tagtype = GetTag(tag, length, read_ptr, &value);
+
+
+
+
+
+ 670 case Type_BinaryData:
+ 671 binary_data.assign(read_ptr, read_ptr + length);
+
+
+
+
+
+
+
+
+ 680 track_duration = value;
+
+ 682 case TrackTrickPlayRate:
+ 683 trick_play_rate = value;
+
+
+ 686 video_pes_stream_id = value;
+
+
+ 689 audio_pes_stream_id = value;
+
+
+ 692 video_width = (uint16_t)value;
+
+
+ 695 video_height = (uint16_t)value;
+
+ 697 case AudioNumChannels:
+ 698 num_channels = (uint8_t)value;
+
+
+
+
+
+
+
+ 706 case VideoPixelWidth:
+ 707 pixel_width =
static_cast<uint32_t
>(value);
+
+ 709 case VideoPixelHeight:
+ 710 pixel_height =
static_cast<uint32_t
>(value);
+
+ 712 case Audio_EsDescriptor: {
+ 713 ESDescriptor descriptor;
+ 714 if (!descriptor.Parse(binary_data)) {
+
+ 716 "Could not extract AudioSpecificConfig from ES_Descriptor";
+
+
+ 719 audio_codec_config = descriptor.decoder_specific_info();
+
+
+ 722 case Audio_EC3SpecificData:
+ 723 case Audio_DtsSpecificData:
+ 724 case Audio_AC3SpecificData:
+ 725 LOG(ERROR) <<
"Audio type not supported.";
+
+ 727 case Video_AVCDecoderConfigurationRecord:
+ 728 video_codec_config = binary_data;
+
+
+
+
+
+
+ 735 index_metadata_max_size -= length;
+
+
+ 738 index_size = read_ptr - index_data_.data();
+
+
+ 741 Codec video_codec = kCodecH264;
+ 742 stream_infos_.push_back(
new VideoStreamInfo(
+ 743 stream_id_count_, time_scale, track_duration, video_codec,
+ 744 std::string(), video_codec_config.data(), video_codec_config.size(),
+ 745 video_width, video_height, pixel_width, pixel_height, trick_play_rate,
+ 746 nalu_length_size, std::string(),
true));
+ 747 program_demux_stream_map_[base::UintToString(index_program_id_) +
":" +
+
+
+ 750 ? video_pes_stream_id
+ 751 : kDefaultVideoStreamId)] =
+
+
+
+ 755 const Codec audio_codec = kCodecAAC;
+
+ 757 stream_infos_.push_back(
new AudioStreamInfo(
+ 758 stream_id_count_, time_scale, track_duration, audio_codec,
+ 759 std::string(), audio_codec_config.data(), audio_codec_config.size(),
+ 760 kAacSampleSizeBits, num_channels, sampling_frequency,
+
+ 762 0 , std::string(),
true));
+ 763 program_demux_stream_map_[base::UintToString(index_program_id_) +
":" +
+
+
+ 766 ? audio_pes_stream_id
+ 767 : kDefaultAudioStreamId)] =
+
+
+
+
+
+
+
+
+
+ 777 bool WvmMediaParser::DemuxNextPes(
bool is_program_end) {
+ 778 bool output_encrypted_sample =
false;
+ 779 if (!sample_data_.empty() && (prev_pes_flags_1_ & kScramblingBitsMask)) {
+
+ 781 if (!content_decryptor_) {
+ 782 output_encrypted_sample =
true;
+
+ 784 content_decryptor_->Crypt(&sample_data_[crypto_unit_start_pos_],
+ 785 sample_data_.size() - crypto_unit_start_pos_,
+ 786 &sample_data_[crypto_unit_start_pos_]);
+
+
+
+
+ 791 if ((pes_flags_2_ & kPesOptPts) || is_program_end) {
+ 792 if (!sample_data_.empty()) {
+ 793 if (!Output(output_encrypted_sample)) {
+
+
+
+ 797 StartMediaSampleDemux();
+
+
+ 800 crypto_unit_start_pos_ = sample_data_.size();
+
+
+
+ 804 void WvmMediaParser::StartMediaSampleDemux() {
+ 805 bool is_key_frame = ((pes_flags_1_ & kPesOptAlign) != 0);
+
+ 807 media_sample_->set_dts(dts_);
+ 808 media_sample_->set_pts(pts_);
+ 809 media_sample_->set_is_key_frame(is_key_frame);
+
+ 811 sample_data_.clear();
+
+
+ 814 bool WvmMediaParser::Output(
bool output_encrypted_sample) {
+ 815 if (output_encrypted_sample) {
+ 816 media_sample_->set_data(sample_data_.data(), sample_data_.size());
+ 817 media_sample_->set_is_encrypted(
true);
+
+ 819 if ((prev_pes_stream_id_ & kPesStreamIdVideoMask) == kPesStreamIdVideo) {
+
+ 821 std::vector<uint8_t> nal_unit_stream;
+ 822 if (!byte_to_unit_stream_converter_.ConvertByteStreamToNalUnitStream(
+ 823 sample_data_.data(), sample_data_.size(), &nal_unit_stream)) {
+ 824 LOG(ERROR) <<
"Could not convert h.264 byte stream sample";
+
+
+ 827 media_sample_->set_data(nal_unit_stream.data(), nal_unit_stream.size());
+ 828 if (!is_initialized_) {
+
+
+ 831 std::vector<uint8_t> decoder_config_record;
+ 832 byte_to_unit_stream_converter_.GetDecoderConfigurationRecord(
+ 833 &decoder_config_record);
+ 834 for (uint32_t i = 0; i < stream_infos_.size(); i++) {
+ 835 if (stream_infos_[i]->stream_type() == kStreamVideo &&
+ 836 stream_infos_[i]->codec_string().empty()) {
+ 837 const std::vector<uint8_t>* stream_config;
+ 838 if (stream_infos_[i]->codec_config().empty()) {
+
+
+ 841 stream_infos_[i]->set_codec_config(decoder_config_record);
+ 842 stream_config = &decoder_config_record;
+
+
+ 845 stream_config = &stream_infos_[i]->codec_config();
+
+ 847 DCHECK(stream_config);
+
+ 849 VideoStreamInfo* video_stream_info =
+ 850 reinterpret_cast<VideoStreamInfo*
>(stream_infos_[i].get());
+ 851 AVCDecoderConfigurationRecord avc_config;
+ 852 if (!avc_config.Parse(*stream_config)) {
+ 853 LOG(WARNING) <<
"Failed to parse AVCDecoderConfigurationRecord. "
+ 854 "Using computed configuration record instead.";
+ 855 video_stream_info->set_codec_config(decoder_config_record);
+ 856 if (!avc_config.Parse(decoder_config_record)) {
+ 857 LOG(ERROR) <<
"Failed to parse AVCDecoderConfigurationRecord.";
+
+
+
+ 861 video_stream_info->set_codec_string(avc_config.GetCodecString());
+
+ 863 if (avc_config.pixel_width() != video_stream_info->pixel_width() ||
+ 864 avc_config.pixel_height() !=
+ 865 video_stream_info->pixel_height()) {
+ 866 LOG_IF(WARNING, video_stream_info->pixel_width() != 0 ||
+ 867 video_stream_info->pixel_height() != 0)
+ 868 <<
"Pixel aspect ratio in WVM metadata ("
+ 869 << video_stream_info->pixel_width() <<
","
+ 870 << video_stream_info->pixel_height()
+ 871 <<
") does not match with SAR in "
+ 872 "AVCDecoderConfigurationRecord ("
+ 873 << avc_config.pixel_width() <<
","
+ 874 << avc_config.pixel_height()
+ 875 <<
"). Use AVCDecoderConfigurationRecord.";
+ 876 video_stream_info->set_pixel_width(avc_config.pixel_width());
+ 877 video_stream_info->set_pixel_height(avc_config.pixel_height());
+
+ 879 if (avc_config.coded_width() != video_stream_info->width() ||
+ 880 avc_config.coded_height() != video_stream_info->height()) {
+ 881 LOG(WARNING) <<
"Resolution in WVM metadata ("
+ 882 << video_stream_info->width() <<
","
+ 883 << video_stream_info->height()
+ 884 <<
") does not match with resolution in "
+ 885 "AVCDecoderConfigurationRecord ("
+ 886 << avc_config.coded_width() <<
","
+ 887 << avc_config.coded_height()
+ 888 <<
"). Use AVCDecoderConfigurationRecord.";
+ 889 video_stream_info->set_width(avc_config.coded_width());
+ 890 video_stream_info->set_height(avc_config.coded_height());
+
+
+
+
+ 895 }
else if ((prev_pes_stream_id_ & kPesStreamIdAudioMask) ==
+
+
+
+
+ 900 mp2t::AdtsHeader adts_header;
+ 901 const uint8_t* frame_ptr = sample_data_.data();
+ 902 if (!adts_header.Parse(frame_ptr, frame_size)) {
+ 903 LOG(ERROR) <<
"Could not parse ADTS header";
+
+
+ 906 size_t header_size = adts_header.GetAdtsHeaderSize(frame_ptr,
+
+ 908 media_sample_->set_data(frame_ptr + header_size,
+ 909 frame_size - header_size);
+ 910 if (!is_initialized_) {
+ 911 for (uint32_t i = 0; i < stream_infos_.size(); i++) {
+ 912 if (stream_infos_[i]->stream_type() == kStreamAudio &&
+ 913 stream_infos_[i]->codec_string().empty()) {
+ 914 AudioStreamInfo* audio_stream_info =
+ 915 reinterpret_cast<AudioStreamInfo*
>(stream_infos_[i].get());
+ 916 if (audio_stream_info->codec_config().empty()) {
+
+
+ 919 audio_stream_info->set_sampling_frequency(
+ 920 adts_header.GetSamplingFrequency());
+ 921 std::vector<uint8_t> audio_specific_config;
+ 922 if (!adts_header.GetAudioSpecificConfig(&audio_specific_config)) {
+ 923 LOG(ERROR) <<
"Could not compute AACaudiospecificconfig";
+
+
+ 926 audio_stream_info->set_codec_config(audio_specific_config);
+ 927 audio_stream_info->set_codec_string(
+
+ 929 kCodecAAC, adts_header.GetObjectType()));
+
+
+
+ 933 AACAudioSpecificConfig aac_config;
+ 934 if (!aac_config.Parse(stream_infos_[i]->codec_config())) {
+ 935 LOG(ERROR) <<
"Could not parse AACAudioSpecificconfig";
+
+
+ 938 audio_stream_info->set_sampling_frequency(aac_config.frequency());
+ 939 audio_stream_info->set_codec_string(
+
+ 941 kCodecAAC, aac_config.audio_object_type()));
+
+
+
+
+
+
+
+ 949 if (!is_initialized_) {
+ 950 bool all_streams_have_config =
true;
+
+ 952 for (uint32_t i = 0; i < stream_infos_.size(); i++) {
+ 953 if (stream_infos_[i]->codec_string().empty()) {
+ 954 all_streams_have_config =
false;
+
+
+
+ 958 if (all_streams_have_config) {
+ 959 init_cb_.Run(stream_infos_);
+ 960 is_initialized_ =
true;
+
+
+
+ 964 DCHECK_GT(media_sample_->data_size(), 0UL);
+ 965 std::string key = base::UintToString(current_program_id_).append(
":")
+ 966 .append(base::UintToString(prev_pes_stream_id_));
+ 967 std::map<std::string, uint32_t>::iterator it =
+ 968 program_demux_stream_map_.find(key);
+ 969 if (it == program_demux_stream_map_.end()) {
+
+
+
+
+ 974 DemuxStreamIdMediaSample demux_stream_media_sample;
+ 975 demux_stream_media_sample.parsed_audio_or_video_stream_id =
+
+ 977 demux_stream_media_sample.demux_stream_id = (*it).second;
+ 978 demux_stream_media_sample.media_sample = media_sample_;
+
+ 980 if (!is_initialized_) {
+ 981 media_sample_queue_.push_back(demux_stream_media_sample);
+
+
+ 984 while (!media_sample_queue_.empty()) {
+ 985 if (!EmitPendingSamples())
+
+
+
+ 989 if (!EmitSample(prev_pes_stream_id_, (*it).second, media_sample_,
false))
+
+
+
+
+
+ 995 bool WvmMediaParser::EmitSample(uint32_t parsed_audio_or_video_stream_id,
+
+ 997 scoped_refptr<MediaSample>& new_sample,
+
+
+
+ 1001 if ((parsed_audio_or_video_stream_id & kPesStreamIdVideoMask) ==
+ 1002 kPesStreamIdVideo) {
+ 1003 new_sample->set_duration(prev_media_sample_data_.video_sample_duration);
+ 1004 }
else if ((parsed_audio_or_video_stream_id & kPesStreamIdAudioMask) ==
+ 1005 kPesStreamIdAudio) {
+ 1006 new_sample->set_duration(prev_media_sample_data_.audio_sample_duration);
+
+ 1008 if (!new_sample_cb_.Run(stream_id, new_sample)) {
+ 1009 LOG(ERROR) <<
"Failed to process the last sample.";
+
+
+
+
+
+
+
+ 1017 if ((parsed_audio_or_video_stream_id & kPesStreamIdVideoMask) ==
+ 1018 kPesStreamIdVideo) {
+ 1019 if (prev_media_sample_data_.video_sample == NULL) {
+ 1020 prev_media_sample_data_.video_sample = new_sample;
+ 1021 prev_media_sample_data_.video_stream_id = stream_id;
+
+
+ 1024 prev_media_sample_data_.video_sample->set_duration(
+ 1025 new_sample->dts() - prev_media_sample_data_.video_sample->dts());
+ 1026 prev_media_sample_data_.video_sample_duration =
+ 1027 prev_media_sample_data_.video_sample->duration();
+ 1028 if (!new_sample_cb_.Run(prev_media_sample_data_.video_stream_id,
+ 1029 prev_media_sample_data_.video_sample)) {
+ 1030 LOG(ERROR) <<
"Failed to process the video sample.";
+
+
+ 1033 prev_media_sample_data_.video_sample = new_sample;
+ 1034 prev_media_sample_data_.video_stream_id = stream_id;
+ 1035 }
else if ((parsed_audio_or_video_stream_id & kPesStreamIdAudioMask) ==
+ 1036 kPesStreamIdAudio) {
+ 1037 if (prev_media_sample_data_.audio_sample == NULL) {
+ 1038 prev_media_sample_data_.audio_sample = new_sample;
+ 1039 prev_media_sample_data_.audio_stream_id = stream_id;
+
+
+ 1042 prev_media_sample_data_.audio_sample->set_duration(
+ 1043 new_sample->dts() - prev_media_sample_data_.audio_sample->dts());
+ 1044 prev_media_sample_data_.audio_sample_duration =
+ 1045 prev_media_sample_data_.audio_sample->duration();
+ 1046 if (!new_sample_cb_.Run(prev_media_sample_data_.audio_stream_id,
+ 1047 prev_media_sample_data_.audio_sample)) {
+ 1048 LOG(ERROR) <<
"Failed to process the audio sample.";
+
+
+ 1051 prev_media_sample_data_.audio_sample = new_sample;
+ 1052 prev_media_sample_data_.audio_stream_id = stream_id;
+
+
+
+
+ 1057 bool WvmMediaParser::GetAssetKey(
const uint32_t asset_id,
+ 1058 EncryptionKey* encryption_key) {
+ 1059 DCHECK(decryption_key_source_);
+ 1060 Status status = decryption_key_source_->FetchKeys(asset_id);
+
+ 1062 LOG(ERROR) <<
"Fetch Key(s) failed for AssetID = " << asset_id
+ 1063 <<
", error = " << status;
+
+
+
+ 1067 status = decryption_key_source_->GetKey(KeySource::TRACK_TYPE_HD,
+
+
+ 1070 LOG(ERROR) <<
"Fetch Key(s) failed for AssetID = " << asset_id
+ 1071 <<
", error = " << status;
+
+
+
+
+
+
+ 1078 bool WvmMediaParser::ProcessEcm() {
+
+ 1080 if (!decryption_key_source_)
+
+
+ 1083 if (current_program_id_ > 0) {
+
+
+ 1086 if (ecm_.size() != kEcmSizeBytes) {
+ 1087 LOG(ERROR) <<
"Unexpected ECM size = " << ecm_.size()
+ 1088 <<
", expected size = " << kEcmSizeBytes;
+
+
+ 1091 const uint8_t* ecm_data = ecm_.data();
+
+ 1093 ecm_data +=
sizeof(uint32_t);
+ 1094 ecm_data +=
sizeof(uint32_t);
+ 1095 ecm_data +=
sizeof(uint32_t);
+ 1096 uint32_t asset_id = ntohlFromBuffer(ecm_data);
+ 1097 if (asset_id == 0) {
+ 1098 LOG(ERROR) <<
"AssetID in ECM is not valid.";
+
+
+ 1101 ecm_data +=
sizeof(uint32_t);
+ 1102 EncryptionKey encryption_key;
+ 1103 if (!GetAssetKey(asset_id, &encryption_key)) {
+
+
+ 1106 if (encryption_key.key.size() < kAssetKeySizeBytes) {
+ 1107 LOG(ERROR) <<
"Asset Key size of " << encryption_key.key.size()
+ 1108 <<
" for AssetID = " << asset_id
+ 1109 <<
" is less than minimum asset key size.";
+
+
+
+
+
+ 1115 std::vector<uint8_t> asset_key(
+ 1116 encryption_key.key.begin(),
+ 1117 encryption_key.key.begin() + kAssetKeySizeBytes);
+
+ 1119 std::vector<uint8_t> zero_iv(kInitializationVectorSizeBytes, 0);
+ 1120 AesCbcDecryptor asset_decryptor(kCtsPadding, AesCryptor::kUseConstantIv);
+ 1121 if (!asset_decryptor.InitializeWithIv(asset_key, zero_iv)) {
+ 1122 LOG(ERROR) <<
"Failed to initialize asset_decryptor.";
+
+
+
+ 1126 const size_t content_key_buffer_size =
+ 1127 kEcmFlagsSizeBytes + kEcmContentKeySizeBytes +
+ 1128 kEcmPaddingSizeBytes;
+ 1129 std::vector<uint8_t> content_key_buffer(content_key_buffer_size);
+ 1130 CHECK(asset_decryptor.Crypt(ecm_data, content_key_buffer_size,
+ 1131 content_key_buffer.data()));
+
+ 1133 std::vector<uint8_t> decrypted_content_key_vec(
+ 1134 content_key_buffer.begin() + 4,
+ 1135 content_key_buffer.begin() + 20);
+ 1136 std::unique_ptr<AesCbcDecryptor> content_decryptor(
+ 1137 new AesCbcDecryptor(kCtsPadding, AesCryptor::kUseConstantIv));
+ 1138 if (!content_decryptor->InitializeWithIv(decrypted_content_key_vec,
+
+ 1140 LOG(ERROR) <<
"Failed to initialize content decryptor.";
+
+
+
+ 1144 content_decryptor_ = std::move(content_decryptor);
+
+
+
+ 1148 DemuxStreamIdMediaSample::DemuxStreamIdMediaSample() :
+
+ 1150 parsed_audio_or_video_stream_id(0) {}
+
+ 1152 DemuxStreamIdMediaSample::~DemuxStreamIdMediaSample() {}
+
+ 1154 PrevSampleData::PrevSampleData() {
+
+
+
+ 1158 PrevSampleData::~PrevSampleData() {}
+
+ 1160 void PrevSampleData::Reset() {
+ 1161 audio_sample = NULL;
+ 1162 video_sample = NULL;
+ 1163 audio_stream_id = 0;
+ 1164 video_stream_id = 0;
+ 1165 audio_sample_duration = 0;
+ 1166 video_sample_duration = 0;
+
+
+
+
+
@@ -1266,7 +1265,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d3b/mp4_2segmenter_8h_source.html b/docs/dd/d3b/mp4_2segmenter_8h_source.html
index 0b168d7e5a..b633adb705 100644
--- a/docs/dd/d3b/mp4_2segmenter_8h_source.html
+++ b/docs/dd/d3b/mp4_2segmenter_8h_source.html
@@ -187,21 +187,20 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
137 std::vector<Fragmenter*> fragmenters_;
138 std::vector<uint64_t> segment_durations_;
139 std::map<const MediaStream*, uint32_t> stream_map_;
- 140 bool end_of_segment_;
- 141 MuxerListener* muxer_listener_;
- 142 ProgressListener* progress_listener_;
- 143 uint64_t progress_target_;
- 144 uint64_t accumulated_progress_;
- 145 uint32_t sample_duration_;
-
- 147 DISALLOW_COPY_AND_ASSIGN(Segmenter);
-
-
-
-
-
-
- 154 #endif // MEDIA_FORMATS_MP4_SEGMENTER_H_
+ 140 MuxerListener* muxer_listener_;
+ 141 ProgressListener* progress_listener_;
+ 142 uint64_t progress_target_;
+ 143 uint64_t accumulated_progress_;
+ 144 uint32_t sample_duration_;
+
+ 146 DISALLOW_COPY_AND_ASSIGN(Segmenter);
+
+
+
+
+
+
+ 153 #endif // MEDIA_FORMATS_MP4_SEGMENTER_H_
@@ -221,7 +220,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 323b07baa7..81d0f47036 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 fe2c6ccffe..3ac5572198 100644
--- a/docs/dd/d42/encryptor_8h_source.html
+++ b/docs/dd/d42/encryptor_8h_source.html
@@ -161,7 +161,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dd/d46/webm__parser_8h_source.html b/docs/dd/d46/webm__parser_8h_source.html
index 9bd635c9f9..348bbea526 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 4c12b6d967..e095790110 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 f636848ce8..4ec7fcda16 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 1b34edd92b..c51e1fe8fe 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 b0b29799ce..f142ee2e0d 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 7c70f434ec..61d91a8dae 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 98cfa41bf4..68b270db5a 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 6a85862923..147e3d5953 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 6b93bafb15..13106ed88b 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 1aad267849..07b5631df6 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 263cc5fec1..8c5461c3b6 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 6ed7b238f6..711ae2a70d 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 c0788b3617..4325658a7d 100644
--- a/docs/dd/d7c/classshaka_1_1media_1_1IoCache.html
+++ b/docs/dd/d7c/classshaka_1_1media_1_1IoCache.html
@@ -149,7 +149,7 @@ void Returnsthe number of bytes in the cache.
- Definition at line 125 of file io_cache.cc.
+Definition at line 127 of file io_cache.cc.
@@ -168,7 +168,7 @@ void | Returnsthe number of free bytes in the cache.
- Definition at line 130 of file io_cache.cc.
+Definition at line 132 of file io_cache.cc.
@@ -186,7 +186,7 @@ void |
Close the cache. This will call any blocking calls to unblock, and the cache won't be usable until Reopened.
-Definition at line 109 of file io_cache.cc.
+Definition at line 111 of file io_cache.cc.
@@ -249,7 +249,7 @@ void | Returnsthe number of bytes read into buffer, or 0 if the call unblocked because the cache has been closed and is empty.
- Definition at line 38 of file io_cache.cc.
+Definition at line 40 of file io_cache.cc.
@@ -286,7 +286,7 @@ void | Returnsthe amount of data written to the buffer (which will equal data), or 0 if the call unblocked because the cache has been closed.
- Definition at line 66 of file io_cache.cc.
+Definition at line 68 of file io_cache.cc.
@@ -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 380b2eb2ae..aeefbd7567 100644
--- a/docs/dd/d80/media__sample_8h_source.html
+++ b/docs/dd/d80/media__sample_8h_source.html
@@ -259,7 +259,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 b93246659a..c469efc97b 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 ae5f60a09d..e8f0c670b9 100644
--- a/docs/dd/d88/pes__packet__generator_8h_source.html
+++ b/docs/dd/d88/pes__packet__generator_8h_source.html
@@ -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 133a330dfa..3f0093c48e 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 edaba9c3e3..fb7d48b645 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 759eb0db8a..1ac7bc810d 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 0aeb794270..4613bb6383 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 f130b01735..ab3532c787 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 01dc289b98..76c46e2706 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 9f978ea93c..678b907cc6 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 08b91c0c67..9bdf2be5fb 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 a9ea4a53f9..b0b2521132 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
@@ -180,7 +180,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 e2bf312d25..8b7307e720 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 78dbe0cb0b..4fd7281b06 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 7f6096c9d1..16a5164a47 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 7114b9fc95..d98c0bd1c4 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 78b698e044..360c2a6fb2 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 b33420691f..4b3f3cadc2 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 8f414713d0..d6dc870c96 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 2ad8d6ff82..b5a1793da5 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 83a6df1e3a..4efccfb12a 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 0e820afdcc..f184bb99fc 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 69a37413a7..056b94c649 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 ed6b6f5374..e071e2abd9 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
@@ -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 43b6f8914f..cca22645de 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 03efd5edf4..1615201341 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 c771db92de..1948976e2d 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 9e7615ae37..57ffc93a8a 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 c671cb4ae8..b246c01b59 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 1662b8b320..69660dacb2 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 68ff6a0d34..71401b8eb6 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 50561a7d5b..747b014b15 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 3fbf765108..f56a9cbdcb 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 5ce70f0ddb..11fcde13b6 100644
--- a/docs/dd/de7/xml__node_8h_source.html
+++ b/docs/dd/de7/xml__node_8h_source.html
@@ -231,7 +231,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 1801546355..22f5203d9a 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 18cf308fcb..762f7e47b9 100644
--- a/docs/dd/df2/webm_2multi__segment__segmenter_8h_source.html
+++ b/docs/dd/df2/webm_2multi__segment__segmenter_8h_source.html
@@ -148,7 +148,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 bbe1865318..e1d53810a7 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 93100c3f83..115b05904e 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 23a2369344..2826970c0c 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 69713b4976..3e7afb5534 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 962c9837ac..a65add757c 100644
--- a/docs/de/d13/ts__writer_8cc_source.html
+++ b/docs/de/d13/ts__writer_8cc_source.html
@@ -361,7 +361,7 @@ 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 ba37123241..e43c8fcfd2 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 945b86aee5..5be78f1042 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 8bc5cc17c9..ad0fd20e33 100644
--- a/docs/de/d17/cluster__builder_8cc_source.html
+++ b/docs/de/d17/cluster__builder_8cc_source.html
@@ -346,7 +346,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 bb01bbb345..0da022163c 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 86a6f9ea67..c3a822dc61 100644
--- a/docs/de/d1e/mp4_2single__segment__segmenter_8cc_source.html
+++ b/docs/de/d1e/mp4_2single__segment__segmenter_8cc_source.html
@@ -332,11 +332,11 @@ 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 2f1ae2811d..ecb5486d48 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 72ca9236b8..f9ce461c1e 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 ae41960754..164d3bed35 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 94d59912a3..11e3047bd6 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 e68bc1b0ec..f1afffd2f9 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 0549342992..25a2030bc5 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 6e5b607ef7..5c2d8525aa 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 e799b5060e..f02d4f7786 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 254bb42889..873aa268f6 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 1464772c90..c57eaedd38 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 e24353977f..2add083deb 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 32d96bd256..c0ab8377b7 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 e9dbe70da7..2ca00dfb37 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 9d278b693f..89c3242f50 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 6f4b96e006..a8c39c72cb 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 7151c18ac7..06a8f91ae6 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 956a9fbd9e..df75825bf5 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 e88b0131da..6d706231c1 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 f846877f68..40c2ce351d 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 2abfb66c9e..56e5fb4026 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 237d486e46..151261f7fc 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 7a8697d8be..d34eb73778 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 cf06ff2c01..f01182a188 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 123d26b242..e3c38f0378 100644
--- a/docs/de/d7b/mp4__media__parser_8h_source.html
+++ b/docs/de/d7b/mp4__media__parser_8h_source.html
@@ -204,7 +204,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
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 7f36ba0fd7..5ab5511302 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 de86dc462b..ea4e006c87 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 2da67007ed..94d960f833 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 de9a30cf2a..e47e344a6e 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 d1bd360cf8..f162954a83 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 377bc523bb..a49981af80 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 cb38e04138..7b6a1c0836 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 fdbce60630..61514e5540 100644
--- a/docs/de/dab/es__parser__h26x_8cc_source.html
+++ b/docs/de/dab/es__parser__h26x_8cc_source.html
@@ -414,7 +414,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 1e14099f4b..5250dc1d6f 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 c3a2d5a15d..6db449f883 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 1eac49805c..1c09c438bd 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 0e11f4a391..a73b4025b2 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 9b6321489f..77a2d70c3e 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 e659e2276c..d532307a76 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 5983a8acbb..d3d2a7a945 100644
--- a/docs/de/dcb/ts__segmenter_8h_source.html
+++ b/docs/de/dcb/ts__segmenter_8h_source.html
@@ -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 50f445aeca..839ca2b283 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 38e04b50ae..7a4ae59dd5 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 ff5a4ffa9a..36c3d20ed6 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 3e8c7f2080..5a56440ab9 100644
--- a/docs/de/dd6/muxer__listener__test__helper_8cc_source.html
+++ b/docs/de/dd6/muxer__listener__test__helper_8cc_source.html
@@ -209,7 +209,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
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 6d57c31ced..a2558b3f2c 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 8a898b5ada..22047b3445 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 4691374bae..872e3e7fb0 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 1e1f8b8ef7..b7aead10bf 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 dd20baccec..40436f5517 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 ce190266c9..5acb6e37f8 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 58467a59cb..c321da0597 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 aac6abfa24..937d5309fb 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 6b67ea6482..13cd22ea00 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 975d9ed606..d4de7cbb96 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
@@ -215,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 f7715376b6..2b9665d7d8 100644
--- a/docs/de/dfa/muxer__listener_8h_source.html
+++ b/docs/de/dfa/muxer__listener_8h_source.html
@@ -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 40329fc909..b4038a39b4 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 8ff2f40763..8efbab9772 100644
--- a/docs/de/dfd/stream__info_8cc_source.html
+++ b/docs/de/dfd/stream__info_8cc_source.html
@@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
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 f9205b5f22..9bf99faa8b 100644
--- a/docs/df/d05/vp__codec__configuration__record_8cc_source.html
+++ b/docs/df/d05/vp__codec__configuration__record_8cc_source.html
@@ -360,7 +360,7 @@ 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 92b601ae74..f0a1216717 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 b044a40b11..6436928cff 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 92db8307c5..b7e3d64415 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 a0b24ebf18..3d26af7c6c 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 bea451fb55..7e0cfe7e0e 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 41c33a7459..eb5dce9b32 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 2dac9b6b4c..a84ea51151 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 276e2b3a41..d142af9924 100644
--- a/docs/df/d31/muxer__util_8cc_source.html
+++ b/docs/df/d31/muxer__util_8cc_source.html
@@ -129,8 +129,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
40 if (segment_template.empty())
- 43 std::vector<std::string> splits;
- 44 base::SplitString(segment_template, '$', &splits);
+ 43 std::vector<std::string> splits = base::SplitString(
+ 44 segment_template, "$", base::KEEP_WHITESPACE, base::SPLIT_WANT_ALL);
@@ -194,8 +194,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
105 uint32_t bandwidth) {
106 DCHECK(ValidateSegmentTemplate(segment_template));
- 108 std::vector<std::string> splits;
- 109 base::SplitString(segment_template, '$', &splits);
+ 108 std::vector<std::string> splits = base::SplitString(
+ 109 segment_template, "$", base::KEEP_WHITESPACE, base::SPLIT_WANT_ALL);
111 DCHECK_EQ(1u, splits.size() % 2);
@@ -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 5aafe8702c..458b525b3f 100644
--- a/docs/df/d32/audio__stream__info_8h_source.html
+++ b/docs/df/d32/audio__stream__info_8h_source.html
@@ -164,7 +164,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/d33/classshaka_1_1AdaptationSet-members.html b/docs/df/d33/classshaka_1_1AdaptationSet-members.html
index 705be898a4..c38a8d56a5 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 9ad7d4e4e5..1413766820 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 7fab360092..28d2c3b9d7 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 2521254bab..4df1c601dd 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 4a7c722706..7c2b6f8aae 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 ef1c11a8bd..cab9b0e1ee 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 4e9b2cb912..e32d69caa4 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 781948153e..2e54f82479 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 c89aa1dcea..a5d778a30b 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 97a97dbd47..015eb7c31c 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 e0da19a879..87eada28fc 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 eaf8cee062..15b370f9fd 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 369c176742..fbcbabbd6b 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 a232e23459..6a124197a0 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 e49de7b31d..525be3ba0d 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 6c6b679ee0..39e94464f1 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 75aad2d6c3..3babd9d3a2 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 1f58a71590..3f2d7b9def 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 00d1288b8d..733f4b67ca 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 0ab503209b..cc42c3df4b 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 474f16a9a7..26a2cce317 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 d9389a79d3..f0b93e8d39 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 be92990429..e609b380b6 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 938cc0c702..39adc2d93c 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 1ff6554f32..e009fdb64b 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 a0d17e0205..3924656bb9 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 88cd79a6a2..1b20f0bec7 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 2ce3ad5ae0..ff3ca3e1ce 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 c6975d768b..995159a5d6 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 9e2ac90642..03e915ac8b 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 59fdb1b827..a167e2005e 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 eaaec8147f..5c8f989080 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 ede0377eeb..5321f3ba43 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 c47a52be07..4218c6bb41 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 ce27060455..ce895c7b35 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 e94c8b5fdf..8069c341d9 100644
--- a/docs/df/ddc/webm_2segmenter_8h_source.html
+++ b/docs/df/ddc/webm_2segmenter_8h_source.html
@@ -250,7 +250,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/df/dde/ts__section__psi_8cc_source.html b/docs/df/dde/ts__section__psi_8cc_source.html
index 3f1ae91060..d82f89da6d 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 8c7b662615..844a629997 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 461616b930..f2a89d906f 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 3365475ab9..16fba3e7fa 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 97a102945d..8f8376071f 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 844d60f38a..13d12a099f 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 5ca2e9b628..ed50c22392 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 063546652d..3790d7f38c 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 c7d666c655..674414787f 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 2219a31ae2..7fb09f1fa2 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 40a889338c..5888a9c5b4 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 b3bc4aa626..7c6d276216 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 967adc5ab3..e7e2a9079f 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 13c4fae523..33ebb63672 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 5b99db858c..e0b0c25e61 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 fec13d18ef..cfcd319b79 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 1e665c96a8..c7f1a15dcf 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 ad91be8812..cac7ebfe07 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 aee738eb21..a0d2f17248 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 6abe6c77ae..751060e359 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 4f6c7cd1e1..e8260f7a39 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 ef6c3006f1..09c2621881 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 f9a394d689..4c1e39e107 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 f3cfef38e4..aabbbdbc44 100644
--- a/docs/functions.html
+++ b/docs/functions.html
@@ -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 d53efdc055..49bbacc800 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 aeae2579ac..414483ca43 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 cd29c00702..8704a32893 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 9ec925fd95..d55ad8efa0 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 75af0ed06d..ed7d1349aa 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 003d7d8b7b..a131439a23 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 05618b2980..9ef0e452fe 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 bfdd5b07c2..d192ca0754 100644
--- a/docs/functions_func.html
+++ b/docs/functions_func.html
@@ -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 cf611528cc..172554045c 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 04031c67fa..353379202e 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 2db5648051..cea9a92542 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 f2843b0ac5..1d16d5b793 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 ae04904b3c..2d9825c07b 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 66d8b8eaaf..68cd55f1e7 100644
--- a/docs/functions_func_g.html
+++ b/docs/functions_func_g.html
@@ -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 7a81f5f0d4..5f70c1f6da 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 c251749693..964f0e2052 100644
--- a/docs/functions_func_i.html
+++ b/docs/functions_func_i.html
@@ -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 9388c89db0..f3547b6c56 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 0aa5b8c480..a63cb9a0fb 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 367b3a2aec..5c5c51fdec 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 a08c558153..1fca2da86e 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 a17452bc33..34311ffaae 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 527109c74c..1e9154a0c6 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 186af7d9a3..50446e924a 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 4e227689fe..4fa8a87382 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 c8750f9219..ab301f8a29 100644
--- a/docs/functions_func_t.html
+++ b/docs/functions_func_t.html
@@ -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 f1eeb8753d..13fd22d9fb 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 3dbae73450..48c4a0abfa 100644
--- a/docs/functions_func_v.html
+++ b/docs/functions_func_v.html
@@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_func_w.html b/docs/functions_func_w.html
index 362a57fe72..2a661e904a 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 fac43918f7..9b63e8f727 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 3c94b3950c..2d32ee60ee 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 66d6766ad6..549223b658 100644
--- a/docs/functions_g.html
+++ b/docs/functions_g.html
@@ -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 5669743a16..74e587de52 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 35acfcc1c8..2941a6ea57 100644
--- a/docs/functions_i.html
+++ b/docs/functions_i.html
@@ -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 cf31ec7182..5d5ff641b2 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 071f6da683..42d462aa8d 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 5b3607e7f6..1e65fd2a7d 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 2b992bb620..e3e5eee801 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 5df0170625..4281404e3d 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 9778b39703..1311215975 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 a462c86a70..39d978ada3 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 c31d37a929..e8ebb2f593 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 9e6f9087de..3dc08bdd04 100644
--- a/docs/functions_t.html
+++ b/docs/functions_t.html
@@ -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 9207d3b187..915734afdc 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 391a19a410..fd364b9939 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 7920c3b356..5ad1a26558 100644
--- a/docs/functions_v.html
+++ b/docs/functions_v.html
@@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
diff --git a/docs/functions_vars.html b/docs/functions_vars.html
index dccd416be3..726b360fb5 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 e57a514d3f..f0951702e4 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 19d80fdc31..33a9f02700 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 00f38c803e..7b16011aeb 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 1761ade00b..6d93240dfe 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 4fae1a1443..c27d03e9a1 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 e3663702b4..6a3f4c448e 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 a92e25fe20..b427cac17f 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 908d21d4fb..a97e5b2aef 100644
--- a/docs/namespaces.html
+++ b/docs/namespaces.html
@@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');