diff --git a/docs/annotated.html b/docs/annotated.html index a4f8943cd2..4617aa3ed4 100644 --- a/docs/annotated.html +++ b/docs/annotated.html @@ -384,7 +384,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/classes.html b/docs/classes.html index 6839dfdfb5..6219d2171c 100644 --- a/docs/classes.html +++ b/docs/classes.html @@ -183,7 +183,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 beb999833e..5830376e19 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 5c24a95148..297bef1acd 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 f4320e1dce..b55706af15 100644 --- a/docs/d0/d06/mpd__flags_8cc_source.html +++ b/docs/d0/d06/mpd__flags_8cc_source.html @@ -152,7 +152,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 0ee979873c..4624a41ff9 100644 --- a/docs/d0/d0e/classshaka_1_1media_1_1HttpKeyFetcher-members.html +++ b/docs/d0/d0e/classshaka_1_1media_1_1HttpKeyFetcher-members.html @@ -106,7 +106,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 938c4e5bb6..e9bad68882 100644 --- a/docs/d0/d0e/hevc__decoder__configuration__record_8h_source.html +++ b/docs/d0/d0e/hevc__decoder__configuration__record_8h_source.html @@ -139,7 +139,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 432165fdca..8eaeea3627 100644 --- a/docs/d0/d0e/muxer__options_8h_source.html +++ b/docs/d0/d0e/muxer__options_8h_source.html @@ -137,7 +137,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 19bf6de79b..fac499ebf1 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 119010a62c..8bd849fd03 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/d17/structshaka_1_1media_1_1StreamData-members.html b/docs/d0/d17/structshaka_1_1media_1_1StreamData-members.html index 9b55d83474..9bcc69623b 100644 --- a/docs/d0/d17/structshaka_1_1media_1_1StreamData-members.html +++ b/docs/d0/d17/structshaka_1_1media_1_1StreamData-members.html @@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); 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 1349faf14b..5b9d8a1652 100644 --- a/docs/d0/d1e/classshaka_1_1media_1_1H265ByteToUnitStreamConverter-members.html +++ b/docs/d0/d1e/classshaka_1_1media_1_1H265ByteToUnitStreamConverter-members.html @@ -108,7 +108,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 ee2df58963..d91d8100f7 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 af501b2eb3..021d75deb2 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 c22b5ed18a..9885f3ff1d 100644 --- a/docs/d0/d27/structshaka_1_1media_1_1MuxerOptions.html +++ b/docs/d0/d27/structshaka_1_1media_1_1MuxerOptions.html @@ -206,7 +206,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 7c51363637..9e7f992124 100644 --- a/docs/d0/d30/mock__mpd__notifier_8h_source.html +++ b/docs/d0/d30/mock__mpd__notifier_8h_source.html @@ -149,7 +149,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 92fc0b65c4..708294325f 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 32516a685e..d71a11106f 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 8dadb190e4..e097495780 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 215a06a958..57807421e2 100644 --- a/docs/d0/d3a/hls__notify__muxer__listener_8cc_source.html +++ b/docs/d0/d3a/hls__notify__muxer__listener_8cc_source.html @@ -233,7 +233,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 2d7df2796d..5961711934 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 a536690ad4..31a7a4fe00 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 4503ec5278..a8e717f7f5 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 0e3dc80ce1..1450abb8f4 100644 --- a/docs/d0/d42/widevine__encryption__flags_8cc_source.html +++ b/docs/d0/d42/widevine__encryption__flags_8cc_source.html @@ -284,7 +284,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 ebec0bf8e5..5af70d3659 100644 --- a/docs/d0/d46/fourccs_8h_source.html +++ b/docs/d0/d46/fourccs_8h_source.html @@ -253,7 +253,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d48/structshaka_1_1media_1_1SegmentInfo-members.html b/docs/d0/d48/structshaka_1_1media_1_1SegmentInfo-members.html index 056bc9e8dc..89ebe8d5c6 100644 --- a/docs/d0/d48/structshaka_1_1media_1_1SegmentInfo-members.html +++ b/docs/d0/d48/structshaka_1_1media_1_1SegmentInfo-members.html @@ -101,7 +101,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 d3af1036f7..fa51784760 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 0104805aa2..d0552263a4 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/d4c/structshaka_1_1media_1_1StreamData.html b/docs/d0/d4c/structshaka_1_1media_1_1StreamData.html index 2ca2001e6a..c1579568d6 100644 --- a/docs/d0/d4c/structshaka_1_1media_1_1StreamData.html +++ b/docs/d0/d4c/structshaka_1_1media_1_1StreamData.html @@ -127,7 +127,7 @@ std::shared_ptr< diff --git a/docs/d0/d4d/classshaka_1_1media_1_1AudioTimestampHelper.html b/docs/d0/d4d/classshaka_1_1media_1_1AudioTimestampHelper.html index a91490fc82..044fef2fb0 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 f55469ee9d..4f8420d54e 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 911d1d1766..4f8fcec726 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 @@ -130,7 +130,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 7f17f320e4..c32e5dc0ac 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 aab64801e1..3fc707a102 100644 --- a/docs/d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html +++ b/docs/d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html @@ -438,7 +438,7 @@ Additional Inherited Members diff --git a/docs/d0/d6a/classshaka_1_1media_1_1StreamDescriptorCompareFn-members.html b/docs/d0/d6a/classshaka_1_1media_1_1StreamDescriptorCompareFn-members.html index d250e7d530..5c5e3370d1 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 8339096df3..f54eea5d0d 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 8395d00e88..96129db1b0 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 294ab389dc..7e97ae2031 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 76329a5d77..feb8fefae9 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 ba37491230..c49095610e 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 fb271a708c..023d1da522 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 ecdbd42a18..ececcc871f 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 9d0b21e03e..6b55904904 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 b27075f7c9..4ce5543374 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 01eeca1126..d11c5f3169 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 a84f1aefa1..673d21e877 100644 --- a/docs/d0/da6/stream__descriptor_8cc_source.html +++ b/docs/d0/da6/stream__descriptor_8cc_source.html @@ -298,7 +298,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 ceafceb5c1..6b1758170d 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 @@ -261,7 +261,7 @@ void set_progress_target diff --git a/docs/d0/dac/classshaka_1_1media_1_1EncryptionHandler-members.html b/docs/d0/dac/classshaka_1_1media_1_1EncryptionHandler-members.html index fe97e6aee3..09cb0eca15 100644 --- a/docs/d0/dac/classshaka_1_1media_1_1EncryptionHandler-members.html +++ b/docs/d0/dac/classshaka_1_1media_1_1EncryptionHandler-members.html @@ -120,7 +120,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/dac/classshaka_1_1media_1_1FixedKeySource.html b/docs/d0/dac/classshaka_1_1media_1_1FixedKeySource.html index cb8e523863..3a64808748 100644 --- a/docs/d0/dac/classshaka_1_1media_1_1FixedKeySource.html +++ b/docs/d0/dac/classshaka_1_1media_1_1FixedKeySource.html @@ -482,7 +482,7 @@ Additional Inherited Members diff --git a/docs/d0/dae/file__util_8h_source.html b/docs/d0/dae/file__util_8h_source.html index 8ca2b8d28e..7c06e81b33 100644 --- a/docs/d0/dae/file__util_8h_source.html +++ b/docs/d0/dae/file__util_8h_source.html @@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); 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 08ed1a4ff2..559a3784a8 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/dc0/structshaka_1_1media_1_1SegmentInfo.html b/docs/d0/dc0/structshaka_1_1media_1_1SegmentInfo.html index 53786f7284..a88c72badf 100644 --- a/docs/d0/dc0/structshaka_1_1media_1_1SegmentInfo.html +++ b/docs/d0/dc0/structshaka_1_1media_1_1SegmentInfo.html @@ -121,7 +121,7 @@ std::shared_ptr< 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 3b36610f42..b2109ff939 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 01a27e6847..f9fe509f9a 100644 --- a/docs/d0/dc8/classshaka_1_1xml_1_1AdaptationSetXmlNode-members.html +++ b/docs/d0/dc8/classshaka_1_1xml_1_1AdaptationSetXmlNode-members.html @@ -115,7 +115,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 1121e745e0..c47254bce3 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 7972fa5121..7e505006bb 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 7bfbe512c5..850b46ded7 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 139d8c5079..2069cc715a 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 099bf571a1..24c01f1cea 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 7ed1886718..06b3db5d16 100644 --- a/docs/d0/dee/segmenter__test__base_8h_source.html +++ b/docs/d0/dee/segmenter__test__base_8h_source.html @@ -208,7 +208,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 5db010f7ca..50a8d765cd 100644 --- a/docs/d0/df3/packager__util_8cc_source.html +++ b/docs/d0/df3/packager__util_8cc_source.html @@ -323,7 +323,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/dfc/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry-members.html b/docs/d0/dfc/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry-members.html index be39c85eec..089e34e836 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 deb06e5438..de9f0ca673 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 3e81fc4731..c758a029be 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 5437e5f0ba..77c09eb9e3 100644 --- a/docs/d1/d0b/hevc__decoder__configuration__record_8cc_source.html +++ b/docs/d1/d0b/hevc__decoder__configuration__record_8cc_source.html @@ -245,7 +245,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 005eac6bac..a72aa65696 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 ebb75ecac1..b5e77b6298 100644 --- a/docs/d1/d13/status_8h_source.html +++ b/docs/d1/d13/status_8h_source.html @@ -252,7 +252,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 c4a16cba62..7d217923e5 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 @@ -282,7 +282,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d1d/muxer__flags_8cc_source.html b/docs/d1/d1d/muxer__flags_8cc_source.html index ba3d851b90..fa9e487d7c 100644 --- a/docs/d1/d1d/muxer__flags_8cc_source.html +++ b/docs/d1/d1d/muxer__flags_8cc_source.html @@ -135,7 +135,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 7911aa9132..30682e0acb 100644 --- a/docs/d1/d1f/classshaka_1_1media_1_1KeySource.html +++ b/docs/d1/d1f/classshaka_1_1media_1_1KeySource.html @@ -410,7 +410,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 f3a027f06e..b7a6bef79d 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/d25/classshaka_1_1media_1_1MediaHandlerTestBase-members.html b/docs/d1/d25/classshaka_1_1media_1_1MediaHandlerTestBase-members.html index 7510f755f2..ca33b2f152 100644 --- a/docs/d1/d25/classshaka_1_1media_1_1MediaHandlerTestBase-members.html +++ b/docs/d1/d25/classshaka_1_1media_1_1MediaHandlerTestBase-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d27/key__fetcher_8h_source.html b/docs/d1/d27/key__fetcher_8h_source.html index 3d993336c6..db4d4132de 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 cd0cf4b787..653f4d01a2 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 58ba3280e4..bfd0076033 100644 --- a/docs/d1/d2a/decryptor__source_8cc_source.html +++ b/docs/d1/d2a/decryptor__source_8cc_source.html @@ -206,7 +206,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d2b/file__util_8cc_source.html b/docs/d1/d2b/file__util_8cc_source.html index 57a9487ded..01c35d15ee 100644 --- a/docs/d1/d2b/file__util_8cc_source.html +++ b/docs/d1/d2b/file__util_8cc_source.html @@ -135,7 +135,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 7bc504d56a..90340f6a48 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 061232811a..1080b6bcfc 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 605f4bf739..25fd977eb1 100644 --- a/docs/d1/d2f/webvtt__media__parser_8cc_source.html +++ b/docs/d1/d2f/webvtt__media__parser_8cc_source.html @@ -483,7 +483,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 74b07b2a45..0c70a933b4 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 2a135124a9..e1d41c8baa 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 8e19b4d894..261e9982d0 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 474fbf4e90..8c8351e7cb 100644 --- a/docs/d1/d37/es__parser__h264_8h_source.html +++ b/docs/d1/d37/es__parser__h264_8h_source.html @@ -150,7 +150,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 c3904d3e30..c8c9cfc88b 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 0493fb6c7e..6d53799a97 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 37e7be954a..823b3e889b 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 630d583dc5..eb0be218e4 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 3d332a244f..a0482997b0 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 59a48ecef3..07821c0642 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 9c0aac7e48..98af4d7bec 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 bb65eeb534..db0e4ef565 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 bb5aee1a4b..b84b719afe 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 ffde8c9644..695dae9e94 100644 --- a/docs/d1/d72/language__utils_8cc_source.html +++ b/docs/d1/d72/language__utils_8cc_source.html @@ -231,7 +231,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 db105fc5e5..202062980e 100644 --- a/docs/d1/d74/mp2t__media__parser_8cc_source.html +++ b/docs/d1/d74/mp2t__media__parser_8cc_source.html @@ -535,7 +535,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 3e93d5cc07..1584e03b6f 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 4c178a1352..9939e0d9af 100644 --- a/docs/d1/d7d/webm__video__client_8cc_source.html +++ b/docs/d1/d7d/webm__video__client_8cc_source.html @@ -269,7 +269,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 68f93a1867..d8d4219f46 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 d30cff2992..cb62c23e9b 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 df4e5b88b8..fa43ac2e55 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/d8e/webm__audio__client_8cc_source.html b/docs/d1/d8e/webm__audio__client_8cc_source.html index 36987fab1c..349fbaddae 100644 --- a/docs/d1/d8e/webm__audio__client_8cc_source.html +++ b/docs/d1/d8e/webm__audio__client_8cc_source.html @@ -213,7 +213,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d8f/retired__flags_8h_source.html b/docs/d1/d8f/retired__flags_8h_source.html index f36ff88bb1..014587722d 100644 --- a/docs/d1/d8f/retired__flags_8h_source.html +++ b/docs/d1/d8f/retired__flags_8h_source.html @@ -100,7 +100,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 ecf6c3cb36..debe59bcc5 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 a290947253..23936f5f94 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 10d50b4ba6..8cf9bf74c0 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 68240cca9c..4a51543970 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 8a1a3114e7..1ef7d64819 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 aa4c28e616..040244ee10 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 @@ std::shared_ptr< 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 d3b3190d49..252a0ca2e4 100644 --- a/docs/d1/da2/classshaka_1_1media_1_1NalUnitToByteStreamConverter-members.html +++ b/docs/d1/da2/classshaka_1_1media_1_1NalUnitToByteStreamConverter-members.html @@ -102,7 +102,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 0e9ca603fd..56e7ca6b3b 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 10ded9b489..cb3b93f018 100644 --- a/docs/d1/dad/classshaka_1_1media_1_1Demuxer-members.html +++ b/docs/d1/dad/classshaka_1_1media_1_1Demuxer-members.html @@ -126,7 +126,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 aad827b4ca..e869b38090 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 0ecf2503c4..0192772e4c 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/dbe/classshaka_1_1media_1_1PlayReadyKeySource-members.html b/docs/d1/dbe/classshaka_1_1media_1_1PlayReadyKeySource-members.html index 66e36c308f..451db4f39b 100644 --- a/docs/d1/dbe/classshaka_1_1media_1_1PlayReadyKeySource-members.html +++ b/docs/d1/dbe/classshaka_1_1media_1_1PlayReadyKeySource-members.html @@ -121,7 +121,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 c18634822e..807c82b7f7 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/dd5/classshaka_1_1media_1_1Cluster.html b/docs/d1/dd5/classshaka_1_1media_1_1Cluster.html index 86f59d505f..f916a7836b 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 6c4b0a97df..6d5a3b004d 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/dda/structshaka_1_1media_1_1EncryptionConfig-members.html b/docs/d1/dda/structshaka_1_1media_1_1EncryptionConfig-members.html index d06382c1fc..178531efa0 100644 --- a/docs/d1/dda/structshaka_1_1media_1_1EncryptionConfig-members.html +++ b/docs/d1/dda/structshaka_1_1media_1_1EncryptionConfig-members.html @@ -103,7 +103,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 8b52378576..ddcc816da0 100644 --- a/docs/d1/de2/classshaka_1_1media_1_1VideoStreamInfo-members.html +++ b/docs/d1/de2/classshaka_1_1media_1_1VideoStreamInfo-members.html @@ -135,7 +135,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 ee296a790b..8e8053b420 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 fa53a32f3b..4c10d6cdbd 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 a40acec596..64be1e4416 100644 --- a/docs/d1/de7/classshaka_1_1xml_1_1AdaptationSetXmlNode.html +++ b/docs/d1/de7/classshaka_1_1xml_1_1AdaptationSetXmlNode.html @@ -199,7 +199,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 e5ebe14b5f..755b00694c 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 0a050dae7f..88b3fbdaaf 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 22a3b3e4ed..db28b64d49 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 961f713567..5765892674 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 b7ed10b972..275ac53f28 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 d4e31d2f2d..b5aa117adb 100644 --- a/docs/d1/df3/structshaka_1_1MpdOptions.html +++ b/docs/d1/df3/structshaka_1_1MpdOptions.html @@ -136,7 +136,7 @@ std::string default_langua diff --git a/docs/d1/df5/nalu__reader_8cc_source.html b/docs/d1/df5/nalu__reader_8cc_source.html index 7951d994e8..399b97330c 100644 --- a/docs/d1/df5/nalu__reader_8cc_source.html +++ b/docs/d1/df5/nalu__reader_8cc_source.html @@ -430,7 +430,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 4899401de7..dd735414a2 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 ac49715a1a..7df9dd33f1 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 0522289d68..a9b349df48 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 29174eb78a..70315cd52e 100644 --- a/docs/d2/d0f/classshaka_1_1MpdBuilder-members.html +++ b/docs/d2/d0f/classshaka_1_1MpdBuilder-members.html @@ -106,7 +106,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 fe4b38881f..a83e376665 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 5571096c51..1e9fd74672 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 8a8a72b6cf..bb216024f4 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 0c9237d6c1..870f49944f 100644 --- a/docs/d2/d23/threaded__io__file_8cc_source.html +++ b/docs/d2/d23/threaded__io__file_8cc_source.html @@ -317,7 +317,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d24/packager__util_8h_source.html b/docs/d2/d24/packager__util_8h_source.html index c2b44fb307..e7841e141b 100644 --- a/docs/d2/d24/packager__util_8h_source.html +++ b/docs/d2/d24/packager__util_8h_source.html @@ -134,7 +134,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d30/tracks__builder_8cc_source.html b/docs/d2/d30/tracks__builder_8cc_source.html index 91e9fae9a7..de00f3a1a0 100644 --- a/docs/d2/d30/tracks__builder_8cc_source.html +++ b/docs/d2/d30/tracks__builder_8cc_source.html @@ -486,7 +486,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 985d5031bb..b20b693bf3 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 f0692399bd..368eecd491 100644 --- a/docs/d2/d35/classshaka_1_1media_1_1WidevineKeySource-members.html +++ b/docs/d2/d35/classshaka_1_1media_1_1WidevineKeySource-members.html @@ -121,7 +121,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 a1f145741a..5bb0587df2 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 bf6fce1698..0c781c4cbc 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 ab4ed0793d..0a52c76524 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 @@ -379,7 +379,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 f2498ac065..d2562037e7 100644 --- a/docs/d2/d4d/file_8h_source.html +++ b/docs/d2/d4d/file_8h_source.html @@ -191,7 +191,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d4f/structshaka_1_1Element-members.html b/docs/d2/d4f/structshaka_1_1Element-members.html index 2702dbb8ab..266ab5e4b8 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 df2aa9d14e..a5047eebbf 100644 --- a/docs/d2/d51/classshaka_1_1MockMpdNotifier-members.html +++ b/docs/d2/d51/classshaka_1_1MockMpdNotifier-members.html @@ -116,7 +116,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 88a5fdd4e9..930751bb20 100644 --- a/docs/d2/d59/structshaka_1_1media_1_1H264SliceHeader.html +++ b/docs/d2/d59/structshaka_1_1media_1_1H264SliceHeader.html @@ -264,7 +264,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 0eaa5ec999..b8f1593747 100644 --- a/docs/d2/d5b/classshaka_1_1media_1_1KeySource-members.html +++ b/docs/d2/d5b/classshaka_1_1media_1_1KeySource-members.html @@ -115,7 +115,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 0cf7fa38d0..f87d991bb9 100644 --- a/docs/d2/d5c/classshaka_1_1SimpleMpdNotifier-members.html +++ b/docs/d2/d5c/classshaka_1_1SimpleMpdNotifier-members.html @@ -110,7 +110,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 2ae085e573..c17da7085a 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 d59484bed1..c353089534 100644 --- a/docs/d2/d62/simple__mpd__notifier_8h_source.html +++ b/docs/d2/d62/simple__mpd__notifier_8h_source.html @@ -184,7 +184,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 87234a6624..aa4cc5280a 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 cb40a33089..3e21dee563 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 6383f4b7fa..a70c190ba2 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 16fbeddd16..3f9f1e834f 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 3cd2c2de6b..71f2e10606 100644 --- a/docs/d2/d7b/classshaka_1_1DashIopMpdNotifier-members.html +++ b/docs/d2/d7b/classshaka_1_1DashIopMpdNotifier-members.html @@ -110,7 +110,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 f3dd696720..7e41a49640 100644 --- a/docs/d2/d7b/simple__mpd__notifier_8cc_source.html +++ b/docs/d2/d7b/simple__mpd__notifier_8cc_source.html @@ -221,7 +221,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
uint32_t id() const
Definition: mpd_builder.h:487
bool AddContentProtectionElement(uint32_t id, const ContentProtectionElement &content_protection_element) override
-
void AddContentProtectionElements(const MediaInfo &media_info, Representation *parent)
Definition: mpd_utils.cc:346
+
void AddContentProtectionElements(const MediaInfo &media_info, Representation *parent)
Definition: mpd_utils.cc:350
bool NotifyNewSegment(uint32_t id, uint64_t start_time, uint64_t duration, uint64_t size) override
std::string Uint8VectorToBase64(const std::vector< uint8_t > &input)
Converts uint8 vector into base64 encoded string.
@@ -235,7 +235,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 e86429950f..b885a88bf6 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 2bc8ba5fa0..24f4086562 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 2ff6587a86..b672bdda78 100644 --- a/docs/d2/d8a/hls__notify__muxer__listener_8h_source.html +++ b/docs/d2/d8a/hls__notify__muxer__listener_8h_source.html @@ -176,7 +176,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 205ba89a04..f21e01ebef 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 3d35da3011..3dc28ba533 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 9a0e1505bb..14f7c54d17 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 133be29606..9b33a8f583 100644 --- a/docs/d2/d95/structshaka_1_1media_1_1StreamDescriptor.html +++ b/docs/d2/d95/structshaka_1_1media_1_1StreamDescriptor.html @@ -143,7 +143,7 @@ int16_t trick_play_rate diff --git a/docs/d2/da0/classshaka_1_1media_1_1TrickPlayHandler-members.html b/docs/d2/da0/classshaka_1_1media_1_1TrickPlayHandler-members.html index 5a64cd150a..a045c88818 100644 --- a/docs/d2/da0/classshaka_1_1media_1_1TrickPlayHandler-members.html +++ b/docs/d2/da0/classshaka_1_1media_1_1TrickPlayHandler-members.html @@ -120,7 +120,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/da6/threaded__io__file_8h_source.html b/docs/d2/da6/threaded__io__file_8h_source.html index bf408a4026..e4aac961b5 100644 --- a/docs/d2/da6/threaded__io__file_8h_source.html +++ b/docs/d2/da6/threaded__io__file_8h_source.html @@ -172,7 +172,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/da8/mp4_2segmenter_8cc_source.html b/docs/d2/da8/mp4_2segmenter_8cc_source.html index c01d7e1508..f677484848 100644 --- a/docs/d2/da8/mp4_2segmenter_8cc_source.html +++ b/docs/d2/da8/mp4_2segmenter_8cc_source.html @@ -408,7 +408,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 07802968d9..e17375cdf5 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 3c0c3f46e8..5b1f7bdd8a 100644 --- a/docs/d2/dae/classshaka_1_1MockAdaptationSet-members.html +++ b/docs/d2/dae/classshaka_1_1MockAdaptationSet-members.html @@ -124,7 +124,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 3f3e2abd23..3c8af2f5d7 100644 --- a/docs/d2/dae/webm__muxer_8cc_source.html +++ b/docs/d2/dae/webm__muxer_8cc_source.html @@ -222,7 +222,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 90bda8e01b..d47dbfe0c1 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 8b9e16b24d..b19645ea9a 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 508a39c463..15715a0678 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 f60c600625..4f1ab6c34d 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 74d1cb7e39..31258ffc54 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/media__handler__test__base_8cc_source.html b/docs/d2/dc7/media__handler__test__base_8cc_source.html index 0ee6c6150e..0c36bc3480 100644 --- a/docs/d2/dc7/media__handler__test__base_8cc_source.html +++ b/docs/d2/dc7/media__handler__test__base_8cc_source.html @@ -271,7 +271,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 5f51fe4e5b..2ea4ddc3b5 100644 --- a/docs/d2/dc7/structshaka_1_1MpdOptions-members.html +++ b/docs/d2/dc7/structshaka_1_1MpdOptions-members.html @@ -104,7 +104,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 943c8f2fa0..a7ac0f3974 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 e255812eff..1570ccda25 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/dce/structshaka_1_1media_1_1ChunkingOptions-members.html b/docs/d2/dce/structshaka_1_1media_1_1ChunkingOptions-members.html index 787a93c6dd..c1884537c4 100644 --- a/docs/d2/dce/structshaka_1_1media_1_1ChunkingOptions-members.html +++ b/docs/d2/dce/structshaka_1_1media_1_1ChunkingOptions-members.html @@ -100,7 +100,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 1d2737434b..1db071a33c 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 @@ -278,7 +278,7 @@ uint64_t segment_payload_p diff --git a/docs/d2/dd6/mkv__writer_8h_source.html b/docs/d2/dd6/mkv__writer_8h_source.html index dbd063fa70..87ed8869a1 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/dd8/classshaka_1_1media_1_1ChunkingHandler-members.html b/docs/d2/dd8/classshaka_1_1media_1_1ChunkingHandler-members.html index d8cc40025b..be06eb8e51 100644 --- a/docs/d2/dd8/classshaka_1_1media_1_1ChunkingHandler-members.html +++ b/docs/d2/dd8/classshaka_1_1media_1_1ChunkingHandler-members.html @@ -120,7 +120,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 894c1d0c8d..10ff43efc1 100644 --- a/docs/d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html +++ b/docs/d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html @@ -257,7 +257,7 @@ std::shared_ptr< 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 f05bce4616..9cb5975ab3 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 286c2cea3d..3e39ee3ffc 100644 --- a/docs/d2/de6/packager__main_8cc_source.html +++ b/docs/d2/de6/packager__main_8cc_source.html @@ -171,7 +171,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
82  " - input (in): Required input/source media file path or network stream\n"
83  " URL.\n"
84  " - stream_selector (stream): Required field with value 'audio',\n"
-
85  " 'video', or stream number (zero based).\n"
+
85  " 'video', 'text', or stream number (zero based).\n"
86  " - output (out): Required output file (single file) or initialization\n"
87  " file path (multiple file).\n"
88  " - segment_template (segment): Optional value which specifies the\n"
@@ -342,8 +342,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
253  }
254  stream_muxer_options.bandwidth = stream_iter->bandwidth;
255 
-
256  // Handle text input.
-
257  if (stream_iter->stream_selector == "text") {
+
256  if (stream_iter->stream_selector == "text" &&
+
257  stream_iter->output_format != CONTAINER_MOV) {
258  MediaInfo text_media_info;
259  if (!StreamInfoToTextMediaInfo(*stream_iter, stream_muxer_options,
260  &text_media_info)) {
@@ -682,7 +682,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/de7/classshaka_1_1media_1_1TextStreamInfo-members.html b/docs/d2/de7/classshaka_1_1media_1_1TextStreamInfo-members.html index d27c64f32a..7fd8ef582c 100644 --- a/docs/d2/de7/classshaka_1_1media_1_1TextStreamInfo-members.html +++ b/docs/d2/de7/classshaka_1_1media_1_1TextStreamInfo-members.html @@ -122,7 +122,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 0cb63a5082..e370d2890d 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/media__handler_8cc_source.html b/docs/d2/de9/media__handler_8cc_source.html index 724a366c10..61d9ed6c92 100644 --- a/docs/d2/de9/media__handler_8cc_source.html +++ b/docs/d2/de9/media__handler_8cc_source.html @@ -171,7 +171,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 cdb70ee483..171c983e1d 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 e42d6edcbb..68673fef9d 100644 --- a/docs/d2/deb/es__parser_8h_source.html +++ b/docs/d2/deb/es__parser_8h_source.html @@ -144,7 +144,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 336ed78882..0935d86849 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 3e8785f2b1..9ad3a1be31 100644 --- a/docs/d2/dee/pes__packet__generator_8cc_source.html +++ b/docs/d2/dee/pes__packet__generator_8cc_source.html @@ -232,7 +232,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 79bb851173..688f1bf04b 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 @@ size_t cluster_count ( 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 82fd6cd8b4..41e9affd66 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 d43d79d849..40af690d1e 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 e2b4688bfd..2ab7fd5171 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 8ce9f36af5..197b8af122 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 af9e4d9162..cb3255741c 100644 --- a/docs/d3/d0a/classshaka_1_1media_1_1MediaParser.html +++ b/docs/d3/d0a/classshaka_1_1media_1_1MediaParser.html @@ -299,7 +299,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 a8f063d59e..319a440520 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 8246de7e8d..418557e2df 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/d18/classshaka_1_1media_1_1mp2t_1_1TsSectionPat-members.html b/docs/d3/d18/classshaka_1_1media_1_1mp2t_1_1TsSectionPat-members.html index 06c125e88c..375caaa308 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 1679fbd088..9e5d908740 100644 --- a/docs/d3/d19/io__cache_8h_source.html +++ b/docs/d3/d19/io__cache_8h_source.html @@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/d35/video__slice__header__parser_8cc_source.html b/docs/d3/d35/video__slice__header__parser_8cc_source.html index 26b11f78ae..b7dbe98d54 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 97a12e93f1..a6eb538fea 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 0a53e74fb7..a525b5f7a0 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 4d92e8d033..38f207b5db 100644 --- a/docs/d3/d56/decrypt__config_8cc_source.html +++ b/docs/d3/d56/decrypt__config_8cc_source.html @@ -136,7 +136,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 ad146e605a..4f929919b7 100644 --- a/docs/d3/d61/classshaka_1_1media_1_1File.html +++ b/docs/d3/d61/classshaka_1_1media_1_1File.html @@ -811,7 +811,7 @@ class ThreadedIoFile diff --git a/docs/d3/d62/continuity__counter_8h_source.html b/docs/d3/d62/continuity__counter_8h_source.html index 624af6ab37..6989befc3d 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 becf4ca77c..12c3de374e 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 072005474e..c73c788df0 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 3ddf0fd855..8f93c56c60 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 pointer if there was unexpected values in the provided parameters or vi diff --git a/docs/d3/d6b/fixed__key__source_8cc_source.html b/docs/d3/d6b/fixed__key__source_8cc_source.html index 184296d16d..0aca9909cf 100644 --- a/docs/d3/d6b/fixed__key__source_8cc_source.html +++ b/docs/d3/d6b/fixed__key__source_8cc_source.html @@ -247,7 +247,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/d71/classshaka_1_1media_1_1mp2t_1_1TsMuxer.html b/docs/d3/d71/classshaka_1_1media_1_1mp2t_1_1TsMuxer.html index 4d35f29b84..e44b916f5b 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 @@ -222,7 +222,7 @@ std::pair< std::shared_ptr
diff --git a/docs/d3/d72/fixed__key__source_8h_source.html b/docs/d3/d72/fixed__key__source_8h_source.html index 391ef9a869..6fe4aac6e0 100644 --- a/docs/d3/d72/fixed__key__source_8h_source.html +++ b/docs/d3/d72/fixed__key__source_8h_source.html @@ -160,7 +160,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/d73/classshaka_1_1media_1_1webm_1_1WebMMuxer.html b/docs/d3/d73/classshaka_1_1media_1_1webm_1_1WebMMuxer.html index fdab940854..e0b89b040e 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 @@ -226,7 +226,7 @@ std::pair< std::shared_ptr
diff --git a/docs/d3/d75/classshaka_1_1media_1_1AesEncryptor.html b/docs/d3/d75/classshaka_1_1media_1_1AesEncryptor.html index 464d3fa40f..6a02b1ea6f 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 c3c28d2730..a465d05773 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 37ca954651..fca8ea2e03 100644 --- a/docs/d3/d76/muxer__flags_8h_source.html +++ b/docs/d3/d76/muxer__flags_8h_source.html @@ -113,7 +113,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 1b1fc9ff99..ed0dc9f6ff 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 005499c3ac..be61b941b3 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 c3e8dc01dd..010a4828b5 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 pointer if there was unexpected values in the provided parameters or au diff --git a/docs/d3/d80/muxer__util_8h_source.html b/docs/d3/d80/muxer__util_8h_source.html index 04d4a1b600..d4fbf944e0 100644 --- a/docs/d3/d80/muxer__util_8h_source.html +++ b/docs/d3/d80/muxer__util_8h_source.html @@ -129,7 +129,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 a83a68da0b..6305e918cf 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/d87/trick__play__handler_8cc_source.html b/docs/d3/d87/trick__play__handler_8cc_source.html index 5d64f352e9..362305d687 100644 --- a/docs/d3/d87/trick__play__handler_8cc_source.html +++ b/docs/d3/d87/trick__play__handler_8cc_source.html @@ -261,7 +261,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/d8b/structshaka_1_1media_1_1FileCloser.html b/docs/d3/d8b/structshaka_1_1media_1_1FileCloser.html index e0397570e0..2ae43b96e8 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 b10d2d2b35..66a8fb47aa 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 f4133c1968..4ecbb1d5bc 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 c19f9bda19..ebef881140 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/d93/media__handler_8h_source.html b/docs/d3/d93/media__handler_8h_source.html index 36d1110d01..901d534833 100644 --- a/docs/d3/d93/media__handler_8h_source.html +++ b/docs/d3/d93/media__handler_8h_source.html @@ -266,7 +266,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/d9c/encryption__handler_8cc_source.html b/docs/d3/d9c/encryption__handler_8cc_source.html index e4d0a519d9..b5ac00e06a 100644 --- a/docs/d3/d9c/encryption__handler_8cc_source.html +++ b/docs/d3/d9c/encryption__handler_8cc_source.html @@ -617,7 +617,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/da0/ec3__audio__util_8h_source.html b/docs/d3/da0/ec3__audio__util_8h_source.html index 033eeabb82..6cda2e1849 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 af813aca8a..4530c0cba6 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 @@ -297,7 +297,7 @@ uint64_t segment_payload_p 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 2b83f07857..25ae3ff484 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 4b680d1303..205a79f366 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/db3/structshaka_1_1media_1_1EncryptionOptions-members.html b/docs/d3/db3/structshaka_1_1media_1_1EncryptionOptions-members.html index 7a0d0447fa..d29b0be8be 100644 --- a/docs/d3/db3/structshaka_1_1media_1_1EncryptionOptions-members.html +++ b/docs/d3/db3/structshaka_1_1media_1_1EncryptionOptions-members.html @@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); 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 784abe1c74..6949d2186e 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 dcbd6becf9..fe5d65baab 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 6ce614e81c..6736cc8ba9 100644 --- a/docs/d3/db6/webm__parser_8cc_source.html +++ b/docs/d3/db6/webm__parser_8cc_source.html @@ -1069,7 +1069,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 59cd7ae9d4..b557eed420 100644 --- a/docs/d3/dbc/seek__head_8cc_source.html +++ b/docs/d3/dbc/seek__head_8cc_source.html @@ -206,7 +206,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 820b58ade4..d49cd9ebbc 100644 --- a/docs/d3/dbe/demuxer_8cc_source.html +++ b/docs/d3/dbe/demuxer_8cc_source.html @@ -122,305 +122,317 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
33 const size_t kInvalidStreamIndex = static_cast<size_t>(-1);
34 const size_t kBaseVideoOutputStreamIndex = 0x100;
35 const size_t kBaseAudioOutputStreamIndex = 0x200;
-
36 
-
37 std::string GetStreamLabel(size_t stream_index) {
-
38  switch (stream_index) {
-
39  case kBaseVideoOutputStreamIndex:
-
40  return "video";
-
41  case kBaseAudioOutputStreamIndex:
-
42  return "audio";
-
43  default:
-
44  return base::SizeTToString(stream_index);
-
45  }
-
46 }
-
47 
-
48 bool GetStreamIndex(const std::string& stream_label, size_t* stream_index) {
-
49  DCHECK(stream_index);
-
50  if (stream_label == "video") {
-
51  *stream_index = kBaseVideoOutputStreamIndex;
-
52  } else if (stream_label == "audio") {
-
53  *stream_index = kBaseAudioOutputStreamIndex;
-
54  } else {
-
55  // Expect stream_label to be a zero based stream id.
-
56  if (!base::StringToSizeT(stream_label, stream_index)) {
-
57  LOG(ERROR) << "Invalid argument --stream=" << stream_label << "; "
-
58  << "should be 'audio', 'video', or a number";
-
59  return false;
-
60  }
-
61  }
-
62  return true;
-
63 }
-
64 
-
65 }
-
66 
-
67 namespace shaka {
-
68 namespace media {
+
36 const size_t kBaseTextOutputStreamIndex = 0x300;
+
37 
+
38 std::string GetStreamLabel(size_t stream_index) {
+
39  switch (stream_index) {
+
40  case kBaseVideoOutputStreamIndex:
+
41  return "video";
+
42  case kBaseAudioOutputStreamIndex:
+
43  return "audio";
+
44  case kBaseTextOutputStreamIndex:
+
45  return "text";
+
46  default:
+
47  return base::SizeTToString(stream_index);
+
48  }
+
49 }
+
50 
+
51 bool GetStreamIndex(const std::string& stream_label, size_t* stream_index) {
+
52  DCHECK(stream_index);
+
53  if (stream_label == "video") {
+
54  *stream_index = kBaseVideoOutputStreamIndex;
+
55  } else if (stream_label == "audio") {
+
56  *stream_index = kBaseAudioOutputStreamIndex;
+
57  } else if (stream_label == "text") {
+
58  *stream_index = kBaseTextOutputStreamIndex;
+
59  } else {
+
60  // Expect stream_label to be a zero based stream id.
+
61  if (!base::StringToSizeT(stream_label, stream_index)) {
+
62  LOG(ERROR) << "Invalid argument --stream=" << stream_label << "; "
+
63  << "should be 'audio', 'video', 'text', or a number";
+
64  return false;
+
65  }
+
66  }
+
67  return true;
+
68 }
69 
-
70 Demuxer::Demuxer(const std::string& file_name)
-
71  : file_name_(file_name), buffer_(new uint8_t[kBufSize]) {}
-
72 
-
73 Demuxer::~Demuxer() {
-
74  if (media_file_)
-
75  media_file_->Close();
-
76 }
+
70 }
+
71 
+
72 namespace shaka {
+
73 namespace media {
+
74 
+
75 Demuxer::Demuxer(const std::string& file_name)
+
76  : file_name_(file_name), buffer_(new uint8_t[kBufSize]) {}
77 
-
78 void Demuxer::SetKeySource(std::unique_ptr<KeySource> key_source) {
-
79  key_source_ = std::move(key_source);
-
80 }
-
81 
- -
83  LOG(INFO) << "Demuxer::Run() on file '" << file_name_ << "'.";
-
84  Status status = InitializeParser();
-
85  // ParserInitEvent callback is called after a few calls to Parse(), which sets
-
86  // up the streams. Only after that, we can verify the outputs below.
-
87  while (!all_streams_ready_ && status.ok())
-
88  status.Update(Parse());
-
89  // If no output is defined, then return success after receiving all stream
-
90  // info.
-
91  if (all_streams_ready_ && output_handlers().empty())
-
92  return Status::OK;
-
93  // Check if all specified outputs exists.
-
94  for (const auto& pair : output_handlers()) {
-
95  if (std::find(stream_indexes_.begin(), stream_indexes_.end(), pair.first) ==
-
96  stream_indexes_.end()) {
-
97  LOG(ERROR) << "Invalid argument, stream=" << GetStreamLabel(pair.first)
-
98  << " not available.";
-
99  return Status(error::INVALID_ARGUMENT, "Stream not available");
-
100  }
-
101  }
-
102 
-
103  while (!cancelled_ && status.ok())
-
104  status.Update(Parse());
-
105  if (cancelled_ && status.ok())
-
106  return Status(error::CANCELLED, "Demuxer run cancelled");
+
78 Demuxer::~Demuxer() {
+
79  if (media_file_)
+
80  media_file_->Close();
+
81 }
+
82 
+
83 void Demuxer::SetKeySource(std::unique_ptr<KeySource> key_source) {
+
84  key_source_ = std::move(key_source);
+
85 }
+
86 
+ +
88  LOG(INFO) << "Demuxer::Run() on file '" << file_name_ << "'.";
+
89  Status status = InitializeParser();
+
90  // ParserInitEvent callback is called after a few calls to Parse(), which sets
+
91  // up the streams. Only after that, we can verify the outputs below.
+
92  while (!all_streams_ready_ && status.ok())
+
93  status.Update(Parse());
+
94  // If no output is defined, then return success after receiving all stream
+
95  // info.
+
96  if (all_streams_ready_ && output_handlers().empty())
+
97  return Status::OK;
+
98  // Check if all specified outputs exists.
+
99  for (const auto& pair : output_handlers()) {
+
100  if (std::find(stream_indexes_.begin(), stream_indexes_.end(), pair.first) ==
+
101  stream_indexes_.end()) {
+
102  LOG(ERROR) << "Invalid argument, stream=" << GetStreamLabel(pair.first)
+
103  << " not available.";
+
104  return Status(error::INVALID_ARGUMENT, "Stream not available");
+
105  }
+
106  }
107 
-
108  if (status.error_code() == error::END_OF_STREAM) {
-
109  for (size_t stream_index : stream_indexes_) {
-
110  status = FlushDownstream(stream_index);
-
111  if (!status.ok())
-
112  return status;
-
113  }
-
114  return Status::OK;
-
115  }
-
116  return status;
-
117 }
-
118 
- -
120  cancelled_ = true;
-
121 }
-
122 
-
123 Status Demuxer::SetHandler(const std::string& stream_label,
-
124  std::shared_ptr<MediaHandler> handler) {
-
125  size_t stream_index = kInvalidStreamIndex;
-
126  if (!GetStreamIndex(stream_label, &stream_index)) {
-
127  return Status(error::INVALID_ARGUMENT,
-
128  "Invalid stream: " + stream_label);
-
129  }
-
130  return MediaHandler::SetHandler(stream_index, std::move(handler));
-
131 }
-
132 
-
133 void Demuxer::SetLanguageOverride(const std::string& stream_label,
-
134  const std::string& language_override) {
-
135  size_t stream_index = kInvalidStreamIndex;
-
136  if (!GetStreamIndex(stream_label, &stream_index))
-
137  LOG(WARNING) << "Invalid stream for language override " << stream_label;
-
138  language_overrides_[stream_index] = language_override;
-
139 }
-
140 
-
141 Demuxer::QueuedSample::QueuedSample(uint32_t local_track_id,
-
142  std::shared_ptr<MediaSample> local_sample)
-
143  : track_id(local_track_id), sample(local_sample) {}
-
144 
-
145 Demuxer::QueuedSample::~QueuedSample() {}
-
146 
-
147 Status Demuxer::InitializeParser() {
-
148  DCHECK(!media_file_);
-
149  DCHECK(!all_streams_ready_);
-
150 
-
151  LOG(INFO) << "Initialize Demuxer for file '" << file_name_ << "'.";
-
152 
-
153  media_file_ = File::Open(file_name_.c_str(), "r");
-
154  if (!media_file_) {
-
155  return Status(error::FILE_FAILURE,
-
156  "Cannot open file for reading " + file_name_);
-
157  }
-
158 
-
159  // Read enough bytes before detecting the container.
-
160  size_t bytes_read = 0;
-
161  while (bytes_read < kInitBufSize) {
-
162  int64_t read_result =
-
163  media_file_->Read(buffer_.get() + bytes_read, kInitBufSize);
-
164  if (read_result < 0)
-
165  return Status(error::FILE_FAILURE, "Cannot read file " + file_name_);
-
166  if (read_result == 0)
-
167  break;
-
168  bytes_read += read_result;
-
169  }
-
170  container_name_ = DetermineContainer(buffer_.get(), bytes_read);
-
171 
-
172  // Initialize media parser.
-
173  switch (container_name_) {
-
174  case CONTAINER_MOV:
-
175  parser_.reset(new mp4::MP4MediaParser());
-
176  break;
-
177  case CONTAINER_MPEG2TS:
-
178  parser_.reset(new mp2t::Mp2tMediaParser());
-
179  break;
-
180  case CONTAINER_MPEG2PS:
-
181  parser_.reset(new wvm::WvmMediaParser());
-
182  break;
-
183  case CONTAINER_WEBM:
-
184  parser_.reset(new WebMMediaParser());
-
185  break;
-
186  case CONTAINER_WEBVTT:
-
187  parser_.reset(new WebVttMediaParser());
-
188  break;
-
189  default:
-
190  NOTIMPLEMENTED();
-
191  return Status(error::UNIMPLEMENTED, "Container not supported.");
-
192  }
-
193 
-
194  parser_->Init(base::Bind(&Demuxer::ParserInitEvent, base::Unretained(this)),
-
195  base::Bind(&Demuxer::NewSampleEvent, base::Unretained(this)),
-
196  key_source_.get());
-
197 
-
198  // Handle trailing 'moov'.
-
199  if (container_name_ == CONTAINER_MOV)
-
200  static_cast<mp4::MP4MediaParser*>(parser_.get())->LoadMoov(file_name_);
-
201  if (!parser_->Parse(buffer_.get(), bytes_read)) {
-
202  return Status(error::PARSER_FAILURE,
-
203  "Cannot parse media file " + file_name_);
-
204  }
-
205  return Status::OK;
-
206 }
-
207 
-
208 void Demuxer::ParserInitEvent(
-
209  const std::vector<std::shared_ptr<StreamInfo>>& stream_infos) {
-
210  if (dump_stream_info_) {
-
211  printf("\nFile \"%s\":\n", file_name_.c_str());
-
212  printf("Found %zu stream(s).\n", stream_infos.size());
-
213  for (size_t i = 0; i < stream_infos.size(); ++i)
-
214  printf("Stream [%zu] %s\n", i, stream_infos[i]->ToString().c_str());
-
215  }
-
216 
-
217  int base_stream_index = 0;
-
218  bool video_handler_set =
-
219  output_handlers().find(kBaseVideoOutputStreamIndex) !=
-
220  output_handlers().end();
-
221  bool audio_handler_set =
-
222  output_handlers().find(kBaseAudioOutputStreamIndex) !=
-
223  output_handlers().end();
-
224  for (const std::shared_ptr<StreamInfo>& stream_info : stream_infos) {
-
225  size_t stream_index = base_stream_index;
-
226  if (video_handler_set && stream_info->stream_type() == kStreamVideo) {
-
227  stream_index = kBaseVideoOutputStreamIndex;
-
228  // Only for the first video stream.
-
229  video_handler_set = false;
-
230  }
-
231  if (audio_handler_set && stream_info->stream_type() == kStreamAudio) {
-
232  stream_index = kBaseAudioOutputStreamIndex;
-
233  // Only for the first audio stream.
-
234  audio_handler_set = false;
-
235  }
-
236 
-
237  const bool handler_set =
-
238  output_handlers().find(stream_index) != output_handlers().end();
-
239  if (handler_set) {
-
240  track_id_to_stream_index_map_[stream_info->track_id()] = stream_index;
-
241  stream_indexes_.push_back(stream_index);
-
242  auto iter = language_overrides_.find(stream_index);
-
243  if (iter != language_overrides_.end() &&
-
244  stream_info->stream_type() != kStreamVideo) {
-
245  stream_info->set_language(iter->second);
-
246  }
-
247  DispatchStreamInfo(stream_index, stream_info);
-
248  } else {
-
249  track_id_to_stream_index_map_[stream_info->track_id()] =
-
250  kInvalidStreamIndex;
-
251  }
-
252  ++base_stream_index;
-
253  }
-
254  all_streams_ready_ = true;
-
255 }
-
256 
-
257 bool Demuxer::NewSampleEvent(uint32_t track_id,
-
258  const std::shared_ptr<MediaSample>& sample) {
-
259  if (!all_streams_ready_) {
-
260  if (queued_samples_.size() >= kQueuedSamplesLimit) {
-
261  LOG(ERROR) << "Queued samples limit reached: " << kQueuedSamplesLimit;
-
262  return false;
+
108  while (!cancelled_ && status.ok())
+
109  status.Update(Parse());
+
110  if (cancelled_ && status.ok())
+
111  return Status(error::CANCELLED, "Demuxer run cancelled");
+
112 
+
113  if (status.error_code() == error::END_OF_STREAM) {
+
114  for (size_t stream_index : stream_indexes_) {
+
115  status = FlushDownstream(stream_index);
+
116  if (!status.ok())
+
117  return status;
+
118  }
+
119  return Status::OK;
+
120  }
+
121  return status;
+
122 }
+
123 
+ +
125  cancelled_ = true;
+
126 }
+
127 
+
128 Status Demuxer::SetHandler(const std::string& stream_label,
+
129  std::shared_ptr<MediaHandler> handler) {
+
130  size_t stream_index = kInvalidStreamIndex;
+
131  if (!GetStreamIndex(stream_label, &stream_index)) {
+
132  return Status(error::INVALID_ARGUMENT,
+
133  "Invalid stream: " + stream_label);
+
134  }
+
135  return MediaHandler::SetHandler(stream_index, std::move(handler));
+
136 }
+
137 
+
138 void Demuxer::SetLanguageOverride(const std::string& stream_label,
+
139  const std::string& language_override) {
+
140  size_t stream_index = kInvalidStreamIndex;
+
141  if (!GetStreamIndex(stream_label, &stream_index))
+
142  LOG(WARNING) << "Invalid stream for language override " << stream_label;
+
143  language_overrides_[stream_index] = language_override;
+
144 }
+
145 
+
146 Demuxer::QueuedSample::QueuedSample(uint32_t local_track_id,
+
147  std::shared_ptr<MediaSample> local_sample)
+
148  : track_id(local_track_id), sample(local_sample) {}
+
149 
+
150 Demuxer::QueuedSample::~QueuedSample() {}
+
151 
+
152 Status Demuxer::InitializeParser() {
+
153  DCHECK(!media_file_);
+
154  DCHECK(!all_streams_ready_);
+
155 
+
156  LOG(INFO) << "Initialize Demuxer for file '" << file_name_ << "'.";
+
157 
+
158  media_file_ = File::Open(file_name_.c_str(), "r");
+
159  if (!media_file_) {
+
160  return Status(error::FILE_FAILURE,
+
161  "Cannot open file for reading " + file_name_);
+
162  }
+
163 
+
164  // Read enough bytes before detecting the container.
+
165  size_t bytes_read = 0;
+
166  while (bytes_read < kInitBufSize) {
+
167  int64_t read_result =
+
168  media_file_->Read(buffer_.get() + bytes_read, kInitBufSize);
+
169  if (read_result < 0)
+
170  return Status(error::FILE_FAILURE, "Cannot read file " + file_name_);
+
171  if (read_result == 0)
+
172  break;
+
173  bytes_read += read_result;
+
174  }
+
175  container_name_ = DetermineContainer(buffer_.get(), bytes_read);
+
176 
+
177  // Initialize media parser.
+
178  switch (container_name_) {
+
179  case CONTAINER_MOV:
+
180  parser_.reset(new mp4::MP4MediaParser());
+
181  break;
+
182  case CONTAINER_MPEG2TS:
+
183  parser_.reset(new mp2t::Mp2tMediaParser());
+
184  break;
+
185  case CONTAINER_MPEG2PS:
+
186  parser_.reset(new wvm::WvmMediaParser());
+
187  break;
+
188  case CONTAINER_WEBM:
+
189  parser_.reset(new WebMMediaParser());
+
190  break;
+
191  case CONTAINER_WEBVTT:
+
192  parser_.reset(new WebVttMediaParser());
+
193  break;
+
194  default:
+
195  NOTIMPLEMENTED();
+
196  return Status(error::UNIMPLEMENTED, "Container not supported.");
+
197  }
+
198 
+
199  parser_->Init(base::Bind(&Demuxer::ParserInitEvent, base::Unretained(this)),
+
200  base::Bind(&Demuxer::NewSampleEvent, base::Unretained(this)),
+
201  key_source_.get());
+
202 
+
203  // Handle trailing 'moov'.
+
204  if (container_name_ == CONTAINER_MOV)
+
205  static_cast<mp4::MP4MediaParser*>(parser_.get())->LoadMoov(file_name_);
+
206  if (!parser_->Parse(buffer_.get(), bytes_read)) {
+
207  return Status(error::PARSER_FAILURE,
+
208  "Cannot parse media file " + file_name_);
+
209  }
+
210  return Status::OK;
+
211 }
+
212 
+
213 void Demuxer::ParserInitEvent(
+
214  const std::vector<std::shared_ptr<StreamInfo>>& stream_infos) {
+
215  if (dump_stream_info_) {
+
216  printf("\nFile \"%s\":\n", file_name_.c_str());
+
217  printf("Found %zu stream(s).\n", stream_infos.size());
+
218  for (size_t i = 0; i < stream_infos.size(); ++i)
+
219  printf("Stream [%zu] %s\n", i, stream_infos[i]->ToString().c_str());
+
220  }
+
221 
+
222  int base_stream_index = 0;
+
223  bool video_handler_set =
+
224  output_handlers().find(kBaseVideoOutputStreamIndex) !=
+
225  output_handlers().end();
+
226  bool audio_handler_set =
+
227  output_handlers().find(kBaseAudioOutputStreamIndex) !=
+
228  output_handlers().end();
+
229  bool text_handler_set =
+
230  output_handlers().find(kBaseTextOutputStreamIndex) !=
+
231  output_handlers().end();
+
232  for (const std::shared_ptr<StreamInfo>& stream_info : stream_infos) {
+
233  size_t stream_index = base_stream_index;
+
234  if (video_handler_set && stream_info->stream_type() == kStreamVideo) {
+
235  stream_index = kBaseVideoOutputStreamIndex;
+
236  // Only for the first video stream.
+
237  video_handler_set = false;
+
238  }
+
239  if (audio_handler_set && stream_info->stream_type() == kStreamAudio) {
+
240  stream_index = kBaseAudioOutputStreamIndex;
+
241  // Only for the first audio stream.
+
242  audio_handler_set = false;
+
243  }
+
244  if (text_handler_set && stream_info->stream_type() == kStreamText) {
+
245  stream_index = kBaseTextOutputStreamIndex;
+
246  text_handler_set = false;
+
247  }
+
248 
+
249  const bool handler_set =
+
250  output_handlers().find(stream_index) != output_handlers().end();
+
251  if (handler_set) {
+
252  track_id_to_stream_index_map_[stream_info->track_id()] = stream_index;
+
253  stream_indexes_.push_back(stream_index);
+
254  auto iter = language_overrides_.find(stream_index);
+
255  if (iter != language_overrides_.end() &&
+
256  stream_info->stream_type() != kStreamVideo) {
+
257  stream_info->set_language(iter->second);
+
258  }
+
259  DispatchStreamInfo(stream_index, stream_info);
+
260  } else {
+
261  track_id_to_stream_index_map_[stream_info->track_id()] =
+
262  kInvalidStreamIndex;
263  }
-
264  queued_samples_.push_back(QueuedSample(track_id, sample));
-
265  return true;
-
266  }
-
267  while (!queued_samples_.empty()) {
-
268  if (!PushSample(queued_samples_.front().track_id,
-
269  queued_samples_.front().sample)) {
-
270  return false;
-
271  }
-
272  queued_samples_.pop_front();
-
273  }
-
274  return PushSample(track_id, sample);
-
275 }
-
276 
-
277 bool Demuxer::PushSample(uint32_t track_id,
-
278  const std::shared_ptr<MediaSample>& sample) {
-
279  auto stream_index_iter = track_id_to_stream_index_map_.find(track_id);
-
280  if (stream_index_iter == track_id_to_stream_index_map_.end()) {
-
281  LOG(ERROR) << "Track " << track_id << " not found.";
-
282  return false;
-
283  }
-
284  if (stream_index_iter->second == kInvalidStreamIndex)
-
285  return true;
-
286  Status status = DispatchMediaSample(stream_index_iter->second, sample);
-
287  if (!status.ok()) {
-
288  LOG(ERROR) << "Failed to process sample " << stream_index_iter->second
-
289  << " " << status;
-
290  }
-
291  return status.ok();
-
292 }
-
293 
-
294 Status Demuxer::Parse() {
-
295  DCHECK(media_file_);
-
296  DCHECK(parser_);
-
297  DCHECK(buffer_);
-
298 
-
299  int64_t bytes_read = media_file_->Read(buffer_.get(), kBufSize);
-
300  if (bytes_read == 0) {
-
301  if (!parser_->Flush())
-
302  return Status(error::PARSER_FAILURE, "Failed to flush.");
-
303  return Status(error::END_OF_STREAM, "");
-
304  } else if (bytes_read < 0) {
-
305  return Status(error::FILE_FAILURE, "Cannot read file " + file_name_);
-
306  }
-
307 
-
308  return parser_->Parse(buffer_.get(), bytes_read)
-
309  ? Status::OK
-
310  : Status(error::PARSER_FAILURE,
-
311  "Cannot parse media file " + file_name_);
-
312 }
-
313 
-
314 } // namespace media
-
315 } // namespace shaka
+
264  ++base_stream_index;
+
265  }
+
266  all_streams_ready_ = true;
+
267 }
+
268 
+
269 bool Demuxer::NewSampleEvent(uint32_t track_id,
+
270  const std::shared_ptr<MediaSample>& sample) {
+
271  if (!all_streams_ready_) {
+
272  if (queued_samples_.size() >= kQueuedSamplesLimit) {
+
273  LOG(ERROR) << "Queued samples limit reached: " << kQueuedSamplesLimit;
+
274  return false;
+
275  }
+
276  queued_samples_.push_back(QueuedSample(track_id, sample));
+
277  return true;
+
278  }
+
279  while (!queued_samples_.empty()) {
+
280  if (!PushSample(queued_samples_.front().track_id,
+
281  queued_samples_.front().sample)) {
+
282  return false;
+
283  }
+
284  queued_samples_.pop_front();
+
285  }
+
286  return PushSample(track_id, sample);
+
287 }
+
288 
+
289 bool Demuxer::PushSample(uint32_t track_id,
+
290  const std::shared_ptr<MediaSample>& sample) {
+
291  auto stream_index_iter = track_id_to_stream_index_map_.find(track_id);
+
292  if (stream_index_iter == track_id_to_stream_index_map_.end()) {
+
293  LOG(ERROR) << "Track " << track_id << " not found.";
+
294  return false;
+
295  }
+
296  if (stream_index_iter->second == kInvalidStreamIndex)
+
297  return true;
+
298  Status status = DispatchMediaSample(stream_index_iter->second, sample);
+
299  if (!status.ok()) {
+
300  LOG(ERROR) << "Failed to process sample " << stream_index_iter->second
+
301  << " " << status;
+
302  }
+
303  return status.ok();
+
304 }
+
305 
+
306 Status Demuxer::Parse() {
+
307  DCHECK(media_file_);
+
308  DCHECK(parser_);
+
309  DCHECK(buffer_);
+
310 
+
311  int64_t bytes_read = media_file_->Read(buffer_.get(), kBufSize);
+
312  if (bytes_read == 0) {
+
313  if (!parser_->Flush())
+
314  return Status(error::PARSER_FAILURE, "Failed to flush.");
+
315  return Status(error::END_OF_STREAM, "");
+
316  } else if (bytes_read < 0) {
+
317  return Status(error::FILE_FAILURE, "Cannot read file " + file_name_);
+
318  }
+
319 
+
320  return parser_->Parse(buffer_.get(), bytes_read)
+
321  ? Status::OK
+
322  : Status(error::PARSER_FAILURE,
+
323  "Cannot parse media file " + file_name_);
+
324 }
+
325 
+
326 } // namespace media
+
327 } // namespace shaka
virtual bool Open()=0
Internal open. Should not be used directly.
Status DispatchMediaSample(size_t stream_index, std::shared_ptr< MediaSample > media_sample)
Dispatch the media sample to downstream handlers.
-
Status SetHandler(const std::string &stream_label, std::shared_ptr< MediaHandler > handler)
Definition: demuxer.cc:123
- +
Status SetHandler(const std::string &stream_label, std::shared_ptr< MediaHandler > handler)
Definition: demuxer.cc:128
+
virtual bool Close()=0
-
void SetLanguageOverride(const std::string &stream_label, const std::string &language_override)
Definition: demuxer.cc:133
- +
void SetLanguageOverride(const std::string &stream_label, const std::string &language_override)
Definition: demuxer.cc:138
+
void Update(const Status &new_status)
Definition: status.h:130
Status DispatchStreamInfo(size_t stream_index, std::shared_ptr< StreamInfo > stream_info)
Dispatch the stream info to downstream handlers.
-
void SetKeySource(std::unique_ptr< KeySource > key_source)
Definition: demuxer.cc:78
+
void SetKeySource(std::unique_ptr< KeySource > key_source)
Definition: demuxer.cc:83
virtual int64_t Read(void *buffer, uint64_t length)=0
Status FlushDownstream(size_t output_stream_index)
Flush the downstream connected at the specified output stream index.
-
Demuxer(const std::string &file_name)
Definition: demuxer.cc:70
+
Demuxer(const std::string &file_name)
Definition: demuxer.cc:75
Status SetHandler(size_t output_stream_index, std::shared_ptr< MediaHandler > handler)
Connect downstream handler at the specified output stream index.
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 70179954c0..f93391bf58 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 26ed22167d..7abc32bfe0 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 @@ -257,7 +257,7 @@ std::shared_ptr< diff --git a/docs/d3/dd0/classshaka_1_1MpdNotifier.html b/docs/d3/dd0/classshaka_1_1MpdNotifier.html index 03ca7f0185..3a9c79633c 100644 --- a/docs/d3/dd0/classshaka_1_1MpdNotifier.html +++ b/docs/d3/dd0/classshaka_1_1MpdNotifier.html @@ -500,7 +500,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 6fa5c976de..1bdba1b45e 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 569ef7c80a..96f2ff20a3 100644 --- a/docs/d3/de4/seek__head_8h_source.html +++ b/docs/d3/de4/seek__head_8h_source.html @@ -153,7 +153,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 cca400b9ef..d5bae7529f 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 3643af48d0..6bd80741b6 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 2bf054abef..f23d424809 100644 --- a/docs/d3/df1/box__reader_8cc_source.html +++ b/docs/d3/df1/box__reader_8cc_source.html @@ -259,7 +259,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 d8eec3c833..4be9eb2897 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 2ca1e89422..57defed5c0 100644 --- a/docs/d4/d00/mp4_2multi__segment__segmenter_8cc_source.html +++ b/docs/d4/d00/mp4_2multi__segment__segmenter_8cc_source.html @@ -305,7 +305,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 bcadc72491..965edbe324 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 5a66b95e2d..de8bef7ae1 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 91adb2a34e..031b2bdc1b 100644 --- a/docs/d4/d14/classshaka_1_1media_1_1WebVttMediaParser-members.html +++ b/docs/d4/d14/classshaka_1_1media_1_1WebVttMediaParser-members.html @@ -106,7 +106,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 e601b9c0ea..c9c6dede8b 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 83bd13c8c1..9387146b03 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 d5399ae496..2d686491ea 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 94b8d5a1ff..297fdf91a9 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 5564cb8053..db66156cce 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 b22b347647..670fd3422c 100644 --- a/docs/d4/d37/io__cache_8cc_source.html +++ b/docs/d4/d37/io__cache_8cc_source.html @@ -246,7 +246,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/d3a/structshaka_1_1media_1_1H264Sps-members.html b/docs/d4/d3a/structshaka_1_1media_1_1H264Sps-members.html index 28907725a1..847c4d5323 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/d43/classshaka_1_1media_1_1ChunkingHandler.html b/docs/d4/d43/classshaka_1_1media_1_1ChunkingHandler.html index 1f9adfd181..b89a4f009d 100644 --- a/docs/d4/d43/classshaka_1_1media_1_1ChunkingHandler.html +++ b/docs/d4/d43/classshaka_1_1media_1_1ChunkingHandler.html @@ -264,7 +264,7 @@ class ChunkingHandlerTest< 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 ed95ae78f7..c07fa6ceaf 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 e94eed9a55..93277bc4d5 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 2905ea88b2..9ec3560874 100644 --- a/docs/d4/d58/classshaka_1_1media_1_1Nalu-members.html +++ b/docs/d4/d58/classshaka_1_1media_1_1Nalu-members.html @@ -159,7 +159,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 647ff2898d..5b99632a8b 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 ea66194089..1fe308cf14 100644 --- a/docs/d4/d5c/classshaka_1_1media_1_1DecryptConfig-members.html +++ b/docs/d4/d5c/classshaka_1_1media_1_1DecryptConfig-members.html @@ -108,7 +108,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 7298f2abe9..5ae4c46418 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 66cd2740be..23ef59da39 100644 --- a/docs/d4/d70/classshaka_1_1DashIopMpdNotifier.html +++ b/docs/d4/d70/classshaka_1_1DashIopMpdNotifier.html @@ -475,7 +475,7 @@ class DashIopMpdNotifierTe diff --git a/docs/d4/d70/structshaka_1_1SegmentInfo-members.html b/docs/d4/d70/structshaka_1_1SegmentInfo-members.html index 2a92bc8a12..5a128d8992 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/d83/cue_8cc_source.html b/docs/d4/d83/cue_8cc_source.html index 0458ee84a2..c6edf51166 100644 --- a/docs/d4/d83/cue_8cc_source.html +++ b/docs/d4/d83/cue_8cc_source.html @@ -102,7 +102,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 c19f55b8b1..60b877da02 100644 --- a/docs/d4/d87/nalu__reader_8h_source.html +++ b/docs/d4/d87/nalu__reader_8h_source.html @@ -302,7 +302,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 57f35289c0..c18c680907 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 0c80c4e90d..b863c68132 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/d8e/classshaka_1_1media_1_1UdpOptions.html b/docs/d4/d8e/classshaka_1_1media_1_1UdpOptions.html index de94da8bf9..4d44405070 100644 --- a/docs/d4/d8e/classshaka_1_1media_1_1UdpOptions.html +++ b/docs/d4/d8e/classshaka_1_1media_1_1UdpOptions.html @@ -170,7 +170,7 @@ Static Public Member Functions diff --git a/docs/d4/d9b/classshaka_1_1media_1_1MediaHandlerTestBase.html b/docs/d4/d9b/classshaka_1_1media_1_1MediaHandlerTestBase.html index c23f6676f8..e0636b5cbd 100644 --- a/docs/d4/d9b/classshaka_1_1media_1_1MediaHandlerTestBase.html +++ b/docs/d4/d9b/classshaka_1_1media_1_1MediaHandlerTestBase.html @@ -374,7 +374,7 @@ void  diff --git a/docs/d4/da6/classshaka_1_1media_1_1PlayReadyKeySource.html b/docs/d4/da6/classshaka_1_1media_1_1PlayReadyKeySource.html index 3dffc88db1..2ad442e201 100644 --- a/docs/d4/da6/classshaka_1_1media_1_1PlayReadyKeySource.html +++ b/docs/d4/da6/classshaka_1_1media_1_1PlayReadyKeySource.html @@ -556,7 +556,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 a566c23f35..96e60ed24a 100644 --- a/docs/d4/da7/segmenter__test__base_8cc_source.html +++ b/docs/d4/da7/segmenter__test__base_8cc_source.html @@ -291,7 +291,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 5e4cdde4d3..9ec4c48145 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 308a7b0a25..d73e3f2ebe 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 b183d24982..cd0a0ee92f 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 788d3b6942..4d0b5f8ce4 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 192a630ddc..8829081680 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 20c0ff7a58..5f47a46744 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 e99e173f9c..b29967bbd4 100644 --- a/docs/d4/dd3/bit__reader_8h_source.html +++ b/docs/d4/dd3/bit__reader_8h_source.html @@ -186,7 +186,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 0afebf216e..0daa56a1e2 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 fe4d83a502..e038fb77ad 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 19dba6216f..83dc8bedbf 100644 --- a/docs/d4/dde/webvtt__util_8h_source.html +++ b/docs/d4/dde/webvtt__util_8h_source.html @@ -124,7 +124,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/de3/structshaka_1_1media_1_1mp4_1_1DataReference.html b/docs/d4/de3/structshaka_1_1media_1_1mp4_1_1DataReference.html index f4c0823029..6bf83ab922 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 41017942f3..2fa99beac0 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 eb401a6279..06b0c03407 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 29dbcde441..2cfe13477e 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 9754a66f66..b3b3297a09 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/df5/webvtt__sample__converter_8cc_source.html b/docs/d4/df5/webvtt__sample__converter_8cc_source.html index dd98fbc34d..2c4088b8eb 100644 --- a/docs/d4/df5/webvtt__sample__converter_8cc_source.html +++ b/docs/d4/df5/webvtt__sample__converter_8cc_source.html @@ -416,7 +416,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 85e04ed14f..7cf6bee2d9 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 66aeaf43e3..cd02d4db6c 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 a6416636c2..ea9d6980c2 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 1166c3f0ac..04e53c4032 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 3ad14651af..da883460f3 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 437d5a96cd..1d621679a5 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 a759b6412d..29e3ef9705 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 619fae538a..1468704710 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 522b0c97ad..e199a7b46b 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 d8a9df69c2..c09ad82a23 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 118514148b..178dbbe2b7 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 0a7ddc4a09..914afc96bc 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 85825992fb..1da3c44c1e 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 9f35b50160..86c40f006e 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 464ef2f976..e04ec6720b 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 2ae68c6642..521a835040 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 845c03fd00..878905fd48 100644 --- a/docs/d5/d40/webm_2single__segment__segmenter_8h_source.html +++ b/docs/d5/d40/webm_2single__segment__segmenter_8h_source.html @@ -162,7 +162,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 53fa15268f..e24523964a 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 292738ebce..998cb3b1e0 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 5da1aabab1..7b28e2e057 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 86309f37fe..a7ed7509f6 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 16a256c3e9..1c082f7d66 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 5d005a8fe4..370c99a080 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 2881715176..bec5a471ed 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 4b168e280a..b5ad4be427 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 5c24a998a2..666ea17e55 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 afa7a0aa3f..96fe8b62d3 100644 --- a/docs/d5/d66/classshaka_1_1media_1_1NalUnitToByteStreamConverter.html +++ b/docs/d5/d66/classshaka_1_1media_1_1NalUnitToByteStreamConverter.html @@ -298,7 +298,7 @@ class NalUnitToByteStreamC diff --git a/docs/d5/d6f/vlog__flags_8cc_source.html b/docs/d5/d6f/vlog__flags_8cc_source.html index d702f8c05c..10aa1a1d12 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 638f094377..36048501f4 100644 --- a/docs/d5/d72/avc__decoder__configuration__record_8cc_source.html +++ b/docs/d5/d72/avc__decoder__configuration__record_8cc_source.html @@ -202,7 +202,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/d72/structshaka_1_1media_1_1TrickPlayOptions.html b/docs/d5/d72/structshaka_1_1media_1_1TrickPlayOptions.html index 568889df27..630eb5b2f4 100644 --- a/docs/d5/d72/structshaka_1_1media_1_1TrickPlayOptions.html +++ b/docs/d5/d72/structshaka_1_1media_1_1TrickPlayOptions.html @@ -124,7 +124,7 @@ Public Attributes diff --git a/docs/d5/d7b/box__definitions_8h_source.html b/docs/d5/d7b/box__definitions_8h_source.html index c3cea0a70e..da272cbdcf 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 46ba241788..8d37f3408c 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 90b9f02063..fc00f6be0f 100644 --- a/docs/d5/d89/widevine__key__source_8cc_source.html +++ b/docs/d5/d89/widevine__key__source_8cc_source.html @@ -695,7 +695,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/d8c/structshaka_1_1media_1_1mp4_1_1CompositionOffset.html b/docs/d5/d8c/structshaka_1_1media_1_1mp4_1_1CompositionOffset.html index 59f98b6612..0c41d9a1da 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 71096fddbd..a1413467b3 100644 --- a/docs/d5/d8f/webm__cluster__parser_8cc_source.html +++ b/docs/d5/d8f/webm__cluster__parser_8cc_source.html @@ -727,7 +727,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 693ef7d370..e0b72a321e 100644 --- a/docs/d5/d91/es__parser__adts_8cc_source.html +++ b/docs/d5/d91/es__parser__adts_8cc_source.html @@ -364,7 +364,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 f4e82c9d26..109a19c10e 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 9758015911..ab1a220cc1 100644 --- a/docs/d5/d98/encryptor_8cc_source.html +++ b/docs/d5/d98/encryptor_8cc_source.html @@ -206,7 +206,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 08bc2ac5d0..3f09edf273 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 58003cf4ee..1b7055d97e 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 4715070ddb..7c4ad0302e 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 7e40f92d10..7f0a104eb9 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 89a7921305..6bccf78f01 100644 --- a/docs/d5/db1/classshaka_1_1media_1_1StreamInfo.html +++ b/docs/d5/db1/classshaka_1_1media_1_1StreamInfo.html @@ -237,7 +237,7 @@ void set_encryption_config 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 d3fa4fbe2f..4dc74cbff3 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 aee65322fe..ad43d6f6a5 100644 --- a/docs/d5/dba/ts__packet_8cc_source.html +++ b/docs/d5/dba/ts__packet_8cc_source.html @@ -307,7 +307,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 c6e77dc79f..f3b53a6e65 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 dc4b2851bf..52694bbf20 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 c1bf13bd5c..dece75d576 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 a5f8f9dce5..8049fab8cc 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 4864a085df..dcc373881a 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 145190411f..d589dd9681 100644 --- a/docs/d5/de0/bit__reader_8cc_source.html +++ b/docs/d5/de0/bit__reader_8cc_source.html @@ -197,7 +197,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 1259ef057d..17f37f9f3c 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 @@ -271,7 +271,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 73f3e2935a..ae19fb23b5 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 1b75e57c14..bac8d00d1d 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 addfe829a7..7fc3118b47 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 3dcd80c1d8..2468d58cf9 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 16ad98e648..cf97f712e6 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 dfda12c204..599a9a0780 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 76011225a6..345a7bb66a 100644 --- a/docs/d5/dfc/file_8cc_source.html +++ b/docs/d5/dfc/file_8cc_source.html @@ -376,7 +376,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d02/playready__key__encryption__flags_8h_source.html b/docs/d6/d02/playready__key__encryption__flags_8h_source.html index bf9f5ea7a9..6f19313b4e 100644 --- a/docs/d6/d02/playready__key__encryption__flags_8h_source.html +++ b/docs/d6/d02/playready__key__encryption__flags_8h_source.html @@ -121,7 +121,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d03/classshaka_1_1media_1_1AesCbcDecryptor-members.html b/docs/d6/d03/classshaka_1_1media_1_1AesCbcDecryptor-members.html index cd36262b09..f3a9002cc1 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 d77a6cc0ce..d1c399024e 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 60d38de1e6..f1bdbc2812 100644 --- a/docs/d6/d16/text__stream__info_8cc_source.html +++ b/docs/d6/d16/text__stream__info_8cc_source.html @@ -125,7 +125,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 06e51adcef..fd76b3fadc 100644 --- a/docs/d6/d17/es__parser__h264_8cc_source.html +++ b/docs/d6/d17/es__parser__h264_8cc_source.html @@ -263,7 +263,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 e4c2ba0a40..0e62644667 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 2062dd5c07..3d2b875204 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 171139ebc5..133adf3cc6 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 b429699c5f..063e4ff63a 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 7eba703416..0d202868d6 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 384b8fb9d2..8242cd5b1e 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 754247fbc0..fe76f62166 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/d4c/classshaka_1_1media_1_1EncryptionHandler.html b/docs/d6/d4c/classshaka_1_1media_1_1EncryptionHandler.html index f595234544..c23e78cc26 100644 --- a/docs/d6/d4c/classshaka_1_1media_1_1EncryptionHandler.html +++ b/docs/d6/d4c/classshaka_1_1media_1_1EncryptionHandler.html @@ -255,7 +255,7 @@ class EncryptionHandlerTes 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 bcbbf8ab32..f9335f3bad 100644 --- a/docs/d6/d4e/webm_2multi__segment__segmenter_8cc_source.html +++ b/docs/d6/d4e/webm_2multi__segment__segmenter_8cc_source.html @@ -182,7 +182,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 d737afc9b3..ebd0baaee7 100644 --- a/docs/d6/d55/aes__cryptor_8cc_source.html +++ b/docs/d6/d55/aes__cryptor_8cc_source.html @@ -227,7 +227,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 4fb252c100..6a79ff79ff 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 cf3a4874d4..51a2a9aa25 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 9d0b1e1419..68c102e3b2 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/d6a/cue_8h_source.html b/docs/d6/d6a/cue_8h_source.html index 24f1bbb502..fcf5a98240 100644 --- a/docs/d6/d6a/cue_8h_source.html +++ b/docs/d6/d6a/cue_8h_source.html @@ -126,7 +126,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 394be74df7..42af472a16 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 202dbac670..8b0ffca90b 100644 --- a/docs/d6/d6e/ts__section__pes_8cc_source.html +++ b/docs/d6/d6e/ts__section__pes_8cc_source.html @@ -407,7 +407,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 cd172a9c71..f018926c20 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 adf31630d0..acd3fab41a 100644 --- a/docs/d6/d77/dash__iop__mpd__notifier_8h_source.html +++ b/docs/d6/d77/dash__iop__mpd__notifier_8h_source.html @@ -206,7 +206,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 dc194532a0..8320beb37e 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 c07e861163..21a57a7448 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 8ab4d3a483..497913f478 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/d82/structshaka_1_1media_1_1EncryptionOptions.html b/docs/d6/d82/structshaka_1_1media_1_1EncryptionOptions.html index dfa72b1595..effff72d9a 100644 --- a/docs/d6/d82/structshaka_1_1media_1_1EncryptionOptions.html +++ b/docs/d6/d82/structshaka_1_1media_1_1EncryptionOptions.html @@ -189,7 +189,7 @@ FourCC  diff --git a/docs/d6/d86/bandwidth__estimator_8cc_source.html b/docs/d6/d86/bandwidth__estimator_8cc_source.html index f7156d0653..d14cc87885 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 f1029de31c..931f34a7c9 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 cc12c7a1fe..4f193b6643 100644 --- a/docs/d6/d8f/classshaka_1_1xml_1_1RepresentationBaseXmlNode-members.html +++ b/docs/d6/d8f/classshaka_1_1xml_1_1RepresentationBaseXmlNode-members.html @@ -112,7 +112,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 5a126bfd03..65dc458ea3 100644 --- a/docs/d6/d9b/h264__parser_8h_source.html +++ b/docs/d6/d9b/h264__parser_8h_source.html @@ -443,7 +443,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 4d3a872752..06f084fff3 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 36a5598cb3..1465127ed2 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 32fd212a22..3e57e1dd77 100644 --- a/docs/d6/da3/mpd__builder_8h_source.html +++ b/docs/d6/da3/mpd__builder_8h_source.html @@ -480,49 +480,49 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
562 } // namespace shaka
563 
564 #endif // MPD_BASE_MPD_BUILDER_H_
-
void OnSetFrameRateForRepresentation(uint32_t representation_id, uint32_t frame_duration, uint32_t timescale)
Definition: mpd_builder.cc:883
+
void OnSetFrameRateForRepresentation(uint32_t representation_id, uint32_t frame_duration, uint32_t timescale)
Definition: mpd_builder.cc:885
RepresentationType in MPD.
Definition: xml_node.h:134
-
virtual void AddNewSegment(uint64_t start_time, uint64_t duration, uint64_t size)
+
virtual void AddNewSegment(uint64_t start_time, uint64_t duration, uint64_t size)
virtual void OnSetFrameRateForRepresentation(uint32_t frame_duration, uint32_t timescale)=0
- +
bool WriteMpdToFile(media::File *output_file)
Definition: mpd_builder.cc:422
-
Representation(const MediaInfo &media_info, const MpdOptions &mpd_options, uint32_t representation_id, std::unique_ptr< RepresentationStateChangeListener > state_change_listener)
+
Representation(const MediaInfo &media_info, const MpdOptions &mpd_options, uint32_t representation_id, std::unique_ptr< RepresentationStateChangeListener > state_change_listener)
-
virtual void SetSampleDuration(uint32_t sample_duration)
+
virtual void SetSampleDuration(uint32_t sample_duration)
virtual Representation * AddRepresentation(const MediaInfo &media_info)
Definition: mpd_builder.cc:701
This class generates DASH MPDs (Media Presentation Descriptions).
Definition: mpd_builder.h:57
uint32_t id() const
Definition: mpd_builder.h:487
Define an abstract file interface.
Definition: file.h:24
-
virtual void AddContentProtectionElement(const ContentProtectionElement &element)
Definition: mpd_builder.cc:745
+
virtual void AddContentProtectionElement(const ContentProtectionElement &element)
Definition: mpd_builder.cc:747
MpdBuilder(const MpdOptions &mpd_options)
Definition: mpd_builder.cc:399
-
virtual void AddRole(Role role)
Definition: mpd_builder.cc:757
+
virtual void AddRole(Role role)
Definition: mpd_builder.cc:759
void AddBaseUrl(const std::string &base_url)
Definition: mpd_builder.cc:404
-
virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
Definition: mpd_builder.cc:751
+
virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
Definition: mpd_builder.cc:753
AdaptationSet(uint32_t adaptation_set_id, const std::string &lang, const MpdOptions &mpd_options, base::AtomicSequenceNumber *representation_counter)
Definition: mpd_builder.cc:686
-
xml::scoped_xml_ptr< xmlNode > GetXml()
+
xml::scoped_xml_ptr< xmlNode > GetXml()
virtual bool ToString(std::string *output)
Definition: mpd_builder.cc:427
-
void AddAdaptationSetSwitching(uint32_t adaptation_set_id)
Definition: mpd_builder.cc:861
+
void AddAdaptationSetSwitching(uint32_t adaptation_set_id)
Definition: mpd_builder.cc:863
const std::vector< uint32_t > & adaptation_set_switching_ids() const
Definition: mpd_builder.h:232
-
virtual void ForceSetSegmentAlignment(bool segment_alignment)
Definition: mpd_builder.cc:855
+
virtual void ForceSetSegmentAlignment(bool segment_alignment)
Definition: mpd_builder.cc:857
static void MakePathsRelativeToMpd(const std::string &mpd_path, MediaInfo *media_info)
Definition: mpd_builder.cc:658
-
xml::scoped_xml_ptr< xmlNode > GetXml()
Definition: mpd_builder.cc:767
-
virtual void AddContentProtectionElement(const ContentProtectionElement &element)
+
xml::scoped_xml_ptr< xmlNode > GetXml()
Definition: mpd_builder.cc:769
+
virtual void AddContentProtectionElement(const ContentProtectionElement &element)
virtual AdaptationSet * AddAdaptationSet(const std::string &lang)
Definition: mpd_builder.cc:408
Defines Mpd Options.
Definition: mpd_options.h:23
-
void OnNewSegmentForRepresentation(uint32_t representation_id, uint64_t start_time, uint64_t duration)
Definition: mpd_builder.cc:872
+
void OnNewSegmentForRepresentation(uint32_t representation_id, uint64_t start_time, uint64_t duration)
Definition: mpd_builder.cc:874
void InjectClockForTesting(std::unique_ptr< base::Clock > clock)
This is for testing.
Definition: mpd_builder.h:95
-
virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
+
virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
virtual void OnNewSegmentForRepresentation(uint64_t start_time, uint64_t duration)=0
-
void SuppressOnce(SuppressFlag flag)
+
void SuppressOnce(SuppressFlag flag)
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 62624e80f2..52523aa5bd 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 41ef2068cf..2cf319ec13 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 aa1baca389..9745071cd6 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 ac58fb65e0..cd088d68a2 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_1VideoStreamInfo.html b/docs/d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html index 4a4d784538..1e52e810de 100644 --- a/docs/d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html +++ b/docs/d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html @@ -456,7 +456,7 @@ void set_encryption_config 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 7105c27475..158b53e7c6 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/dc6/structshaka_1_1media_1_1mp2t_1_1EsParserH26x_1_1VideoSliceInfo-members.html b/docs/d6/dc6/structshaka_1_1media_1_1mp2t_1_1EsParserH26x_1_1VideoSliceInfo-members.html index d2f5a9ee45..5d11ca312d 100644 --- a/docs/d6/dc6/structshaka_1_1media_1_1mp2t_1_1EsParserH26x_1_1VideoSliceInfo-members.html +++ b/docs/d6/dc6/structshaka_1_1media_1_1mp2t_1_1EsParserH26x_1_1VideoSliceInfo-members.html @@ -100,7 +100,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 c1cbede00e..34a69ce857 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 0ec2cb69f9..942279f87e 100644 --- a/docs/d6/dc8/mkv__writer_8cc_source.html +++ b/docs/d6/dc8/mkv__writer_8cc_source.html @@ -195,7 +195,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/dcb/structshaka_1_1media_1_1mp4_1_1SampleEncryptionEntry.html b/docs/d6/dcb/structshaka_1_1media_1_1mp4_1_1SampleEncryptionEntry.html index 83e195132f..4e9028161c 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 e4225b2d5d..7143b5aaa9 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 b0b34a451e..2eefa1a6ef 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 e724fd0b84..dd49b67198 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 std::shared_ptr
diff --git a/docs/d6/dd0/structshaka_1_1media_1_1H264SEIMessage.html b/docs/d6/dd0/structshaka_1_1media_1_1H264SEIMessage.html index 8490432230..2f54241b2e 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 548daec092..1929a92625 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 63175ac6f8..c48077d60e 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 82e90f94ac..3509ab15ef 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 0ef8a5fcb8..94a8b36123 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 2f0adffa9d..9b622868b1 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 3896a57022..e1bb63785d 100644 --- a/docs/d6/de9/ts__segmenter_8cc_source.html +++ b/docs/d6/de9/ts__segmenter_8cc_source.html @@ -246,7 +246,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 ad77093c96..13c36c2b06 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 1ccf7851f4..b1944d9394 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 5e8c9dcbc1..6ba8edac80 100644 --- a/docs/d6/dff/classshaka_1_1media_1_1Nalu.html +++ b/docs/d6/dff/classshaka_1_1media_1_1Nalu.html @@ -247,7 +247,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 3bd297a889..a2f3341660 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 beee2a2055..c06c6a7024 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 7ea8e19ba5..0a5ebed1b4 100644 --- a/docs/d7/d0b/muxer__listener__test__helper_8h_source.html +++ b/docs/d7/d0b/muxer__listener__test__helper_8h_source.html @@ -205,7 +205,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 f3481224a3..81e49a1ffc 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 26c4013d5b..006a02a15c 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 52fb385034..d7d4634dda 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 b4f3e5832a..b6458ebb41 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 c5253134bb..f075bfc96b 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 d603f8f90a..2fca6f6709 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 cf56436ba2..81d4cd3d33 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/d34/structshaka_1_1media_1_1EncryptionConfig.html b/docs/d7/d34/structshaka_1_1media_1_1EncryptionConfig.html index be19b3e012..25b4995116 100644 --- a/docs/d7/d34/structshaka_1_1media_1_1EncryptionConfig.html +++ b/docs/d7/d34/structshaka_1_1media_1_1EncryptionConfig.html @@ -128,7 +128,7 @@ std::vector
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 a18329efe4..5a16ef394c 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 e48847db01..0fc51f27c3 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 4b6301b215..b3dfb13a52 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 a1e0392711..e37be86e2d 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 774a888f66..d2e6adb59c 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 8a12c7cf7a..8c2e2fe761 100644 --- a/docs/d7/d54/classshaka_1_1media_1_1H26xByteToUnitStreamConverter-members.html +++ b/docs/d7/d54/classshaka_1_1media_1_1H26xByteToUnitStreamConverter-members.html @@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d7/d58/structshaka_1_1media_1_1PeriodInfo.html b/docs/d7/d58/structshaka_1_1media_1_1PeriodInfo.html index 7b22977f89..7d310aa402 100644 --- a/docs/d7/d58/structshaka_1_1media_1_1PeriodInfo.html +++ b/docs/d7/d58/structshaka_1_1media_1_1PeriodInfo.html @@ -99,7 +99,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 cfbec2c147..139cf85b43 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 0750a18f1f..536ee640dc 100644 --- a/docs/d7/d6d/classshaka_1_1media_1_1MediaSample.html +++ b/docs/d7/d6d/classshaka_1_1media_1_1MediaSample.html @@ -446,7 +446,7 @@ static std::shared_ptr
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 2e3ba30d52..205a7f1856 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 9c738d2254..d94b87b549 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/d79/chunking__handler_8h_source.html b/docs/d7/d79/chunking__handler_8h_source.html index 8d3e282e26..2ee544bf21 100644 --- a/docs/d7/d79/chunking__handler_8h_source.html +++ b/docs/d7/d79/chunking__handler_8h_source.html @@ -189,7 +189,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 36f2d8c8c4..c0370c5948 100644 --- a/docs/d7/d7a/classshaka_1_1media_1_1UdpFile.html +++ b/docs/d7/d7a/classshaka_1_1media_1_1UdpFile.html @@ -462,7 +462,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 d4365c3f53..6312e6c96e 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 67c88e5b44..b47349e69f 100644 --- a/docs/d7/d87/video__stream__info_8h_source.html +++ b/docs/d7/d87/video__stream__info_8h_source.html @@ -193,7 +193,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 8fd16f464a..65a27c56da 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 f4891e4bf9..22876ad7d8 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 fbd3cd122e..9a8a1bce80 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 e4d63ad9d3..08d742ca69 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 b092ddec3a..398833ccb0 100644 --- a/docs/d7/db0/mpd__writer_8h_source.html +++ b/docs/d7/db0/mpd__writer_8h_source.html @@ -182,7 +182,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d7/db7/structshaka_1_1media_1_1mp4_1_1SampleToChunk-members.html b/docs/d7/db7/structshaka_1_1media_1_1mp4_1_1SampleToChunk-members.html index 02fd1f5435..e4da92ca5e 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 ca12a24399..665f20fb17 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 303064c91c..d13c0b15fe 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 3d6b336fa3..36616f44ae 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 d96b92f18f..782ea16228 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 ff1dec0fe9..4822d7973b 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 @@ -286,7 +286,7 @@ std::shared_ptr< diff --git a/docs/d7/dd6/key__source_8cc_source.html b/docs/d7/dd6/key__source_8cc_source.html index d823b0952a..879ae79ba6 100644 --- a/docs/d7/dd6/key__source_8cc_source.html +++ b/docs/d7/dd6/key__source_8cc_source.html @@ -150,7 +150,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 027750e35f..9c6f9af765 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 04e8cd3fd4..75cd509c81 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 2def217146..90b7cd6945 100644 --- a/docs/d7/de0/classshaka_1_1media_1_1HttpKeyFetcher.html +++ b/docs/d7/de0/classshaka_1_1media_1_1HttpKeyFetcher.html @@ -399,7 +399,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 06edf82068..f476941a52 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 5aaed2c3bd..24c39d0bc2 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 @@ -138,7 +138,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 85f5579133..00a854120d 100644 --- a/docs/d7/dee/mpd__generator_8cc_source.html +++ b/docs/d7/dee/mpd__generator_8cc_source.html @@ -231,7 +231,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d7/def/mp4__media__parser_8cc_source.html b/docs/d7/def/mp4__media__parser_8cc_source.html index 85107a34d1..fe09062ad6 100644 --- a/docs/d7/def/mp4__media__parser_8cc_source.html +++ b/docs/d7/def/mp4__media__parser_8cc_source.html @@ -894,7 +894,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 1300337457..6c965d90e2 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 fb2eeabf31..dcfe2e5b4d 100644 --- a/docs/d8/d08/classshaka_1_1media_1_1H264ByteToUnitStreamConverter.html +++ b/docs/d8/d08/classshaka_1_1media_1_1H264ByteToUnitStreamConverter.html @@ -233,7 +233,7 @@ void WarnIfNotMatch (i 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 d4f7fec179..6a5f15ae37 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 543b7429c1..5eaaae178b 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 b7451c1f7c..2382733018 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 6e94633f67..0d31483164 100644 --- a/docs/d8/d0d/media__sample_8cc_source.html +++ b/docs/d8/d0d/media__sample_8cc_source.html @@ -221,7 +221,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 af4325e90c..dfa73aa6c5 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 9634541aa2..a8d2a56374 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 60ef2f1758..dafb565b41 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 cc5458172b..d8620d4f1e 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 2c7387d3a0..c7ac654ba8 100644 --- a/docs/d8/d16/structshaka_1_1media_1_1MuxerOptions-members.html +++ b/docs/d8/d16/structshaka_1_1media_1_1MuxerOptions-members.html @@ -105,7 +105,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 fd1f2ed594..239c83bca1 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 e344424e0b..048032b575 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 ca44b75f2f..ad083a0203 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 597a175bb5..017fa89c38 100644 --- a/docs/d8/d28/es__parser__h265_8h_source.html +++ b/docs/d8/d28/es__parser__h265_8h_source.html @@ -153,7 +153,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 4e6f0b9f6b..dd25c95844 100644 --- a/docs/d8/d33/webm__content__encodings__client_8h_source.html +++ b/docs/d8/d33/webm__content__encodings__client_8h_source.html @@ -139,7 +139,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 c2f51be249..89d1cae0d5 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 9f8cbae9f5..e6dd49d10a 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 d8efe62711..78e3d08b7e 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/d6a/classshaka_1_1media_1_1ClusterBuilder-members.html b/docs/d8/d6a/classshaka_1_1media_1_1ClusterBuilder-members.html index 56e84e51e8..a56797ecf5 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 b96a815f37..4a583ee4d5 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 db57bd6880..4c8607873d 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 b2f8b5c53b..5db595fd47 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 5c28f6eb1c..f5bea079bd 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 9341a72eea..c0d970d645 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 f43eb9eb6a..71dbc445cf 100644 --- a/docs/d8/d8e/classshaka_1_1AdaptationSet.html +++ b/docs/d8/d8e/classshaka_1_1AdaptationSet.html @@ -275,7 +275,7 @@ template<DashProfile profile> -

Definition at line 861 of file mpd_builder.cc.

+

Definition at line 863 of file mpd_builder.cc.

@@ -308,7 +308,7 @@ template<DashProfile profile> -

Definition at line 745 of file mpd_builder.cc.

+

Definition at line 747 of file mpd_builder.cc.

@@ -375,7 +375,7 @@ template<DashProfile profile> -

Definition at line 757 of file mpd_builder.cc.

+

Definition at line 759 of file mpd_builder.cc.

@@ -408,7 +408,7 @@ template<DashProfile profile> -

Definition at line 855 of file mpd_builder.cc.

+

Definition at line 857 of file mpd_builder.cc.

@@ -427,7 +427,7 @@ template<DashProfile profile>

Makes a copy of AdaptationSet xml element with its child Representation and ContentProtection elements.

Returns
On success returns a non-NULL scoped_xml_ptr. Otherwise returns a NULL scoped_xml_ptr.
-

Definition at line 767 of file mpd_builder.cc.

+

Definition at line 769 of file mpd_builder.cc.

@@ -470,7 +470,7 @@ template<DashProfile profile> -

Definition at line 872 of file mpd_builder.cc.

+

Definition at line 874 of file mpd_builder.cc.

@@ -512,7 +512,7 @@ template<DashProfile profile> -

Definition at line 883 of file mpd_builder.cc.

+

Definition at line 885 of file mpd_builder.cc.

@@ -557,7 +557,7 @@ template<DashProfile profile>
Attention
This might get removed once DASH IF IOP specification makes a a clear guideline on how to handle key rotation. Also to get this working with shaka-player, this method DOES NOT update the PSSH element. Instead, it removes the element regardless of the content of pssh.
-

Definition at line 751 of file mpd_builder.cc.

+

Definition at line 753 of file mpd_builder.cc.

@@ -568,7 +568,7 @@ template<DashProfile profile> 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 4ef98a7564..a86b704007 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 d5a084282b..303ebd8518 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 cb3f8262db..7bbd202072 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 7553e74423..0739c1f745 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 2d38f4d113..731f387437 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 1ab294bf12..a059c4d76b 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 9b4f6a787a..703f0dae50 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 cef2fb1dd1..c3560a7e2c 100644 --- a/docs/d8/d9a/fragmenter_8cc_source.html +++ b/docs/d8/d9a/fragmenter_8cc_source.html @@ -390,7 +390,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/d9c/webm__tracks__parser_8cc_source.html b/docs/d8/d9c/webm__tracks__parser_8cc_source.html index cc5eac51cd..1dfefaa7da 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 01d0ac78b6..1157fe05fc 100644 --- a/docs/d8/d9f/udp__file_8h_source.html +++ b/docs/d8/d9f/udp__file_8h_source.html @@ -153,7 +153,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 8a315b7a6b..4f2c77c0ca 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 9805a5162f..fbdc2dc35e 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 4e21cdcc0f..9ed7689108 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 60a9af46e7..a3b595891f 100644 --- a/docs/d8/daa/stream__info_8h_source.html +++ b/docs/d8/daa/stream__info_8h_source.html @@ -218,7 +218,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/daf/namespaceshaka.html b/docs/d8/daf/namespaceshaka.html index da1732cb1c..dedad098c0 100644 --- a/docs/d8/daf/namespaceshaka.html +++ b/docs/d8/daf/namespaceshaka.html @@ -277,7 +277,7 @@ const char kPsshElementNam -

Definition at line 346 of file mpd_utils.cc.

+

Definition at line 350 of file mpd_utils.cc.

@@ -313,7 +313,7 @@ const char kPsshElementNam -

Definition at line 351 of file mpd_utils.cc.

+

Definition at line 355 of file mpd_utils.cc.

@@ -339,7 +339,7 @@ const char kPsshElementNam
Returns
value formatted in string.
-

Definition at line 174 of file mpd_utils.cc.

+

Definition at line 178 of file mpd_utils.cc.

@@ -401,7 +401,7 @@ const char kPsshElementNam -

Definition at line 181 of file mpd_utils.cc.

+

Definition at line 185 of file mpd_utils.cc.

@@ -658,7 +658,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 32fc1fa465..3177acedc5 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 @@ -261,7 +261,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 c7dc8aabfb..56cc31a231 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/dc2/structshaka_1_1media_1_1mp2t_1_1EsParserH26x_1_1VideoSliceInfo.html b/docs/d8/dc2/structshaka_1_1media_1_1mp2t_1_1EsParserH26x_1_1VideoSliceInfo.html index c50d94156c..556c3b6321 100644 --- a/docs/d8/dc2/structshaka_1_1media_1_1mp2t_1_1EsParserH26x_1_1VideoSliceInfo.html +++ b/docs/d8/dc2/structshaka_1_1media_1_1mp2t_1_1EsParserH26x_1_1VideoSliceInfo.html @@ -118,7 +118,7 @@ int frame_num = 0 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 7a5cb580ce..36df5d9527 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 74539b11e2..b254a8b1e8 100644 --- a/docs/d8/dca/ts__writer_8h_source.html +++ b/docs/d8/dca/ts__writer_8h_source.html @@ -164,7 +164,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 0ca03871ae..7e4143f39a 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 d382ff1b0c..0cc628e881 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 dc6db3f9b4..18448d75b7 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 cd9dfa209c..04aecc45c3 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 5ff5fccb0f..936ff12710 100644 --- a/docs/d8/de1/classshaka_1_1SimpleMpdNotifier.html +++ b/docs/d8/de1/classshaka_1_1SimpleMpdNotifier.html @@ -473,7 +473,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 243a0d0e44..95aedcd355 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 a03564053b..e79d2711f4 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/deb/retired__flags_8cc_source.html b/docs/d8/deb/retired__flags_8cc_source.html index d6c041b693..685b84c689 100644 --- a/docs/d8/deb/retired__flags_8cc_source.html +++ b/docs/d8/deb/retired__flags_8cc_source.html @@ -124,7 +124,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 df7b4162d3..c07f244f80 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 1122dd3740..79eb3e0df1 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 d66e80af13..5f81c0d072 100644 --- a/docs/d8/df0/webm_2single__segment__segmenter_8cc_source.html +++ b/docs/d8/df0/webm_2single__segment__segmenter_8cc_source.html @@ -202,7 +202,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 194888cd0d..8797a5b8a5 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 b4fa840e9f..da14d68839 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 @@ -154,7 +154,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 1ccced9323..bc9714d932 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 24bdb8c976..083cf1c884 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 9b33510278..755a03b721 100644 --- a/docs/d9/d08/mock__mpd__builder_8h_source.html +++ b/docs/d9/d08/mock__mpd__builder_8h_source.html @@ -151,28 +151,28 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
62 } // namespace shaka
63 
64 #endif // MPD_BASE_MOCK_MPD_BUILDER_H_
-
virtual void AddNewSegment(uint64_t start_time, uint64_t duration, uint64_t size)
+
virtual void AddNewSegment(uint64_t start_time, uint64_t duration, uint64_t size)
-
virtual void SetSampleDuration(uint32_t sample_duration)
+
virtual void SetSampleDuration(uint32_t sample_duration)
virtual Representation * AddRepresentation(const MediaInfo &media_info)
Definition: mpd_builder.cc:701
This class generates DASH MPDs (Media Presentation Descriptions).
Definition: mpd_builder.h:57
-
virtual void AddContentProtectionElement(const ContentProtectionElement &element)
Definition: mpd_builder.cc:745
+
virtual void AddContentProtectionElement(const ContentProtectionElement &element)
Definition: mpd_builder.cc:747
-
virtual void AddRole(Role role)
Definition: mpd_builder.cc:757
-
virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
Definition: mpd_builder.cc:751
+
virtual void AddRole(Role role)
Definition: mpd_builder.cc:759
+
virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
Definition: mpd_builder.cc:753
virtual bool ToString(std::string *output)
Definition: mpd_builder.cc:427
-
virtual void ForceSetSegmentAlignment(bool segment_alignment)
Definition: mpd_builder.cc:855
-
virtual void AddContentProtectionElement(const ContentProtectionElement &element)
+
virtual void ForceSetSegmentAlignment(bool segment_alignment)
Definition: mpd_builder.cc:857
+
virtual void AddContentProtectionElement(const ContentProtectionElement &element)
virtual AdaptationSet * AddAdaptationSet(const std::string &lang)
Definition: mpd_builder.cc:408
-
virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
+
virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
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 4ec626c71e..6e11b8bb27 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 4268443226..a4905d3eb9 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/d12/chunking__handler_8cc_source.html b/docs/d9/d12/chunking__handler_8cc_source.html index fc63ff1bd7..6dbef8081f 100644 --- a/docs/d9/d12/chunking__handler_8cc_source.html +++ b/docs/d9/d12/chunking__handler_8cc_source.html @@ -357,7 +357,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/d13/classshaka_1_1media_1_1BufferReader.html b/docs/d9/d13/classshaka_1_1media_1_1BufferReader.html index fb067bc609..6f644f4232 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/d1f/structshaka_1_1media_1_1mp4_1_1MovieFragment.html b/docs/d9/d1f/structshaka_1_1media_1_1mp4_1_1MovieFragment.html index 0f8a91e165..ca20be14b6 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 6b54c20f9c..a26206bce4 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 17d5999c2c..0f5e503f09 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 @@ -434,7 +434,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 894cdd27f7..34b53f195c 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 dde3724471..ad784471a5 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 e2c8abab4a..b5a7fa31e1 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 ca969fd3d0..b0026363b2 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 e3f048256b..cc01d1f469 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 c731e6758d..7da3e7a167 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 323f4c5657..fcb9d23383 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 4972384503..f829ecd3ed 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 101791ed30..4d01bcc52e 100644 --- a/docs/d9/d6a/structshaka_1_1media_1_1H264SliceHeader-members.html +++ b/docs/d9/d6a/structshaka_1_1media_1_1H264SliceHeader-members.html @@ -150,7 +150,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 a9bc438544..ee3a25e889 100644 --- a/docs/d9/d76/ts__muxer_8cc_source.html +++ b/docs/d9/d76/ts__muxer_8cc_source.html @@ -168,7 +168,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 e0ae6cce44..f29d598af4 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 cf4665b659..00b8bc4f60 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 ec9f4444eb..b9a334a1d0 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 57aa16e822..fb5e30dd43 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 d2b9045345..e014019da2 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 3e33bcd600..6faa59166f 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/da4/stream__descriptor_8h_source.html b/docs/d9/da4/stream__descriptor_8h_source.html index 0b366cd054..a2a3246a28 100644 --- a/docs/d9/da4/stream__descriptor_8h_source.html +++ b/docs/d9/da4/stream__descriptor_8h_source.html @@ -145,7 +145,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 4fb6510726..bcfbe6ecfc 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 0b74252f98..e0281ab370 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 1584ec7612..1607b9cb8c 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 @@ -117,7 +117,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 0dd5afa883..01ddfcef00 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 06a6504b63..aadec414e5 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 6a41f243bd..18f71922a2 100644 --- a/docs/d9/db9/muxer_8cc_source.html +++ b/docs/d9/db9/muxer_8cc_source.html @@ -179,7 +179,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 8512746494..0d151ffb63 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 75490daecf..30aa011b4a 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 51ca0cee59..48be734f93 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 4fc02e11c3..f68ffeb920 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 3288e03c07..ec1bdbaf1c 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 372ce5974b..f1a7b5295f 100644 --- a/docs/d9/de3/muxer__listener__internal_8cc_source.html +++ b/docs/d9/de3/muxer__listener__internal_8cc_source.html @@ -103,257 +103,276 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
14 #include "packager/media/base/audio_stream_info.h"
15 #include "packager/media/base/muxer_options.h"
16 #include "packager/media/base/protection_system_specific_info.h"
-
17 #include "packager/media/base/video_stream_info.h"
-
18 #include "packager/media/codecs/ec3_audio_util.h"
-
19 #include "packager/mpd/base/media_info.pb.h"
-
20 
-
21 namespace shaka {
-
22 namespace media {
-
23 namespace internal {
-
24 
-
25 namespace {
-
26 
-
27 // This will return a positive value, given that |file_size| and
-
28 // |duration_seconds| are positive.
-
29 uint32_t EstimateRequiredBandwidth(uint64_t file_size, float duration_seconds) {
-
30  const uint64_t file_size_bits = file_size * 8;
-
31  const float bits_per_second = file_size_bits / duration_seconds;
-
32 
-
33  // Note that casting |bits_per_second| to an integer might make it 0. Take the
-
34  // ceiling and make sure that it returns a positive value.
-
35  return static_cast<uint32_t>(ceil(bits_per_second));
-
36 }
-
37 
-
38 void SetRange(uint64_t begin, uint64_t end, Range* range) {
-
39  DCHECK(range);
-
40  range->set_begin(begin);
-
41  range->set_end(end);
-
42 }
-
43 
-
44 void SetMediaInfoRanges(bool has_init_range,
-
45  uint64_t init_range_start,
-
46  uint64_t init_range_end,
-
47  bool has_index_range,
-
48  uint64_t index_range_start,
-
49  uint64_t index_range_end,
-
50  MediaInfo* media_info) {
-
51  if (has_init_range) {
-
52  SetRange(
-
53  init_range_start, init_range_end, media_info->mutable_init_range());
-
54  }
-
55 
-
56  if (has_index_range) {
-
57  SetRange(
-
58  index_range_start, index_range_end, media_info->mutable_index_range());
-
59  }
-
60 }
-
61 
-
62 void SetMediaInfoContainerType(MuxerListener::ContainerType container_type,
-
63  MediaInfo* media_info) {
-
64  DCHECK(media_info);
-
65  switch (container_type) {
-
66  case MuxerListener::kContainerUnknown:
-
67  media_info->set_container_type(MediaInfo::CONTAINER_UNKNOWN);
-
68  break;
-
69  case MuxerListener::kContainerMp4:
-
70  media_info->set_container_type(MediaInfo::CONTAINER_MP4);
-
71  break;
-
72  case MuxerListener::kContainerMpeg2ts:
-
73  media_info->set_container_type(MediaInfo::CONTAINER_MPEG2_TS);
-
74  break;
-
75  case MuxerListener::kContainerWebM:
-
76  media_info->set_container_type(MediaInfo::CONTAINER_WEBM);
-
77  break;
-
78  default:
-
79  NOTREACHED() << "Unknown container type " << container_type;
-
80  }
-
81 }
-
82 
-
83 void AddVideoInfo(const VideoStreamInfo* video_stream_info,
-
84  MediaInfo* media_info) {
-
85  DCHECK(video_stream_info);
-
86  DCHECK(media_info);
-
87  MediaInfo_VideoInfo* video_info = media_info->mutable_video_info();
-
88  video_info->set_codec(video_stream_info->codec_string());
-
89  video_info->set_width(video_stream_info->width());
-
90  video_info->set_height(video_stream_info->height());
-
91  video_info->set_time_scale(video_stream_info->time_scale());
-
92 
-
93  if (video_stream_info->pixel_width() > 0)
-
94  video_info->set_pixel_width(video_stream_info->pixel_width());
-
95 
-
96  if (video_stream_info->pixel_height() > 0)
-
97  video_info->set_pixel_height(video_stream_info->pixel_height());
-
98 
-
99  const std::vector<uint8_t>& codec_config = video_stream_info->codec_config();
-
100  if (!codec_config.empty()) {
-
101  video_info->set_decoder_config(&codec_config[0], codec_config.size());
-
102  }
-
103 }
-
104 
-
105 void AddAudioInfo(const AudioStreamInfo* audio_stream_info,
-
106  MediaInfo* media_info) {
-
107  DCHECK(audio_stream_info);
-
108  DCHECK(media_info);
-
109  MediaInfo_AudioInfo* audio_info = media_info->mutable_audio_info();
-
110  audio_info->set_codec(audio_stream_info->codec_string());
-
111  audio_info->set_sampling_frequency(audio_stream_info->sampling_frequency());
-
112  audio_info->set_time_scale(audio_stream_info->time_scale());
-
113  audio_info->set_num_channels(audio_stream_info->num_channels());
-
114 
-
115  const std::string& language = audio_stream_info->language();
-
116  // ISO-639-2/T defines language "und" which we also want to ignore.
-
117  if (!language.empty() && language != "und") {
-
118  audio_info->set_language(language);
-
119  }
-
120 
-
121  const std::vector<uint8_t>& codec_config = audio_stream_info->codec_config();
-
122  if (!codec_config.empty()) {
-
123  audio_info->set_decoder_config(&codec_config[0], codec_config.size());
-
124  }
-
125 
-
126  if (audio_stream_info->codec_string() == "ec-3") {
-
127  uint32_t ec3_channel_map;
-
128  if (!CalculateEC3ChannelMap(codec_config, &ec3_channel_map)) {
-
129  LOG(ERROR) << "Failed to calculate EC3 channel map.";
-
130  return;
-
131  }
-
132  audio_info->mutable_codec_specific_data()->set_ec3_channel_map(
-
133  ec3_channel_map);
-
134  }
-
135 }
-
136 
-
137 void SetMediaInfoStreamInfo(const StreamInfo& stream_info,
-
138  MediaInfo* media_info) {
-
139  if (stream_info.stream_type() == kStreamAudio) {
-
140  AddAudioInfo(static_cast<const AudioStreamInfo*>(&stream_info),
-
141  media_info);
-
142  } else {
-
143  DCHECK_EQ(stream_info.stream_type(), kStreamVideo);
-
144  AddVideoInfo(static_cast<const VideoStreamInfo*>(&stream_info),
-
145  media_info);
-
146  }
-
147  if (stream_info.duration() > 0) {
-
148  // |stream_info.duration()| contains the media duration from the original
-
149  // media header, which is usually good enough.
-
150  media_info->set_media_duration_seconds(
-
151  static_cast<double>(stream_info.duration()) / stream_info.time_scale());
-
152  }
-
153 }
-
154 
-
155 void SetMediaInfoMuxerOptions(const MuxerOptions& muxer_options,
-
156  MediaInfo* media_info) {
-
157  DCHECK(media_info);
-
158  if (muxer_options.segment_template.empty()) {
-
159  media_info->set_media_file_name(muxer_options.output_file_name);
-
160  } else {
-
161  media_info->set_init_segment_name(muxer_options.output_file_name);
-
162  media_info->set_segment_template(muxer_options.segment_template);
-
163  }
-
164 }
-
165 
-
166 } // namespace
-
167 
-
168 bool GenerateMediaInfo(const MuxerOptions& muxer_options,
-
169  const StreamInfo& stream_info,
-
170  uint32_t reference_time_scale,
-
171  MuxerListener::ContainerType container_type,
-
172  MediaInfo* media_info) {
-
173  DCHECK(media_info);
-
174 
-
175  SetMediaInfoMuxerOptions(muxer_options, media_info);
-
176  SetMediaInfoStreamInfo(stream_info, media_info);
-
177  media_info->set_reference_time_scale(reference_time_scale);
-
178  SetMediaInfoContainerType(container_type, media_info);
-
179  if (muxer_options.bandwidth > 0)
-
180  media_info->set_bandwidth(muxer_options.bandwidth);
-
181 
-
182  return true;
+
17 #include "packager/media/base/text_stream_info.h"
+
18 #include "packager/media/base/video_stream_info.h"
+
19 #include "packager/media/codecs/ec3_audio_util.h"
+
20 #include "packager/mpd/base/media_info.pb.h"
+
21 
+
22 namespace shaka {
+
23 namespace media {
+
24 namespace internal {
+
25 
+
26 namespace {
+
27 
+
28 // This will return a positive value, given that |file_size| and
+
29 // |duration_seconds| are positive.
+
30 uint32_t EstimateRequiredBandwidth(uint64_t file_size, float duration_seconds) {
+
31  const uint64_t file_size_bits = file_size * 8;
+
32  const float bits_per_second = file_size_bits / duration_seconds;
+
33 
+
34  // Note that casting |bits_per_second| to an integer might make it 0. Take the
+
35  // ceiling and make sure that it returns a positive value.
+
36  return static_cast<uint32_t>(ceil(bits_per_second));
+
37 }
+
38 
+
39 void SetRange(uint64_t begin, uint64_t end, Range* range) {
+
40  DCHECK(range);
+
41  range->set_begin(begin);
+
42  range->set_end(end);
+
43 }
+
44 
+
45 void SetMediaInfoRanges(bool has_init_range,
+
46  uint64_t init_range_start,
+
47  uint64_t init_range_end,
+
48  bool has_index_range,
+
49  uint64_t index_range_start,
+
50  uint64_t index_range_end,
+
51  MediaInfo* media_info) {
+
52  if (has_init_range) {
+
53  SetRange(
+
54  init_range_start, init_range_end, media_info->mutable_init_range());
+
55  }
+
56 
+
57  if (has_index_range) {
+
58  SetRange(
+
59  index_range_start, index_range_end, media_info->mutable_index_range());
+
60  }
+
61 }
+
62 
+
63 void SetMediaInfoContainerType(MuxerListener::ContainerType container_type,
+
64  MediaInfo* media_info) {
+
65  DCHECK(media_info);
+
66  switch (container_type) {
+
67  case MuxerListener::kContainerUnknown:
+
68  media_info->set_container_type(MediaInfo::CONTAINER_UNKNOWN);
+
69  break;
+
70  case MuxerListener::kContainerMp4:
+
71  media_info->set_container_type(MediaInfo::CONTAINER_MP4);
+
72  break;
+
73  case MuxerListener::kContainerMpeg2ts:
+
74  media_info->set_container_type(MediaInfo::CONTAINER_MPEG2_TS);
+
75  break;
+
76  case MuxerListener::kContainerWebM:
+
77  media_info->set_container_type(MediaInfo::CONTAINER_WEBM);
+
78  break;
+
79  default:
+
80  NOTREACHED() << "Unknown container type " << container_type;
+
81  }
+
82 }
+
83 
+
84 void AddVideoInfo(const VideoStreamInfo* video_stream_info,
+
85  MediaInfo* media_info) {
+
86  DCHECK(video_stream_info);
+
87  DCHECK(media_info);
+
88  MediaInfo_VideoInfo* video_info = media_info->mutable_video_info();
+
89  video_info->set_codec(video_stream_info->codec_string());
+
90  video_info->set_width(video_stream_info->width());
+
91  video_info->set_height(video_stream_info->height());
+
92  video_info->set_time_scale(video_stream_info->time_scale());
+
93 
+
94  if (video_stream_info->pixel_width() > 0)
+
95  video_info->set_pixel_width(video_stream_info->pixel_width());
+
96 
+
97  if (video_stream_info->pixel_height() > 0)
+
98  video_info->set_pixel_height(video_stream_info->pixel_height());
+
99 
+
100  const std::vector<uint8_t>& codec_config = video_stream_info->codec_config();
+
101  if (!codec_config.empty()) {
+
102  video_info->set_decoder_config(&codec_config[0], codec_config.size());
+
103  }
+
104 }
+
105 
+
106 void AddAudioInfo(const AudioStreamInfo* audio_stream_info,
+
107  MediaInfo* media_info) {
+
108  DCHECK(audio_stream_info);
+
109  DCHECK(media_info);
+
110  MediaInfo_AudioInfo* audio_info = media_info->mutable_audio_info();
+
111  audio_info->set_codec(audio_stream_info->codec_string());
+
112  audio_info->set_sampling_frequency(audio_stream_info->sampling_frequency());
+
113  audio_info->set_time_scale(audio_stream_info->time_scale());
+
114  audio_info->set_num_channels(audio_stream_info->num_channels());
+
115 
+
116  const std::string& language = audio_stream_info->language();
+
117  // ISO-639-2/T defines language "und" which we also want to ignore.
+
118  if (!language.empty() && language != "und") {
+
119  audio_info->set_language(language);
+
120  }
+
121 
+
122  const std::vector<uint8_t>& codec_config = audio_stream_info->codec_config();
+
123  if (!codec_config.empty()) {
+
124  audio_info->set_decoder_config(&codec_config[0], codec_config.size());
+
125  }
+
126 
+
127  if (audio_stream_info->codec_string() == "ec-3") {
+
128  uint32_t ec3_channel_map;
+
129  if (!CalculateEC3ChannelMap(codec_config, &ec3_channel_map)) {
+
130  LOG(ERROR) << "Failed to calculate EC3 channel map.";
+
131  return;
+
132  }
+
133  audio_info->mutable_codec_specific_data()->set_ec3_channel_map(
+
134  ec3_channel_map);
+
135  }
+
136 }
+
137 
+
138 void AddTextInfo(const TextStreamInfo& text_stream_info,
+
139  MediaInfo* media_info) {
+
140  MediaInfo::TextInfo* text_info = media_info->mutable_text_info();
+
141  // For now, set everything as subtitle.
+
142  text_info->set_type(MediaInfo::TextInfo::SUBTITLE);
+
143  if (text_stream_info.codec_string() == "wvtt") {
+
144  text_info->set_format("vtt");
+
145  } else {
+
146  LOG(WARNING) << "Unhandled codec " << text_stream_info.codec_string()
+
147  << " copying it as format.";
+
148  text_info->set_format(text_stream_info.codec_string());
+
149  }
+
150 
+
151  text_info->set_language(text_stream_info.language());
+
152 }
+
153 
+
154 void SetMediaInfoStreamInfo(const StreamInfo& stream_info,
+
155  MediaInfo* media_info) {
+
156  if (stream_info.stream_type() == kStreamAudio) {
+
157  AddAudioInfo(static_cast<const AudioStreamInfo*>(&stream_info),
+
158  media_info);
+
159  } else if (stream_info.stream_type() == kStreamText) {
+
160  AddTextInfo(static_cast<const TextStreamInfo&>(stream_info), media_info);
+
161  } else {
+
162  DCHECK_EQ(stream_info.stream_type(), kStreamVideo);
+
163  AddVideoInfo(static_cast<const VideoStreamInfo*>(&stream_info),
+
164  media_info);
+
165  }
+
166  if (stream_info.duration() > 0) {
+
167  // |stream_info.duration()| contains the media duration from the original
+
168  // media header, which is usually good enough.
+
169  media_info->set_media_duration_seconds(
+
170  static_cast<double>(stream_info.duration()) / stream_info.time_scale());
+
171  }
+
172 }
+
173 
+
174 void SetMediaInfoMuxerOptions(const MuxerOptions& muxer_options,
+
175  MediaInfo* media_info) {
+
176  DCHECK(media_info);
+
177  if (muxer_options.segment_template.empty()) {
+
178  media_info->set_media_file_name(muxer_options.output_file_name);
+
179  } else {
+
180  media_info->set_init_segment_name(muxer_options.output_file_name);
+
181  media_info->set_segment_template(muxer_options.segment_template);
+
182  }
183 }
184 
-
185 bool SetVodInformation(bool has_init_range,
-
186  uint64_t init_range_start,
-
187  uint64_t init_range_end,
-
188  bool has_index_range,
-
189  uint64_t index_range_start,
-
190  uint64_t index_range_end,
-
191  float duration_seconds,
-
192  uint64_t file_size,
-
193  MediaInfo* media_info) {
-
194  DCHECK(media_info);
-
195  if (file_size == 0) {
-
196  LOG(ERROR) << "File size not specified.";
-
197  return false;
-
198  }
-
199 
-
200  if (duration_seconds <= 0.0f) {
-
201  // Non positive second media must be invalid media.
-
202  LOG(ERROR) << "Duration is not positive: " << duration_seconds;
-
203  return false;
-
204  }
-
205 
-
206  SetMediaInfoRanges(has_init_range,
-
207  init_range_start,
-
208  init_range_end,
-
209  has_index_range,
-
210  index_range_start,
-
211  index_range_end,
-
212  media_info);
-
213 
-
214  media_info->set_media_duration_seconds(duration_seconds);
-
215 
-
216  if (!media_info->has_bandwidth()) {
-
217  media_info->set_bandwidth(
-
218  EstimateRequiredBandwidth(file_size, duration_seconds));
-
219  }
-
220  return true;
-
221 }
-
222 
-
223 void SetContentProtectionFields(
-
224  FourCC protection_scheme,
-
225  const std::string& default_key_id,
-
226  const std::vector<ProtectionSystemSpecificInfo>& key_system_info,
-
227  MediaInfo* media_info) {
-
228  DCHECK(media_info);
-
229  MediaInfo::ProtectedContent* protected_content =
-
230  media_info->mutable_protected_content();
-
231 
-
232  DCHECK(protection_scheme == FOURCC_cenc || protection_scheme == FOURCC_cbc1 ||
-
233  protection_scheme == FOURCC_cens || protection_scheme == FOURCC_cbcs);
-
234  protected_content->set_protection_scheme(FourCCToString(protection_scheme));
-
235 
-
236  if (!default_key_id.empty())
-
237  protected_content->set_default_key_id(default_key_id);
-
238 
-
239  for (const ProtectionSystemSpecificInfo& info : key_system_info) {
-
240  MediaInfo::ProtectedContent::ContentProtectionEntry* entry =
-
241  protected_content->add_content_protection_entry();
-
242  if (!info.system_id().empty())
-
243  entry->set_uuid(CreateUUIDString(info.system_id()));
-
244 
-
245  const std::vector<uint8_t> pssh = info.CreateBox();
-
246  entry->set_pssh(pssh.data(), pssh.size());
-
247  }
-
248 }
-
249 
-
250 std::string CreateUUIDString(const std::vector<uint8_t>& data) {
-
251  DCHECK_EQ(16u, data.size());
-
252  std::string uuid =
-
253  base::ToLowerASCII(base::HexEncode(data.data(), data.size()));
-
254  uuid.insert(20, "-");
-
255  uuid.insert(16, "-");
-
256  uuid.insert(12, "-");
-
257  uuid.insert(8, "-");
-
258  return uuid;
-
259 }
-
260 
-
261 } // namespace internal
-
262 } // namespace media
-
263 } // namespace shaka
+
185 } // namespace
+
186 
+
187 bool GenerateMediaInfo(const MuxerOptions& muxer_options,
+
188  const StreamInfo& stream_info,
+
189  uint32_t reference_time_scale,
+
190  MuxerListener::ContainerType container_type,
+
191  MediaInfo* media_info) {
+
192  DCHECK(media_info);
+
193 
+
194  SetMediaInfoMuxerOptions(muxer_options, media_info);
+
195  SetMediaInfoStreamInfo(stream_info, media_info);
+
196  media_info->set_reference_time_scale(reference_time_scale);
+
197  SetMediaInfoContainerType(container_type, media_info);
+
198  if (muxer_options.bandwidth > 0)
+
199  media_info->set_bandwidth(muxer_options.bandwidth);
+
200 
+
201  return true;
+
202 }
+
203 
+
204 bool SetVodInformation(bool has_init_range,
+
205  uint64_t init_range_start,
+
206  uint64_t init_range_end,
+
207  bool has_index_range,
+
208  uint64_t index_range_start,
+
209  uint64_t index_range_end,
+
210  float duration_seconds,
+
211  uint64_t file_size,
+
212  MediaInfo* media_info) {
+
213  DCHECK(media_info);
+
214  if (file_size == 0) {
+
215  LOG(ERROR) << "File size not specified.";
+
216  return false;
+
217  }
+
218 
+
219  if (duration_seconds <= 0.0f) {
+
220  // Non positive second media must be invalid media.
+
221  LOG(ERROR) << "Duration is not positive: " << duration_seconds;
+
222  return false;
+
223  }
+
224 
+
225  SetMediaInfoRanges(has_init_range,
+
226  init_range_start,
+
227  init_range_end,
+
228  has_index_range,
+
229  index_range_start,
+
230  index_range_end,
+
231  media_info);
+
232 
+
233  media_info->set_media_duration_seconds(duration_seconds);
+
234 
+
235  if (!media_info->has_bandwidth()) {
+
236  media_info->set_bandwidth(
+
237  EstimateRequiredBandwidth(file_size, duration_seconds));
+
238  }
+
239  return true;
+
240 }
+
241 
+
242 void SetContentProtectionFields(
+
243  FourCC protection_scheme,
+
244  const std::string& default_key_id,
+
245  const std::vector<ProtectionSystemSpecificInfo>& key_system_info,
+
246  MediaInfo* media_info) {
+
247  DCHECK(media_info);
+
248  MediaInfo::ProtectedContent* protected_content =
+
249  media_info->mutable_protected_content();
+
250 
+
251  DCHECK(protection_scheme == FOURCC_cenc || protection_scheme == FOURCC_cbc1 ||
+
252  protection_scheme == FOURCC_cens || protection_scheme == FOURCC_cbcs);
+
253  protected_content->set_protection_scheme(FourCCToString(protection_scheme));
+
254 
+
255  if (!default_key_id.empty())
+
256  protected_content->set_default_key_id(default_key_id);
+
257 
+
258  for (const ProtectionSystemSpecificInfo& info : key_system_info) {
+
259  MediaInfo::ProtectedContent::ContentProtectionEntry* entry =
+
260  protected_content->add_content_protection_entry();
+
261  if (!info.system_id().empty())
+
262  entry->set_uuid(CreateUUIDString(info.system_id()));
+
263 
+
264  const std::vector<uint8_t> pssh = info.CreateBox();
+
265  entry->set_pssh(pssh.data(), pssh.size());
+
266  }
+
267 }
+
268 
+
269 std::string CreateUUIDString(const std::vector<uint8_t>& data) {
+
270  DCHECK_EQ(16u, data.size());
+
271  std::string uuid =
+
272  base::ToLowerASCII(base::HexEncode(data.data(), data.size()));
+
273  uuid.insert(20, "-");
+
274  uuid.insert(16, "-");
+
275  uuid.insert(12, "-");
+
276  uuid.insert(8, "-");
+
277  return uuid;
+
278 }
+
279 
+
280 } // namespace internal
+
281 } // namespace media
+
282 } // namespace shaka
diff --git a/docs/d9/de6/classshaka_1_1media_1_1LocalFile.html b/docs/d9/de6/classshaka_1_1media_1_1LocalFile.html index 0c6e61b49a..0df73a5131 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 d5d5f68965..c9d592afc6 100644 --- a/docs/d9/dea/classshaka_1_1media_1_1FixedKeySource-members.html +++ b/docs/d9/dea/classshaka_1_1media_1_1FixedKeySource-members.html @@ -118,7 +118,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 dddb977146..b01c70d10b 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 7ba48824db..ce2c5679eb 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 96a0f4d563..3c4be5e9b6 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 9892a36e4a..40170f7789 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 5bcab03dcf..39d45ca516 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 732f7d3968..475a8e808e 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 759f4d9ac0..5dffbc6c78 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 1cd0063223..f0373dd9c6 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/d1d/udp__options_8cc_source.html b/docs/da/d1d/udp__options_8cc_source.html index eb9d666c16..6e8a38d51d 100644 --- a/docs/da/d1d/udp__options_8cc_source.html +++ b/docs/da/d1d/udp__options_8cc_source.html @@ -224,7 +224,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 cc8d3a8ebb..636b915787 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 @@ -164,7 +164,7 @@ const std::shared_ptr
diff --git a/docs/da/d23/ts__muxer_8h_source.html b/docs/da/d23/ts__muxer_8h_source.html index 6c0842872e..00cdedf41f 100644 --- a/docs/da/d23/ts__muxer_8h_source.html +++ b/docs/da/d23/ts__muxer_8h_source.html @@ -138,7 +138,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 823763d6a6..4adf7ec79a 100644 --- a/docs/da/d24/h265__parser_8h_source.html +++ b/docs/da/d24/h265__parser_8h_source.html @@ -454,7 +454,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 0818518ac5..64e56f5fa3 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 3284d1f992..97cf7d5864 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 @@ -130,7 +130,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 4d35475e69..eed99f1d1d 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 527890fbbd..907268c85f 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 4d6f16e9ee..de29ee0692 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 940cafb864..bf1d77f730 100644 --- a/docs/da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html +++ b/docs/da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html @@ -322,7 +322,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 ab0f99e592..deb4936931 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 b1bfe746b5..e9afa51b0e 100644 --- a/docs/da/d53/es__parser__h265_8cc_source.html +++ b/docs/da/d53/es__parser__h265_8cc_source.html @@ -265,7 +265,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 eec2ab5386..db0d68b408 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 d9ae1811ca..7e6cb3bba8 100644 --- a/docs/da/d5c/widevine__key__source_8h_source.html +++ b/docs/da/d5c/widevine__key__source_8h_source.html @@ -221,7 +221,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/d5e/classshaka_1_1media_1_1H264VideoSliceHeaderParser-members.html b/docs/da/d5e/classshaka_1_1media_1_1H264VideoSliceHeaderParser-members.html index 86c7f02ee0..9083bd6d9c 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 79a12e8f7e..b1fd995dd6 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 @@ -119,7 +119,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 2320584172..6e396fb7a5 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 9dc5e918b9..91ba40b22c 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 264fdb58a4..7d0cb96346 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 f5ce0e39f1..b33623a3bf 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 @@ -105,7 +105,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 9d879c1b96..22d151e1af 100644 --- a/docs/da/d88/mp4__muxer_8cc_source.html +++ b/docs/da/d88/mp4__muxer_8cc_source.html @@ -102,453 +102,483 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
13 #include "packager/media/base/fourccs.h"
14 #include "packager/media/base/key_source.h"
15 #include "packager/media/base/media_sample.h"
-
16 #include "packager/media/base/video_stream_info.h"
-
17 #include "packager/media/codecs/es_descriptor.h"
-
18 #include "packager/media/event/muxer_listener.h"
-
19 #include "packager/media/file/file.h"
-
20 #include "packager/media/formats/mp4/box_definitions.h"
-
21 #include "packager/media/formats/mp4/multi_segment_segmenter.h"
-
22 #include "packager/media/formats/mp4/single_segment_segmenter.h"
-
23 
-
24 namespace shaka {
-
25 namespace media {
-
26 namespace mp4 {
-
27 
-
28 namespace {
-
29 
-
30 // Sets the range start and end value from offset and size.
-
31 // |start| and |end| are for byte-range-spec specified in RFC2616.
-
32 void SetStartAndEndFromOffsetAndSize(size_t offset,
-
33  size_t size,
-
34  uint32_t* start,
-
35  uint32_t* end) {
-
36  DCHECK(start && end);
-
37  *start = static_cast<uint32_t>(offset);
-
38  // Note that ranges are inclusive. So we need - 1.
-
39  *end = *start + static_cast<uint32_t>(size) - 1;
-
40 }
-
41 
-
42 FourCC CodecToFourCC(Codec codec, H26xStreamFormat h26x_stream_format) {
-
43  switch (codec) {
-
44  case kCodecH264:
-
45  return h26x_stream_format ==
-
46  H26xStreamFormat::kNalUnitStreamWithParameterSetNalus
-
47  ? FOURCC_avc3
-
48  : FOURCC_avc1;
-
49  case kCodecH265:
-
50  return h26x_stream_format ==
-
51  H26xStreamFormat::kNalUnitStreamWithParameterSetNalus
-
52  ? FOURCC_hev1
-
53  : FOURCC_hvc1;
-
54  case kCodecVP8:
-
55  return FOURCC_vp08;
-
56  case kCodecVP9:
-
57  return FOURCC_vp09;
-
58  case kCodecVP10:
-
59  return FOURCC_vp10;
-
60  case kCodecAAC:
-
61  return FOURCC_mp4a;
-
62  case kCodecAC3:
-
63  return FOURCC_ac_3;
-
64  case kCodecDTSC:
-
65  return FOURCC_dtsc;
-
66  case kCodecDTSH:
-
67  return FOURCC_dtsh;
-
68  case kCodecDTSL:
-
69  return FOURCC_dtsl;
-
70  case kCodecDTSE:
-
71  return FOURCC_dtse;
-
72  case kCodecDTSM:
-
73  return FOURCC_dtsm;
-
74  case kCodecEAC3:
-
75  return FOURCC_ec_3;
-
76  case kCodecOpus:
-
77  return FOURCC_Opus;
-
78  default:
-
79  return FOURCC_NULL;
-
80  }
-
81 }
-
82 
-
83 void GenerateSinf(FourCC old_type,
-
84  const EncryptionConfig& encryption_config,
-
85  ProtectionSchemeInfo* sinf) {
-
86  sinf->format.format = old_type;
-
87 
-
88  DCHECK_NE(encryption_config.protection_scheme, FOURCC_NULL);
-
89  sinf->type.type = encryption_config.protection_scheme;
-
90 
-
91  // The version of cenc implemented here. CENC 4.
-
92  const int kCencSchemeVersion = 0x00010000;
-
93  sinf->type.version = kCencSchemeVersion;
-
94 
-
95  auto& track_encryption = sinf->info.track_encryption;
-
96  track_encryption.default_is_protected = 1;
-
97  track_encryption.default_crypt_byte_block =
-
98  encryption_config.crypt_byte_block;
-
99  track_encryption.default_skip_byte_block = encryption_config.skip_byte_block;
-
100  track_encryption.default_per_sample_iv_size =
-
101  encryption_config.per_sample_iv_size;
-
102  track_encryption.default_constant_iv = encryption_config.constant_iv;
-
103  track_encryption.default_kid = encryption_config.key_id;
-
104 }
-
105 
-
106 } // namespace
-
107 
-
108 MP4Muxer::MP4Muxer(const MuxerOptions& options) : Muxer(options) {}
-
109 MP4Muxer::~MP4Muxer() {}
-
110 
-
111 Status MP4Muxer::InitializeMuxer() {
-
112  DCHECK(!streams().empty());
-
113 
-
114  std::unique_ptr<FileType> ftyp(new FileType);
-
115  std::unique_ptr<Movie> moov(new Movie);
-
116 
-
117  ftyp->major_brand = FOURCC_dash;
-
118  ftyp->compatible_brands.push_back(FOURCC_iso6);
-
119  ftyp->compatible_brands.push_back(FOURCC_mp41);
-
120  if (streams().size() == 1 && streams()[0]->stream_type() == kStreamVideo) {
-
121  const FourCC codec_fourcc = CodecToFourCC(
-
122  streams()[0]->codec(), static_cast<VideoStreamInfo*>(streams()[0].get())
-
123  ->h26x_stream_format());
-
124  if (codec_fourcc != FOURCC_NULL)
-
125  ftyp->compatible_brands.push_back(codec_fourcc);
-
126  }
-
127 
-
128  moov->header.creation_time = IsoTimeNow();
-
129  moov->header.modification_time = IsoTimeNow();
-
130  moov->header.next_track_id = static_cast<uint32_t>(streams().size()) + 1;
-
131 
-
132  moov->tracks.resize(streams().size());
-
133  moov->extends.tracks.resize(streams().size());
-
134 
-
135  // Initialize tracks.
-
136  for (uint32_t i = 0; i < streams().size(); ++i) {
-
137  Track& trak = moov->tracks[i];
-
138  trak.header.track_id = i + 1;
-
139 
-
140  TrackExtends& trex = moov->extends.tracks[i];
-
141  trex.track_id = trak.header.track_id;
-
142  trex.default_sample_description_index = 1;
-
143 
-
144  switch (streams()[i]->stream_type()) {
-
145  case kStreamVideo:
-
146  GenerateVideoTrak(static_cast<VideoStreamInfo*>(streams()[i].get()),
-
147  &trak, i + 1);
-
148  break;
-
149  case kStreamAudio:
-
150  GenerateAudioTrak(static_cast<AudioStreamInfo*>(streams()[i].get()),
-
151  &trak, i + 1);
-
152  break;
-
153  default:
-
154  NOTIMPLEMENTED() << "Not implemented for stream type: "
-
155  << streams()[i]->stream_type();
-
156  }
-
157 
-
158  if (streams()[i]->is_encrypted()) {
-
159  const auto& key_system_info =
-
160  streams()[i]->encryption_config().key_system_info;
-
161  moov->pssh.resize(key_system_info.size());
-
162  for (size_t j = 0; j < key_system_info.size(); j++)
-
163  moov->pssh[j].raw_box = key_system_info[j].CreateBox();
-
164  }
-
165  }
-
166 
-
167  if (options().segment_template.empty()) {
-
168  segmenter_.reset(new SingleSegmentSegmenter(options(), std::move(ftyp),
-
169  std::move(moov)));
-
170  } else {
-
171  segmenter_.reset(
-
172  new MultiSegmentSegmenter(options(), std::move(ftyp), std::move(moov)));
-
173  }
-
174 
-
175  const Status segmenter_initialized =
-
176  segmenter_->Initialize(streams(), muxer_listener(), progress_listener());
-
177  if (!segmenter_initialized.ok())
-
178  return segmenter_initialized;
+
16 #include "packager/media/base/text_stream_info.h"
+
17 #include "packager/media/base/video_stream_info.h"
+
18 #include "packager/media/codecs/es_descriptor.h"
+
19 #include "packager/media/event/muxer_listener.h"
+
20 #include "packager/media/file/file.h"
+
21 #include "packager/media/formats/mp4/box_definitions.h"
+
22 #include "packager/media/formats/mp4/multi_segment_segmenter.h"
+
23 #include "packager/media/formats/mp4/single_segment_segmenter.h"
+
24 
+
25 namespace shaka {
+
26 namespace media {
+
27 namespace mp4 {
+
28 
+
29 namespace {
+
30 
+
31 // Sets the range start and end value from offset and size.
+
32 // |start| and |end| are for byte-range-spec specified in RFC2616.
+
33 void SetStartAndEndFromOffsetAndSize(size_t offset,
+
34  size_t size,
+
35  uint32_t* start,
+
36  uint32_t* end) {
+
37  DCHECK(start && end);
+
38  *start = static_cast<uint32_t>(offset);
+
39  // Note that ranges are inclusive. So we need - 1.
+
40  *end = *start + static_cast<uint32_t>(size) - 1;
+
41 }
+
42 
+
43 FourCC CodecToFourCC(Codec codec, H26xStreamFormat h26x_stream_format) {
+
44  switch (codec) {
+
45  case kCodecH264:
+
46  return h26x_stream_format ==
+
47  H26xStreamFormat::kNalUnitStreamWithParameterSetNalus
+
48  ? FOURCC_avc3
+
49  : FOURCC_avc1;
+
50  case kCodecH265:
+
51  return h26x_stream_format ==
+
52  H26xStreamFormat::kNalUnitStreamWithParameterSetNalus
+
53  ? FOURCC_hev1
+
54  : FOURCC_hvc1;
+
55  case kCodecVP8:
+
56  return FOURCC_vp08;
+
57  case kCodecVP9:
+
58  return FOURCC_vp09;
+
59  case kCodecVP10:
+
60  return FOURCC_vp10;
+
61  case kCodecAAC:
+
62  return FOURCC_mp4a;
+
63  case kCodecAC3:
+
64  return FOURCC_ac_3;
+
65  case kCodecDTSC:
+
66  return FOURCC_dtsc;
+
67  case kCodecDTSH:
+
68  return FOURCC_dtsh;
+
69  case kCodecDTSL:
+
70  return FOURCC_dtsl;
+
71  case kCodecDTSE:
+
72  return FOURCC_dtse;
+
73  case kCodecDTSM:
+
74  return FOURCC_dtsm;
+
75  case kCodecEAC3:
+
76  return FOURCC_ec_3;
+
77  case kCodecOpus:
+
78  return FOURCC_Opus;
+
79  default:
+
80  return FOURCC_NULL;
+
81  }
+
82 }
+
83 
+
84 void GenerateSinf(FourCC old_type,
+
85  const EncryptionConfig& encryption_config,
+
86  ProtectionSchemeInfo* sinf) {
+
87  sinf->format.format = old_type;
+
88 
+
89  DCHECK_NE(encryption_config.protection_scheme, FOURCC_NULL);
+
90  sinf->type.type = encryption_config.protection_scheme;
+
91 
+
92  // The version of cenc implemented here. CENC 4.
+
93  const int kCencSchemeVersion = 0x00010000;
+
94  sinf->type.version = kCencSchemeVersion;
+
95 
+
96  auto& track_encryption = sinf->info.track_encryption;
+
97  track_encryption.default_is_protected = 1;
+
98  track_encryption.default_crypt_byte_block =
+
99  encryption_config.crypt_byte_block;
+
100  track_encryption.default_skip_byte_block = encryption_config.skip_byte_block;
+
101  track_encryption.default_per_sample_iv_size =
+
102  encryption_config.per_sample_iv_size;
+
103  track_encryption.default_constant_iv = encryption_config.constant_iv;
+
104  track_encryption.default_kid = encryption_config.key_id;
+
105 }
+
106 
+
107 } // namespace
+
108 
+
109 MP4Muxer::MP4Muxer(const MuxerOptions& options) : Muxer(options) {}
+
110 MP4Muxer::~MP4Muxer() {}
+
111 
+
112 Status MP4Muxer::InitializeMuxer() {
+
113  DCHECK(!streams().empty());
+
114 
+
115  std::unique_ptr<FileType> ftyp(new FileType);
+
116  std::unique_ptr<Movie> moov(new Movie);
+
117 
+
118  ftyp->major_brand = FOURCC_dash;
+
119  ftyp->compatible_brands.push_back(FOURCC_iso6);
+
120  ftyp->compatible_brands.push_back(FOURCC_mp41);
+
121  if (streams().size() == 1 && streams()[0]->stream_type() == kStreamVideo) {
+
122  const FourCC codec_fourcc = CodecToFourCC(
+
123  streams()[0]->codec(), static_cast<VideoStreamInfo*>(streams()[0].get())
+
124  ->h26x_stream_format());
+
125  if (codec_fourcc != FOURCC_NULL)
+
126  ftyp->compatible_brands.push_back(codec_fourcc);
+
127  }
+
128 
+
129  moov->header.creation_time = IsoTimeNow();
+
130  moov->header.modification_time = IsoTimeNow();
+
131  moov->header.next_track_id = static_cast<uint32_t>(streams().size()) + 1;
+
132 
+
133  moov->tracks.resize(streams().size());
+
134  moov->extends.tracks.resize(streams().size());
+
135 
+
136  // Initialize tracks.
+
137  for (uint32_t i = 0; i < streams().size(); ++i) {
+
138  Track& trak = moov->tracks[i];
+
139  trak.header.track_id = i + 1;
+
140 
+
141  TrackExtends& trex = moov->extends.tracks[i];
+
142  trex.track_id = trak.header.track_id;
+
143  trex.default_sample_description_index = 1;
+
144 
+
145  switch (streams()[i]->stream_type()) {
+
146  case kStreamVideo:
+
147  GenerateVideoTrak(static_cast<VideoStreamInfo*>(streams()[i].get()),
+
148  &trak, i + 1);
+
149  break;
+
150  case kStreamAudio:
+
151  GenerateAudioTrak(static_cast<AudioStreamInfo*>(streams()[i].get()),
+
152  &trak, i + 1);
+
153  break;
+
154  case kStreamText:
+
155  GenerateTextTrak(static_cast<TextStreamInfo*>(streams()[i].get()),
+
156  &trak, i + 1);
+
157  break;
+
158  default:
+
159  NOTIMPLEMENTED() << "Not implemented for stream type: "
+
160  << streams()[i]->stream_type();
+
161  }
+
162 
+
163  if (streams()[i]->is_encrypted()) {
+
164  const auto& key_system_info =
+
165  streams()[i]->encryption_config().key_system_info;
+
166  moov->pssh.resize(key_system_info.size());
+
167  for (size_t j = 0; j < key_system_info.size(); j++)
+
168  moov->pssh[j].raw_box = key_system_info[j].CreateBox();
+
169  }
+
170  }
+
171 
+
172  if (options().segment_template.empty()) {
+
173  segmenter_.reset(new SingleSegmentSegmenter(options(), std::move(ftyp),
+
174  std::move(moov)));
+
175  } else {
+
176  segmenter_.reset(
+
177  new MultiSegmentSegmenter(options(), std::move(ftyp), std::move(moov)));
+
178  }
179 
-
180  FireOnMediaStartEvent();
-
181  return Status::OK;
-
182 }
-
183 
-
184 Status MP4Muxer::Finalize() {
-
185  DCHECK(segmenter_);
-
186  Status segmenter_finalized = segmenter_->Finalize();
-
187 
-
188  if (!segmenter_finalized.ok())
-
189  return segmenter_finalized;
-
190 
-
191  FireOnMediaEndEvent();
-
192  LOG(INFO) << "MP4 file '" << options().output_file_name << "' finalized.";
-
193  return Status::OK;
-
194 }
+
180  const Status segmenter_initialized =
+
181  segmenter_->Initialize(streams(), muxer_listener(), progress_listener());
+
182  if (!segmenter_initialized.ok())
+
183  return segmenter_initialized;
+
184 
+
185  FireOnMediaStartEvent();
+
186  return Status::OK;
+
187 }
+
188 
+
189 Status MP4Muxer::Finalize() {
+
190  DCHECK(segmenter_);
+
191  Status segmenter_finalized = segmenter_->Finalize();
+
192 
+
193  if (!segmenter_finalized.ok())
+
194  return segmenter_finalized;
195 
-
196 Status MP4Muxer::AddSample(size_t stream_id,
-
197  std::shared_ptr<MediaSample> sample) {
-
198  DCHECK(segmenter_);
-
199  return segmenter_->AddSample(stream_id, sample);
-
200 }
-
201 
-
202 Status MP4Muxer::FinalizeSegment(size_t stream_id,
-
203  std::shared_ptr<SegmentInfo> segment_info) {
-
204  DCHECK(segmenter_);
-
205  VLOG(3) << "Finalize " << (segment_info->is_subsegment ? "sub" : "")
-
206  << "segment " << segment_info->start_timestamp << " duration "
-
207  << segment_info->duration;
-
208  return segmenter_->FinalizeSegment(stream_id, std::move(segment_info));
-
209 }
-
210 
-
211 void MP4Muxer::InitializeTrak(const StreamInfo* info, Track* trak) {
-
212  int64_t now = IsoTimeNow();
-
213  trak->header.creation_time = now;
-
214  trak->header.modification_time = now;
-
215  trak->header.duration = 0;
-
216  trak->media.header.creation_time = now;
-
217  trak->media.header.modification_time = now;
-
218  trak->media.header.timescale = info->time_scale();
-
219  trak->media.header.duration = 0;
-
220  if (!info->language().empty()) {
-
221  // Strip off the subtag, if any.
-
222  std::string main_language = info->language();
-
223  size_t dash = main_language.find('-');
-
224  if (dash != std::string::npos) {
-
225  main_language.erase(dash);
-
226  }
-
227 
-
228  // ISO-639-2/T main language code should be 3 characters.
-
229  if (main_language.size() != 3) {
-
230  LOG(WARNING) << "'" << main_language << "' is not a valid ISO-639-2 "
-
231  << "language code, ignoring.";
-
232  } else {
-
233  trak->media.header.language.code = main_language;
-
234  }
-
235  }
-
236 }
-
237 
-
238 void MP4Muxer::GenerateVideoTrak(const VideoStreamInfo* video_info,
-
239  Track* trak,
-
240  uint32_t track_id) {
-
241  InitializeTrak(video_info, trak);
+
196  FireOnMediaEndEvent();
+
197  LOG(INFO) << "MP4 file '" << options().output_file_name << "' finalized.";
+
198  return Status::OK;
+
199 }
+
200 
+
201 Status MP4Muxer::AddSample(size_t stream_id,
+
202  std::shared_ptr<MediaSample> sample) {
+
203  DCHECK(segmenter_);
+
204  return segmenter_->AddSample(stream_id, sample);
+
205 }
+
206 
+
207 Status MP4Muxer::FinalizeSegment(size_t stream_id,
+
208  std::shared_ptr<SegmentInfo> segment_info) {
+
209  DCHECK(segmenter_);
+
210  VLOG(3) << "Finalize " << (segment_info->is_subsegment ? "sub" : "")
+
211  << "segment " << segment_info->start_timestamp << " duration "
+
212  << segment_info->duration;
+
213  return segmenter_->FinalizeSegment(stream_id, std::move(segment_info));
+
214 }
+
215 
+
216 void MP4Muxer::InitializeTrak(const StreamInfo* info, Track* trak) {
+
217  int64_t now = IsoTimeNow();
+
218  trak->header.creation_time = now;
+
219  trak->header.modification_time = now;
+
220  trak->header.duration = 0;
+
221  trak->media.header.creation_time = now;
+
222  trak->media.header.modification_time = now;
+
223  trak->media.header.timescale = info->time_scale();
+
224  trak->media.header.duration = 0;
+
225  if (!info->language().empty()) {
+
226  // Strip off the subtag, if any.
+
227  std::string main_language = info->language();
+
228  size_t dash = main_language.find('-');
+
229  if (dash != std::string::npos) {
+
230  main_language.erase(dash);
+
231  }
+
232 
+
233  // ISO-639-2/T main language code should be 3 characters.
+
234  if (main_language.size() != 3) {
+
235  LOG(WARNING) << "'" << main_language << "' is not a valid ISO-639-2 "
+
236  << "language code, ignoring.";
+
237  } else {
+
238  trak->media.header.language.code = main_language;
+
239  }
+
240  }
+
241 }
242 
-
243  // width and height specify the track's visual presentation size as
-
244  // fixed-point 16.16 values.
-
245  uint32_t pixel_width = video_info->pixel_width();
-
246  uint32_t pixel_height = video_info->pixel_height();
-
247  if (pixel_width == 0 || pixel_height == 0) {
-
248  LOG(WARNING) << "pixel width/height are not set. Assuming 1:1.";
-
249  pixel_width = 1;
-
250  pixel_height = 1;
-
251  }
-
252  const double sample_aspect_ratio =
-
253  static_cast<double>(pixel_width) / pixel_height;
-
254  trak->header.width = video_info->width() * sample_aspect_ratio * 0x10000;
-
255  trak->header.height = video_info->height() * 0x10000;
-
256 
-
257  VideoSampleEntry video;
-
258  video.format =
-
259  CodecToFourCC(video_info->codec(), video_info->h26x_stream_format());
-
260  video.width = video_info->width();
-
261  video.height = video_info->height();
-
262  video.codec_configuration.data = video_info->codec_config();
-
263  if (pixel_width != 1 || pixel_height != 1) {
-
264  video.pixel_aspect.h_spacing = pixel_width;
-
265  video.pixel_aspect.v_spacing = pixel_height;
-
266  }
-
267 
-
268  SampleDescription& sample_description =
-
269  trak->media.information.sample_table.description;
-
270  sample_description.type = kVideo;
-
271  sample_description.video_entries.push_back(video);
+
243 void MP4Muxer::GenerateVideoTrak(const VideoStreamInfo* video_info,
+
244  Track* trak,
+
245  uint32_t track_id) {
+
246  InitializeTrak(video_info, trak);
+
247 
+
248  // width and height specify the track's visual presentation size as
+
249  // fixed-point 16.16 values.
+
250  uint32_t pixel_width = video_info->pixel_width();
+
251  uint32_t pixel_height = video_info->pixel_height();
+
252  if (pixel_width == 0 || pixel_height == 0) {
+
253  LOG(WARNING) << "pixel width/height are not set. Assuming 1:1.";
+
254  pixel_width = 1;
+
255  pixel_height = 1;
+
256  }
+
257  const double sample_aspect_ratio =
+
258  static_cast<double>(pixel_width) / pixel_height;
+
259  trak->header.width = video_info->width() * sample_aspect_ratio * 0x10000;
+
260  trak->header.height = video_info->height() * 0x10000;
+
261 
+
262  VideoSampleEntry video;
+
263  video.format =
+
264  CodecToFourCC(video_info->codec(), video_info->h26x_stream_format());
+
265  video.width = video_info->width();
+
266  video.height = video_info->height();
+
267  video.codec_configuration.data = video_info->codec_config();
+
268  if (pixel_width != 1 || pixel_height != 1) {
+
269  video.pixel_aspect.h_spacing = pixel_width;
+
270  video.pixel_aspect.v_spacing = pixel_height;
+
271  }
272 
-
273  if (video_info->is_encrypted()) {
-
274  // Add a second entry for clear content.
-
275  sample_description.video_entries.push_back(video);
-
276  // Convert the first entry to an encrypted entry.
-
277  VideoSampleEntry& entry = sample_description.video_entries[0];
-
278  GenerateSinf(entry.format, video_info->encryption_config(), &entry.sinf);
-
279  entry.format = FOURCC_encv;
-
280  }
-
281 }
-
282 
-
283 void MP4Muxer::GenerateAudioTrak(const AudioStreamInfo* audio_info,
-
284  Track* trak,
-
285  uint32_t track_id) {
-
286  InitializeTrak(audio_info, trak);
+
273  SampleDescription& sample_description =
+
274  trak->media.information.sample_table.description;
+
275  sample_description.type = kVideo;
+
276  sample_description.video_entries.push_back(video);
+
277 
+
278  if (video_info->is_encrypted()) {
+
279  // Add a second entry for clear content.
+
280  sample_description.video_entries.push_back(video);
+
281  // Convert the first entry to an encrypted entry.
+
282  VideoSampleEntry& entry = sample_description.video_entries[0];
+
283  GenerateSinf(entry.format, video_info->encryption_config(), &entry.sinf);
+
284  entry.format = FOURCC_encv;
+
285  }
+
286 }
287 
-
288  trak->header.volume = 0x100;
-
289 
-
290  AudioSampleEntry audio;
-
291  audio.format =
-
292  CodecToFourCC(audio_info->codec(), H26xStreamFormat::kUnSpecified);
-
293  switch(audio_info->codec()){
-
294  case kCodecAAC:
-
295  audio.esds.es_descriptor.set_object_type(kISO_14496_3); // MPEG4 AAC.
-
296  audio.esds.es_descriptor.set_esid(track_id);
-
297  audio.esds.es_descriptor.set_decoder_specific_info(
-
298  audio_info->codec_config());
-
299  audio.esds.es_descriptor.set_max_bitrate(audio_info->max_bitrate());
-
300  audio.esds.es_descriptor.set_avg_bitrate(audio_info->avg_bitrate());
-
301  break;
-
302  case kCodecDTSC:
-
303  case kCodecDTSH:
-
304  case kCodecDTSL:
-
305  case kCodecDTSE:
-
306  case kCodecDTSM:
-
307  audio.ddts.extra_data = audio_info->codec_config();
-
308  audio.ddts.max_bitrate = audio_info->max_bitrate();
-
309  audio.ddts.avg_bitrate = audio_info->avg_bitrate();
-
310  audio.ddts.sampling_frequency = audio_info->sampling_frequency();
-
311  audio.ddts.pcm_sample_depth = audio_info->sample_bits();
-
312  break;
-
313  case kCodecAC3:
-
314  audio.dac3.data = audio_info->codec_config();
-
315  break;
-
316  case kCodecEAC3:
-
317  audio.dec3.data = audio_info->codec_config();
-
318  break;
-
319  case kCodecOpus:
-
320  audio.dops.opus_identification_header = audio_info->codec_config();
-
321  break;
-
322  default:
-
323  NOTIMPLEMENTED();
-
324  break;
-
325  }
-
326 
-
327  audio.channelcount = audio_info->num_channels();
-
328  audio.samplesize = audio_info->sample_bits();
-
329  audio.samplerate = audio_info->sampling_frequency();
-
330  SampleTable& sample_table = trak->media.information.sample_table;
-
331  SampleDescription& sample_description = sample_table.description;
-
332  sample_description.type = kAudio;
-
333  sample_description.audio_entries.push_back(audio);
-
334 
-
335  if (audio_info->is_encrypted()) {
-
336  // Add a second entry for clear content.
-
337  sample_description.audio_entries.push_back(audio);
-
338  // Convert the first entry to an encrypted entry.
-
339  AudioSampleEntry& entry = sample_description.audio_entries[0];
-
340  GenerateSinf(entry.format, audio_info->encryption_config(), &entry.sinf);
-
341  entry.format = FOURCC_enca;
-
342  }
-
343 
-
344  // Opus requires at least one sample group description box and at least one
-
345  // sample to group box with grouping type 'roll' within sample table box.
-
346  if (audio_info->codec() == kCodecOpus) {
-
347  sample_table.sample_group_descriptions.resize(1);
-
348  SampleGroupDescription& sample_group_description =
-
349  sample_table.sample_group_descriptions.back();
-
350  sample_group_description.grouping_type = FOURCC_roll;
-
351  sample_group_description.audio_roll_recovery_entries.resize(1);
-
352  // The roll distance is expressed in sample units and always takes negative
-
353  // values.
-
354  const uint64_t kNanosecondsPerSecond = 1000000000ull;
-
355  sample_group_description.audio_roll_recovery_entries[0].roll_distance =
-
356  (0 - (audio_info->seek_preroll_ns() * audio.samplerate +
-
357  kNanosecondsPerSecond / 2)) /
-
358  kNanosecondsPerSecond;
-
359 
-
360  sample_table.sample_to_groups.resize(1);
-
361  SampleToGroup& sample_to_group = sample_table.sample_to_groups.back();
-
362  sample_to_group.grouping_type = FOURCC_roll;
-
363 
-
364  sample_to_group.entries.resize(1);
-
365  SampleToGroupEntry& sample_to_group_entry = sample_to_group.entries.back();
-
366  // All samples are in track fragments.
-
367  sample_to_group_entry.sample_count = 0;
-
368  sample_to_group_entry.group_description_index =
-
369  SampleToGroupEntry::kTrackGroupDescriptionIndexBase + 1;
-
370  } else if (audio_info->seek_preroll_ns() != 0) {
-
371  LOG(WARNING) << "Unexpected seek preroll for codec " << audio_info->codec();
-
372  return;
-
373  }
-
374 }
-
375 
-
376 bool MP4Muxer::GetInitRangeStartAndEnd(uint32_t* start, uint32_t* end) {
-
377  DCHECK(start && end);
-
378  size_t range_offset = 0;
-
379  size_t range_size = 0;
-
380  const bool has_range = segmenter_->GetInitRange(&range_offset, &range_size);
-
381 
-
382  if (!has_range)
-
383  return false;
-
384 
-
385  SetStartAndEndFromOffsetAndSize(range_offset, range_size, start, end);
-
386  return true;
-
387 }
-
388 
-
389 bool MP4Muxer::GetIndexRangeStartAndEnd(uint32_t* start, uint32_t* end) {
-
390  DCHECK(start && end);
-
391  size_t range_offset = 0;
-
392  size_t range_size = 0;
-
393  const bool has_range = segmenter_->GetIndexRange(&range_offset, &range_size);
-
394 
-
395  if (!has_range)
-
396  return false;
-
397 
-
398  SetStartAndEndFromOffsetAndSize(range_offset, range_size, start, end);
-
399  return true;
-
400 }
-
401 
-
402 void MP4Muxer::FireOnMediaStartEvent() {
-
403  if (!muxer_listener())
-
404  return;
+
288 void MP4Muxer::GenerateAudioTrak(const AudioStreamInfo* audio_info,
+
289  Track* trak,
+
290  uint32_t track_id) {
+
291  InitializeTrak(audio_info, trak);
+
292 
+
293  trak->header.volume = 0x100;
+
294 
+
295  AudioSampleEntry audio;
+
296  audio.format =
+
297  CodecToFourCC(audio_info->codec(), H26xStreamFormat::kUnSpecified);
+
298  switch(audio_info->codec()){
+
299  case kCodecAAC:
+
300  audio.esds.es_descriptor.set_object_type(kISO_14496_3); // MPEG4 AAC.
+
301  audio.esds.es_descriptor.set_esid(track_id);
+
302  audio.esds.es_descriptor.set_decoder_specific_info(
+
303  audio_info->codec_config());
+
304  audio.esds.es_descriptor.set_max_bitrate(audio_info->max_bitrate());
+
305  audio.esds.es_descriptor.set_avg_bitrate(audio_info->avg_bitrate());
+
306  break;
+
307  case kCodecDTSC:
+
308  case kCodecDTSH:
+
309  case kCodecDTSL:
+
310  case kCodecDTSE:
+
311  case kCodecDTSM:
+
312  audio.ddts.extra_data = audio_info->codec_config();
+
313  audio.ddts.max_bitrate = audio_info->max_bitrate();
+
314  audio.ddts.avg_bitrate = audio_info->avg_bitrate();
+
315  audio.ddts.sampling_frequency = audio_info->sampling_frequency();
+
316  audio.ddts.pcm_sample_depth = audio_info->sample_bits();
+
317  break;
+
318  case kCodecAC3:
+
319  audio.dac3.data = audio_info->codec_config();
+
320  break;
+
321  case kCodecEAC3:
+
322  audio.dec3.data = audio_info->codec_config();
+
323  break;
+
324  case kCodecOpus:
+
325  audio.dops.opus_identification_header = audio_info->codec_config();
+
326  break;
+
327  default:
+
328  NOTIMPLEMENTED();
+
329  break;
+
330  }
+
331 
+
332  audio.channelcount = audio_info->num_channels();
+
333  audio.samplesize = audio_info->sample_bits();
+
334  audio.samplerate = audio_info->sampling_frequency();
+
335  SampleTable& sample_table = trak->media.information.sample_table;
+
336  SampleDescription& sample_description = sample_table.description;
+
337  sample_description.type = kAudio;
+
338  sample_description.audio_entries.push_back(audio);
+
339 
+
340  if (audio_info->is_encrypted()) {
+
341  // Add a second entry for clear content.
+
342  sample_description.audio_entries.push_back(audio);
+
343  // Convert the first entry to an encrypted entry.
+
344  AudioSampleEntry& entry = sample_description.audio_entries[0];
+
345  GenerateSinf(entry.format, audio_info->encryption_config(), &entry.sinf);
+
346  entry.format = FOURCC_enca;
+
347  }
+
348 
+
349  // Opus requires at least one sample group description box and at least one
+
350  // sample to group box with grouping type 'roll' within sample table box.
+
351  if (audio_info->codec() == kCodecOpus) {
+
352  sample_table.sample_group_descriptions.resize(1);
+
353  SampleGroupDescription& sample_group_description =
+
354  sample_table.sample_group_descriptions.back();
+
355  sample_group_description.grouping_type = FOURCC_roll;
+
356  sample_group_description.audio_roll_recovery_entries.resize(1);
+
357  // The roll distance is expressed in sample units and always takes negative
+
358  // values.
+
359  const uint64_t kNanosecondsPerSecond = 1000000000ull;
+
360  sample_group_description.audio_roll_recovery_entries[0].roll_distance =
+
361  (0 - (audio_info->seek_preroll_ns() * audio.samplerate +
+
362  kNanosecondsPerSecond / 2)) /
+
363  kNanosecondsPerSecond;
+
364 
+
365  sample_table.sample_to_groups.resize(1);
+
366  SampleToGroup& sample_to_group = sample_table.sample_to_groups.back();
+
367  sample_to_group.grouping_type = FOURCC_roll;
+
368 
+
369  sample_to_group.entries.resize(1);
+
370  SampleToGroupEntry& sample_to_group_entry = sample_to_group.entries.back();
+
371  // All samples are in track fragments.
+
372  sample_to_group_entry.sample_count = 0;
+
373  sample_to_group_entry.group_description_index =
+
374  SampleToGroupEntry::kTrackGroupDescriptionIndexBase + 1;
+
375  } else if (audio_info->seek_preroll_ns() != 0) {
+
376  LOG(WARNING) << "Unexpected seek preroll for codec " << audio_info->codec();
+
377  return;
+
378  }
+
379 }
+
380 
+
381 void MP4Muxer::GenerateTextTrak(const TextStreamInfo* text_info,
+
382  Track* trak,
+
383  uint32_t track_id) {
+
384  InitializeTrak(text_info, trak);
+
385 
+
386  if (text_info->codec_string() == "wvtt") {
+
387  // Handle WebVTT.
+
388  TextSampleEntry webvtt;
+
389  webvtt.format = FOURCC_wvtt;
+
390  webvtt.config.config.assign(text_info->codec_config().begin(),
+
391  text_info->codec_config().end());
+
392  // TODO(rkuroiwa): This should be the source file URI(s). Putting bogus
+
393  // string for now so that the box will be there for samples with overlapping
+
394  // cues.
+
395  webvtt.label.source_label = "source_label";
+
396  SampleDescription& sample_description =
+
397  trak->media.information.sample_table.description;
+
398  sample_description.type = kText;
+
399  sample_description.text_entries.push_back(webvtt);
+
400  return;
+
401  }
+
402  NOTIMPLEMENTED() << text_info->codec_string()
+
403  << " handling not implemented yet.";
+
404 }
405 
-
406  if (streams().size() > 1) {
-
407  LOG(ERROR) << "MuxerListener cannot take more than 1 stream.";
-
408  return;
-
409  }
-
410  DCHECK(!streams().empty()) << "Media started without a stream.";
+
406 bool MP4Muxer::GetInitRangeStartAndEnd(uint32_t* start, uint32_t* end) {
+
407  DCHECK(start && end);
+
408  size_t range_offset = 0;
+
409  size_t range_size = 0;
+
410  const bool has_range = segmenter_->GetInitRange(&range_offset, &range_size);
411 
-
412  const uint32_t timescale = segmenter_->GetReferenceTimeScale();
-
413  muxer_listener()->OnMediaStart(options(), *streams().front(), timescale,
-
414  MuxerListener::kContainerMp4);
-
415 }
-
416 
-
417 void MP4Muxer::FireOnMediaEndEvent() {
-
418  if (!muxer_listener())
-
419  return;
-
420 
-
421  uint32_t init_range_start = 0;
-
422  uint32_t init_range_end = 0;
-
423  const bool has_init_range =
-
424  GetInitRangeStartAndEnd(&init_range_start, &init_range_end);
-
425 
-
426  uint32_t index_range_start = 0;
-
427  uint32_t index_range_end = 0;
-
428  const bool has_index_range =
-
429  GetIndexRangeStartAndEnd(&index_range_start, &index_range_end);
-
430 
-
431  const float duration_seconds = static_cast<float>(segmenter_->GetDuration());
-
432 
-
433  const int64_t file_size =
-
434  File::GetFileSize(options().output_file_name.c_str());
-
435  if (file_size <= 0) {
-
436  LOG(ERROR) << "Invalid file size: " << file_size;
-
437  return;
-
438  }
-
439 
-
440  muxer_listener()->OnMediaEnd(has_init_range,
-
441  init_range_start,
-
442  init_range_end,
-
443  has_index_range,
-
444  index_range_start,
-
445  index_range_end,
-
446  duration_seconds,
-
447  file_size);
-
448 }
-
449 
-
450 uint64_t MP4Muxer::IsoTimeNow() {
-
451  // Time in seconds from Jan. 1, 1904 to epoch time, i.e. Jan. 1, 1970.
-
452  const uint64_t kIsomTimeOffset = 2082844800l;
-
453  return kIsomTimeOffset +
-
454  (clock() ? clock()->Now() : base::Time::Now()).ToDoubleT();
-
455 }
-
456 
-
457 } // namespace mp4
-
458 } // namespace media
-
459 } // namespace shaka
+
412  if (!has_range)
+
413  return false;
+
414 
+
415  SetStartAndEndFromOffsetAndSize(range_offset, range_size, start, end);
+
416  return true;
+
417 }
+
418 
+
419 bool MP4Muxer::GetIndexRangeStartAndEnd(uint32_t* start, uint32_t* end) {
+
420  DCHECK(start && end);
+
421  size_t range_offset = 0;
+
422  size_t range_size = 0;
+
423  const bool has_range = segmenter_->GetIndexRange(&range_offset, &range_size);
+
424 
+
425  if (!has_range)
+
426  return false;
+
427 
+
428  SetStartAndEndFromOffsetAndSize(range_offset, range_size, start, end);
+
429  return true;
+
430 }
+
431 
+
432 void MP4Muxer::FireOnMediaStartEvent() {
+
433  if (!muxer_listener())
+
434  return;
+
435 
+
436  if (streams().size() > 1) {
+
437  LOG(ERROR) << "MuxerListener cannot take more than 1 stream.";
+
438  return;
+
439  }
+
440  DCHECK(!streams().empty()) << "Media started without a stream.";
+
441 
+
442  const uint32_t timescale = segmenter_->GetReferenceTimeScale();
+
443  muxer_listener()->OnMediaStart(options(), *streams().front(), timescale,
+
444  MuxerListener::kContainerMp4);
+
445 }
+
446 
+
447 void MP4Muxer::FireOnMediaEndEvent() {
+
448  if (!muxer_listener())
+
449  return;
+
450 
+
451  uint32_t init_range_start = 0;
+
452  uint32_t init_range_end = 0;
+
453  const bool has_init_range =
+
454  GetInitRangeStartAndEnd(&init_range_start, &init_range_end);
+
455 
+
456  uint32_t index_range_start = 0;
+
457  uint32_t index_range_end = 0;
+
458  const bool has_index_range =
+
459  GetIndexRangeStartAndEnd(&index_range_start, &index_range_end);
+
460 
+
461  const float duration_seconds = static_cast<float>(segmenter_->GetDuration());
+
462 
+
463  const int64_t file_size =
+
464  File::GetFileSize(options().output_file_name.c_str());
+
465  if (file_size <= 0) {
+
466  LOG(ERROR) << "Invalid file size: " << file_size;
+
467  return;
+
468  }
+
469 
+
470  muxer_listener()->OnMediaEnd(has_init_range,
+
471  init_range_start,
+
472  init_range_end,
+
473  has_index_range,
+
474  index_range_start,
+
475  index_range_end,
+
476  duration_seconds,
+
477  file_size);
+
478 }
+
479 
+
480 uint64_t MP4Muxer::IsoTimeNow() {
+
481  // Time in seconds from Jan. 1, 1904 to epoch time, i.e. Jan. 1, 1970.
+
482  const uint64_t kIsomTimeOffset = 2082844800l;
+
483  return kIsomTimeOffset +
+
484  (clock() ? clock()->Now() : base::Time::Now()).ToDoubleT();
+
485 }
+
486 
+
487 } // namespace mp4
+
488 } // namespace media
+
489 } // namespace shaka
virtual void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size)=0
-
MP4Muxer(const MuxerOptions &options)
Create a MP4Muxer object from MuxerOptions.
Definition: mp4_muxer.cc:108
+
MP4Muxer(const MuxerOptions &options)
Create a MP4Muxer object from MuxerOptions.
Definition: mp4_muxer.cc:109
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
static int64_t GetFileSize(const char *file_name)
Definition: file.cc:176
@@ -557,7 +587,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/d8b/classshaka_1_1media_1_1WebMMediaParser-members.html b/docs/da/d8b/classshaka_1_1media_1_1WebMMediaParser-members.html index 4a0509b340..46d4840670 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 111a527dd2..fbe275669c 100644 --- a/docs/da/d8e/container__names_8cc_source.html +++ b/docs/da/d8e/container__names_8cc_source.html @@ -1866,7 +1866,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 83d595f923..9c1778b06f 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 58d1bfa356..ada5a72a05 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 4284d142b8..74abf2669f 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 f7d08d5238..784283fba9 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 7b3a87ecc6..77e5f885f5 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 46923f9f9e..e7eeb2c052 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 6f22e23882..dfacfd67f1 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 00db043e11..5b451d4828 100644 --- a/docs/da/dc3/status_8cc_source.html +++ b/docs/da/dc3/status_8cc_source.html @@ -176,7 +176,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 0ef81242ad..0912adbf39 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 f7e812bdde..2a52db6e3e 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/playready__key__source_8cc_source.html b/docs/da/dd0/playready__key__source_8cc_source.html index ed17336df7..d0c7f25951 100644 --- a/docs/da/dd0/playready__key__source_8cc_source.html +++ b/docs/da/dd0/playready__key__source_8cc_source.html @@ -460,7 +460,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 36ad7586d2..4000527b38 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 c5239648da..71ab12e8cb 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 6aab28f043..980c2036a5 100644 --- a/docs/da/dd1/fragmenter_8h_source.html +++ b/docs/da/dd1/fragmenter_8h_source.html @@ -208,7 +208,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/dd2/classshaka_1_1media_1_1mp2t_1_1TsPacket-members.html b/docs/da/dd2/classshaka_1_1media_1_1mp2t_1_1TsPacket-members.html index fa992af95f..9ec462acac 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 dd6d3752a9..b1d368cc8b 100644 --- a/docs/da/dd6/classshaka_1_1media_1_1H264ByteToUnitStreamConverter-members.html +++ b/docs/da/dd6/classshaka_1_1media_1_1H264ByteToUnitStreamConverter-members.html @@ -108,7 +108,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 d5225a010c..7b7f0b9871 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 6be9b72b15..e79a84369a 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 6b294fa325..b9a778a20d 100644 --- a/docs/da/ddd/classshaka_1_1media_1_1WidevineKeySource.html +++ b/docs/da/ddd/classshaka_1_1media_1_1WidevineKeySource.html @@ -552,7 +552,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 08cf3ea697..2ee797f231 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 f7f54c3cfe..37931b106a 100644 --- a/docs/da/de2/mock__mpd__builder_8cc_source.html +++ b/docs/da/de2/mock__mpd__builder_8cc_source.html @@ -120,7 +120,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 4b74eccfb4..872a4aca0b 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 04d48b9a7b..ee3db5e660 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 035424fd4a..99c741b31d 100644 --- a/docs/da/de8/classshaka_1_1media_1_1AudioStreamInfo-members.html +++ b/docs/da/de8/classshaka_1_1media_1_1AudioStreamInfo-members.html @@ -131,7 +131,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 4af48c755f..ea96946e8e 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 f35487b82b..512e2df81d 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 051259eb80..97c3cc5e53 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 b8a4892a2b..28957c4697 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 de41660699..118b13fca6 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/da/dfd/classshaka_1_1media_1_1MediaHandler.html b/docs/da/dfd/classshaka_1_1media_1_1MediaHandler.html index 218fc31078..f2ce77aa25 100644 --- a/docs/da/dfd/classshaka_1_1media_1_1MediaHandler.html +++ b/docs/da/dfd/classshaka_1_1media_1_1MediaHandler.html @@ -294,7 +294,7 @@ std::pair< std::shared_ptr
diff --git a/docs/db/d02/structshaka_1_1media_1_1ChunkingOptions.html b/docs/db/d02/structshaka_1_1media_1_1ChunkingOptions.html index de48492935..2e1735e125 100644 --- a/docs/db/d02/structshaka_1_1media_1_1ChunkingOptions.html +++ b/docs/db/d02/structshaka_1_1media_1_1ChunkingOptions.html @@ -162,7 +162,7 @@ double  diff --git a/docs/db/d05/structshaka_1_1media_1_1H265SliceHeader.html b/docs/db/d05/structshaka_1_1media_1_1H265SliceHeader.html index 19c417657a..4b0c286bf8 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/d0b/webvtt__sample__converter_8h_source.html b/docs/db/d0b/webvtt__sample__converter_8h_source.html index dd4b4d18db..bc877e92ce 100644 --- a/docs/db/d0b/webvtt__sample__converter_8h_source.html +++ b/docs/db/d0b/webvtt__sample__converter_8h_source.html @@ -173,7 +173,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); 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 44e89a8f5b..5d12e15677 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 bf9177bba8..6d0f3fa1e1 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 9d945f60b4..823d582f56 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 f2ccbfe846..cfd2e1e6a8 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 0dc85a2538..182e53f8bb 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 @@ -215,7 +215,7 @@ std::pair< std::shared_ptr

Detailed Description

Implements MP4 Muxer for ISO-BMFF. Please refer to ISO/IEC 14496-12: ISO base media file format for details.

-

Definition at line 30 of file mp4_muxer.h.

+

Definition at line 31 of file mp4_muxer.h.


The documentation for this class was generated from the following files:
  • media/formats/mp4/mp4_muxer.h
  • media/formats/mp4/mp4_muxer.cc
  • @@ -223,7 +223,7 @@ std::pair< std::shared_ptr
    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 5502e21bad..5d5bee3112 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 @@ -163,7 +163,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 cdad04284e..d4c46f8768 100644 --- a/docs/db/d31/track__run__iterator_8cc_source.html +++ b/docs/db/d31/track__run__iterator_8cc_source.html @@ -775,7 +775,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 03d2187658..50be2f2658 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 @@ -104,7 +104,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 200cd34bf7..6ba01da760 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 b670ade9d8..c3085f08dc 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 31bb52d11c..f1be9c913f 100644 --- a/docs/db/d4b/classshaka_1_1MockAdaptationSet.html +++ b/docs/db/d4b/classshaka_1_1MockAdaptationSet.html @@ -177,7 +177,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 5d8094fc01..3ae688a493 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 4244dcf956..36c7f3f3a0 100644 --- a/docs/db/d51/mp2t__media__parser_8h_source.html +++ b/docs/db/d51/mp2t__media__parser_8h_source.html @@ -191,7 +191,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 243fbda047..0ac397adca 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 @@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d59/media__handler__test__base_8h_source.html b/docs/db/d59/media__handler__test__base_8h_source.html index c33eda68f9..a8ae4d3d89 100644 --- a/docs/db/d59/media__handler__test__base_8h_source.html +++ b/docs/db/d59/media__handler__test__base_8h_source.html @@ -235,7 +235,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 fe1f0ed088..11668e169c 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 2b3475940a..20854c2e27 100644 --- a/docs/db/d60/mpd__options_8h_source.html +++ b/docs/db/d60/mpd__options_8h_source.html @@ -127,7 +127,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 437c62fa72..b3522d9a6b 100644 --- a/docs/db/d64/webvtt__media__parser_8h_source.html +++ b/docs/db/d64/webvtt__media__parser_8h_source.html @@ -180,7 +180,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 c087d45d54..47cd5291a7 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/d66/udp__file_8cc_source.html b/docs/db/d66/udp__file_8cc_source.html index 9f2a761f7e..05ecf102ce 100644 --- a/docs/db/d66/udp__file_8cc_source.html +++ b/docs/db/d66/udp__file_8cc_source.html @@ -343,7 +343,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 80d521d46b..daca8e86d1 100644 --- a/docs/db/d71/http__key__fetcher_8h_source.html +++ b/docs/db/d71/http__key__fetcher_8h_source.html @@ -167,7 +167,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 d3d9b03919..4ea50da5df 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 6605235d91..5408f7723d 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 @@ -131,7 +131,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 84a672ea56..6b955c43fa 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 f6f0db0b7d..88100b4bb7 100644 --- a/docs/db/d7e/muxer__options_8cc_source.html +++ b/docs/db/d7e/muxer__options_8cc_source.html @@ -106,7 +106,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 c8a6fcd3de..129564b87a 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 a19228a272..23126e3615 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 ebb5ebc823..083a7c575f 100644 --- a/docs/db/d8f/mp4__muxer_8h_source.html +++ b/docs/db/d8f/mp4__muxer_8h_source.html @@ -105,76 +105,81 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    16 
    17 class AudioStreamInfo;
    18 class StreamInfo;
    -
    19 class VideoStreamInfo;
    -
    20 
    -
    21 namespace mp4 {
    -
    22 
    -
    23 class Segmenter;
    -
    24 
    -
    25 struct ProtectionSchemeInfo;
    -
    26 struct Track;
    -
    27 
    -
    30 class MP4Muxer : public Muxer {
    -
    31  public:
    -
    33  explicit MP4Muxer(const MuxerOptions& options);
    -
    34  ~MP4Muxer() override;
    -
    35 
    -
    36  private:
    -
    37  // Muxer implementation overrides.
    -
    38  Status InitializeMuxer() override;
    -
    39  Status Finalize() override;
    -
    40  Status AddSample(size_t stream_id,
    -
    41  std::shared_ptr<MediaSample> sample) override;
    -
    42  Status FinalizeSegment(size_t stream_id,
    -
    43  std::shared_ptr<SegmentInfo> segment_info) override;
    -
    44 
    -
    45  // Generate Audio/Video Track box.
    -
    46  void InitializeTrak(const StreamInfo* info, Track* trak);
    -
    47  void GenerateAudioTrak(const AudioStreamInfo* audio_info,
    -
    48  Track* trak,
    -
    49  uint32_t track_id);
    -
    50  void GenerateVideoTrak(const VideoStreamInfo* video_info,
    -
    51  Track* trak,
    -
    52  uint32_t track_id);
    -
    53 
    -
    54  // Gets |start| and |end| initialization range. Returns true if there is an
    -
    55  // init range and sets start-end byte-range-spec specified in RFC2616.
    -
    56  bool GetInitRangeStartAndEnd(uint32_t* start, uint32_t* end);
    +
    19 class TextStreamInfo;
    +
    20 class VideoStreamInfo;
    +
    21 
    +
    22 namespace mp4 {
    +
    23 
    +
    24 class Segmenter;
    +
    25 
    +
    26 struct ProtectionSchemeInfo;
    +
    27 struct Track;
    +
    28 
    +
    31 class MP4Muxer : public Muxer {
    +
    32  public:
    +
    34  explicit MP4Muxer(const MuxerOptions& options);
    +
    35  ~MP4Muxer() override;
    +
    36 
    +
    37  private:
    +
    38  // Muxer implementation overrides.
    +
    39  Status InitializeMuxer() override;
    +
    40  Status Finalize() override;
    +
    41  Status AddSample(size_t stream_id,
    +
    42  std::shared_ptr<MediaSample> sample) override;
    +
    43  Status FinalizeSegment(size_t stream_id,
    +
    44  std::shared_ptr<SegmentInfo> segment_info) override;
    +
    45 
    +
    46  // Generate Audio/Video Track box.
    +
    47  void InitializeTrak(const StreamInfo* info, Track* trak);
    +
    48  void GenerateAudioTrak(const AudioStreamInfo* audio_info,
    +
    49  Track* trak,
    +
    50  uint32_t track_id);
    +
    51  void GenerateVideoTrak(const VideoStreamInfo* video_info,
    +
    52  Track* trak,
    +
    53  uint32_t track_id);
    +
    54  void GenerateTextTrak(const TextStreamInfo* video_info,
    +
    55  Track* trak,
    +
    56  uint32_t track_id);
    57 
    -
    58  // Gets |start| and |end| index range. Returns true if there is an index range
    -
    59  // and sets start-end byte-range-spec specified in RFC2616.
    -
    60  bool GetIndexRangeStartAndEnd(uint32_t* start, uint32_t* end);
    +
    58  // Gets |start| and |end| initialization range. Returns true if there is an
    +
    59  // init range and sets start-end byte-range-spec specified in RFC2616.
    +
    60  bool GetInitRangeStartAndEnd(uint32_t* start, uint32_t* end);
    61 
    -
    62  // Fire events if there are no errors and Muxer::muxer_listener() is not NULL.
    -
    63  void FireOnMediaStartEvent();
    -
    64  void FireOnMediaEndEvent();
    +
    62  // Gets |start| and |end| index range. Returns true if there is an index range
    +
    63  // and sets start-end byte-range-spec specified in RFC2616.
    +
    64  bool GetIndexRangeStartAndEnd(uint32_t* start, uint32_t* end);
    65 
    -
    66  // Get time in seconds since midnight, Jan. 1, 1904, in UTC Time.
    -
    67  uint64_t IsoTimeNow();
    -
    68 
    -
    69  std::unique_ptr<Segmenter> segmenter_;
    -
    70 
    -
    71  DISALLOW_COPY_AND_ASSIGN(MP4Muxer);
    -
    72 };
    -
    73 
    -
    74 } // namespace mp4
    -
    75 } // namespace media
    -
    76 } // namespace shaka
    +
    66  // Fire events if there are no errors and Muxer::muxer_listener() is not NULL.
    +
    67  void FireOnMediaStartEvent();
    +
    68  void FireOnMediaEndEvent();
    +
    69 
    +
    70  // Get time in seconds since midnight, Jan. 1, 1904, in UTC Time.
    +
    71  uint64_t IsoTimeNow();
    +
    72 
    +
    73  std::unique_ptr<Segmenter> segmenter_;
    +
    74 
    +
    75  DISALLOW_COPY_AND_ASSIGN(MP4Muxer);
    +
    76 };
    77 
    -
    78 #endif // MEDIA_FORMATS_MP4_MP4_MUXER_H_
    +
    78 } // namespace mp4
    +
    79 } // namespace media
    +
    80 } // namespace shaka
    +
    81 
    +
    82 #endif // MEDIA_FORMATS_MP4_MP4_MUXER_H_
    Abstract class holds stream information.
    Definition: stream_info.h:57
    -
    MP4Muxer(const MuxerOptions &options)
    Create a MP4Muxer object from MuxerOptions.
    Definition: mp4_muxer.cc:108
    +
    MP4Muxer(const MuxerOptions &options)
    Create a MP4Muxer object from MuxerOptions.
    Definition: mp4_muxer.cc:109
    This structure contains the list of configuration options for Muxer.
    Definition: muxer_options.h:18
    - + +
    Holds video stream information.
    Holds audio stream information.
    diff --git a/docs/db/d94/classshaka_1_1media_1_1ClusterBuilder.html b/docs/db/d94/classshaka_1_1media_1_1ClusterBuilder.html index b7f550a0c3..6dc126732e 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 34b9a8a387..9492f4fdf3 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 @@ -312,7 +312,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 bb8d7f7d1b..12fc14a4e7 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 9f3e96dbde..2ffd2bcb41 100644 --- a/docs/db/d96/wvm__media__parser_8h_source.html +++ b/docs/db/d96/wvm__media__parser_8h_source.html @@ -362,7 +362,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/da4/classBandwidthEstimator-members.html b/docs/db/da4/classBandwidthEstimator-members.html index fb1c6d475b..dacf524c26 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 5fdb8642bf..3f17fcdfb4 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/da9/classshaka_1_1media_1_1WebVttSampleConverter-members.html b/docs/db/da9/classshaka_1_1media_1_1WebVttSampleConverter-members.html index 5b260430c7..be7fcbdf32 100644 --- a/docs/db/da9/classshaka_1_1media_1_1WebVttSampleConverter-members.html +++ b/docs/db/da9/classshaka_1_1media_1_1WebVttSampleConverter-members.html @@ -102,7 +102,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 f2946cb7b9..72a2697752 100644 --- a/docs/db/dab/classshaka_1_1media_1_1TextStreamInfo.html +++ b/docs/db/dab/classshaka_1_1media_1_1TextStreamInfo.html @@ -298,7 +298,7 @@ void set_encryption_config diff --git a/docs/db/dae/classshaka_1_1media_1_1WebMInfoParser.html b/docs/db/dae/classshaka_1_1media_1_1WebMInfoParser.html index 845ff94295..8d1dfa8013 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 92842f3180..b8703374c6 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 ea685ee98b..38a2f27f99 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 1e2de56874..00356de3f4 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 0a9eb4da30..e73f67b3ac 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 bb582dd85a..933f89b9e0 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/dcd/classshaka_1_1MpdWriter.html b/docs/db/dcd/classshaka_1_1MpdWriter.html index b1ed2024fc..8ff2566787 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 ec298037ba..f6d6eedca8 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 d0591758af..52008d0257 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 792bb9deda..74c7ed768b 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 059e786e65..dc302206e7 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 28bd75686d..d3adbaac64 100644 --- a/docs/db/dde/h265__parser_8cc_source.html +++ b/docs/db/dde/h265__parser_8cc_source.html @@ -1213,7 +1213,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/dea/classshaka_1_1media_1_1TrickPlayHandler.html b/docs/db/dea/classshaka_1_1media_1_1TrickPlayHandler.html index 8d67903d03..f2874d137b 100644 --- a/docs/db/dea/classshaka_1_1media_1_1TrickPlayHandler.html +++ b/docs/db/dea/classshaka_1_1media_1_1TrickPlayHandler.html @@ -258,7 +258,7 @@ class TrickPlayHandlerTest diff --git a/docs/db/dec/audio__timestamp__helper_8cc_source.html b/docs/db/dec/audio__timestamp__helper_8cc_source.html index da68dc6c3c..5ae8c54b04 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 eb6c4b6010..32d7d12d38 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 1a691eee4b..4baeaea141 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 bba33bb5b8..0a9c4a45cd 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 de247a2245..9924b540ce 100644 --- a/docs/db/df6/muxer_8h_source.html +++ b/docs/db/df6/muxer_8h_source.html @@ -188,7 +188,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 b06fa7c2c1..3237147545 100644 --- a/docs/db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html +++ b/docs/db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html @@ -233,7 +233,7 @@ void WarnIfNotMatch (i diff --git a/docs/db/dfb/mpd__utils_8cc_source.html b/docs/db/dfb/mpd__utils_8cc_source.html index d0a564d79b..3b1aea9567 100644 --- a/docs/db/dfb/mpd__utils_8cc_source.html +++ b/docs/db/dfb/mpd__utils_8cc_source.html @@ -112,347 +112,351 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    23  (media_info.container_type() == MediaInfo::CONTAINER_MP4)) {
    24  return "stpp";
    25  }
    -
    26 
    -
    27  // Otherwise codec doesn't need to be specified, e.g. vtt and ttml+xml are
    -
    28  // obvious from the mime type.
    -
    29  return "";
    -
    30 }
    -
    31 
    -
    32 } // namespace
    -
    33 
    -
    34 bool HasVODOnlyFields(const MediaInfo& media_info) {
    -
    35  return media_info.has_init_range() || media_info.has_index_range() ||
    -
    36  media_info.has_media_file_name();
    -
    37 }
    -
    38 
    -
    39 bool HasLiveOnlyFields(const MediaInfo& media_info) {
    -
    40  return media_info.has_init_segment_name() ||
    -
    41  media_info.has_segment_template() ||
    -
    42  media_info.has_segment_duration_seconds();
    -
    43 }
    -
    44 
    -
    45 void RemoveDuplicateAttributes(
    -
    46  ContentProtectionElement* content_protection_element) {
    -
    47  DCHECK(content_protection_element);
    -
    48  typedef std::map<std::string, std::string> AttributesMap;
    -
    49 
    -
    50  AttributesMap& attributes = content_protection_element->additional_attributes;
    -
    51  if (!content_protection_element->value.empty())
    -
    52  attributes.erase("value");
    +
    26  if (format == "vtt" &&
    +
    27  (media_info.container_type() == MediaInfo::CONTAINER_MP4)) {
    +
    28  return "wvtt";
    +
    29  }
    +
    30 
    +
    31  // Otherwise codec doesn't need to be specified, e.g. vtt and ttml+xml are
    +
    32  // obvious from the mime type.
    +
    33  return "";
    +
    34 }
    +
    35 
    +
    36 } // namespace
    +
    37 
    +
    38 bool HasVODOnlyFields(const MediaInfo& media_info) {
    +
    39  return media_info.has_init_range() || media_info.has_index_range() ||
    +
    40  media_info.has_media_file_name();
    +
    41 }
    +
    42 
    +
    43 bool HasLiveOnlyFields(const MediaInfo& media_info) {
    +
    44  return media_info.has_init_segment_name() ||
    +
    45  media_info.has_segment_template() ||
    +
    46  media_info.has_segment_duration_seconds();
    +
    47 }
    +
    48 
    +
    49 void RemoveDuplicateAttributes(
    +
    50  ContentProtectionElement* content_protection_element) {
    +
    51  DCHECK(content_protection_element);
    +
    52  typedef std::map<std::string, std::string> AttributesMap;
    53 
    -
    54  if (!content_protection_element->scheme_id_uri.empty())
    -
    55  attributes.erase("schemeIdUri");
    -
    56 }
    +
    54  AttributesMap& attributes = content_protection_element->additional_attributes;
    +
    55  if (!content_protection_element->value.empty())
    +
    56  attributes.erase("value");
    57 
    -
    58 std::string GetLanguage(const MediaInfo& media_info) {
    -
    59  std::string lang;
    -
    60  if (media_info.has_audio_info()) {
    -
    61  lang = media_info.audio_info().language();
    -
    62  } else if (media_info.has_text_info()) {
    -
    63  lang = media_info.text_info().language();
    -
    64  }
    -
    65  return lang;
    -
    66 }
    -
    67 
    -
    68 std::string GetCodecs(const MediaInfo& media_info) {
    -
    69  CHECK(OnlyOneTrue(media_info.has_video_info(), media_info.has_audio_info(),
    -
    70  media_info.has_text_info()));
    +
    58  if (!content_protection_element->scheme_id_uri.empty())
    +
    59  attributes.erase("schemeIdUri");
    +
    60 }
    +
    61 
    +
    62 std::string GetLanguage(const MediaInfo& media_info) {
    +
    63  std::string lang;
    +
    64  if (media_info.has_audio_info()) {
    +
    65  lang = media_info.audio_info().language();
    +
    66  } else if (media_info.has_text_info()) {
    +
    67  lang = media_info.text_info().language();
    +
    68  }
    +
    69  return lang;
    +
    70 }
    71 
    -
    72  if (media_info.has_video_info()) {
    -
    73  if (media_info.container_type() == MediaInfo::CONTAINER_WEBM) {
    -
    74  std::string codec = media_info.video_info().codec().substr(0, 4);
    -
    75  // media_info.video_info().codec() contains new revised codec string
    -
    76  // specified by "VPx in ISO BMFF" document, which is not compatible to
    -
    77  // old codec strings in WebM. Hack it here before all browsers support
    -
    78  // new codec strings.
    -
    79  if (codec == "vp08")
    -
    80  return "vp8";
    -
    81  if (codec == "vp09")
    -
    82  return "vp9";
    -
    83  }
    -
    84  return media_info.video_info().codec();
    -
    85  }
    -
    86 
    -
    87  if (media_info.has_audio_info())
    -
    88  return media_info.audio_info().codec();
    -
    89 
    -
    90  if (media_info.has_text_info())
    -
    91  return TextCodecString(media_info);
    -
    92 
    -
    93  NOTREACHED();
    -
    94  return "";
    -
    95 }
    +
    72 std::string GetCodecs(const MediaInfo& media_info) {
    +
    73  CHECK(OnlyOneTrue(media_info.has_video_info(), media_info.has_audio_info(),
    +
    74  media_info.has_text_info()));
    +
    75 
    +
    76  if (media_info.has_video_info()) {
    +
    77  if (media_info.container_type() == MediaInfo::CONTAINER_WEBM) {
    +
    78  std::string codec = media_info.video_info().codec().substr(0, 4);
    +
    79  // media_info.video_info().codec() contains new revised codec string
    +
    80  // specified by "VPx in ISO BMFF" document, which is not compatible to
    +
    81  // old codec strings in WebM. Hack it here before all browsers support
    +
    82  // new codec strings.
    +
    83  if (codec == "vp08")
    +
    84  return "vp8";
    +
    85  if (codec == "vp09")
    +
    86  return "vp9";
    +
    87  }
    +
    88  return media_info.video_info().codec();
    +
    89  }
    +
    90 
    +
    91  if (media_info.has_audio_info())
    +
    92  return media_info.audio_info().codec();
    +
    93 
    +
    94  if (media_info.has_text_info())
    +
    95  return TextCodecString(media_info);
    96 
    -
    97 std::string GetBaseCodec(const MediaInfo& media_info) {
    -
    98  std::string codec;
    -
    99  if (media_info.has_video_info()) {
    -
    100  codec = media_info.video_info().codec();
    -
    101  } else if (media_info.has_audio_info()) {
    -
    102  codec = media_info.audio_info().codec();
    -
    103  } else if (media_info.has_text_info()) {
    -
    104  codec = media_info.text_info().format();
    -
    105  }
    -
    106  // Convert, for example, "mp4a.40.2" to simply "mp4a".
    -
    107  // "mp4a.40.2" and "mp4a.40.5" can exist in the same AdaptationSet.
    -
    108  size_t dot = codec.find('.');
    -
    109  if (dot != std::string::npos) {
    -
    110  codec.erase(dot);
    -
    111  }
    -
    112  return codec;
    -
    113 }
    -
    114 
    -
    115 std::string GetAdaptationSetKey(const MediaInfo& media_info) {
    -
    116  std::string key;
    -
    117 
    -
    118  if (media_info.has_video_info()) {
    -
    119  key.append("video:");
    -
    120  } else if (media_info.has_audio_info()) {
    -
    121  key.append("audio:");
    -
    122  } else if (media_info.has_text_info()) {
    -
    123  key.append(MediaInfo_TextInfo_TextType_Name(media_info.text_info().type()));
    -
    124  key.append(":");
    -
    125  } else {
    -
    126  key.append("unknown:");
    -
    127  }
    -
    128 
    -
    129  key.append(MediaInfo_ContainerType_Name(media_info.container_type()));
    -
    130  key.append(":");
    -
    131  key.append(GetBaseCodec(media_info));
    -
    132  key.append(":");
    -
    133  key.append(GetLanguage(media_info));
    -
    134 
    -
    135  return key;
    -
    136 }
    -
    137 
    -
    138 std::string SecondsToXmlDuration(double seconds) {
    -
    139  return "PT" + DoubleToString(seconds) + "S";
    +
    97  NOTREACHED();
    +
    98  return "";
    +
    99 }
    +
    100 
    +
    101 std::string GetBaseCodec(const MediaInfo& media_info) {
    +
    102  std::string codec;
    +
    103  if (media_info.has_video_info()) {
    +
    104  codec = media_info.video_info().codec();
    +
    105  } else if (media_info.has_audio_info()) {
    +
    106  codec = media_info.audio_info().codec();
    +
    107  } else if (media_info.has_text_info()) {
    +
    108  codec = media_info.text_info().format();
    +
    109  }
    +
    110  // Convert, for example, "mp4a.40.2" to simply "mp4a".
    +
    111  // "mp4a.40.2" and "mp4a.40.5" can exist in the same AdaptationSet.
    +
    112  size_t dot = codec.find('.');
    +
    113  if (dot != std::string::npos) {
    +
    114  codec.erase(dot);
    +
    115  }
    +
    116  return codec;
    +
    117 }
    +
    118 
    +
    119 std::string GetAdaptationSetKey(const MediaInfo& media_info) {
    +
    120  std::string key;
    +
    121 
    +
    122  if (media_info.has_video_info()) {
    +
    123  key.append("video:");
    +
    124  } else if (media_info.has_audio_info()) {
    +
    125  key.append("audio:");
    +
    126  } else if (media_info.has_text_info()) {
    +
    127  key.append(MediaInfo_TextInfo_TextType_Name(media_info.text_info().type()));
    +
    128  key.append(":");
    +
    129  } else {
    +
    130  key.append("unknown:");
    +
    131  }
    +
    132 
    +
    133  key.append(MediaInfo_ContainerType_Name(media_info.container_type()));
    +
    134  key.append(":");
    +
    135  key.append(GetBaseCodec(media_info));
    +
    136  key.append(":");
    +
    137  key.append(GetLanguage(media_info));
    +
    138 
    +
    139  return key;
    140 }
    141 
    -
    142 bool GetDurationAttribute(xmlNodePtr node, float* duration) {
    -
    143  DCHECK(node);
    -
    144  DCHECK(duration);
    -
    145  static const char kDuration[] = "duration";
    -
    146  xml::scoped_xml_ptr<xmlChar> duration_value(
    -
    147  xmlGetProp(node, BAD_CAST kDuration));
    -
    148 
    -
    149  if (!duration_value)
    -
    150  return false;
    -
    151 
    -
    152  double duration_double_precision = 0.0;
    -
    153  if (!base::StringToDouble(reinterpret_cast<const char*>(duration_value.get()),
    -
    154  &duration_double_precision)) {
    -
    155  return false;
    -
    156  }
    -
    157 
    -
    158  *duration = static_cast<float>(duration_double_precision);
    -
    159  return true;
    -
    160 }
    +
    142 std::string SecondsToXmlDuration(double seconds) {
    +
    143  return "PT" + DoubleToString(seconds) + "S";
    +
    144 }
    +
    145 
    +
    146 bool GetDurationAttribute(xmlNodePtr node, float* duration) {
    +
    147  DCHECK(node);
    +
    148  DCHECK(duration);
    +
    149  static const char kDuration[] = "duration";
    +
    150  xml::scoped_xml_ptr<xmlChar> duration_value(
    +
    151  xmlGetProp(node, BAD_CAST kDuration));
    +
    152 
    +
    153  if (!duration_value)
    +
    154  return false;
    +
    155 
    +
    156  double duration_double_precision = 0.0;
    +
    157  if (!base::StringToDouble(reinterpret_cast<const char*>(duration_value.get()),
    +
    158  &duration_double_precision)) {
    +
    159  return false;
    +
    160  }
    161 
    -
    162 bool MoreThanOneTrue(bool b1, bool b2, bool b3) {
    -
    163  return (b1 && b2) || (b2 && b3) || (b3 && b1);
    +
    162  *duration = static_cast<float>(duration_double_precision);
    +
    163  return true;
    164 }
    165 
    -
    166 bool AtLeastOneTrue(bool b1, bool b2, bool b3) { return b1 || b2 || b3; }
    -
    167 
    -
    168 bool OnlyOneTrue(bool b1, bool b2, bool b3) {
    -
    169  return !MoreThanOneTrue(b1, b2, b3) && AtLeastOneTrue(b1, b2, b3);
    -
    170 }
    +
    166 bool MoreThanOneTrue(bool b1, bool b2, bool b3) {
    +
    167  return (b1 && b2) || (b2 && b3) || (b3 && b1);
    +
    168 }
    +
    169 
    +
    170 bool AtLeastOneTrue(bool b1, bool b2, bool b3) { return b1 || b2 || b3; }
    171 
    -
    172 // Implement our own DoubleToString as base::DoubleToString uses third_party
    -
    173 // library dmg_fp.
    -
    174 std::string DoubleToString(double value) {
    -
    175  std::ostringstream stringstream;
    -
    176  stringstream << value;
    -
    177  return stringstream.str();
    -
    178 }
    -
    179 
    -
    180 // Coverts binary data into human readable UUID format.
    -
    181 bool HexToUUID(const std::string& data, std::string* uuid_format) {
    -
    182  DCHECK(uuid_format);
    -
    183  const size_t kExpectedUUIDSize = 16;
    -
    184  if (data.size() != kExpectedUUIDSize) {
    -
    185  LOG(ERROR) << "UUID size is expected to be " << kExpectedUUIDSize
    -
    186  << " but is " << data.size() << " and the data in hex is "
    -
    187  << base::HexEncode(data.data(), data.size());
    -
    188  return false;
    -
    189  }
    -
    190 
    -
    191  const std::string hex_encoded =
    -
    192  base::ToLowerASCII(base::HexEncode(data.data(), data.size()));
    -
    193  DCHECK_EQ(hex_encoded.size(), kExpectedUUIDSize * 2);
    -
    194  base::StringPiece all(hex_encoded);
    -
    195  // Note UUID has 5 parts separated with dashes.
    -
    196  // e.g. 123e4567-e89b-12d3-a456-426655440000
    -
    197  // These StringPieces have each part.
    -
    198  base::StringPiece first = all.substr(0, 8);
    -
    199  base::StringPiece second = all.substr(8, 4);
    -
    200  base::StringPiece third = all.substr(12, 4);
    -
    201  base::StringPiece fourth = all.substr(16, 4);
    -
    202  base::StringPiece fifth = all.substr(20, 12);
    -
    203 
    -
    204  // 32 hexadecimal characters with 4 hyphens.
    -
    205  const size_t kHumanReadableUUIDSize = 36;
    -
    206  uuid_format->reserve(kHumanReadableUUIDSize);
    -
    207  first.CopyToString(uuid_format);
    -
    208  uuid_format->append("-");
    -
    209  second.AppendToString(uuid_format);
    -
    210  uuid_format->append("-");
    -
    211  third.AppendToString(uuid_format);
    +
    172 bool OnlyOneTrue(bool b1, bool b2, bool b3) {
    +
    173  return !MoreThanOneTrue(b1, b2, b3) && AtLeastOneTrue(b1, b2, b3);
    +
    174 }
    +
    175 
    +
    176 // Implement our own DoubleToString as base::DoubleToString uses third_party
    +
    177 // library dmg_fp.
    +
    178 std::string DoubleToString(double value) {
    +
    179  std::ostringstream stringstream;
    +
    180  stringstream << value;
    +
    181  return stringstream.str();
    +
    182 }
    +
    183 
    +
    184 // Coverts binary data into human readable UUID format.
    +
    185 bool HexToUUID(const std::string& data, std::string* uuid_format) {
    +
    186  DCHECK(uuid_format);
    +
    187  const size_t kExpectedUUIDSize = 16;
    +
    188  if (data.size() != kExpectedUUIDSize) {
    +
    189  LOG(ERROR) << "UUID size is expected to be " << kExpectedUUIDSize
    +
    190  << " but is " << data.size() << " and the data in hex is "
    +
    191  << base::HexEncode(data.data(), data.size());
    +
    192  return false;
    +
    193  }
    +
    194 
    +
    195  const std::string hex_encoded =
    +
    196  base::ToLowerASCII(base::HexEncode(data.data(), data.size()));
    +
    197  DCHECK_EQ(hex_encoded.size(), kExpectedUUIDSize * 2);
    +
    198  base::StringPiece all(hex_encoded);
    +
    199  // Note UUID has 5 parts separated with dashes.
    +
    200  // e.g. 123e4567-e89b-12d3-a456-426655440000
    +
    201  // These StringPieces have each part.
    +
    202  base::StringPiece first = all.substr(0, 8);
    +
    203  base::StringPiece second = all.substr(8, 4);
    +
    204  base::StringPiece third = all.substr(12, 4);
    +
    205  base::StringPiece fourth = all.substr(16, 4);
    +
    206  base::StringPiece fifth = all.substr(20, 12);
    +
    207 
    +
    208  // 32 hexadecimal characters with 4 hyphens.
    +
    209  const size_t kHumanReadableUUIDSize = 36;
    +
    210  uuid_format->reserve(kHumanReadableUUIDSize);
    +
    211  first.CopyToString(uuid_format);
    212  uuid_format->append("-");
    -
    213  fourth.AppendToString(uuid_format);
    +
    213  second.AppendToString(uuid_format);
    214  uuid_format->append("-");
    -
    215  fifth.AppendToString(uuid_format);
    -
    216  return true;
    -
    217 }
    -
    218 
    -
    219 void UpdateContentProtectionPsshHelper(
    -
    220  const std::string& drm_uuid,
    -
    221  const std::string& pssh,
    -
    222  std::list<ContentProtectionElement>* content_protection_elements) {
    -
    223  const std::string drm_uuid_schemd_id_uri_form = "urn:uuid:" + drm_uuid;
    -
    224  for (std::list<ContentProtectionElement>::iterator protection =
    -
    225  content_protection_elements->begin();
    -
    226  protection != content_protection_elements->end(); ++protection) {
    -
    227  if (protection->scheme_id_uri != drm_uuid_schemd_id_uri_form) {
    -
    228  continue;
    -
    229  }
    -
    230 
    -
    231  for (std::vector<Element>::iterator subelement =
    -
    232  protection->subelements.begin();
    -
    233  subelement != protection->subelements.end(); ++subelement) {
    -
    234  if (subelement->name == kPsshElementName) {
    -
    235  // For now, we want to remove the PSSH element because some players do
    -
    236  // not support updating pssh.
    -
    237  protection->subelements.erase(subelement);
    -
    238 
    -
    239  // TODO(rkuroiwa): Uncomment this and remove the line above when
    -
    240  // shaka-player supports updating PSSH.
    -
    241  // subelement->content = pssh;
    -
    242  return;
    -
    243  }
    -
    244  }
    -
    245 
    -
    246  // Reaching here means <cenc:pssh> does not exist under the
    -
    247  // ContentProtection element. Add it.
    -
    248  // TODO(rkuroiwa): Uncomment this when shaka-player supports updating PSSH.
    -
    249  // Element cenc_pssh;
    -
    250  // cenc_pssh.name = kPsshElementName;
    -
    251  // cenc_pssh.content = pssh;
    -
    252  // protection->subelements.push_back(cenc_pssh);
    -
    253  return;
    -
    254  }
    -
    255 
    -
    256  // Reaching here means that ContentProtection for the DRM does not exist.
    -
    257  // Add it.
    -
    258  ContentProtectionElement content_protection;
    -
    259  content_protection.scheme_id_uri = drm_uuid_schemd_id_uri_form;
    -
    260  // TODO(rkuroiwa): Uncomment this when shaka-player supports updating PSSH.
    -
    261  // Element cenc_pssh;
    -
    262  // cenc_pssh.name = kPsshElementName;
    -
    263  // cenc_pssh.content = pssh;
    -
    264  // content_protection.subelements.push_back(cenc_pssh);
    -
    265  content_protection_elements->push_back(content_protection);
    -
    266  return;
    -
    267 }
    -
    268 
    -
    269 namespace {
    -
    270 // Helper function. This works because Representation and AdaptationSet both
    -
    271 // have AddContentProtectionElement().
    -
    272 template <typename ContentProtectionParent>
    -
    273 void AddContentProtectionElementsHelperTemplated(
    -
    274  const MediaInfo& media_info,
    -
    275  ContentProtectionParent* parent) {
    -
    276  DCHECK(parent);
    -
    277  if (!media_info.has_protected_content())
    -
    278  return;
    -
    279 
    -
    280  const MediaInfo::ProtectedContent& protected_content =
    -
    281  media_info.protected_content();
    -
    282 
    -
    283  // DASH MPD spec specifies a default ContentProtection element for ISO BMFF
    -
    284  // (MP4) files.
    -
    285  const bool is_mp4_container =
    -
    286  media_info.container_type() == MediaInfo::CONTAINER_MP4;
    -
    287  std::string key_id_uuid_format;
    -
    288  if (protected_content.has_default_key_id()) {
    -
    289  if (!HexToUUID(protected_content.default_key_id(), &key_id_uuid_format)) {
    -
    290  LOG(ERROR) << "Failed to convert default key ID into UUID format.";
    -
    291  }
    -
    292  }
    -
    293 
    -
    294  if (is_mp4_container) {
    -
    295  ContentProtectionElement mp4_content_protection;
    -
    296  mp4_content_protection.scheme_id_uri = kEncryptedMp4Scheme;
    -
    297  mp4_content_protection.value = protected_content.protection_scheme();
    -
    298  if (!key_id_uuid_format.empty()) {
    -
    299  mp4_content_protection.additional_attributes["cenc:default_KID"] =
    -
    300  key_id_uuid_format;
    -
    301  }
    -
    302 
    -
    303  parent->AddContentProtectionElement(mp4_content_protection);
    -
    304  }
    -
    305 
    -
    306  for (int i = 0; i < protected_content.content_protection_entry().size();
    -
    307  ++i) {
    -
    308  const MediaInfo::ProtectedContent::ContentProtectionEntry& entry =
    -
    309  protected_content.content_protection_entry(i);
    -
    310  if (!entry.has_uuid()) {
    -
    311  LOG(WARNING)
    -
    312  << "ContentProtectionEntry was specified but no UUID is set for "
    -
    313  << entry.name_version() << ", skipping.";
    -
    314  continue;
    -
    315  }
    -
    316 
    -
    317  ContentProtectionElement drm_content_protection;
    -
    318  drm_content_protection.scheme_id_uri = "urn:uuid:" + entry.uuid();
    -
    319  if (entry.has_name_version())
    -
    320  drm_content_protection.value = entry.name_version();
    -
    321 
    -
    322  if (entry.has_pssh()) {
    -
    323  std::string base64_encoded_pssh;
    -
    324  base::Base64Encode(
    -
    325  base::StringPiece(entry.pssh().data(), entry.pssh().size()),
    -
    326  &base64_encoded_pssh);
    -
    327  Element cenc_pssh;
    -
    328  cenc_pssh.name = kPsshElementName;
    -
    329  cenc_pssh.content = base64_encoded_pssh;
    -
    330  drm_content_protection.subelements.push_back(cenc_pssh);
    -
    331  }
    -
    332 
    -
    333  if (!key_id_uuid_format.empty() && !is_mp4_container) {
    -
    334  drm_content_protection.additional_attributes["cenc:default_KID"] =
    -
    335  key_id_uuid_format;
    -
    336  }
    -
    337 
    -
    338  parent->AddContentProtectionElement(drm_content_protection);
    -
    339  }
    -
    340 
    -
    341  LOG_IF(WARNING, protected_content.content_protection_entry().size() == 0)
    -
    342  << "The media is encrypted but no content protection specified.";
    -
    343 }
    -
    344 } // namespace
    -
    345 
    -
    346 void AddContentProtectionElements(const MediaInfo& media_info,
    -
    347  Representation* parent) {
    -
    348  AddContentProtectionElementsHelperTemplated(media_info, parent);
    -
    349 }
    -
    350 
    -
    351 void AddContentProtectionElements(const MediaInfo& media_info,
    -
    352  AdaptationSet* parent) {
    -
    353  AddContentProtectionElementsHelperTemplated(media_info, parent);
    -
    354 }
    -
    355 
    -
    356 
    -
    357 } // namespace shaka
    +
    215  third.AppendToString(uuid_format);
    +
    216  uuid_format->append("-");
    +
    217  fourth.AppendToString(uuid_format);
    +
    218  uuid_format->append("-");
    +
    219  fifth.AppendToString(uuid_format);
    +
    220  return true;
    +
    221 }
    +
    222 
    +
    223 void UpdateContentProtectionPsshHelper(
    +
    224  const std::string& drm_uuid,
    +
    225  const std::string& pssh,
    +
    226  std::list<ContentProtectionElement>* content_protection_elements) {
    +
    227  const std::string drm_uuid_schemd_id_uri_form = "urn:uuid:" + drm_uuid;
    +
    228  for (std::list<ContentProtectionElement>::iterator protection =
    +
    229  content_protection_elements->begin();
    +
    230  protection != content_protection_elements->end(); ++protection) {
    +
    231  if (protection->scheme_id_uri != drm_uuid_schemd_id_uri_form) {
    +
    232  continue;
    +
    233  }
    +
    234 
    +
    235  for (std::vector<Element>::iterator subelement =
    +
    236  protection->subelements.begin();
    +
    237  subelement != protection->subelements.end(); ++subelement) {
    +
    238  if (subelement->name == kPsshElementName) {
    +
    239  // For now, we want to remove the PSSH element because some players do
    +
    240  // not support updating pssh.
    +
    241  protection->subelements.erase(subelement);
    +
    242 
    +
    243  // TODO(rkuroiwa): Uncomment this and remove the line above when
    +
    244  // shaka-player supports updating PSSH.
    +
    245  // subelement->content = pssh;
    +
    246  return;
    +
    247  }
    +
    248  }
    +
    249 
    +
    250  // Reaching here means <cenc:pssh> does not exist under the
    +
    251  // ContentProtection element. Add it.
    +
    252  // TODO(rkuroiwa): Uncomment this when shaka-player supports updating PSSH.
    +
    253  // Element cenc_pssh;
    +
    254  // cenc_pssh.name = kPsshElementName;
    +
    255  // cenc_pssh.content = pssh;
    +
    256  // protection->subelements.push_back(cenc_pssh);
    +
    257  return;
    +
    258  }
    +
    259 
    +
    260  // Reaching here means that ContentProtection for the DRM does not exist.
    +
    261  // Add it.
    +
    262  ContentProtectionElement content_protection;
    +
    263  content_protection.scheme_id_uri = drm_uuid_schemd_id_uri_form;
    +
    264  // TODO(rkuroiwa): Uncomment this when shaka-player supports updating PSSH.
    +
    265  // Element cenc_pssh;
    +
    266  // cenc_pssh.name = kPsshElementName;
    +
    267  // cenc_pssh.content = pssh;
    +
    268  // content_protection.subelements.push_back(cenc_pssh);
    +
    269  content_protection_elements->push_back(content_protection);
    +
    270  return;
    +
    271 }
    +
    272 
    +
    273 namespace {
    +
    274 // Helper function. This works because Representation and AdaptationSet both
    +
    275 // have AddContentProtectionElement().
    +
    276 template <typename ContentProtectionParent>
    +
    277 void AddContentProtectionElementsHelperTemplated(
    +
    278  const MediaInfo& media_info,
    +
    279  ContentProtectionParent* parent) {
    +
    280  DCHECK(parent);
    +
    281  if (!media_info.has_protected_content())
    +
    282  return;
    +
    283 
    +
    284  const MediaInfo::ProtectedContent& protected_content =
    +
    285  media_info.protected_content();
    +
    286 
    +
    287  // DASH MPD spec specifies a default ContentProtection element for ISO BMFF
    +
    288  // (MP4) files.
    +
    289  const bool is_mp4_container =
    +
    290  media_info.container_type() == MediaInfo::CONTAINER_MP4;
    +
    291  std::string key_id_uuid_format;
    +
    292  if (protected_content.has_default_key_id()) {
    +
    293  if (!HexToUUID(protected_content.default_key_id(), &key_id_uuid_format)) {
    +
    294  LOG(ERROR) << "Failed to convert default key ID into UUID format.";
    +
    295  }
    +
    296  }
    +
    297 
    +
    298  if (is_mp4_container) {
    +
    299  ContentProtectionElement mp4_content_protection;
    +
    300  mp4_content_protection.scheme_id_uri = kEncryptedMp4Scheme;
    +
    301  mp4_content_protection.value = protected_content.protection_scheme();
    +
    302  if (!key_id_uuid_format.empty()) {
    +
    303  mp4_content_protection.additional_attributes["cenc:default_KID"] =
    +
    304  key_id_uuid_format;
    +
    305  }
    +
    306 
    +
    307  parent->AddContentProtectionElement(mp4_content_protection);
    +
    308  }
    +
    309 
    +
    310  for (int i = 0; i < protected_content.content_protection_entry().size();
    +
    311  ++i) {
    +
    312  const MediaInfo::ProtectedContent::ContentProtectionEntry& entry =
    +
    313  protected_content.content_protection_entry(i);
    +
    314  if (!entry.has_uuid()) {
    +
    315  LOG(WARNING)
    +
    316  << "ContentProtectionEntry was specified but no UUID is set for "
    +
    317  << entry.name_version() << ", skipping.";
    +
    318  continue;
    +
    319  }
    +
    320 
    +
    321  ContentProtectionElement drm_content_protection;
    +
    322  drm_content_protection.scheme_id_uri = "urn:uuid:" + entry.uuid();
    +
    323  if (entry.has_name_version())
    +
    324  drm_content_protection.value = entry.name_version();
    +
    325 
    +
    326  if (entry.has_pssh()) {
    +
    327  std::string base64_encoded_pssh;
    +
    328  base::Base64Encode(
    +
    329  base::StringPiece(entry.pssh().data(), entry.pssh().size()),
    +
    330  &base64_encoded_pssh);
    +
    331  Element cenc_pssh;
    +
    332  cenc_pssh.name = kPsshElementName;
    +
    333  cenc_pssh.content = base64_encoded_pssh;
    +
    334  drm_content_protection.subelements.push_back(cenc_pssh);
    +
    335  }
    +
    336 
    +
    337  if (!key_id_uuid_format.empty() && !is_mp4_container) {
    +
    338  drm_content_protection.additional_attributes["cenc:default_KID"] =
    +
    339  key_id_uuid_format;
    +
    340  }
    +
    341 
    +
    342  parent->AddContentProtectionElement(drm_content_protection);
    +
    343  }
    +
    344 
    +
    345  LOG_IF(WARNING, protected_content.content_protection_entry().size() == 0)
    +
    346  << "The media is encrypted but no content protection specified.";
    +
    347 }
    +
    348 } // namespace
    +
    349 
    +
    350 void AddContentProtectionElements(const MediaInfo& media_info,
    +
    351  Representation* parent) {
    +
    352  AddContentProtectionElementsHelperTemplated(media_info, parent);
    +
    353 }
    +
    354 
    +
    355 void AddContentProtectionElements(const MediaInfo& media_info,
    +
    356  AdaptationSet* parent) {
    +
    357  AddContentProtectionElementsHelperTemplated(media_info, parent);
    +
    358 }
    +
    359 
    +
    360 
    +
    361 } // namespace shaka
    -
    void AddContentProtectionElements(const MediaInfo &media_info, Representation *parent)
    Definition: mpd_utils.cc:346
    -
    bool HexToUUID(const std::string &data, std::string *uuid_format)
    Definition: mpd_utils.cc:181
    -
    std::string DoubleToString(double value)
    Definition: mpd_utils.cc:174
    +
    void AddContentProtectionElements(const MediaInfo &media_info, Representation *parent)
    Definition: mpd_utils.cc:350
    +
    bool HexToUUID(const std::string &data, std::string *uuid_format)
    Definition: mpd_utils.cc:185
    +
    std::string DoubleToString(double value)
    Definition: mpd_utils.cc:178
    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 45482982ef..48d3cf53ba 100644 --- a/docs/db/dfc/mpd__notify__muxer__listener_8cc_source.html +++ b/docs/db/dfc/mpd__notify__muxer__listener_8cc_source.html @@ -280,7 +280,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 5674138cfa..664c5e14e7 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 2d80259ec0..9cb9284d6a 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 974efbc71f..5c237a11ff 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 0ff8c1d2bd..eeefb94248 100644 --- a/docs/dc/d06/classshaka_1_1media_1_1StreamInfo-members.html +++ b/docs/dc/d06/classshaka_1_1media_1_1StreamInfo-members.html @@ -118,7 +118,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 6b9facaa93..fea00ac9ef 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 b6cd915eca..f1fd8b3c26 100644 --- a/docs/dc/d16/classshaka_1_1media_1_1SeekHead.html +++ b/docs/dc/d16/classshaka_1_1media_1_1SeekHead.html @@ -149,7 +149,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 48e5348fef..b7d48f3684 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 @@ -257,7 +257,7 @@ std::shared_ptr< 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 77c70b366e..b37fbcf621 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 181f62ca21..befb89c2b8 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 f099c04429..23c1c6f9aa 100644 --- a/docs/dc/d22/dash__iop__mpd__notifier_8cc_source.html +++ b/docs/dc/d22/dash__iop__mpd__notifier_8cc_source.html @@ -369,10 +369,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    uint32_t id() const
    Definition: mpd_builder.h:487
    bool NotifySampleDuration(uint32_t container_id, uint32_t sample_duration) override
    -
    void AddContentProtectionElements(const MediaInfo &media_info, Representation *parent)
    Definition: mpd_utils.cc:346
    -
    virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
    Definition: mpd_builder.cc:751
    +
    void AddContentProtectionElements(const MediaInfo &media_info, Representation *parent)
    Definition: mpd_utils.cc:350
    +
    virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
    Definition: mpd_builder.cc:753
    std::string Uint8VectorToBase64(const std::vector< uint8_t > &input)
    Converts uint8 vector into base64 encoded string.
    -
    virtual void ForceSetSegmentAlignment(bool segment_alignment)
    Definition: mpd_builder.cc:855
    +
    virtual void ForceSetSegmentAlignment(bool segment_alignment)
    Definition: mpd_builder.cc:857
    bool AddContentProtectionElement(uint32_t id, const ContentProtectionElement &content_protection_element) override
    static void MakePathsRelativeToMpd(const std::string &mpd_path, MediaInfo *media_info)
    Definition: mpd_builder.cc:658
    @@ -383,7 +383,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 6e41ae503a..baa89e82d7 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 1b68cedfe6..9dddcb7899 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 5d2d3a4ec0..ee408b4e99 100644 --- a/docs/dc/d3f/key__source_8h_source.html +++ b/docs/dc/d3f/key__source_8h_source.html @@ -170,7 +170,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 0bb0a2b1ab..f1a9f18b1c 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 0ec2f3b8f5..ab00d6c3fb 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 9b17b5093e..2b2c6a90c9 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 d0090c044d..ec023a25ef 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 3d07394ad7..b190829727 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 @@ -239,7 +239,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 516265dd14..f9cc88d59f 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 e1c75e6c6e..50be658c99 100644 --- a/docs/dc/d53/webm_2segmenter_8cc_source.html +++ b/docs/dc/d53/webm_2segmenter_8cc_source.html @@ -488,7 +488,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 b4d36b6429..bbb8237e7c 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 445caf18d3..f7e045e8b1 100644 --- a/docs/dc/d58/webm__media__parser_8h_source.html +++ b/docs/dc/d58/webm__media__parser_8h_source.html @@ -178,7 +178,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 7e55d0fc43..6b7a8e746a 100644 --- a/docs/dc/d5c/classshaka_1_1MockMpdNotifier.html +++ b/docs/dc/d5c/classshaka_1_1MockMpdNotifier.html @@ -162,7 +162,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 54e739c0e1..c3e1cd336b 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 2ab1eac03a..fcec371a84 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 3226c750e0..555b409475 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 aed5bf2ad4..e81c0e5c37 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 da047a08c7..f91ceaf76d 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 e22f511e87..7e7ed927d9 100644 --- a/docs/dc/d7b/h264__parser_8cc_source.html +++ b/docs/dc/d7b/h264__parser_8cc_source.html @@ -1256,7 +1256,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 b51bf7cc19..b941ad1e87 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 a32eabbafe..88a30c01fe 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 e68fc4b50f..7925390193 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 be5dd509f5..a22d1244ce 100644 --- a/docs/dc/da1/classshaka_1_1MpdBuilder.html +++ b/docs/dc/da1/classshaka_1_1MpdBuilder.html @@ -351,7 +351,7 @@ template<DashProfile profile> diff --git a/docs/dc/da6/classshaka_1_1media_1_1ContentEncoding.html b/docs/dc/da6/classshaka_1_1media_1_1ContentEncoding.html index 117a1c4eb3..1d50e1fc95 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 9e222cd2c8..1e3df38b75 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 bbdd259b7a..0d4eefb886 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 45b41f44e5..9ee6ccbdcd 100644 --- a/docs/dc/dc1/classshaka_1_1xml_1_1RepresentationXmlNode-members.html +++ b/docs/dc/dc1/classshaka_1_1xml_1_1RepresentationXmlNode-members.html @@ -118,7 +118,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 aeeabf191d..37eb802897 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 05e0736fcc..7b3565ed4b 100644 --- a/docs/dc/dd9/rsa__key_8cc_source.html +++ b/docs/dc/dd9/rsa__key_8cc_source.html @@ -340,7 +340,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 b7c300ff77..cbfde35396 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/de1/structshaka_1_1SegmentInfo.html b/docs/dc/de1/structshaka_1_1SegmentInfo.html index ed26c0f1ec..a3f3c7a288 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 a04d664a40..dd3465ed03 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 @@ -112,7 +112,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 aa66b17b9d..e2ddb22aff 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 @@ -139,7 +139,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 48079a8746..5e731fe47e 100644 --- a/docs/dc/dec/ts__section__pmt_8cc_source.html +++ b/docs/dc/dec/ts__section__pmt_8cc_source.html @@ -208,7 +208,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 5e5a711727..a1b0f0c58d 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 43b7bf16ae..2be8e15512 100644 --- a/docs/dc/df2/classshaka_1_1media_1_1WebVttMediaParser.html +++ b/docs/dc/df2/classshaka_1_1media_1_1WebVttMediaParser.html @@ -261,7 +261,7 @@ std::shared_ptr< 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 33c27c25f6..1ada1c332e 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 @@ -129,7 +129,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 e568196b30..414bca16a2 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 c6df0305d5..9f1434d38a 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/d05/encryption__config_8h_source.html b/docs/dd/d05/encryption__config_8h_source.html index 4afbc26ae3..41531496cd 100644 --- a/docs/dd/d05/encryption__config_8h_source.html +++ b/docs/dd/d05/encryption__config_8h_source.html @@ -120,7 +120,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 c940fb81ce..ecb01d1281 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 5e3ff47b3f..d3b5a40608 100644 --- a/docs/dd/d11/mpd__builder_8cc_source.html +++ b/docs/dd/d11/mpd__builder_8cc_source.html @@ -796,742 +796,746 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    707  std::unique_ptr<Representation> representation(new Representation(
    708  media_info, mpd_options_, representation_id, std::move(listener)));
    709 
    -
    710  if (!representation->Init())
    -
    711  return NULL;
    -
    712 
    -
    713  // For videos, record the width, height, and the frame rate to calculate the
    -
    714  // max {width,height,framerate} required for DASH IOP.
    -
    715  if (media_info.has_video_info()) {
    -
    716  const MediaInfo::VideoInfo& video_info = media_info.video_info();
    -
    717  DCHECK(video_info.has_width());
    -
    718  DCHECK(video_info.has_height());
    -
    719  video_widths_.insert(video_info.width());
    -
    720  video_heights_.insert(video_info.height());
    -
    721 
    -
    722  if (video_info.has_time_scale() && video_info.has_frame_duration())
    -
    723  RecordFrameRate(video_info.frame_duration(), video_info.time_scale());
    -
    724 
    -
    725  AddPictureAspectRatio(video_info, &picture_aspect_ratio_);
    -
    726  }
    -
    727 
    -
    728  if (media_info.has_video_info()) {
    -
    729  content_type_ = "video";
    -
    730  } else if (media_info.has_audio_info()) {
    -
    731  content_type_ = "audio";
    -
    732  } else if (media_info.has_text_info()) {
    -
    733  content_type_ = "text";
    -
    734 
    -
    735  if (media_info.text_info().has_type() &&
    -
    736  (media_info.text_info().type() != MediaInfo::TextInfo::UNKNOWN)) {
    -
    737  roles_.insert(MediaInfoTextTypeToRole(media_info.text_info().type()));
    -
    738  }
    -
    739  }
    -
    740 
    -
    741  representations_.push_back(std::move(representation));
    -
    742  return representations_.back().get();
    -
    743 }
    -
    744 
    - -
    746  const ContentProtectionElement& content_protection_element) {
    -
    747  content_protection_elements_.push_back(content_protection_element);
    -
    748  RemoveDuplicateAttributes(&content_protection_elements_.back());
    -
    749 }
    -
    750 
    -
    751 void AdaptationSet::UpdateContentProtectionPssh(const std::string& drm_uuid,
    -
    752  const std::string& pssh) {
    -
    753  UpdateContentProtectionPsshHelper(drm_uuid, pssh,
    -
    754  &content_protection_elements_);
    -
    755 }
    -
    756 
    -
    757 void AdaptationSet::AddRole(Role role) {
    -
    758  roles_.insert(role);
    -
    759 }
    -
    760 
    -
    761 // Creates a copy of <AdaptationSet> xml element, iterate thru all the
    -
    762 // <Representation> (child) elements and add them to the copy.
    -
    763 // Set all the attributes first and then add the children elements so that flags
    -
    764 // can be passed to Representation to avoid setting redundant attributes. For
    -
    765 // example, if AdaptationSet@width is set, then Representation@width is
    -
    766 // redundant and should not be set.
    -
    767 xml::scoped_xml_ptr<xmlNode> AdaptationSet::GetXml() {
    -
    768  AdaptationSetXmlNode adaptation_set;
    -
    769 
    -
    770  bool suppress_representation_width = false;
    -
    771  bool suppress_representation_height = false;
    -
    772  bool suppress_representation_frame_rate = false;
    -
    773 
    -
    774  adaptation_set.SetId(id_);
    -
    775  adaptation_set.SetStringAttribute("contentType", content_type_);
    -
    776  if (!lang_.empty() && lang_ != "und") {
    -
    777  adaptation_set.SetStringAttribute("lang", LanguageToShortestForm(lang_));
    -
    778  }
    -
    779 
    -
    780  // Note that std::{set,map} are ordered, so the last element is the max value.
    -
    781  if (video_widths_.size() == 1) {
    -
    782  suppress_representation_width = true;
    -
    783  adaptation_set.SetIntegerAttribute("width", *video_widths_.begin());
    -
    784  } else if (video_widths_.size() > 1) {
    -
    785  adaptation_set.SetIntegerAttribute("maxWidth", *video_widths_.rbegin());
    -
    786  }
    -
    787  if (video_heights_.size() == 1) {
    -
    788  suppress_representation_height = true;
    -
    789  adaptation_set.SetIntegerAttribute("height", *video_heights_.begin());
    -
    790  } else if (video_heights_.size() > 1) {
    -
    791  adaptation_set.SetIntegerAttribute("maxHeight", *video_heights_.rbegin());
    -
    792  }
    -
    793 
    -
    794  if (video_frame_rates_.size() == 1) {
    -
    795  suppress_representation_frame_rate = true;
    -
    796  adaptation_set.SetStringAttribute("frameRate",
    -
    797  video_frame_rates_.begin()->second);
    -
    798  } else if (video_frame_rates_.size() > 1) {
    -
    799  adaptation_set.SetStringAttribute("maxFrameRate",
    -
    800  video_frame_rates_.rbegin()->second);
    -
    801  }
    -
    802 
    -
    803  // Note: must be checked before checking segments_aligned_ (below). So that
    -
    804  // segments_aligned_ is set before checking below.
    -
    805  if (mpd_options_.dash_profile == DashProfile::kOnDemand) {
    -
    806  CheckVodSegmentAlignment();
    -
    807  }
    -
    808 
    -
    809  if (segments_aligned_ == kSegmentAlignmentTrue) {
    -
    810  adaptation_set.SetStringAttribute(
    -
    811  mpd_options_.dash_profile == DashProfile::kOnDemand
    -
    812  ? "subsegmentAlignment"
    -
    813  : "segmentAlignment",
    -
    814  "true");
    -
    815  }
    -
    816 
    -
    817  if (picture_aspect_ratio_.size() == 1)
    -
    818  adaptation_set.SetStringAttribute("par", *picture_aspect_ratio_.begin());
    -
    819 
    -
    820  if (!adaptation_set.AddContentProtectionElements(
    -
    821  content_protection_elements_)) {
    -
    822  return xml::scoped_xml_ptr<xmlNode>();
    -
    823  }
    -
    824 
    -
    825  std::string switching_ids;
    -
    826  for (uint32_t id : adaptation_set_switching_ids_) {
    -
    827  if (!switching_ids.empty())
    -
    828  switching_ids += ',';
    -
    829  switching_ids += base::UintToString(id);
    -
    830  }
    -
    831  if (!switching_ids.empty()) {
    -
    832  adaptation_set.AddSupplementalProperty(
    -
    833  "urn:mpeg:dash:adaptation-set-switching:2016", switching_ids);
    -
    834  }
    -
    835 
    -
    836  for (AdaptationSet::Role role : roles_)
    -
    837  adaptation_set.AddRoleElement("urn:mpeg:dash:role:2011", RoleToText(role));
    -
    838 
    -
    839  for (const std::unique_ptr<Representation>& representation :
    -
    840  representations_) {
    -
    841  if (suppress_representation_width)
    -
    842  representation->SuppressOnce(Representation::kSuppressWidth);
    -
    843  if (suppress_representation_height)
    -
    844  representation->SuppressOnce(Representation::kSuppressHeight);
    -
    845  if (suppress_representation_frame_rate)
    -
    846  representation->SuppressOnce(Representation::kSuppressFrameRate);
    -
    847  xml::scoped_xml_ptr<xmlNode> child(representation->GetXml());
    -
    848  if (!child || !adaptation_set.AddChild(std::move(child)))
    -
    849  return xml::scoped_xml_ptr<xmlNode>();
    -
    850  }
    -
    851 
    -
    852  return adaptation_set.PassScopedPtr();
    -
    853 }
    -
    854 
    -
    855 void AdaptationSet::ForceSetSegmentAlignment(bool segment_alignment) {
    -
    856  segments_aligned_ =
    -
    857  segment_alignment ? kSegmentAlignmentTrue : kSegmentAlignmentFalse;
    -
    858  force_set_segment_alignment_ = true;
    -
    859 }
    -
    860 
    -
    861 void AdaptationSet::AddAdaptationSetSwitching(uint32_t adaptation_set_id) {
    -
    862  adaptation_set_switching_ids_.push_back(adaptation_set_id);
    -
    863 }
    -
    864 
    -
    865 // Check segmentAlignment for Live here. Storing all start_time and duration
    -
    866 // will out-of-memory because there's no way of knowing when it will end.
    -
    867 // VOD subsegmentAlignment check is *not* done here because it is possible
    -
    868 // that some Representations might not have been added yet (e.g. a thread is
    -
    869 // assigned per muxer so one might run faster than others).
    -
    870 // To be clear, for Live, all Representations should be added before a
    -
    871 // segment is added.
    -
    872 void AdaptationSet::OnNewSegmentForRepresentation(uint32_t representation_id,
    -
    873  uint64_t start_time,
    -
    874  uint64_t duration) {
    -
    875  if (mpd_options_.dash_profile == DashProfile::kLive) {
    -
    876  CheckLiveSegmentAlignment(representation_id, start_time, duration);
    -
    877  } else {
    -
    878  representation_segment_start_times_[representation_id].push_back(
    -
    879  start_time);
    -
    880  }
    -
    881 }
    -
    882 
    - -
    884  uint32_t representation_id,
    -
    885  uint32_t frame_duration,
    -
    886  uint32_t timescale) {
    -
    887  RecordFrameRate(frame_duration, timescale);
    -
    888 }
    -
    889 
    -
    890 bool AdaptationSet::GetEarliestTimestamp(double* timestamp_seconds) {
    -
    891  DCHECK(timestamp_seconds);
    -
    892 
    -
    893  double earliest_timestamp(-1);
    -
    894  for (const std::unique_ptr<Representation>& representation :
    -
    895  representations_) {
    -
    896  double timestamp;
    -
    897  if (representation->GetEarliestTimestamp(&timestamp) &&
    -
    898  ((earliest_timestamp < 0) || (timestamp < earliest_timestamp))) {
    -
    899  earliest_timestamp = timestamp;
    -
    900  }
    -
    901  }
    -
    902  if (earliest_timestamp < 0)
    -
    903  return false;
    -
    904 
    -
    905  *timestamp_seconds = earliest_timestamp;
    -
    906  return true;
    -
    907 }
    -
    908 
    -
    909 // This implementation assumes that each representations' segments' are
    -
    910 // contiguous.
    -
    911 // Also assumes that all Representations are added before this is called.
    -
    912 // This checks whether the first elements of the lists in
    -
    913 // representation_segment_start_times_ are aligned.
    -
    914 // For example, suppose this method was just called with args rep_id=2
    -
    915 // start_time=1.
    -
    916 // 1 -> [1, 100, 200]
    -
    917 // 2 -> [1]
    -
    918 // The timestamps of the first elements match, so this flags
    -
    919 // segments_aligned_=true.
    -
    920 // Also since the first segment start times match, the first element of all the
    -
    921 // lists are removed, so the map of lists becomes:
    -
    922 // 1 -> [100, 200]
    -
    923 // 2 -> []
    -
    924 // Note that there could be false positives.
    -
    925 // e.g. just got rep_id=3 start_time=1 duration=300, and the duration of the
    -
    926 // whole AdaptationSet is 300.
    -
    927 // 1 -> [1, 100, 200]
    -
    928 // 2 -> [1, 90, 100]
    -
    929 // 3 -> [1]
    -
    930 // They are not aligned but this will be marked as aligned.
    -
    931 // But since this is unlikely to happen in the packager (and to save
    -
    932 // computation), this isn't handled at the moment.
    -
    933 void AdaptationSet::CheckLiveSegmentAlignment(uint32_t representation_id,
    -
    934  uint64_t start_time,
    -
    935  uint64_t /* duration */) {
    -
    936  if (segments_aligned_ == kSegmentAlignmentFalse ||
    -
    937  force_set_segment_alignment_) {
    -
    938  return;
    -
    939  }
    -
    940 
    -
    941  std::list<uint64_t>& representation_start_times =
    -
    942  representation_segment_start_times_[representation_id];
    -
    943  representation_start_times.push_back(start_time);
    -
    944  // There's no way to detemine whether the segments are aligned if some
    -
    945  // representations do not have any segments.
    -
    946  if (representation_segment_start_times_.size() != representations_.size())
    -
    947  return;
    -
    948 
    -
    949  DCHECK(!representation_start_times.empty());
    -
    950  const uint64_t expected_start_time = representation_start_times.front();
    -
    951  for (RepresentationTimeline::const_iterator it =
    -
    952  representation_segment_start_times_.begin();
    -
    953  it != representation_segment_start_times_.end(); ++it) {
    -
    954  // If there are no entries in a list, then there is no way for the
    -
    955  // segment alignment status to change.
    -
    956  // Note that it can be empty because entries get deleted below.
    -
    957  if (it->second.empty())
    -
    958  return;
    -
    959 
    -
    960  if (expected_start_time != it->second.front()) {
    -
    961  // Flag as false and clear the start times data, no need to keep it
    -
    962  // around.
    -
    963  segments_aligned_ = kSegmentAlignmentFalse;
    -
    964  representation_segment_start_times_.clear();
    -
    965  return;
    -
    966  }
    -
    967  }
    -
    968  segments_aligned_ = kSegmentAlignmentTrue;
    -
    969 
    -
    970  for (RepresentationTimeline::iterator it =
    -
    971  representation_segment_start_times_.begin();
    -
    972  it != representation_segment_start_times_.end(); ++it) {
    -
    973  it->second.pop_front();
    -
    974  }
    -
    975 }
    -
    976 
    -
    977 // Make sure all segements start times match for all Representations.
    -
    978 // This assumes that the segments are contiguous.
    -
    979 void AdaptationSet::CheckVodSegmentAlignment() {
    -
    980  if (segments_aligned_ == kSegmentAlignmentFalse ||
    -
    981  force_set_segment_alignment_) {
    -
    982  return;
    -
    983  }
    -
    984  if (representation_segment_start_times_.empty())
    -
    985  return;
    -
    986  if (representation_segment_start_times_.size() == 1) {
    -
    987  segments_aligned_ = kSegmentAlignmentTrue;
    -
    988  return;
    -
    989  }
    -
    990 
    -
    991  // This is not the most efficient implementation to compare the values
    -
    992  // because expected_time_line is compared against all other time lines, but
    -
    993  // probably the most readable.
    -
    994  const std::list<uint64_t>& expected_time_line =
    -
    995  representation_segment_start_times_.begin()->second;
    -
    996 
    -
    997  bool all_segment_time_line_same_length = true;
    -
    998  // Note that the first entry is skipped because it is expected_time_line.
    -
    999  RepresentationTimeline::const_iterator it =
    -
    1000  representation_segment_start_times_.begin();
    -
    1001  for (++it; it != representation_segment_start_times_.end(); ++it) {
    -
    1002  const std::list<uint64_t>& other_time_line = it->second;
    -
    1003  if (expected_time_line.size() != other_time_line.size()) {
    -
    1004  all_segment_time_line_same_length = false;
    -
    1005  }
    -
    1006 
    -
    1007  const std::list<uint64_t>* longer_list = &other_time_line;
    -
    1008  const std::list<uint64_t>* shorter_list = &expected_time_line;
    -
    1009  if (expected_time_line.size() > other_time_line.size()) {
    -
    1010  shorter_list = &other_time_line;
    -
    1011  longer_list = &expected_time_line;
    -
    1012  }
    -
    1013 
    -
    1014  if (!std::equal(shorter_list->begin(), shorter_list->end(),
    -
    1015  longer_list->begin())) {
    -
    1016  // Some segments are definitely unaligned.
    -
    1017  segments_aligned_ = kSegmentAlignmentFalse;
    -
    1018  representation_segment_start_times_.clear();
    -
    1019  return;
    -
    1020  }
    -
    1021  }
    -
    1022 
    -
    1023  // TODO(rkuroiwa): The right way to do this is to also check the durations.
    -
    1024  // For example:
    -
    1025  // (a) 3 4 5
    -
    1026  // (b) 3 4 5 6
    -
    1027  // could be true or false depending on the length of the third segment of (a).
    -
    1028  // i.e. if length of the third segment is 2, then this is not aligned.
    -
    1029  if (!all_segment_time_line_same_length) {
    -
    1030  segments_aligned_ = kSegmentAlignmentUnknown;
    -
    1031  return;
    -
    1032  }
    -
    1033 
    -
    1034  segments_aligned_ = kSegmentAlignmentTrue;
    -
    1035 }
    -
    1036 
    -
    1037 // Since all AdaptationSet cares about is the maxFrameRate, representation_id
    -
    1038 // is not passed to this method.
    -
    1039 void AdaptationSet::RecordFrameRate(uint32_t frame_duration,
    -
    1040  uint32_t timescale) {
    -
    1041  if (frame_duration == 0) {
    -
    1042  LOG(ERROR) << "Frame duration is 0 and cannot be set.";
    -
    1043  return;
    -
    1044  }
    -
    1045  video_frame_rates_[static_cast<double>(timescale) / frame_duration] =
    -
    1046  base::IntToString(timescale) + "/" + base::IntToString(frame_duration);
    -
    1047 }
    -
    1048 
    - -
    1050  const MediaInfo& media_info,
    -
    1051  const MpdOptions& mpd_options,
    -
    1052  uint32_t id,
    -
    1053  std::unique_ptr<RepresentationStateChangeListener> state_change_listener)
    -
    1054  : media_info_(media_info),
    -
    1055  id_(id),
    -
    1056  bandwidth_estimator_(BandwidthEstimator::kUseAllBlocks),
    -
    1057  mpd_options_(mpd_options),
    -
    1058  start_number_(1),
    -
    1059  state_change_listener_(std::move(state_change_listener)),
    -
    1060  output_suppression_flags_(0) {}
    -
    1061 
    -
    1062 Representation::~Representation() {}
    +
    710  if (!representation->Init()) {
    +
    711  LOG(ERROR) << "Failed to initialize Representation.";
    +
    712  return NULL;
    +
    713  }
    +
    714 
    +
    715  // For videos, record the width, height, and the frame rate to calculate the
    +
    716  // max {width,height,framerate} required for DASH IOP.
    +
    717  if (media_info.has_video_info()) {
    +
    718  const MediaInfo::VideoInfo& video_info = media_info.video_info();
    +
    719  DCHECK(video_info.has_width());
    +
    720  DCHECK(video_info.has_height());
    +
    721  video_widths_.insert(video_info.width());
    +
    722  video_heights_.insert(video_info.height());
    +
    723 
    +
    724  if (video_info.has_time_scale() && video_info.has_frame_duration())
    +
    725  RecordFrameRate(video_info.frame_duration(), video_info.time_scale());
    +
    726 
    +
    727  AddPictureAspectRatio(video_info, &picture_aspect_ratio_);
    +
    728  }
    +
    729 
    +
    730  if (media_info.has_video_info()) {
    +
    731  content_type_ = "video";
    +
    732  } else if (media_info.has_audio_info()) {
    +
    733  content_type_ = "audio";
    +
    734  } else if (media_info.has_text_info()) {
    +
    735  content_type_ = "text";
    +
    736 
    +
    737  if (media_info.text_info().has_type() &&
    +
    738  (media_info.text_info().type() != MediaInfo::TextInfo::UNKNOWN)) {
    +
    739  roles_.insert(MediaInfoTextTypeToRole(media_info.text_info().type()));
    +
    740  }
    +
    741  }
    +
    742 
    +
    743  representations_.push_back(std::move(representation));
    +
    744  return representations_.back().get();
    +
    745 }
    +
    746 
    + +
    748  const ContentProtectionElement& content_protection_element) {
    +
    749  content_protection_elements_.push_back(content_protection_element);
    +
    750  RemoveDuplicateAttributes(&content_protection_elements_.back());
    +
    751 }
    +
    752 
    +
    753 void AdaptationSet::UpdateContentProtectionPssh(const std::string& drm_uuid,
    +
    754  const std::string& pssh) {
    +
    755  UpdateContentProtectionPsshHelper(drm_uuid, pssh,
    +
    756  &content_protection_elements_);
    +
    757 }
    +
    758 
    +
    759 void AdaptationSet::AddRole(Role role) {
    +
    760  roles_.insert(role);
    +
    761 }
    +
    762 
    +
    763 // Creates a copy of <AdaptationSet> xml element, iterate thru all the
    +
    764 // <Representation> (child) elements and add them to the copy.
    +
    765 // Set all the attributes first and then add the children elements so that flags
    +
    766 // can be passed to Representation to avoid setting redundant attributes. For
    +
    767 // example, if AdaptationSet@width is set, then Representation@width is
    +
    768 // redundant and should not be set.
    +
    769 xml::scoped_xml_ptr<xmlNode> AdaptationSet::GetXml() {
    +
    770  AdaptationSetXmlNode adaptation_set;
    +
    771 
    +
    772  bool suppress_representation_width = false;
    +
    773  bool suppress_representation_height = false;
    +
    774  bool suppress_representation_frame_rate = false;
    +
    775 
    +
    776  adaptation_set.SetId(id_);
    +
    777  adaptation_set.SetStringAttribute("contentType", content_type_);
    +
    778  if (!lang_.empty() && lang_ != "und") {
    +
    779  adaptation_set.SetStringAttribute("lang", LanguageToShortestForm(lang_));
    +
    780  }
    +
    781 
    +
    782  // Note that std::{set,map} are ordered, so the last element is the max value.
    +
    783  if (video_widths_.size() == 1) {
    +
    784  suppress_representation_width = true;
    +
    785  adaptation_set.SetIntegerAttribute("width", *video_widths_.begin());
    +
    786  } else if (video_widths_.size() > 1) {
    +
    787  adaptation_set.SetIntegerAttribute("maxWidth", *video_widths_.rbegin());
    +
    788  }
    +
    789  if (video_heights_.size() == 1) {
    +
    790  suppress_representation_height = true;
    +
    791  adaptation_set.SetIntegerAttribute("height", *video_heights_.begin());
    +
    792  } else if (video_heights_.size() > 1) {
    +
    793  adaptation_set.SetIntegerAttribute("maxHeight", *video_heights_.rbegin());
    +
    794  }
    +
    795 
    +
    796  if (video_frame_rates_.size() == 1) {
    +
    797  suppress_representation_frame_rate = true;
    +
    798  adaptation_set.SetStringAttribute("frameRate",
    +
    799  video_frame_rates_.begin()->second);
    +
    800  } else if (video_frame_rates_.size() > 1) {
    +
    801  adaptation_set.SetStringAttribute("maxFrameRate",
    +
    802  video_frame_rates_.rbegin()->second);
    +
    803  }
    +
    804 
    +
    805  // Note: must be checked before checking segments_aligned_ (below). So that
    +
    806  // segments_aligned_ is set before checking below.
    +
    807  if (mpd_options_.dash_profile == DashProfile::kOnDemand) {
    +
    808  CheckVodSegmentAlignment();
    +
    809  }
    +
    810 
    +
    811  if (segments_aligned_ == kSegmentAlignmentTrue) {
    +
    812  adaptation_set.SetStringAttribute(
    +
    813  mpd_options_.dash_profile == DashProfile::kOnDemand
    +
    814  ? "subsegmentAlignment"
    +
    815  : "segmentAlignment",
    +
    816  "true");
    +
    817  }
    +
    818 
    +
    819  if (picture_aspect_ratio_.size() == 1)
    +
    820  adaptation_set.SetStringAttribute("par", *picture_aspect_ratio_.begin());
    +
    821 
    +
    822  if (!adaptation_set.AddContentProtectionElements(
    +
    823  content_protection_elements_)) {
    +
    824  return xml::scoped_xml_ptr<xmlNode>();
    +
    825  }
    +
    826 
    +
    827  std::string switching_ids;
    +
    828  for (uint32_t id : adaptation_set_switching_ids_) {
    +
    829  if (!switching_ids.empty())
    +
    830  switching_ids += ',';
    +
    831  switching_ids += base::UintToString(id);
    +
    832  }
    +
    833  if (!switching_ids.empty()) {
    +
    834  adaptation_set.AddSupplementalProperty(
    +
    835  "urn:mpeg:dash:adaptation-set-switching:2016", switching_ids);
    +
    836  }
    +
    837 
    +
    838  for (AdaptationSet::Role role : roles_)
    +
    839  adaptation_set.AddRoleElement("urn:mpeg:dash:role:2011", RoleToText(role));
    +
    840 
    +
    841  for (const std::unique_ptr<Representation>& representation :
    +
    842  representations_) {
    +
    843  if (suppress_representation_width)
    +
    844  representation->SuppressOnce(Representation::kSuppressWidth);
    +
    845  if (suppress_representation_height)
    +
    846  representation->SuppressOnce(Representation::kSuppressHeight);
    +
    847  if (suppress_representation_frame_rate)
    +
    848  representation->SuppressOnce(Representation::kSuppressFrameRate);
    +
    849  xml::scoped_xml_ptr<xmlNode> child(representation->GetXml());
    +
    850  if (!child || !adaptation_set.AddChild(std::move(child)))
    +
    851  return xml::scoped_xml_ptr<xmlNode>();
    +
    852  }
    +
    853 
    +
    854  return adaptation_set.PassScopedPtr();
    +
    855 }
    +
    856 
    +
    857 void AdaptationSet::ForceSetSegmentAlignment(bool segment_alignment) {
    +
    858  segments_aligned_ =
    +
    859  segment_alignment ? kSegmentAlignmentTrue : kSegmentAlignmentFalse;
    +
    860  force_set_segment_alignment_ = true;
    +
    861 }
    +
    862 
    +
    863 void AdaptationSet::AddAdaptationSetSwitching(uint32_t adaptation_set_id) {
    +
    864  adaptation_set_switching_ids_.push_back(adaptation_set_id);
    +
    865 }
    +
    866 
    +
    867 // Check segmentAlignment for Live here. Storing all start_time and duration
    +
    868 // will out-of-memory because there's no way of knowing when it will end.
    +
    869 // VOD subsegmentAlignment check is *not* done here because it is possible
    +
    870 // that some Representations might not have been added yet (e.g. a thread is
    +
    871 // assigned per muxer so one might run faster than others).
    +
    872 // To be clear, for Live, all Representations should be added before a
    +
    873 // segment is added.
    +
    874 void AdaptationSet::OnNewSegmentForRepresentation(uint32_t representation_id,
    +
    875  uint64_t start_time,
    +
    876  uint64_t duration) {
    +
    877  if (mpd_options_.dash_profile == DashProfile::kLive) {
    +
    878  CheckLiveSegmentAlignment(representation_id, start_time, duration);
    +
    879  } else {
    +
    880  representation_segment_start_times_[representation_id].push_back(
    +
    881  start_time);
    +
    882  }
    +
    883 }
    +
    884 
    + +
    886  uint32_t representation_id,
    +
    887  uint32_t frame_duration,
    +
    888  uint32_t timescale) {
    +
    889  RecordFrameRate(frame_duration, timescale);
    +
    890 }
    +
    891 
    +
    892 bool AdaptationSet::GetEarliestTimestamp(double* timestamp_seconds) {
    +
    893  DCHECK(timestamp_seconds);
    +
    894 
    +
    895  double earliest_timestamp(-1);
    +
    896  for (const std::unique_ptr<Representation>& representation :
    +
    897  representations_) {
    +
    898  double timestamp;
    +
    899  if (representation->GetEarliestTimestamp(&timestamp) &&
    +
    900  ((earliest_timestamp < 0) || (timestamp < earliest_timestamp))) {
    +
    901  earliest_timestamp = timestamp;
    +
    902  }
    +
    903  }
    +
    904  if (earliest_timestamp < 0)
    +
    905  return false;
    +
    906 
    +
    907  *timestamp_seconds = earliest_timestamp;
    +
    908  return true;
    +
    909 }
    +
    910 
    +
    911 // This implementation assumes that each representations' segments' are
    +
    912 // contiguous.
    +
    913 // Also assumes that all Representations are added before this is called.
    +
    914 // This checks whether the first elements of the lists in
    +
    915 // representation_segment_start_times_ are aligned.
    +
    916 // For example, suppose this method was just called with args rep_id=2
    +
    917 // start_time=1.
    +
    918 // 1 -> [1, 100, 200]
    +
    919 // 2 -> [1]
    +
    920 // The timestamps of the first elements match, so this flags
    +
    921 // segments_aligned_=true.
    +
    922 // Also since the first segment start times match, the first element of all the
    +
    923 // lists are removed, so the map of lists becomes:
    +
    924 // 1 -> [100, 200]
    +
    925 // 2 -> []
    +
    926 // Note that there could be false positives.
    +
    927 // e.g. just got rep_id=3 start_time=1 duration=300, and the duration of the
    +
    928 // whole AdaptationSet is 300.
    +
    929 // 1 -> [1, 100, 200]
    +
    930 // 2 -> [1, 90, 100]
    +
    931 // 3 -> [1]
    +
    932 // They are not aligned but this will be marked as aligned.
    +
    933 // But since this is unlikely to happen in the packager (and to save
    +
    934 // computation), this isn't handled at the moment.
    +
    935 void AdaptationSet::CheckLiveSegmentAlignment(uint32_t representation_id,
    +
    936  uint64_t start_time,
    +
    937  uint64_t /* duration */) {
    +
    938  if (segments_aligned_ == kSegmentAlignmentFalse ||
    +
    939  force_set_segment_alignment_) {
    +
    940  return;
    +
    941  }
    +
    942 
    +
    943  std::list<uint64_t>& representation_start_times =
    +
    944  representation_segment_start_times_[representation_id];
    +
    945  representation_start_times.push_back(start_time);
    +
    946  // There's no way to detemine whether the segments are aligned if some
    +
    947  // representations do not have any segments.
    +
    948  if (representation_segment_start_times_.size() != representations_.size())
    +
    949  return;
    +
    950 
    +
    951  DCHECK(!representation_start_times.empty());
    +
    952  const uint64_t expected_start_time = representation_start_times.front();
    +
    953  for (RepresentationTimeline::const_iterator it =
    +
    954  representation_segment_start_times_.begin();
    +
    955  it != representation_segment_start_times_.end(); ++it) {
    +
    956  // If there are no entries in a list, then there is no way for the
    +
    957  // segment alignment status to change.
    +
    958  // Note that it can be empty because entries get deleted below.
    +
    959  if (it->second.empty())
    +
    960  return;
    +
    961 
    +
    962  if (expected_start_time != it->second.front()) {
    +
    963  // Flag as false and clear the start times data, no need to keep it
    +
    964  // around.
    +
    965  segments_aligned_ = kSegmentAlignmentFalse;
    +
    966  representation_segment_start_times_.clear();
    +
    967  return;
    +
    968  }
    +
    969  }
    +
    970  segments_aligned_ = kSegmentAlignmentTrue;
    +
    971 
    +
    972  for (RepresentationTimeline::iterator it =
    +
    973  representation_segment_start_times_.begin();
    +
    974  it != representation_segment_start_times_.end(); ++it) {
    +
    975  it->second.pop_front();
    +
    976  }
    +
    977 }
    +
    978 
    +
    979 // Make sure all segements start times match for all Representations.
    +
    980 // This assumes that the segments are contiguous.
    +
    981 void AdaptationSet::CheckVodSegmentAlignment() {
    +
    982  if (segments_aligned_ == kSegmentAlignmentFalse ||
    +
    983  force_set_segment_alignment_) {
    +
    984  return;
    +
    985  }
    +
    986  if (representation_segment_start_times_.empty())
    +
    987  return;
    +
    988  if (representation_segment_start_times_.size() == 1) {
    +
    989  segments_aligned_ = kSegmentAlignmentTrue;
    +
    990  return;
    +
    991  }
    +
    992 
    +
    993  // This is not the most efficient implementation to compare the values
    +
    994  // because expected_time_line is compared against all other time lines, but
    +
    995  // probably the most readable.
    +
    996  const std::list<uint64_t>& expected_time_line =
    +
    997  representation_segment_start_times_.begin()->second;
    +
    998 
    +
    999  bool all_segment_time_line_same_length = true;
    +
    1000  // Note that the first entry is skipped because it is expected_time_line.
    +
    1001  RepresentationTimeline::const_iterator it =
    +
    1002  representation_segment_start_times_.begin();
    +
    1003  for (++it; it != representation_segment_start_times_.end(); ++it) {
    +
    1004  const std::list<uint64_t>& other_time_line = it->second;
    +
    1005  if (expected_time_line.size() != other_time_line.size()) {
    +
    1006  all_segment_time_line_same_length = false;
    +
    1007  }
    +
    1008 
    +
    1009  const std::list<uint64_t>* longer_list = &other_time_line;
    +
    1010  const std::list<uint64_t>* shorter_list = &expected_time_line;
    +
    1011  if (expected_time_line.size() > other_time_line.size()) {
    +
    1012  shorter_list = &other_time_line;
    +
    1013  longer_list = &expected_time_line;
    +
    1014  }
    +
    1015 
    +
    1016  if (!std::equal(shorter_list->begin(), shorter_list->end(),
    +
    1017  longer_list->begin())) {
    +
    1018  // Some segments are definitely unaligned.
    +
    1019  segments_aligned_ = kSegmentAlignmentFalse;
    +
    1020  representation_segment_start_times_.clear();
    +
    1021  return;
    +
    1022  }
    +
    1023  }
    +
    1024 
    +
    1025  // TODO(rkuroiwa): The right way to do this is to also check the durations.
    +
    1026  // For example:
    +
    1027  // (a) 3 4 5
    +
    1028  // (b) 3 4 5 6
    +
    1029  // could be true or false depending on the length of the third segment of (a).
    +
    1030  // i.e. if length of the third segment is 2, then this is not aligned.
    +
    1031  if (!all_segment_time_line_same_length) {
    +
    1032  segments_aligned_ = kSegmentAlignmentUnknown;
    +
    1033  return;
    +
    1034  }
    +
    1035 
    +
    1036  segments_aligned_ = kSegmentAlignmentTrue;
    +
    1037 }
    +
    1038 
    +
    1039 // Since all AdaptationSet cares about is the maxFrameRate, representation_id
    +
    1040 // is not passed to this method.
    +
    1041 void AdaptationSet::RecordFrameRate(uint32_t frame_duration,
    +
    1042  uint32_t timescale) {
    +
    1043  if (frame_duration == 0) {
    +
    1044  LOG(ERROR) << "Frame duration is 0 and cannot be set.";
    +
    1045  return;
    +
    1046  }
    +
    1047  video_frame_rates_[static_cast<double>(timescale) / frame_duration] =
    +
    1048  base::IntToString(timescale) + "/" + base::IntToString(frame_duration);
    +
    1049 }
    +
    1050 
    + +
    1052  const MediaInfo& media_info,
    +
    1053  const MpdOptions& mpd_options,
    +
    1054  uint32_t id,
    +
    1055  std::unique_ptr<RepresentationStateChangeListener> state_change_listener)
    +
    1056  : media_info_(media_info),
    +
    1057  id_(id),
    +
    1058  bandwidth_estimator_(BandwidthEstimator::kUseAllBlocks),
    +
    1059  mpd_options_(mpd_options),
    +
    1060  start_number_(1),
    +
    1061  state_change_listener_(std::move(state_change_listener)),
    +
    1062  output_suppression_flags_(0) {}
    1063 
    - -
    1065  if (!AtLeastOneTrue(media_info_.has_video_info(),
    -
    1066  media_info_.has_audio_info(),
    -
    1067  media_info_.has_text_info())) {
    -
    1068  // This is an error. Segment information can be in AdaptationSet, Period, or
    -
    1069  // MPD but the interface does not provide a way to set them.
    -
    1070  // See 5.3.9.1 ISO 23009-1:2012 for segment info.
    -
    1071  LOG(ERROR) << "Representation needs one of video, audio, or text.";
    -
    1072  return false;
    -
    1073  }
    -
    1074 
    -
    1075  if (MoreThanOneTrue(media_info_.has_video_info(),
    -
    1076  media_info_.has_audio_info(),
    -
    1077  media_info_.has_text_info())) {
    -
    1078  LOG(ERROR) << "Only one of VideoInfo, AudioInfo, or TextInfo can be set.";
    -
    1079  return false;
    -
    1080  }
    -
    1081 
    -
    1082  if (media_info_.container_type() == MediaInfo::CONTAINER_UNKNOWN) {
    -
    1083  LOG(ERROR) << "'container_type' in MediaInfo cannot be CONTAINER_UNKNOWN.";
    -
    1084  return false;
    -
    1085  }
    -
    1086 
    -
    1087  if (media_info_.has_video_info()) {
    -
    1088  mime_type_ = GetVideoMimeType();
    -
    1089  if (!HasRequiredVideoFields(media_info_.video_info())) {
    -
    1090  LOG(ERROR) << "Missing required fields to create a video Representation.";
    -
    1091  return false;
    -
    1092  }
    -
    1093  } else if (media_info_.has_audio_info()) {
    -
    1094  mime_type_ = GetAudioMimeType();
    -
    1095  } else if (media_info_.has_text_info()) {
    -
    1096  mime_type_ = GetTextMimeType();
    -
    1097  }
    -
    1098 
    -
    1099  if (mime_type_.empty())
    -
    1100  return false;
    -
    1101 
    -
    1102  codecs_ = GetCodecs(media_info_);
    -
    1103  return true;
    -
    1104 }
    -
    1105 
    - -
    1107  const ContentProtectionElement& content_protection_element) {
    -
    1108  content_protection_elements_.push_back(content_protection_element);
    -
    1109  RemoveDuplicateAttributes(&content_protection_elements_.back());
    -
    1110 }
    -
    1111 
    -
    1112 void Representation::UpdateContentProtectionPssh(const std::string& drm_uuid,
    -
    1113  const std::string& pssh) {
    -
    1114  UpdateContentProtectionPsshHelper(drm_uuid, pssh,
    -
    1115  &content_protection_elements_);
    -
    1116 }
    -
    1117 
    -
    1118 void Representation::AddNewSegment(uint64_t start_time,
    -
    1119  uint64_t duration,
    -
    1120  uint64_t size) {
    -
    1121  if (start_time == 0 && duration == 0) {
    -
    1122  LOG(WARNING) << "Got segment with start_time and duration == 0. Ignoring.";
    -
    1123  return;
    -
    1124  }
    -
    1125 
    -
    1126  if (state_change_listener_)
    -
    1127  state_change_listener_->OnNewSegmentForRepresentation(start_time, duration);
    -
    1128  if (IsContiguous(start_time, duration, size)) {
    -
    1129  ++segment_infos_.back().repeat;
    -
    1130  } else {
    -
    1131  SegmentInfo s = {start_time, duration, /* Not repeat. */ 0};
    -
    1132  segment_infos_.push_back(s);
    -
    1133  }
    -
    1134 
    -
    1135  bandwidth_estimator_.AddBlock(
    -
    1136  size, static_cast<double>(duration) / media_info_.reference_time_scale());
    -
    1137 
    -
    1138  SlideWindow();
    -
    1139  DCHECK_GE(segment_infos_.size(), 1u);
    -
    1140 }
    -
    1141 
    -
    1142 void Representation::SetSampleDuration(uint32_t sample_duration) {
    -
    1143  if (media_info_.has_video_info()) {
    -
    1144  media_info_.mutable_video_info()->set_frame_duration(sample_duration);
    -
    1145  if (state_change_listener_) {
    -
    1146  state_change_listener_->OnSetFrameRateForRepresentation(
    -
    1147  sample_duration, media_info_.video_info().time_scale());
    -
    1148  }
    -
    1149  }
    -
    1150 }
    -
    1151 
    -
    1152 // Uses info in |media_info_| and |content_protection_elements_| to create a
    -
    1153 // "Representation" node.
    -
    1154 // MPD schema has strict ordering. The following must be done in order.
    -
    1155 // AddVideoInfo() (possibly adds FramePacking elements), AddAudioInfo() (Adds
    -
    1156 // AudioChannelConfig elements), AddContentProtectionElements*(), and
    -
    1157 // AddVODOnlyInfo() (Adds segment info).
    -
    1158 xml::scoped_xml_ptr<xmlNode> Representation::GetXml() {
    -
    1159  if (!HasRequiredMediaInfoFields()) {
    -
    1160  LOG(ERROR) << "MediaInfo missing required fields.";
    -
    1161  return xml::scoped_xml_ptr<xmlNode>();
    -
    1162  }
    -
    1163 
    -
    1164  const uint64_t bandwidth = media_info_.has_bandwidth()
    -
    1165  ? media_info_.bandwidth()
    -
    1166  : bandwidth_estimator_.Estimate();
    -
    1167 
    -
    1168  DCHECK(!(HasVODOnlyFields(media_info_) && HasLiveOnlyFields(media_info_)));
    +
    1064 Representation::~Representation() {}
    +
    1065 
    + +
    1067  if (!AtLeastOneTrue(media_info_.has_video_info(),
    +
    1068  media_info_.has_audio_info(),
    +
    1069  media_info_.has_text_info())) {
    +
    1070  // This is an error. Segment information can be in AdaptationSet, Period, or
    +
    1071  // MPD but the interface does not provide a way to set them.
    +
    1072  // See 5.3.9.1 ISO 23009-1:2012 for segment info.
    +
    1073  LOG(ERROR) << "Representation needs one of video, audio, or text.";
    +
    1074  return false;
    +
    1075  }
    +
    1076 
    +
    1077  if (MoreThanOneTrue(media_info_.has_video_info(),
    +
    1078  media_info_.has_audio_info(),
    +
    1079  media_info_.has_text_info())) {
    +
    1080  LOG(ERROR) << "Only one of VideoInfo, AudioInfo, or TextInfo can be set.";
    +
    1081  return false;
    +
    1082  }
    +
    1083 
    +
    1084  if (media_info_.container_type() == MediaInfo::CONTAINER_UNKNOWN) {
    +
    1085  LOG(ERROR) << "'container_type' in MediaInfo cannot be CONTAINER_UNKNOWN.";
    +
    1086  return false;
    +
    1087  }
    +
    1088 
    +
    1089  if (media_info_.has_video_info()) {
    +
    1090  mime_type_ = GetVideoMimeType();
    +
    1091  if (!HasRequiredVideoFields(media_info_.video_info())) {
    +
    1092  LOG(ERROR) << "Missing required fields to create a video Representation.";
    +
    1093  return false;
    +
    1094  }
    +
    1095  } else if (media_info_.has_audio_info()) {
    +
    1096  mime_type_ = GetAudioMimeType();
    +
    1097  } else if (media_info_.has_text_info()) {
    +
    1098  mime_type_ = GetTextMimeType();
    +
    1099  }
    +
    1100 
    +
    1101  if (mime_type_.empty())
    +
    1102  return false;
    +
    1103 
    +
    1104  codecs_ = GetCodecs(media_info_);
    +
    1105  return true;
    +
    1106 }
    +
    1107 
    + +
    1109  const ContentProtectionElement& content_protection_element) {
    +
    1110  content_protection_elements_.push_back(content_protection_element);
    +
    1111  RemoveDuplicateAttributes(&content_protection_elements_.back());
    +
    1112 }
    +
    1113 
    +
    1114 void Representation::UpdateContentProtectionPssh(const std::string& drm_uuid,
    +
    1115  const std::string& pssh) {
    +
    1116  UpdateContentProtectionPsshHelper(drm_uuid, pssh,
    +
    1117  &content_protection_elements_);
    +
    1118 }
    +
    1119 
    +
    1120 void Representation::AddNewSegment(uint64_t start_time,
    +
    1121  uint64_t duration,
    +
    1122  uint64_t size) {
    +
    1123  if (start_time == 0 && duration == 0) {
    +
    1124  LOG(WARNING) << "Got segment with start_time and duration == 0. Ignoring.";
    +
    1125  return;
    +
    1126  }
    +
    1127 
    +
    1128  if (state_change_listener_)
    +
    1129  state_change_listener_->OnNewSegmentForRepresentation(start_time, duration);
    +
    1130  if (IsContiguous(start_time, duration, size)) {
    +
    1131  ++segment_infos_.back().repeat;
    +
    1132  } else {
    +
    1133  SegmentInfo s = {start_time, duration, /* Not repeat. */ 0};
    +
    1134  segment_infos_.push_back(s);
    +
    1135  }
    +
    1136 
    +
    1137  bandwidth_estimator_.AddBlock(
    +
    1138  size, static_cast<double>(duration) / media_info_.reference_time_scale());
    +
    1139 
    +
    1140  SlideWindow();
    +
    1141  DCHECK_GE(segment_infos_.size(), 1u);
    +
    1142 }
    +
    1143 
    +
    1144 void Representation::SetSampleDuration(uint32_t sample_duration) {
    +
    1145  if (media_info_.has_video_info()) {
    +
    1146  media_info_.mutable_video_info()->set_frame_duration(sample_duration);
    +
    1147  if (state_change_listener_) {
    +
    1148  state_change_listener_->OnSetFrameRateForRepresentation(
    +
    1149  sample_duration, media_info_.video_info().time_scale());
    +
    1150  }
    +
    1151  }
    +
    1152 }
    +
    1153 
    +
    1154 // Uses info in |media_info_| and |content_protection_elements_| to create a
    +
    1155 // "Representation" node.
    +
    1156 // MPD schema has strict ordering. The following must be done in order.
    +
    1157 // AddVideoInfo() (possibly adds FramePacking elements), AddAudioInfo() (Adds
    +
    1158 // AudioChannelConfig elements), AddContentProtectionElements*(), and
    +
    1159 // AddVODOnlyInfo() (Adds segment info).
    +
    1160 xml::scoped_xml_ptr<xmlNode> Representation::GetXml() {
    +
    1161  if (!HasRequiredMediaInfoFields()) {
    +
    1162  LOG(ERROR) << "MediaInfo missing required fields.";
    +
    1163  return xml::scoped_xml_ptr<xmlNode>();
    +
    1164  }
    +
    1165 
    +
    1166  const uint64_t bandwidth = media_info_.has_bandwidth()
    +
    1167  ? media_info_.bandwidth()
    +
    1168  : bandwidth_estimator_.Estimate();
    1169 
    -
    1170  RepresentationXmlNode representation;
    -
    1171  // Mandatory fields for Representation.
    -
    1172  representation.SetId(id_);
    -
    1173  representation.SetIntegerAttribute("bandwidth", bandwidth);
    -
    1174  if (!codecs_.empty())
    -
    1175  representation.SetStringAttribute("codecs", codecs_);
    -
    1176  representation.SetStringAttribute("mimeType", mime_type_);
    -
    1177 
    -
    1178  const bool has_video_info = media_info_.has_video_info();
    -
    1179  const bool has_audio_info = media_info_.has_audio_info();
    -
    1180 
    -
    1181  if (has_video_info &&
    -
    1182  !representation.AddVideoInfo(
    -
    1183  media_info_.video_info(),
    -
    1184  !(output_suppression_flags_ & kSuppressWidth),
    -
    1185  !(output_suppression_flags_ & kSuppressHeight),
    -
    1186  !(output_suppression_flags_ & kSuppressFrameRate))) {
    -
    1187  LOG(ERROR) << "Failed to add video info to Representation XML.";
    -
    1188  return xml::scoped_xml_ptr<xmlNode>();
    -
    1189  }
    -
    1190 
    -
    1191  if (has_audio_info &&
    -
    1192  !representation.AddAudioInfo(media_info_.audio_info())) {
    -
    1193  LOG(ERROR) << "Failed to add audio info to Representation XML.";
    -
    1194  return xml::scoped_xml_ptr<xmlNode>();
    -
    1195  }
    -
    1196 
    -
    1197  if (!representation.AddContentProtectionElements(
    -
    1198  content_protection_elements_)) {
    -
    1199  return xml::scoped_xml_ptr<xmlNode>();
    -
    1200  }
    -
    1201 
    -
    1202  // Set media duration for static mpd.
    -
    1203  if (mpd_options_.mpd_type == MpdType::kStatic &&
    -
    1204  media_info_.has_media_duration_seconds()) {
    -
    1205  // Adding 'duration' attribute, so that this information can be used when
    -
    1206  // generating one MPD file. This should be removed from the final MPD.
    -
    1207  representation.SetFloatingPointAttribute(
    -
    1208  "duration", media_info_.media_duration_seconds());
    -
    1209  }
    -
    1210 
    -
    1211  if (HasVODOnlyFields(media_info_) &&
    -
    1212  !representation.AddVODOnlyInfo(media_info_)) {
    -
    1213  LOG(ERROR) << "Failed to add VOD segment info.";
    -
    1214  return xml::scoped_xml_ptr<xmlNode>();
    -
    1215  }
    -
    1216 
    -
    1217  if (HasLiveOnlyFields(media_info_) &&
    -
    1218  !representation.AddLiveOnlyInfo(media_info_, segment_infos_,
    -
    1219  start_number_)) {
    -
    1220  LOG(ERROR) << "Failed to add Live info.";
    -
    1221  return xml::scoped_xml_ptr<xmlNode>();
    -
    1222  }
    -
    1223  // TODO(rkuroiwa): It is likely that all representations have the exact same
    -
    1224  // SegmentTemplate. Optimize and propagate the tag up to AdaptationSet level.
    -
    1225 
    -
    1226  output_suppression_flags_ = 0;
    -
    1227  return representation.PassScopedPtr();
    -
    1228 }
    -
    1229 
    -
    1230 void Representation::SuppressOnce(SuppressFlag flag) {
    -
    1231  output_suppression_flags_ |= flag;
    -
    1232 }
    -
    1233 
    -
    1234 bool Representation::HasRequiredMediaInfoFields() {
    -
    1235  if (HasVODOnlyFields(media_info_) && HasLiveOnlyFields(media_info_)) {
    -
    1236  LOG(ERROR) << "MediaInfo cannot have both VOD and Live fields.";
    -
    1237  return false;
    -
    1238  }
    -
    1239 
    -
    1240  if (!media_info_.has_container_type()) {
    -
    1241  LOG(ERROR) << "MediaInfo missing required field: container_type.";
    -
    1242  return false;
    -
    1243  }
    -
    1244 
    -
    1245  if (HasVODOnlyFields(media_info_) && !media_info_.has_bandwidth()) {
    -
    1246  LOG(ERROR) << "Missing 'bandwidth' field. MediaInfo requires bandwidth for "
    -
    1247  "static profile for generating a valid MPD.";
    -
    1248  return false;
    -
    1249  }
    -
    1250 
    -
    1251  VLOG_IF(3, HasLiveOnlyFields(media_info_) && !media_info_.has_bandwidth())
    -
    1252  << "MediaInfo missing field 'bandwidth'. Using estimated from "
    -
    1253  "segment size.";
    -
    1254 
    -
    1255  return true;
    -
    1256 }
    -
    1257 
    -
    1258 bool Representation::IsContiguous(uint64_t start_time,
    -
    1259  uint64_t duration,
    -
    1260  uint64_t size) const {
    -
    1261  if (segment_infos_.empty())
    -
    1262  return false;
    -
    1263 
    -
    1264  // Contiguous segment.
    -
    1265  const SegmentInfo& previous = segment_infos_.back();
    -
    1266  const uint64_t previous_segment_end_time =
    -
    1267  previous.start_time + previous.duration * (previous.repeat + 1);
    -
    1268  if (previous_segment_end_time == start_time &&
    -
    1269  segment_infos_.back().duration == duration) {
    -
    1270  return true;
    -
    1271  }
    -
    1272 
    -
    1273  // No out of order segments.
    -
    1274  const uint64_t previous_segment_start_time =
    -
    1275  previous.start_time + previous.duration * previous.repeat;
    -
    1276  if (previous_segment_start_time >= start_time) {
    -
    1277  LOG(ERROR) << "Segments should not be out of order segment. Adding segment "
    -
    1278  "with start_time == "
    -
    1279  << start_time << " but the previous segment starts at "
    -
    1280  << previous.start_time << ".";
    -
    1281  return false;
    -
    1282  }
    -
    1283 
    -
    1284  // A gap since previous.
    -
    1285  const uint64_t kRoundingErrorGrace = 5;
    -
    1286  if (previous_segment_end_time + kRoundingErrorGrace < start_time) {
    -
    1287  LOG(WARNING) << "Found a gap of size "
    -
    1288  << (start_time - previous_segment_end_time)
    -
    1289  << " > kRoundingErrorGrace (" << kRoundingErrorGrace
    -
    1290  << "). The new segment starts at " << start_time
    -
    1291  << " but the previous segment ends at "
    -
    1292  << previous_segment_end_time << ".";
    -
    1293  return false;
    -
    1294  }
    -
    1295 
    -
    1296  // No overlapping segments.
    -
    1297  if (start_time < previous_segment_end_time - kRoundingErrorGrace) {
    -
    1298  LOG(WARNING)
    -
    1299  << "Segments should not be overlapping. The new segment starts at "
    -
    1300  << start_time << " but the previous segment ends at "
    -
    1301  << previous_segment_end_time << ".";
    -
    1302  return false;
    -
    1303  }
    -
    1304 
    -
    1305  // Within rounding error grace but technically not contiguous in terms of MPD.
    -
    1306  return false;
    -
    1307 }
    -
    1308 
    -
    1309 void Representation::SlideWindow() {
    -
    1310  DCHECK(!segment_infos_.empty());
    -
    1311  if (mpd_options_.time_shift_buffer_depth <= 0.0 ||
    -
    1312  mpd_options_.mpd_type == MpdType::kStatic)
    -
    1313  return;
    -
    1314 
    -
    1315  const uint32_t time_scale = GetTimeScale(media_info_);
    -
    1316  DCHECK_GT(time_scale, 0u);
    -
    1317 
    -
    1318  uint64_t time_shift_buffer_depth =
    -
    1319  static_cast<uint64_t>(mpd_options_.time_shift_buffer_depth * time_scale);
    -
    1320 
    -
    1321  // The start time of the latest segment is considered the current_play_time,
    -
    1322  // and this should guarantee that the latest segment will stay in the list.
    -
    1323  const uint64_t current_play_time = LatestSegmentStartTime(segment_infos_);
    -
    1324  if (current_play_time <= time_shift_buffer_depth)
    -
    1325  return;
    -
    1326 
    -
    1327  const uint64_t timeshift_limit = current_play_time - time_shift_buffer_depth;
    +
    1170  DCHECK(!(HasVODOnlyFields(media_info_) && HasLiveOnlyFields(media_info_)));
    +
    1171 
    +
    1172  RepresentationXmlNode representation;
    +
    1173  // Mandatory fields for Representation.
    +
    1174  representation.SetId(id_);
    +
    1175  representation.SetIntegerAttribute("bandwidth", bandwidth);
    +
    1176  if (!codecs_.empty())
    +
    1177  representation.SetStringAttribute("codecs", codecs_);
    +
    1178  representation.SetStringAttribute("mimeType", mime_type_);
    +
    1179 
    +
    1180  const bool has_video_info = media_info_.has_video_info();
    +
    1181  const bool has_audio_info = media_info_.has_audio_info();
    +
    1182 
    +
    1183  if (has_video_info &&
    +
    1184  !representation.AddVideoInfo(
    +
    1185  media_info_.video_info(),
    +
    1186  !(output_suppression_flags_ & kSuppressWidth),
    +
    1187  !(output_suppression_flags_ & kSuppressHeight),
    +
    1188  !(output_suppression_flags_ & kSuppressFrameRate))) {
    +
    1189  LOG(ERROR) << "Failed to add video info to Representation XML.";
    +
    1190  return xml::scoped_xml_ptr<xmlNode>();
    +
    1191  }
    +
    1192 
    +
    1193  if (has_audio_info &&
    +
    1194  !representation.AddAudioInfo(media_info_.audio_info())) {
    +
    1195  LOG(ERROR) << "Failed to add audio info to Representation XML.";
    +
    1196  return xml::scoped_xml_ptr<xmlNode>();
    +
    1197  }
    +
    1198 
    +
    1199  if (!representation.AddContentProtectionElements(
    +
    1200  content_protection_elements_)) {
    +
    1201  return xml::scoped_xml_ptr<xmlNode>();
    +
    1202  }
    +
    1203 
    +
    1204  // Set media duration for static mpd.
    +
    1205  if (mpd_options_.mpd_type == MpdType::kStatic &&
    +
    1206  media_info_.has_media_duration_seconds()) {
    +
    1207  // Adding 'duration' attribute, so that this information can be used when
    +
    1208  // generating one MPD file. This should be removed from the final MPD.
    +
    1209  representation.SetFloatingPointAttribute(
    +
    1210  "duration", media_info_.media_duration_seconds());
    +
    1211  }
    +
    1212 
    +
    1213  if (HasVODOnlyFields(media_info_) &&
    +
    1214  !representation.AddVODOnlyInfo(media_info_)) {
    +
    1215  LOG(ERROR) << "Failed to add VOD segment info.";
    +
    1216  return xml::scoped_xml_ptr<xmlNode>();
    +
    1217  }
    +
    1218 
    +
    1219  if (HasLiveOnlyFields(media_info_) &&
    +
    1220  !representation.AddLiveOnlyInfo(media_info_, segment_infos_,
    +
    1221  start_number_)) {
    +
    1222  LOG(ERROR) << "Failed to add Live info.";
    +
    1223  return xml::scoped_xml_ptr<xmlNode>();
    +
    1224  }
    +
    1225  // TODO(rkuroiwa): It is likely that all representations have the exact same
    +
    1226  // SegmentTemplate. Optimize and propagate the tag up to AdaptationSet level.
    +
    1227 
    +
    1228  output_suppression_flags_ = 0;
    +
    1229  return representation.PassScopedPtr();
    +
    1230 }
    +
    1231 
    +
    1232 void Representation::SuppressOnce(SuppressFlag flag) {
    +
    1233  output_suppression_flags_ |= flag;
    +
    1234 }
    +
    1235 
    +
    1236 bool Representation::HasRequiredMediaInfoFields() {
    +
    1237  if (HasVODOnlyFields(media_info_) && HasLiveOnlyFields(media_info_)) {
    +
    1238  LOG(ERROR) << "MediaInfo cannot have both VOD and Live fields.";
    +
    1239  return false;
    +
    1240  }
    +
    1241 
    +
    1242  if (!media_info_.has_container_type()) {
    +
    1243  LOG(ERROR) << "MediaInfo missing required field: container_type.";
    +
    1244  return false;
    +
    1245  }
    +
    1246 
    +
    1247  if (HasVODOnlyFields(media_info_) && !media_info_.has_bandwidth()) {
    +
    1248  LOG(ERROR) << "Missing 'bandwidth' field. MediaInfo requires bandwidth for "
    +
    1249  "static profile for generating a valid MPD.";
    +
    1250  return false;
    +
    1251  }
    +
    1252 
    +
    1253  VLOG_IF(3, HasLiveOnlyFields(media_info_) && !media_info_.has_bandwidth())
    +
    1254  << "MediaInfo missing field 'bandwidth'. Using estimated from "
    +
    1255  "segment size.";
    +
    1256 
    +
    1257  return true;
    +
    1258 }
    +
    1259 
    +
    1260 bool Representation::IsContiguous(uint64_t start_time,
    +
    1261  uint64_t duration,
    +
    1262  uint64_t size) const {
    +
    1263  if (segment_infos_.empty())
    +
    1264  return false;
    +
    1265 
    +
    1266  // Contiguous segment.
    +
    1267  const SegmentInfo& previous = segment_infos_.back();
    +
    1268  const uint64_t previous_segment_end_time =
    +
    1269  previous.start_time + previous.duration * (previous.repeat + 1);
    +
    1270  if (previous_segment_end_time == start_time &&
    +
    1271  segment_infos_.back().duration == duration) {
    +
    1272  return true;
    +
    1273  }
    +
    1274 
    +
    1275  // No out of order segments.
    +
    1276  const uint64_t previous_segment_start_time =
    +
    1277  previous.start_time + previous.duration * previous.repeat;
    +
    1278  if (previous_segment_start_time >= start_time) {
    +
    1279  LOG(ERROR) << "Segments should not be out of order segment. Adding segment "
    +
    1280  "with start_time == "
    +
    1281  << start_time << " but the previous segment starts at "
    +
    1282  << previous.start_time << ".";
    +
    1283  return false;
    +
    1284  }
    +
    1285 
    +
    1286  // A gap since previous.
    +
    1287  const uint64_t kRoundingErrorGrace = 5;
    +
    1288  if (previous_segment_end_time + kRoundingErrorGrace < start_time) {
    +
    1289  LOG(WARNING) << "Found a gap of size "
    +
    1290  << (start_time - previous_segment_end_time)
    +
    1291  << " > kRoundingErrorGrace (" << kRoundingErrorGrace
    +
    1292  << "). The new segment starts at " << start_time
    +
    1293  << " but the previous segment ends at "
    +
    1294  << previous_segment_end_time << ".";
    +
    1295  return false;
    +
    1296  }
    +
    1297 
    +
    1298  // No overlapping segments.
    +
    1299  if (start_time < previous_segment_end_time - kRoundingErrorGrace) {
    +
    1300  LOG(WARNING)
    +
    1301  << "Segments should not be overlapping. The new segment starts at "
    +
    1302  << start_time << " but the previous segment ends at "
    +
    1303  << previous_segment_end_time << ".";
    +
    1304  return false;
    +
    1305  }
    +
    1306 
    +
    1307  // Within rounding error grace but technically not contiguous in terms of MPD.
    +
    1308  return false;
    +
    1309 }
    +
    1310 
    +
    1311 void Representation::SlideWindow() {
    +
    1312  DCHECK(!segment_infos_.empty());
    +
    1313  if (mpd_options_.time_shift_buffer_depth <= 0.0 ||
    +
    1314  mpd_options_.mpd_type == MpdType::kStatic)
    +
    1315  return;
    +
    1316 
    +
    1317  const uint32_t time_scale = GetTimeScale(media_info_);
    +
    1318  DCHECK_GT(time_scale, 0u);
    +
    1319 
    +
    1320  uint64_t time_shift_buffer_depth =
    +
    1321  static_cast<uint64_t>(mpd_options_.time_shift_buffer_depth * time_scale);
    +
    1322 
    +
    1323  // The start time of the latest segment is considered the current_play_time,
    +
    1324  // and this should guarantee that the latest segment will stay in the list.
    +
    1325  const uint64_t current_play_time = LatestSegmentStartTime(segment_infos_);
    +
    1326  if (current_play_time <= time_shift_buffer_depth)
    +
    1327  return;
    1328 
    -
    1329  // First remove all the SegmentInfos that are completely out of range, by
    -
    1330  // looking at the very last segment's end time.
    -
    1331  std::list<SegmentInfo>::iterator first = segment_infos_.begin();
    -
    1332  std::list<SegmentInfo>::iterator last = first;
    -
    1333  size_t num_segments_removed = 0;
    -
    1334  for (; last != segment_infos_.end(); ++last) {
    -
    1335  const uint64_t last_segment_end_time = LastSegmentEndTime(*last);
    -
    1336  if (timeshift_limit < last_segment_end_time)
    -
    1337  break;
    -
    1338  num_segments_removed += last->repeat + 1;
    -
    1339  }
    -
    1340  segment_infos_.erase(first, last);
    -
    1341  start_number_ += num_segments_removed;
    -
    1342 
    -
    1343  // Now some segment in the first SegmentInfo should be left in the list.
    -
    1344  SegmentInfo* first_segment_info = &segment_infos_.front();
    -
    1345  DCHECK_LE(timeshift_limit, LastSegmentEndTime(*first_segment_info));
    -
    1346 
    -
    1347  // Identify which segments should still be in the SegmentInfo.
    -
    1348  const int repeat_index =
    -
    1349  SearchTimedOutRepeatIndex(timeshift_limit, *first_segment_info);
    -
    1350  CHECK_GE(repeat_index, 0);
    -
    1351  if (repeat_index == 0)
    -
    1352  return;
    -
    1353 
    -
    1354  first_segment_info->start_time = first_segment_info->start_time +
    -
    1355  first_segment_info->duration * repeat_index;
    -
    1356 
    -
    1357  first_segment_info->repeat = first_segment_info->repeat - repeat_index;
    -
    1358  start_number_ += repeat_index;
    -
    1359 }
    -
    1360 
    -
    1361 std::string Representation::GetVideoMimeType() const {
    -
    1362  return GetMimeType("video", media_info_.container_type());
    -
    1363 }
    -
    1364 
    -
    1365 std::string Representation::GetAudioMimeType() const {
    -
    1366  return GetMimeType("audio", media_info_.container_type());
    -
    1367 }
    -
    1368 
    -
    1369 std::string Representation::GetTextMimeType() const {
    -
    1370  CHECK(media_info_.has_text_info());
    -
    1371  if (media_info_.text_info().format() == "ttml") {
    -
    1372  switch (media_info_.container_type()) {
    -
    1373  case MediaInfo::CONTAINER_TEXT:
    -
    1374  return "application/ttml+xml";
    -
    1375  case MediaInfo::CONTAINER_MP4:
    -
    1376  return "application/mp4";
    -
    1377  default:
    -
    1378  LOG(ERROR) << "Failed to determine MIME type for TTML container: "
    -
    1379  << media_info_.container_type();
    -
    1380  return "";
    -
    1381  }
    -
    1382  }
    -
    1383  if (media_info_.text_info().format() == "vtt") {
    -
    1384  if (media_info_.container_type() == MediaInfo::CONTAINER_TEXT) {
    -
    1385  return "text/vtt";
    -
    1386  }
    -
    1387  LOG(ERROR) << "Failed to determine MIME type for VTT container: "
    -
    1388  << media_info_.container_type();
    -
    1389  return "";
    -
    1390  }
    -
    1391 
    -
    1392  LOG(ERROR) << "Cannot determine MIME type for format: "
    -
    1393  << media_info_.text_info().format()
    -
    1394  << " container: " << media_info_.container_type();
    -
    1395  return "";
    -
    1396 }
    -
    1397 
    -
    1398 bool Representation::GetEarliestTimestamp(double* timestamp_seconds) {
    -
    1399  DCHECK(timestamp_seconds);
    -
    1400 
    -
    1401  if (segment_infos_.empty())
    -
    1402  return false;
    -
    1403 
    -
    1404  *timestamp_seconds = static_cast<double>(segment_infos_.begin()->start_time) /
    -
    1405  GetTimeScale(media_info_);
    -
    1406  return true;
    -
    1407 }
    -
    1408 
    -
    1409 } // namespace shaka
    -
    void OnSetFrameRateForRepresentation(uint32_t representation_id, uint32_t frame_duration, uint32_t timescale)
    Definition: mpd_builder.cc:883
    -
    virtual void AddNewSegment(uint64_t start_time, uint64_t duration, uint64_t size)
    - +
    1329  const uint64_t timeshift_limit = current_play_time - time_shift_buffer_depth;
    +
    1330 
    +
    1331  // First remove all the SegmentInfos that are completely out of range, by
    +
    1332  // looking at the very last segment's end time.
    +
    1333  std::list<SegmentInfo>::iterator first = segment_infos_.begin();
    +
    1334  std::list<SegmentInfo>::iterator last = first;
    +
    1335  size_t num_segments_removed = 0;
    +
    1336  for (; last != segment_infos_.end(); ++last) {
    +
    1337  const uint64_t last_segment_end_time = LastSegmentEndTime(*last);
    +
    1338  if (timeshift_limit < last_segment_end_time)
    +
    1339  break;
    +
    1340  num_segments_removed += last->repeat + 1;
    +
    1341  }
    +
    1342  segment_infos_.erase(first, last);
    +
    1343  start_number_ += num_segments_removed;
    +
    1344 
    +
    1345  // Now some segment in the first SegmentInfo should be left in the list.
    +
    1346  SegmentInfo* first_segment_info = &segment_infos_.front();
    +
    1347  DCHECK_LE(timeshift_limit, LastSegmentEndTime(*first_segment_info));
    +
    1348 
    +
    1349  // Identify which segments should still be in the SegmentInfo.
    +
    1350  const int repeat_index =
    +
    1351  SearchTimedOutRepeatIndex(timeshift_limit, *first_segment_info);
    +
    1352  CHECK_GE(repeat_index, 0);
    +
    1353  if (repeat_index == 0)
    +
    1354  return;
    +
    1355 
    +
    1356  first_segment_info->start_time = first_segment_info->start_time +
    +
    1357  first_segment_info->duration * repeat_index;
    +
    1358 
    +
    1359  first_segment_info->repeat = first_segment_info->repeat - repeat_index;
    +
    1360  start_number_ += repeat_index;
    +
    1361 }
    +
    1362 
    +
    1363 std::string Representation::GetVideoMimeType() const {
    +
    1364  return GetMimeType("video", media_info_.container_type());
    +
    1365 }
    +
    1366 
    +
    1367 std::string Representation::GetAudioMimeType() const {
    +
    1368  return GetMimeType("audio", media_info_.container_type());
    +
    1369 }
    +
    1370 
    +
    1371 std::string Representation::GetTextMimeType() const {
    +
    1372  CHECK(media_info_.has_text_info());
    +
    1373  if (media_info_.text_info().format() == "ttml") {
    +
    1374  switch (media_info_.container_type()) {
    +
    1375  case MediaInfo::CONTAINER_TEXT:
    +
    1376  return "application/ttml+xml";
    +
    1377  case MediaInfo::CONTAINER_MP4:
    +
    1378  return "application/mp4";
    +
    1379  default:
    +
    1380  LOG(ERROR) << "Failed to determine MIME type for TTML container: "
    +
    1381  << media_info_.container_type();
    +
    1382  return "";
    +
    1383  }
    +
    1384  }
    +
    1385  if (media_info_.text_info().format() == "vtt") {
    +
    1386  if (media_info_.container_type() == MediaInfo::CONTAINER_TEXT) {
    +
    1387  return "text/vtt";
    +
    1388  } else if (media_info_.container_type() == MediaInfo::CONTAINER_MP4) {
    +
    1389  return "application/mp4";
    +
    1390  }
    +
    1391  LOG(ERROR) << "Failed to determine MIME type for VTT container: "
    +
    1392  << media_info_.container_type();
    +
    1393  return "";
    +
    1394  }
    +
    1395 
    +
    1396  LOG(ERROR) << "Cannot determine MIME type for format: "
    +
    1397  << media_info_.text_info().format()
    +
    1398  << " container: " << media_info_.container_type();
    +
    1399  return "";
    +
    1400 }
    +
    1401 
    +
    1402 bool Representation::GetEarliestTimestamp(double* timestamp_seconds) {
    +
    1403  DCHECK(timestamp_seconds);
    +
    1404 
    +
    1405  if (segment_infos_.empty())
    +
    1406  return false;
    +
    1407 
    +
    1408  *timestamp_seconds = static_cast<double>(segment_infos_.begin()->start_time) /
    +
    1409  GetTimeScale(media_info_);
    +
    1410  return true;
    +
    1411 }
    +
    1412 
    +
    1413 } // namespace shaka
    +
    void OnSetFrameRateForRepresentation(uint32_t representation_id, uint32_t frame_duration, uint32_t timescale)
    Definition: mpd_builder.cc:885
    +
    virtual void AddNewSegment(uint64_t start_time, uint64_t duration, uint64_t size)
    +
    bool WriteMpdToFile(media::File *output_file)
    Definition: mpd_builder.cc:422
    -
    Representation(const MediaInfo &media_info, const MpdOptions &mpd_options, uint32_t representation_id, std::unique_ptr< RepresentationStateChangeListener > state_change_listener)
    +
    Representation(const MediaInfo &media_info, const MpdOptions &mpd_options, uint32_t representation_id, std::unique_ptr< RepresentationStateChangeListener > state_change_listener)
    -
    virtual void SetSampleDuration(uint32_t sample_duration)
    +
    virtual void SetSampleDuration(uint32_t sample_duration)
    virtual Representation * AddRepresentation(const MediaInfo &media_info)
    Definition: mpd_builder.cc:701
    std::string LanguageToShortestForm(const std::string &language)
    Define an abstract file interface.
    Definition: file.h:24
    -
    virtual void AddContentProtectionElement(const ContentProtectionElement &element)
    Definition: mpd_builder.cc:745
    +
    virtual void AddContentProtectionElement(const ContentProtectionElement &element)
    Definition: mpd_builder.cc:747
    MpdBuilder(const MpdOptions &mpd_options)
    Definition: mpd_builder.cc:399
    -
    virtual void AddRole(Role role)
    Definition: mpd_builder.cc:757
    +
    virtual void AddRole(Role role)
    Definition: mpd_builder.cc:759
    void AddBaseUrl(const std::string &base_url)
    Definition: mpd_builder.cc:404
    -
    virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
    Definition: mpd_builder.cc:751
    +
    virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
    Definition: mpd_builder.cc:753
    AdaptationSet(uint32_t adaptation_set_id, const std::string &lang, const MpdOptions &mpd_options, base::AtomicSequenceNumber *representation_counter)
    Definition: mpd_builder.cc:686
    -
    xml::scoped_xml_ptr< xmlNode > GetXml()
    +
    xml::scoped_xml_ptr< xmlNode > GetXml()
    virtual bool ToString(std::string *output)
    Definition: mpd_builder.cc:427
    -
    void AddAdaptationSetSwitching(uint32_t adaptation_set_id)
    Definition: mpd_builder.cc:861
    -
    virtual void ForceSetSegmentAlignment(bool segment_alignment)
    Definition: mpd_builder.cc:855
    +
    void AddAdaptationSetSwitching(uint32_t adaptation_set_id)
    Definition: mpd_builder.cc:863
    +
    virtual void ForceSetSegmentAlignment(bool segment_alignment)
    Definition: mpd_builder.cc:857
    static void MakePathsRelativeToMpd(const std::string &mpd_path, MediaInfo *media_info)
    Definition: mpd_builder.cc:658
    -
    xml::scoped_xml_ptr< xmlNode > GetXml()
    Definition: mpd_builder.cc:767
    -
    virtual void AddContentProtectionElement(const ContentProtectionElement &element)
    +
    xml::scoped_xml_ptr< xmlNode > GetXml()
    Definition: mpd_builder.cc:769
    +
    virtual void AddContentProtectionElement(const ContentProtectionElement &element)
    virtual AdaptationSet * AddAdaptationSet(const std::string &lang)
    Definition: mpd_builder.cc:408
    Defines Mpd Options.
    Definition: mpd_options.h:23
    -
    void OnNewSegmentForRepresentation(uint32_t representation_id, uint64_t start_time, uint64_t duration)
    Definition: mpd_builder.cc:872
    -
    virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
    +
    void OnNewSegmentForRepresentation(uint32_t representation_id, uint64_t start_time, uint64_t duration)
    Definition: mpd_builder.cc:874
    +
    virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
    -
    void SuppressOnce(SuppressFlag flag)
    +
    void SuppressOnce(SuppressFlag flag)
    diff --git a/docs/dd/d12/mpd__writer_8cc_source.html b/docs/dd/d12/mpd__writer_8cc_source.html index 042ed64880..064b692013 100644 --- a/docs/dd/d12/mpd__writer_8cc_source.html +++ b/docs/dd/d12/mpd__writer_8cc_source.html @@ -219,7 +219,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d13/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize.html b/docs/dd/d13/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize.html index f9feee6c9b..ab8fbea639 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 5d91df0269..275606fe2b 100644 --- a/docs/dd/d17/classshaka_1_1media_1_1Demuxer.html +++ b/docs/dd/d17/classshaka_1_1media_1_1Demuxer.html @@ -230,7 +230,7 @@ std::pair< std::shared_ptr
    -

    Definition at line 70 of file demuxer.cc.

    +

    Definition at line 75 of file demuxer.cc.

    @@ -249,7 +249,7 @@ std::pair< std::shared_ptr

    Cancel a demuxing job in progress. Will cause Run to exit with an error status of type CANCELLED.

    -

    Definition at line 119 of file demuxer.cc.

    +

    Definition at line 124 of file demuxer.cc.

    @@ -350,7 +350,7 @@ std::pair< std::shared_ptr

    Drive the remuxing from demuxer side (push). Read the file and push the Data to Muxer until Eof.

    -

    Definition at line 82 of file demuxer.cc.

    +

    Definition at line 87 of file demuxer.cc.

    @@ -386,7 +386,7 @@ std::pair< std::shared_ptr
    -

    Definition at line 123 of file demuxer.cc.

    +

    Definition at line 128 of file demuxer.cc.

    @@ -411,7 +411,7 @@ std::pair< std::shared_ptr
    -

    Definition at line 78 of file demuxer.cc.

    +

    Definition at line 83 of file demuxer.cc.

    @@ -447,7 +447,7 @@ std::pair< std::shared_ptr
    -

    Definition at line 133 of file demuxer.cc.

    +

    Definition at line 138 of file demuxer.cc.

    @@ -458,7 +458,7 @@ std::pair< std::shared_ptr
    diff --git a/docs/dd/d18/es__parser__adts_8h_source.html b/docs/dd/d18/es__parser__adts_8h_source.html index d1b65f8508..64d5b28503 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 86db5e4a72..a9dae9e942 100644 --- a/docs/dd/d19/video__stream__info_8cc_source.html +++ b/docs/dd/d19/video__stream__info_8cc_source.html @@ -186,7 +186,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 af2fa755ab..ea3072af40 100644 --- a/docs/dd/d30/wvm__media__parser_8cc_source.html +++ b/docs/dd/d30/wvm__media__parser_8cc_source.html @@ -1268,7 +1268,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 1e78677944..7de3ad397c 100644 --- a/docs/dd/d3b/mp4_2segmenter_8h_source.html +++ b/docs/dd/d3b/mp4_2segmenter_8h_source.html @@ -216,7 +216,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 6550409687..e520a09b3c 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 5199db8a84..36e3d4f194 100644 --- a/docs/dd/d42/encryptor_8h_source.html +++ b/docs/dd/d42/encryptor_8h_source.html @@ -121,7 +121,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 c143f0256f..6b1e4da720 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 1fcb21ca5b..f29b7eadd6 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 c06965eded..81efc9b5de 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 8f31f4da0a..3656afb782 100644 --- a/docs/dd/d54/widevine__encryption__flags_8h_source.html +++ b/docs/dd/d54/widevine__encryption__flags_8h_source.html @@ -127,7 +127,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 f0de70331f..ca001b013a 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 902ac49ee8..18e530b7d7 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 fe2dad4f91..bff5528b85 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 ba2e5c74cb..4455ff3cc8 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 6df8a3975e..400e6924f4 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 @@ -188,7 +188,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 f73c9ca6cd..4a7c43905e 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 74bb991f59..53ea68bdbe 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 3659661c0a..a7fc6cc3f3 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 2a0e676c27..d7d3c1b14d 100644 --- a/docs/dd/d7c/classshaka_1_1media_1_1IoCache.html +++ b/docs/dd/d7c/classshaka_1_1media_1_1IoCache.html @@ -297,7 +297,7 @@ void  diff --git a/docs/dd/d80/media__sample_8h_source.html b/docs/dd/d80/media__sample_8h_source.html index 0c3ad56196..6bf55badee 100644 --- a/docs/dd/d80/media__sample_8h_source.html +++ b/docs/dd/d80/media__sample_8h_source.html @@ -272,7 +272,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 2166ec9bf8..8695e0b721 100644 --- a/docs/dd/d87/memory__file_8cc_source.html +++ b/docs/dd/d87/memory__file_8cc_source.html @@ -242,7 +242,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 47a3463027..85e6099de6 100644 --- a/docs/dd/d88/pes__packet__generator_8h_source.html +++ b/docs/dd/d88/pes__packet__generator_8h_source.html @@ -164,7 +164,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d8c/file__test__util_8h_source.html b/docs/dd/d8c/file__test__util_8h_source.html index 86f95042c0..21780a5c3c 100644 --- a/docs/dd/d8c/file__test__util_8h_source.html +++ b/docs/dd/d8c/file__test__util_8h_source.html @@ -130,7 +130,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 5a4e9a189d..793a6da1a5 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 74979b6b5e..87f586897b 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 f781313588..72995a0ded 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 56e481b432..31843781a8 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 ec97a76174..a0b463eba6 100644 --- a/docs/dd/d9d/classshaka_1_1MpdNotifier-members.html +++ b/docs/dd/d9d/classshaka_1_1MpdNotifier-members.html @@ -107,7 +107,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 1769037a2f..d52b71f0de 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 3ee72b2936..d91c437cbe 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 @@ -221,7 +221,7 @@ uint64_t segment_payload_p 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 9b7eb7c8a9..5e5a4248ea 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 d602c6eb63..bb186b9611 100644 --- a/docs/dd/dab/webm__muxer_8h_source.html +++ b/docs/dd/dab/webm__muxer_8h_source.html @@ -139,7 +139,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 d20e1368a3..33a9454947 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 225efdd643..c434cb12c2 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 5b31ea914c..5a6d8e3800 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 5c556a94b5..6f3bcc2963 100644 --- a/docs/dd/db9/classshaka_1_1xml_1_1RepresentationBaseXmlNode.html +++ b/docs/dd/db9/classshaka_1_1xml_1_1RepresentationBaseXmlNode.html @@ -194,7 +194,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 be79e9b019..327593a5be 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/dbc/encryption__handler_8h_source.html b/docs/dd/dbc/encryption__handler_8h_source.html index edc354b212..a31110b7bb 100644 --- a/docs/dd/dbc/encryption__handler_8h_source.html +++ b/docs/dd/dbc/encryption__handler_8h_source.html @@ -208,7 +208,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 e5a5873ec2..46c2d106d5 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 6b6150d14f..4cbdc8194e 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 a1a98dca06..d225eec0cb 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 e986176e8d..644b657262 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 507990ae41..f3dc6f1b0b 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 b93762b678..224107408f 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 @@ -400,7 +400,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 730c671bce..67cc762e1a 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 19496134d5..0704c29388 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::string comment diff --git a/docs/dd/dd2/buffer__writer_8h_source.html b/docs/dd/dd2/buffer__writer_8h_source.html index 704cd13cd5..a9cc5d5e19 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 72078576e9..1c7eb47be0 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 0bc9a5492d..d95a269ac4 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 3d9a961f8c..4828b77ee9 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 dbbe6db9b5..4c5a2d9b3c 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/ddc/trick__play__handler_8h_source.html b/docs/dd/ddc/trick__play__handler_8h_source.html index bb25bf641b..78994c1bfd 100644 --- a/docs/dd/ddc/trick__play__handler_8h_source.html +++ b/docs/dd/ddc/trick__play__handler_8h_source.html @@ -177,7 +177,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 8e0b5970cb..b0268038ac 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 0ff731c839..a760360016 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 0536fa8b0d..c910534302 100644 --- a/docs/dd/de7/xml__node_8h_source.html +++ b/docs/dd/de7/xml__node_8h_source.html @@ -235,7 +235,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/de9/classshaka_1_1media_1_1MediaHandler-members.html b/docs/dd/de9/classshaka_1_1media_1_1MediaHandler-members.html index e3af0bf473..9e5b493d88 100644 --- a/docs/dd/de9/classshaka_1_1media_1_1MediaHandler-members.html +++ b/docs/dd/de9/classshaka_1_1media_1_1MediaHandler-members.html @@ -117,7 +117,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 484ff1fd0b..c2be588e55 100644 --- a/docs/dd/dee/box__definitions_8cc_source.html +++ b/docs/dd/dee/box__definitions_8cc_source.html @@ -2952,7 +2952,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 718304697a..cebfe6d450 100644 --- a/docs/dd/df2/webm_2multi__segment__segmenter_8h_source.html +++ b/docs/dd/df2/webm_2multi__segment__segmenter_8h_source.html @@ -149,7 +149,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/df5/structshaka_1_1media_1_1mp4_1_1TrackFragmentRun.html b/docs/dd/df5/structshaka_1_1media_1_1mp4_1_1TrackFragmentRun.html index 139572290f..972212a672 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 fefafb41a1..4c20e17004 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 1a6284de1a..56b251a5fe 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 6241a091b6..f071256dab 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 eb0858b639..e84d4751d9 100644 --- a/docs/de/d13/ts__writer_8cc_source.html +++ b/docs/de/d13/ts__writer_8cc_source.html @@ -360,7 +360,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 eb961d34fa..27b41b0504 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 366e9ef594..8eb198947b 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 97c24ffa7c..ba6ccd4d4a 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 2392039d4d..ee5ebb8c6d 100644 --- a/docs/de/d1e/mp4_2single__segment__segmenter_8cc_source.html +++ b/docs/de/d1e/mp4_2single__segment__segmenter_8cc_source.html @@ -308,7 +308,7 @@ 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 419b6964f3..f91cbe1833 100644 --- a/docs/de/d22/aes__pattern__cryptor_8cc_source.html +++ b/docs/de/d22/aes__pattern__cryptor_8cc_source.html @@ -185,7 +185,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 49b0a24131..0d780bccbf 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 fa5565e587..f53399aa3d 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 cecb2ecbcf..f628f31d31 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 b35cf9cce9..004e3a0969 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 35e9eb2509..b17560ff4d 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 55eb53dbb7..8c14116623 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 @@ -202,7 +202,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 301b013e92..71216e8b5e 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 b135516da3..a8f4654cd2 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 20975b8506..047e1a7289 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 787537df0b..7bab1590d9 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 33da8c4416..14fe094924 100644 --- a/docs/de/d49/classshaka_1_1media_1_1DecryptConfig.html +++ b/docs/de/d49/classshaka_1_1media_1_1DecryptConfig.html @@ -315,7 +315,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 d7cf3fc886..f81460ff33 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 e6cb99dd1b..ff8510363d 100644 --- a/docs/de/d52/classshaka_1_1Representation.html +++ b/docs/de/d52/classshaka_1_1Representation.html @@ -200,7 +200,7 @@ template<DashProfile profile> -

    Definition at line 1049 of file mpd_builder.cc.

    +

    Definition at line 1051 of file mpd_builder.cc.

    @@ -234,7 +234,7 @@ template<DashProfile profile> -

    Definition at line 1106 of file mpd_builder.cc.

    +

    Definition at line 1108 of file mpd_builder.cc.

    @@ -285,7 +285,7 @@ template<DashProfile profile> -

    Definition at line 1118 of file mpd_builder.cc.

    +

    Definition at line 1120 of file mpd_builder.cc.

    @@ -303,7 +303,7 @@ template<DashProfile profile>
    Returns
    Copy of <Representation>.
    -

    Definition at line 1158 of file mpd_builder.cc.

    +

    Definition at line 1160 of file mpd_builder.cc.

    @@ -348,7 +348,7 @@ template<DashProfile profile>

    Tries to initialize the instance. If this does not succeed, the instance should not be used.

    Returns
    true on success, false otherwise.
    -

    Definition at line 1064 of file mpd_builder.cc.

    +

    Definition at line 1066 of file mpd_builder.cc.

    @@ -381,7 +381,7 @@ template<DashProfile profile> -

    Definition at line 1142 of file mpd_builder.cc.

    +

    Definition at line 1144 of file mpd_builder.cc.

    @@ -400,7 +400,7 @@ template<DashProfile profile>

    By calling this methods, the next time GetXml() is called, the corresponding attributes will not be set. For example, if SuppressOnce(kSuppressWidth) is called, then GetXml() will return a <Representation> element without a attribute. Note that it only applies to the next call to GetXml(), calling GetXml() again without calling this methods will return a <Representation> element with the attribute. This may be called multiple times to set different (or the same) flags.

    -

    Definition at line 1230 of file mpd_builder.cc.

    +

    Definition at line 1232 of file mpd_builder.cc.

    @@ -445,7 +445,7 @@ template<DashProfile profile>
    Attention
    This might get removed once DASH IF IOP specification makes a a clear guideline on how to handle key rotation. Also to get this working with shaka-player, this method DOES NOT update the PSSH element. Instead, it removes the element regardless of the content of pssh.
    -

    Definition at line 1112 of file mpd_builder.cc.

    +

    Definition at line 1114 of file mpd_builder.cc.

    @@ -456,7 +456,7 @@ template<DashProfile profile> 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 bbd102e120..8decae54c3 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 3aa7ac329a..0f80589ffd 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 22cfd4be9c..cc09d46c3a 100644 --- a/docs/de/d5c/mpd__flags_8h_source.html +++ b/docs/de/d5c/mpd__flags_8h_source.html @@ -116,7 +116,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 be5bf81bf8..75edfff888 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 8ef9f8ef5f..6c83c931db 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 cd73f3ce8e..004c4e086d 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 84cb2218bc..5ab1e6610f 100644 --- a/docs/de/d6e/language__utils_8h_source.html +++ b/docs/de/d6e/language__utils_8h_source.html @@ -116,7 +116,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 0e79e92e12..34573c1af3 100644 --- a/docs/de/d70/http__key__fetcher_8cc_source.html +++ b/docs/de/d70/http__key__fetcher_8cc_source.html @@ -266,7 +266,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 62daa11acf..955cf97cfd 100644 --- a/docs/de/d77/webm__content__encodings__client_8cc_source.html +++ b/docs/de/d77/webm__content__encodings__client_8cc_source.html @@ -358,7 +358,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 674d40612b..35058ee0f7 100644 --- a/docs/de/d7b/mp4__media__parser_8h_source.html +++ b/docs/de/d7b/mp4__media__parser_8h_source.html @@ -203,7 +203,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 4800db3f7d..b103673e08 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 fd58cebb8d..d671487a3c 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 bf71fda217..6d1048e515 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 f50f466246..da83568222 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 684a915671..4791c38459 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 6fb8a0e938..fc181fa1a5 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 ea8dcd074a..453eb485af 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 cf42d15777..b62c5342fa 100644 --- a/docs/de/dab/es__parser__h26x_8cc_source.html +++ b/docs/de/dab/es__parser__h26x_8cc_source.html @@ -410,7 +410,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 f9c269c412..fb9b8293d6 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 69350f7672..2395e704ac 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 f09fafd42c..647e81b4f9 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/dbf/udp__options_8h_source.html b/docs/de/dbf/udp__options_8h_source.html index c860fe89c5..f716659f5d 100644 --- a/docs/de/dbf/udp__options_8h_source.html +++ b/docs/de/dbf/udp__options_8h_source.html @@ -131,7 +131,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/dc1/demuxer_8h_source.html b/docs/de/dc1/demuxer_8h_source.html index 53d52eab7f..9ac48e9fd0 100644 --- a/docs/de/dc1/demuxer_8h_source.html +++ b/docs/de/dc1/demuxer_8h_source.html @@ -209,22 +209,22 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    147 
    148 #endif // MEDIA_BASE_DEMUXER_H_
    MediaContainerName container_name()
    Definition: demuxer.h:56
    -
    Status SetHandler(const std::string &stream_label, std::shared_ptr< MediaHandler > handler)
    Definition: demuxer.cc:123
    +
    Status SetHandler(const std::string &stream_label, std::shared_ptr< MediaHandler > handler)
    Definition: demuxer.cc:128
    bool ValidateOutputStreamIndex(size_t stream_index) const override
    Validate if the stream at the specified index actually exists.
    Definition: demuxer.h:85
    - + -
    void SetLanguageOverride(const std::string &stream_label, const std::string &language_override)
    Definition: demuxer.cc:133
    - -
    void SetKeySource(std::unique_ptr< KeySource > key_source)
    Definition: demuxer.cc:78
    +
    void SetLanguageOverride(const std::string &stream_label, const std::string &language_override)
    Definition: demuxer.cc:138
    + +
    void SetKeySource(std::unique_ptr< KeySource > key_source)
    Definition: demuxer.cc:83
    Status InitializeInternal() override
    Definition: demuxer.h:80
    Status Process(std::unique_ptr< StreamData > stream_data) override
    Definition: demuxer.h:81
    -
    Demuxer(const std::string &file_name)
    Definition: demuxer.cc:70
    +
    Demuxer(const std::string &file_name)
    Definition: demuxer.cc:75
    diff --git a/docs/de/dc2/classshaka_1_1media_1_1H265Parser.html b/docs/de/dc2/classshaka_1_1media_1_1H265Parser.html index c02663cc43..dd61a95fe4 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 d3badda52e..a97d0f90f5 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 959b6a61d8..6ab24aebfd 100644 --- a/docs/de/dcb/ts__segmenter_8h_source.html +++ b/docs/de/dcb/ts__segmenter_8h_source.html @@ -189,7 +189,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 6d529734bb..db113bd951 100644 --- a/docs/de/dcc/mock__mpd__notifier_8cc_source.html +++ b/docs/de/dcc/mock__mpd__notifier_8cc_source.html @@ -99,7 +99,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 d4fdefe7be..32a9681602 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 2f6db00482..a8069b8e1a 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 28e8621dde..bf0c540f69 100644 --- a/docs/de/dd6/muxer__listener__test__helper_8cc_source.html +++ b/docs/de/dd6/muxer__listener__test__helper_8cc_source.html @@ -205,7 +205,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 82cb9e090e..f7692a77e1 100644 --- a/docs/de/ddd/classshaka_1_1media_1_1Muxer-members.html +++ b/docs/de/ddd/classshaka_1_1media_1_1Muxer-members.html @@ -128,7 +128,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/ddd/classshaka_1_1media_1_1WebVttSampleConverter.html b/docs/de/ddd/classshaka_1_1media_1_1WebVttSampleConverter.html index fbf373cce3..b0b3ab87c7 100644 --- a/docs/de/ddd/classshaka_1_1media_1_1WebVttSampleConverter.html +++ b/docs/de/ddd/classshaka_1_1media_1_1WebVttSampleConverter.html @@ -257,7 +257,7 @@ Public Member Functions 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 0a0764037b..b14df2fc0d 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 @@ -272,7 +272,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 42ca21ba3f..673a216b3a 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 44a3f66114..989a40aada 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 3ae19200df..acde10ff7d 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 @@ -130,7 +130,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 49ef49e2fe..9c07e5ccfe 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 5adb9b2c45..74adee4a1b 100644 --- a/docs/de/dea/classshaka_1_1media_1_1H26xByteToUnitStreamConverter.html +++ b/docs/de/dea/classshaka_1_1media_1_1H26xByteToUnitStreamConverter.html @@ -287,7 +287,7 @@ void WarnIfNotMatch (i 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 01358023ea..fa97f39474 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 4c652f7161..2d7b22d861 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/muxer__listener_8h_source.html b/docs/de/dfa/muxer__listener_8h_source.html index 25ca8342ae..2b4d999479 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 5b9eaa62f7..3d10209858 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 936a6dc30b..e398251e4d 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/d00/playready__key__source_8h_source.html b/docs/df/d00/playready__key__source_8h_source.html index 4a3c247401..107646ead6 100644 --- a/docs/df/d00/playready__key__source_8h_source.html +++ b/docs/df/d00/playready__key__source_8h_source.html @@ -168,7 +168,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 afbe4cbc29..164b73bfb5 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 af1b436583..0e9fb99cc3 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 3fff889a49..856249b041 100644 --- a/docs/df/d1c/classshaka_1_1media_1_1MediaSample-members.html +++ b/docs/df/d1c/classshaka_1_1media_1_1MediaSample-members.html @@ -128,7 +128,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 f12839209f..7ecb3dd5fd 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 d24e0df0d4..32e86475bb 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 5a7f82c43f..8fe376ce84 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 311f283844..e50e407ee5 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 503d2befd7..0045871378 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 9658631a3e..2d8af4912c 100644 --- a/docs/df/d31/muxer__util_8cc_source.html +++ b/docs/df/d31/muxer__util_8cc_source.html @@ -272,7 +272,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 cd9147402d..1c1b0e6072 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 ec6729110c..8a5baec3a9 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 7581c2781e..06684cc927 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 f01974da1f..fd4e3891f9 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 ca62bec855..1f90b510cb 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 02f668cec8..bcfc6d7429 100644 --- a/docs/df/d46/classshaka_1_1media_1_1Muxer.html +++ b/docs/df/d46/classshaka_1_1media_1_1Muxer.html @@ -380,7 +380,7 @@ std::pair< std::shared_ptr
    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 f0fed4a10d..0c0ea7ea5a 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 84b607eeb0..41abb07cd8 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 f1bb9be94b..85afeb3192 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/d60/classshaka_1_1MockMpdBuilder.html b/docs/df/d60/classshaka_1_1MockMpdBuilder.html index a72d8a41cc..a0502574e6 100644 --- a/docs/df/d60/classshaka_1_1MockMpdBuilder.html +++ b/docs/df/d60/classshaka_1_1MockMpdBuilder.html @@ -143,7 +143,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 278b6a8647..58ee4e6847 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 bb590906a2..877cc2398e 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/d66/structshaka_1_1media_1_1TrickPlayOptions-members.html b/docs/df/d66/structshaka_1_1media_1_1TrickPlayOptions-members.html index e1dcc91dac..ab283f1429 100644 --- a/docs/df/d66/structshaka_1_1media_1_1TrickPlayOptions-members.html +++ b/docs/df/d66/structshaka_1_1media_1_1TrickPlayOptions-members.html @@ -97,7 +97,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d6a/classshaka_1_1MockMpdBuilder-members.html b/docs/df/d6a/classshaka_1_1MockMpdBuilder-members.html index 3519913339..d02f9addbc 100644 --- a/docs/df/d6a/classshaka_1_1MockMpdBuilder-members.html +++ b/docs/df/d6a/classshaka_1_1MockMpdBuilder-members.html @@ -108,7 +108,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 53dd05b4ad..ab694459db 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 01e9c2760d..2cc9824f1a 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 2ab7b97648..a424dafc23 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 a8e42d7a9c..7925d13fdc 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 10845ecdc6..e0e625d159 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 d511c7360a..cd392f9a16 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 38c43660ce..37a593dc84 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 ddbafd5a7b..a3bb574a44 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 9cbe841664..d8d2259fe2 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 5fa0726026..1cc85d4e7a 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 @@ -119,7 +119,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 ee880e706b..cb52dfda1b 100644 --- a/docs/df/d8d/es__parser__h26x_8h_source.html +++ b/docs/df/d8d/es__parser__h26x_8h_source.html @@ -235,7 +235,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 140bfeaef4..1816fd1410 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 3cc0d6fd12..a744ad0fe9 100644 --- a/docs/df/d96/xml__node_8cc_source.html +++ b/docs/df/d96/xml__node_8cc_source.html @@ -483,7 +483,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    bool AddLiveOnlyInfo(const MediaInfo &media_info, const std::list< SegmentInfo > &segment_infos, uint32_t start_number)
    Definition: xml_node.cc:300
    void SetId(uint32_t id)
    Definition: xml_node.cc:127
    bool AddElements(const std::vector< Element > &elements)
    Adds Elements to this node using the Element struct.
    Definition: xml_node.cc:74
    -
    std::string DoubleToString(double value)
    Definition: mpd_utils.cc:174
    +
    std::string DoubleToString(double value)
    Definition: mpd_utils.cc:178
    void AddSupplementalProperty(const std::string &scheme_id_uri, const std::string &value)
    Definition: xml_node.cc:169
    void SetIntegerAttribute(const char *attribute_name, uint64_t number)
    Definition: xml_node.cc:111
    void AddRoleElement(const std::string &scheme_id_uri, const std::string &value)
    Definition: xml_node.cc:212
    @@ -493,7 +493,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 75ba169dcc..801b18d8b5 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 b94a57aea9..5caa761fdc 100644 --- a/docs/df/d9e/classshaka_1_1xml_1_1RepresentationXmlNode.html +++ b/docs/df/d9e/classshaka_1_1xml_1_1RepresentationXmlNode.html @@ -313,7 +313,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 9f1416abfe..11b15617d2 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 20b9903051..aad53e8ce9 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 502779c01e..e7c594925d 100644 --- a/docs/df/dad/decrypt__config_8h_source.html +++ b/docs/df/dad/decrypt__config_8h_source.html @@ -176,7 +176,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 ca96f1e738..8250729c0e 100644 --- a/docs/df/db8/structshaka_1_1media_1_1StreamDescriptor-members.html +++ b/docs/df/db8/structshaka_1_1media_1_1StreamDescriptor-members.html @@ -109,7 +109,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 8467c6c9c8..7978170dd5 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 2ad47c3c64..4d74d758ee 100644 --- a/docs/df/dd2/mpd__utils_8h_source.html +++ b/docs/df/dd2/mpd__utils_8h_source.html @@ -171,13 +171,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    99 } // namespace shaka
    100 
    101 #endif // MPD_BASE_MPD_UTILS_H_
    -
    void AddContentProtectionElements(const MediaInfo &media_info, Representation *parent)
    Definition: mpd_utils.cc:346
    -
    bool HexToUUID(const std::string &data, std::string *uuid_format)
    Definition: mpd_utils.cc:181
    -
    std::string DoubleToString(double value)
    Definition: mpd_utils.cc:174
    +
    void AddContentProtectionElements(const MediaInfo &media_info, Representation *parent)
    Definition: mpd_utils.cc:350
    +
    bool HexToUUID(const std::string &data, std::string *uuid_format)
    Definition: mpd_utils.cc:185
    +
    std::string DoubleToString(double value)
    Definition: mpd_utils.cc:178
    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 b9155fc41d..17fb94ab46 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/dd3/structshaka_1_1media_1_1MediaEvent.html b/docs/df/dd3/structshaka_1_1media_1_1MediaEvent.html index 1dcf9b6303..11965217a8 100644 --- a/docs/df/dd3/structshaka_1_1media_1_1MediaEvent.html +++ b/docs/df/dd3/structshaka_1_1media_1_1MediaEvent.html @@ -99,7 +99,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 3a7c8b05c8..2146ba0eb1 100644 --- a/docs/df/ddc/webm_2segmenter_8h_source.html +++ b/docs/df/ddc/webm_2segmenter_8h_source.html @@ -243,7 +243,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 e2d4a4224a..c812ecd15f 100644 --- a/docs/df/dde/ts__section__psi_8cc_source.html +++ b/docs/df/dde/ts__section__psi_8cc_source.html @@ -230,7 +230,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 305b602c90..8f552ab5f6 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 345ea38180..9d8bebe5e7 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 1d437c7b80..d647c2adb8 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 dcf131d89e..7170071a21 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/df/dfb/classshaka_1_1media_1_1UdpOptions-members.html b/docs/df/dfb/classshaka_1_1media_1_1UdpOptions-members.html index b9171ac13b..b96781c4d1 100644 --- a/docs/df/dfb/classshaka_1_1media_1_1UdpOptions-members.html +++ b/docs/df/dfb/classshaka_1_1media_1_1UdpOptions-members.html @@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/dfc/playready__key__encryption__flags_8cc_source.html b/docs/df/dfc/playready__key__encryption__flags_8cc_source.html index 1144e1d894..2a78f34dc2 100644 --- a/docs/df/dfc/playready__key__encryption__flags_8cc_source.html +++ b/docs/df/dfc/playready__key__encryption__flags_8cc_source.html @@ -166,7 +166,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dir_0494b8c96e3190a776d2b97ade9c8ddf.html b/docs/dir_0494b8c96e3190a776d2b97ade9c8ddf.html index 851e30c3bf..ff04125164 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 2c18a51dfb..3d0bbf9516 100644 --- a/docs/dir_2618cd273dea54f184e42d7a562af818.html +++ b/docs/dir_2618cd273dea54f184e42d7a562af818.html @@ -136,7 +136,7 @@ Files diff --git a/docs/dir_279fd47bebb21302c25cfb685e84c359.html b/docs/dir_279fd47bebb21302c25cfb685e84c359.html index 9b0bccf23b..99b2c8b176 100644 --- a/docs/dir_279fd47bebb21302c25cfb685e84c359.html +++ b/docs/dir_279fd47bebb21302c25cfb685e84c359.html @@ -125,7 +125,7 @@ Files diff --git a/docs/dir_2eceb70145328c029a5f43350007537a.html b/docs/dir_2eceb70145328c029a5f43350007537a.html index 1f7ab1a4fa..7df7758bb8 100644 --- a/docs/dir_2eceb70145328c029a5f43350007537a.html +++ b/docs/dir_2eceb70145328c029a5f43350007537a.html @@ -101,7 +101,7 @@ Files diff --git a/docs/dir_39dc0668bd5a501998f94e8b4e546c71.html b/docs/dir_39dc0668bd5a501998f94e8b4e546c71.html index 980a53edd1..82f929f89f 100644 --- a/docs/dir_39dc0668bd5a501998f94e8b4e546c71.html +++ b/docs/dir_39dc0668bd5a501998f94e8b4e546c71.html @@ -105,7 +105,7 @@ Directories diff --git a/docs/dir_3e9291fd7a18fdecc763294cb2628910.html b/docs/dir_3e9291fd7a18fdecc763294cb2628910.html index 6bfba8853c..fbdef5cec4 100644 --- a/docs/dir_3e9291fd7a18fdecc763294cb2628910.html +++ b/docs/dir_3e9291fd7a18fdecc763294cb2628910.html @@ -149,7 +149,7 @@ Files diff --git a/docs/dir_49627ef5ef0630f6cf11dd06344c4cf0.html b/docs/dir_49627ef5ef0630f6cf11dd06344c4cf0.html index 9c4e9c4f47..5abc6cc58f 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 c4f1c625af..7f859a7dfc 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 1d7b8e8655..2c0b95300e 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 b21679ffed..fe8694154a 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 a6ebb656ae..3350e68a1b 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 bfb62ed692..a4c666b522 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 db96ca79f7..85653782e4 100644 --- a/docs/dir_aa73376d632f252584a1c0dfbefab2c4.html +++ b/docs/dir_aa73376d632f252584a1c0dfbefab2c4.html @@ -117,7 +117,7 @@ Files diff --git a/docs/dir_b0da65f92a9541ef8f345654d4bd88fd.html b/docs/dir_b0da65f92a9541ef8f345654d4bd88fd.html index c058025a40..a06083fcd5 100644 --- a/docs/dir_b0da65f92a9541ef8f345654d4bd88fd.html +++ b/docs/dir_b0da65f92a9541ef8f345654d4bd88fd.html @@ -93,7 +93,7 @@ Files diff --git a/docs/dir_ba94ecd487194410fd7c4b70c530929c.html b/docs/dir_ba94ecd487194410fd7c4b70c530929c.html index 9024a24f2d..ae6b99d227 100644 --- a/docs/dir_ba94ecd487194410fd7c4b70c530929c.html +++ b/docs/dir_ba94ecd487194410fd7c4b70c530929c.html @@ -93,7 +93,7 @@ Files diff --git a/docs/dir_c6ada2450b25ab5438a4dba6c9b890af.html b/docs/dir_c6ada2450b25ab5438a4dba6c9b890af.html index b242f52641..f133eb49cb 100644 --- a/docs/dir_c6ada2450b25ab5438a4dba6c9b890af.html +++ b/docs/dir_c6ada2450b25ab5438a4dba6c9b890af.html @@ -259,7 +259,7 @@ Files diff --git a/docs/dir_d422163b96683743ed3963d4aac17747.html b/docs/dir_d422163b96683743ed3963d4aac17747.html index 675003788f..bc3f3c5cbb 100644 --- a/docs/dir_d422163b96683743ed3963d4aac17747.html +++ b/docs/dir_d422163b96683743ed3963d4aac17747.html @@ -143,7 +143,7 @@ Files diff --git a/docs/dir_ebd49ab0652c2e9158bbb57c55382729.html b/docs/dir_ebd49ab0652c2e9158bbb57c55382729.html index 3998fe1c53..e8ff4412f2 100644 --- a/docs/dir_ebd49ab0652c2e9158bbb57c55382729.html +++ b/docs/dir_ebd49ab0652c2e9158bbb57c55382729.html @@ -93,7 +93,7 @@ Files diff --git a/docs/dir_eeaeb49ac3913fcfb450d3ce9cc0141b.html b/docs/dir_eeaeb49ac3913fcfb450d3ce9cc0141b.html index bf4c2ae371..5930d685c1 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 041fdf0cc1..84ff4ce02b 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 d54534f9ed..2bd126df65 100644 --- a/docs/files.html +++ b/docs/files.html @@ -451,7 +451,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions.html b/docs/functions.html index 80388c5c99..f487760575 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -248,7 +248,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_b.html b/docs/functions_b.html index 9aae8539a5..de84d52d7b 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 47d10040bd..68baee1ba3 100644 --- a/docs/functions_c.html +++ b/docs/functions_c.html @@ -250,7 +250,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_d.html b/docs/functions_d.html index 9a923726a3..61beffd4fb 100644 --- a/docs/functions_d.html +++ b/docs/functions_d.html @@ -180,7 +180,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_e.html b/docs/functions_e.html index 6215207dc8..d7b99fdb4b 100644 --- a/docs/functions_e.html +++ b/docs/functions_e.html @@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_enum.html b/docs/functions_enum.html index 34b02f5d13..f11f04a90c 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 5155a34de0..52f351ea3c 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 0b6ddc788c..fbc23dc975 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 f492697330..dd0326fcc8 100644 --- a/docs/functions_func.html +++ b/docs/functions_func.html @@ -247,7 +247,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_b.html b/docs/functions_func_b.html index fea542326f..c9d01bce5f 100644 --- a/docs/functions_func_b.html +++ b/docs/functions_func_b.html @@ -236,7 +236,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_c.html b/docs/functions_func_c.html index 3d225df1c8..2588a84f88 100644 --- a/docs/functions_func_c.html +++ b/docs/functions_func_c.html @@ -243,7 +243,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_d.html b/docs/functions_func_d.html index ae27121f4b..c9799b5ccc 100644 --- a/docs/functions_func_d.html +++ b/docs/functions_func_d.html @@ -179,7 +179,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_e.html b/docs/functions_func_e.html index 4aa9e9431f..6620f5a52e 100644 --- a/docs/functions_func_e.html +++ b/docs/functions_func_e.html @@ -139,7 +139,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_f.html b/docs/functions_func_f.html index e72b2f1002..eb812d9ae6 100644 --- a/docs/functions_func_f.html +++ b/docs/functions_func_f.html @@ -192,7 +192,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_g.html b/docs/functions_func_g.html index 854d744666..bd30902a97 100644 --- a/docs/functions_func_g.html +++ b/docs/functions_func_g.html @@ -276,7 +276,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_h.html b/docs/functions_func_h.html index 6c2932fa79..4fdee6bebe 100644 --- a/docs/functions_func_h.html +++ b/docs/functions_func_h.html @@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_i.html b/docs/functions_func_i.html index 032c576821..146c52ace1 100644 --- a/docs/functions_func_i.html +++ b/docs/functions_func_i.html @@ -218,7 +218,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_l.html b/docs/functions_func_l.html index 86b00ae255..9a0818f2d5 100644 --- a/docs/functions_func_l.html +++ b/docs/functions_func_l.html @@ -134,7 +134,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_m.html b/docs/functions_func_m.html index 1e6855d7ec..edf8ac0f09 100644 --- a/docs/functions_func_m.html +++ b/docs/functions_func_m.html @@ -146,7 +146,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_n.html b/docs/functions_func_n.html index b50a992946..d081bb6c8e 100644 --- a/docs/functions_func_n.html +++ b/docs/functions_func_n.html @@ -171,7 +171,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_o.html b/docs/functions_func_o.html index 53ee47379d..9614eb361b 100644 --- a/docs/functions_func_o.html +++ b/docs/functions_func_o.html @@ -198,7 +198,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_p.html b/docs/functions_func_p.html index 125f84ad08..ed977a56b5 100644 --- a/docs/functions_func_p.html +++ b/docs/functions_func_p.html @@ -238,7 +238,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_r.html b/docs/functions_func_r.html index 7548000921..9fe37289e5 100644 --- a/docs/functions_func_r.html +++ b/docs/functions_func_r.html @@ -202,7 +202,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_s.html b/docs/functions_func_s.html index 4afacc9e82..12e0cf8507 100644 --- a/docs/functions_func_s.html +++ b/docs/functions_func_s.html @@ -291,7 +291,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_t.html b/docs/functions_func_t.html index 18f183677c..15414beed7 100644 --- a/docs/functions_func_t.html +++ b/docs/functions_func_t.html @@ -176,7 +176,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_u.html b/docs/functions_func_u.html index 0f39b5d9f1..22bd9b88bc 100644 --- a/docs/functions_func_u.html +++ b/docs/functions_func_u.html @@ -145,7 +145,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_v.html b/docs/functions_func_v.html index 981acc875c..d4784b66ae 100644 --- a/docs/functions_func_v.html +++ b/docs/functions_func_v.html @@ -139,7 +139,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_w.html b/docs/functions_func_w.html index 0e5d6202fb..54e211444b 100644 --- a/docs/functions_func_w.html +++ b/docs/functions_func_w.html @@ -181,7 +181,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_x.html b/docs/functions_func_x.html index 1613955a42..db9549504e 100644 --- a/docs/functions_func_x.html +++ b/docs/functions_func_x.html @@ -128,7 +128,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_~.html b/docs/functions_func_~.html index 7a43a32fe4..5135190f1f 100644 --- a/docs/functions_func_~.html +++ b/docs/functions_func_~.html @@ -131,7 +131,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_g.html b/docs/functions_g.html index 25b005beeb..f55e675356 100644 --- a/docs/functions_g.html +++ b/docs/functions_g.html @@ -277,7 +277,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_h.html b/docs/functions_h.html index e9e916e39a..78d9133c91 100644 --- a/docs/functions_h.html +++ b/docs/functions_h.html @@ -163,7 +163,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_i.html b/docs/functions_i.html index 26dbe0a96a..496cba5485 100644 --- a/docs/functions_i.html +++ b/docs/functions_i.html @@ -222,7 +222,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_k.html b/docs/functions_k.html index 003ffc7474..482308fb8e 100644 --- a/docs/functions_k.html +++ b/docs/functions_k.html @@ -147,7 +147,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_l.html b/docs/functions_l.html index 33931f834a..6c3149d826 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 415983ea0d..867c55399c 100644 --- a/docs/functions_m.html +++ b/docs/functions_m.html @@ -159,7 +159,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_n.html b/docs/functions_n.html index 4af712041a..995abad5d4 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 b47ee388bd..6c6147ba45 100644 --- a/docs/functions_o.html +++ b/docs/functions_o.html @@ -202,7 +202,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_p.html b/docs/functions_p.html index f40a3c0cac..d35b067fa3 100644 --- a/docs/functions_p.html +++ b/docs/functions_p.html @@ -248,7 +248,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_r.html b/docs/functions_r.html index c6ccd53232..7ab0b62066 100644 --- a/docs/functions_r.html +++ b/docs/functions_r.html @@ -203,7 +203,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_s.html b/docs/functions_s.html index a784ae347f..3b7c234b35 100644 --- a/docs/functions_s.html +++ b/docs/functions_s.html @@ -310,7 +310,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_t.html b/docs/functions_t.html index 0c6aeec4c9..39e769e135 100644 --- a/docs/functions_t.html +++ b/docs/functions_t.html @@ -183,7 +183,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_type.html b/docs/functions_type.html index def6e93a41..66ade1f642 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 d0bc9ba0d7..b9970427e4 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 66f30444a9..67797bc4ae 100644 --- a/docs/functions_v.html +++ b/docs/functions_v.html @@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_vars.html b/docs/functions_vars.html index 3903ca8497..abb71ee98f 100644 --- a/docs/functions_vars.html +++ b/docs/functions_vars.html @@ -163,7 +163,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_w.html b/docs/functions_w.html index d8bdd46e8e..b498ca6090 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 ce069841d9..1521e2e21d 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 958aacdd85..662791590c 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 21cb1e5822..7ec809e269 100644 --- a/docs/hierarchy.html +++ b/docs/hierarchy.html @@ -380,7 +380,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/index.html b/docs/index.html index d2bf0bb0f7..03330fdd16 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 14612d0b11..60fe95b1a1 100644 --- a/docs/namespacemembers.html +++ b/docs/namespacemembers.html @@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/namespacemembers_func.html b/docs/namespacemembers_func.html index 356b7da3b9..9cb0aa49c6 100644 --- a/docs/namespacemembers_func.html +++ b/docs/namespacemembers_func.html @@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/namespaces.html b/docs/namespaces.html index bb87213ee4..0272833869 100644 --- a/docs/namespaces.html +++ b/docs/namespaces.html @@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');