From 3630e83bad29c1f722d0636214ce5145b8802abb Mon Sep 17 00:00:00 2001 From: Widevine Buildbot Date: Fri, 18 Aug 2017 21:09:40 +0000 Subject: [PATCH] Generate SDK documents for commit 556ff56559633086b783eff514485ac34ffbefec --- docs/annotated.html | 210 +- docs/classes.html | 138 +- ...ia_1_1mp4_1_1HandlerReference-members.html | 2 +- ..._1_1media_1_1RsaRequestSigner-members.html | 2 +- docs/d0/d06/mpd__flags_8cc_source.html | 2 +- ...ka_1_1media_1_1HttpKeyFetcher-members.html | 2 +- ...oder__configuration__record_8h_source.html | 2 +- docs/d0/d0e/muxer__options_8h_source.html | 68 +- ...media_1_1mp2t_1_1TsSectionPmt-members.html | 2 +- .../structshaka_1_1media_1_1VPxFrameInfo.html | 2 +- ...aka_1_1RawKeyDecryptionParams-members.html | 2 +- ...tshaka_1_1media_1_1StreamData-members.html | 2 +- docs/d0/d1a/text__sample_8h_source.html | 2 +- ...H265ByteToUnitStreamConverter-members.html | 2 +- ..._1_1media_1_1mp4_1_1VTTCueBox-members.html | 2 +- ...haka_1_1media_1_1mp2t_1_1TsSectionPat.html | 2 +- .../structshaka_1_1media_1_1MuxerOptions.html | 51 +- .../d0/d30/mock__mpd__notifier_8h_source.html | 4 +- docs/d0/d32/mp2t__common_8h_source.html | 2 +- .../d33/classshaka_1_1MockRepresentation.html | 2 +- docs/d0/d35/es__descriptor_8cc_source.html | 2 +- ...1_1EncryptedStreamAttributes_1_1OneOf.html | 2 +- ...s__notify__muxer__listener_8cc_source.html | 4 +- docs/d0/d3a/webm__constants_8h_source.html | 2 +- ...mp4_1_1ProtectionSystemSpecificHeader.html | 2 +- docs/d0/d42/aes__cryptor_8h_source.html | 2 +- ...idevine__encryption__flags_8cc_source.html | 2 +- .../d43/structshaka_1_1Mp4OutputParams.html | 176 ++ docs/d0/d46/fourccs_8h_source.html | 2 +- ...shaka_1_1media_1_1SegmentInfo-members.html | 2 +- ...nfo__dump__muxer__listener_8cc_source.html | 6 +- ...ia_1_1mp4_1_1MediaInformation-members.html | 2 +- .../structshaka_1_1media_1_1StreamData.html | 2 +- ...haka_1_1media_1_1AudioTimestampHelper.html | 2 +- .../d4e/libcrypto__threading_8cc_source.html | 2 +- ...a_1_1media_1_1mp2t_1_1TsMuxer-members.html | 2 +- ...dia_1_1MpdNotifyMuxerListener-members.html | 2 +- ...structshaka_1_1RawKeyEncryptionParams.html | 2 +- ...a_1_1media_1_1mp4_1_1VideoSampleEntry.html | 2 +- ...haka_1_1media_1_1mp4_1_1SampleToGroup.html | 2 +- docs/d0/d7d/decryptor__source_8h_source.html | 2 +- ...a_1_1media_1_1AesCbcEncryptor-members.html | 2 +- .../structshaka_1_1media_1_1mp4_1_1Movie.html | 2 +- ...ka_1_1media_1_1AACAudioSpecificConfig.html | 2 +- ...aka_1_1media_1_1RequestSigner-members.html | 2 +- ...uctshaka_1_1xml_1_1XmlDeleter-members.html | 2 +- .../d0/da6/stream__descriptor_8cc_source.html | 2 +- ...edia_1_1mp4_1_1SingleSegmentSegmenter.html | 4 +- ...1_1media_1_1EncryptionHandler-members.html | 2 +- ...classshaka_1_1media_1_1FixedKeySource.html | 2 +- ...webm_1_1MultiSegmentSegmenter-members.html | 2 +- .../structshaka_1_1media_1_1SegmentInfo.html | 2 +- ...edia_1_1mp4_1_1VTTEmptyCueBox-members.html | 2 +- ..._1xml_1_1AdaptationSetXmlNode-members.html | 2 +- .../classshaka_1_1media_1_1RsaPrivateKey.html | 2 +- ...aka_1_1media_1_1mp4_1_1CueSettingsBox.html | 2 +- ...media_1_1ProtectionSystemSpecificInfo.html | 2 +- .../dd6/webm__crypto__helpers_8cc_source.html | 2 +- ...lassshaka_1_1media_1_1AesCtrEncryptor.html | 2 +- .../dee/segmenter__test__base_8h_source.html | 4 +- docs/d0/df3/packager__util_8cc_source.html | 112 +- ...ia_1_1mp4_1_1AudioSampleEntry-members.html | 2 +- ...media_1_1MuxerListener_1_1MediaRanges.html | 2 +- .../d0a/classshaka_1_1media_1_1MkvWriter.html | 2 +- .../d0a/structshaka_1_1media_1_1H264Sps.html | 2 +- ...der__configuration__record_8cc_source.html | 2 +- ...media_1_1mp2t_1_1EsParserH264-members.html | 2 +- docs/d1/d12/range_8h_source.html | 2 +- ...a_1_1WidevineDecryptionParams-members.html | 2 +- ...single__segment__segmenter_8cc_source.html | 2 +- docs/d1/d1d/muxer__flags_8cc_source.html | 2 +- .../d1f/classshaka_1_1media_1_1KeySource.html | 2 +- ...1media_1_1mp4_1_1DecodingTimeIterator.html | 2 +- ...media_1_1MediaHandlerTestBase-members.html | 2 +- docs/d1/d27/key__fetcher_8h_source.html | 2 +- ..._1media_1_1mp2t_1_1AdtsHeader-members.html | 2 +- docs/d1/d2a/decryptor__source_8cc_source.html | 2 +- ...media_1_1mp4_1_1DataReference-members.html | 2 +- .../structshaka_1_1media_1_1mp4_1_1Box.html | 2 +- .../d2f/webvtt__media__parser_8cc_source.html | 2 +- ...haka_1_1media_1_1mp2t_1_1TsSectionPes.html | 2 +- docs/d1/d31/classshaka_1_1xml_1_1XmlNode.html | 2 +- ...tructshaka_1_1media_1_1SubsampleEntry.html | 2 +- ...assshaka_1_1media_1_1FakeMediaHandler.html | 2 +- docs/d1/d37/es__parser__h264_8h_source.html | 2 +- .../d3b/mpd__generator__flags_8h_source.html | 2 +- ...shaka_1_1media_1_1mp4_1_1MovieExtends.html | 2 +- .../d40/classshaka_1_1MpdWriter-members.html | 2 +- .../decoding__time__iterator_8cc_source.html | 2 +- .../d1/d48/text__track__config_8h_source.html | 2 +- ...a_1_1media_1_1OffsetByteQueue-members.html | 2 +- .../d4f/structshaka_1_1DecryptionParams.html | 2 +- ...aka_1_1media_1_1EncryptionKey-members.html | 2 +- ..._1media_1_1mp4_1_1TrackFragmentHeader.html | 2 +- docs/d1/d70/vp8__parser_8cc_source.html | 2 +- docs/d1/d72/language__utils_8cc_source.html | 2 +- .../d74/mp2t__media__parser_8cc_source.html | 2 +- ..._1media_1_1H265VideoSliceHeaderParser.html | 2 +- .../d7d/webm__video__client_8cc_source.html | 2 +- ...ia_1_1H265ReferencePictureSet-members.html | 2 +- docs/d1/d82/adts__constants_8h_source.html | 2 +- ..._1_1media_1_1WebMParserClient-members.html | 2 +- .../d8e/webm__audio__client_8cc_source.html | 2 +- docs/d1/d8f/retired__flags_8h_source.html | 2 +- ...aka_1_1media_1_1H26xBitReader-members.html | 2 +- ...a_1_1WidevineEncryptionParams-members.html | 2 +- ...ssshaka_1_1media_1_1ByteQueue-members.html | 2 +- docs/d1/d9d/tracks__builder_8h_source.html | 2 +- ..._1_1mp4_1_1CodecConfiguration-members.html | 2 +- ...assshaka_1_1media_1_1mp4_1_1BoxBuffer.html | 2 +- ...ia_1_1wvm_1_1DemuxStreamIdMediaSample.html | 2 +- ...1NalUnitToByteStreamConverter-members.html | 2 +- ..._1media_1_1VPCodecConfigurationRecord.html | 2 +- ...lassshaka_1_1media_1_1Demuxer-members.html | 2 +- ...a_1_1media_1_1mp4_1_1VideoMediaHeader.html | 2 +- ...oder__configuration__record_8h_source.html | 2 +- ..._1media_1_1PlayReadyKeySource-members.html | 2 +- docs/d1/dc2/h26x__bit__reader_8h_source.html | 2 +- .../dd5/classshaka_1_1media_1_1Cluster.html | 2 +- ...dia_1_1mp4_1_1DataInformation-members.html | 2 +- ..._1_1media_1_1EncryptionConfig-members.html | 2 +- ...a_1_1media_1_1VideoStreamInfo-members.html | 2 +- ...position__offset__iterator_8cc_source.html | 2 +- ...sshaka_1_1media_1_1KeyFetcher-members.html | 2 +- ...sshaka_1_1xml_1_1AdaptationSetXmlNode.html | 2 +- ...rencePictureListModifications-members.html | 2 +- ..._1_1media_1_1ProgressListener-members.html | 2 +- ...assshaka_1_1media_1_1mp4_1_1BoxReader.html | 2 +- ...tshaka_1_1media_1_1mp4_1_1SampleTable.html | 2 +- docs/d1/df0/aes__encryptor_8h_source.html | 2 +- docs/d1/df3/structshaka_1_1MpdOptions.html | 22 +- docs/d1/df5/nalu__reader_8cc_source.html | 2 +- ...ia_1_1mp4_1_1VideoMediaHeader-members.html | 2 +- docs/d2/d02/timestamp_8h_source.html | 2 +- ...assshaka_1_1media_1_1SeekHead-members.html | 2 +- .../d0f/classshaka_1_1MpdBuilder-members.html | 2 +- ...aka_1_1media_1_1wvm_1_1PrevSampleData.html | 2 +- ...aka_1_1media_1_1MuxerListener-members.html | 2 +- docs/d2/d17/ts__section__pat_8cc_source.html | 2 +- .../d1f/structshaka_1_1ChunkingParams.html} | 62 +- docs/d2/d24/packager__util_8h_source.html | 71 +- docs/d2/d30/tracks__builder_8cc_source.html | 2 +- ...ideo__slice__header__parser_8h_source.html | 2 +- ...1_1media_1_1WidevineKeySource-members.html | 2 +- ...1_1mp4_1_1TrackFragmentHeader-members.html | 2 +- ...rogram__map__table__writer_8cc_source.html | 2 +- ...o__byte__stream__converter_8cc_source.html | 2 +- .../d4f/structshaka_1_1Element-members.html | 2 +- ...classshaka_1_1MockMpdNotifier-members.html | 2 +- ...ructshaka_1_1media_1_1H264SliceHeader.html | 2 +- ...ssshaka_1_1media_1_1KeySource-members.html | 2 +- ...assshaka_1_1SimpleMpdNotifier-members.html | 4 +- ...a_1_1H264ModificationOfPicNum-members.html | 2 +- .../d62/simple__mpd__notifier_8h_source.html | 118 +- ...haka_1_1media_1_1mp4_1_1Movie-members.html | 2 +- ...sshaka_1_1media_1_1AesCryptor-members.html | 2 +- docs/d2/d6f/classBandwidthEstimator.html | 2 +- ...ctshaka_1_1media_1_1mp4_1_1SchemeInfo.html | 2 +- ...ssshaka_1_1DashIopMpdNotifier-members.html | 4 +- .../d7b/simple__mpd__notifier_8cc_source.html | 240 ++- ...ac__audio__specific__config_8h_source.html | 2 +- ...haka_1_1media_1_1mp4_1_1CuePayloadBox.html | 2 +- ...ls__notify__muxer__listener_8h_source.html | 4 +- ...media_1_1mp4_1_1CuePayloadBox-members.html | 2 +- docs/d2/d92/box__reader_8h_source.html | 2 +- ...ssshaka_1_1media_1_1mp2t_1_1PesPacket.html | 2 +- ..._1_1media_1_1TrickPlayHandler-members.html | 2 +- docs/d2/da8/mp4_2segmenter_8cc_source.html | 9 +- ...haka_1_1media_1_1BufferWriter-members.html | 2 +- ...assshaka_1_1MockAdaptationSet-members.html | 2 +- docs/d2/dae/webm__muxer_8cc_source.html | 6 +- ...media_1_1mp4_1_1SampleToGroup-members.html | 2 +- ...a_1_1media_1_1mp4_1_1FileType-members.html | 2 +- ...edia_1_1mp4_1_1CueSourceIDBox-members.html | 2 +- ...lassshaka_1_1media_1_1SegmentTestBase.html | 2 +- ...haka_1_1media_1_1mp4_1_1Track-members.html | 2 +- ...media__handler__test__base_8cc_source.html | 2 +- .../structshaka_1_1MpdOptions-members.html | 8 +- ...program__map__table__writer_8h_source.html | 2 +- ...a_1_1media_1_1mp4_1_1EditList-members.html | 2 +- ...structshaka_1_1WidevineSigner-members.html | 2 +- ...edia_1_1webm_1_1MultiSegmentSegmenter.html | 2 +- docs/d2/dd6/mkv__writer_8h_source.html | 2 +- ...a_1_1media_1_1ChunkingHandler-members.html | 4 +- ...lassshaka_1_1media_1_1WebMMediaParser.html | 2 +- docs/d2/de1/webvtt__timestamp_8h_source.html | 2 +- ...haka_1_1media_1_1mp2t_1_1TsSectionPmt.html | 2 +- docs/d2/de6/packager__main_8cc_source.html | 2 +- ...ka_1_1media_1_1TextStreamInfo-members.html | 2 +- ...shaka_1_1media_1_1mp4_1_1Edit-members.html | 2 +- docs/d2/de9/media__handler_8cc_source.html | 2 +- .../de9/mock__muxer__listener_8h_source.html | 4 +- docs/d2/deb/es__parser_8h_source.html | 2 +- ...media_1_1mp2t_1_1TsSectionPes-members.html | 2 +- .../pes__packet__generator_8cc_source.html | 2 +- ...a_1_1SegmentTestBase_1_1ClusterParser.html | 2 +- ...ssshaka_1_1media_1_1MkvWriter-members.html | 2 +- docs/d2/dfd/adts__header_8h_source.html | 2 +- ..._1_1media_1_1mp4_1_1BoxReader-members.html | 2 +- docs/d3/d07/mpd__params_8h_source.html | 138 ++ ..._1_1mp4_1_1SyncSampleIterator-members.html | 2 +- .../classshaka_1_1media_1_1MediaParser.html | 2 +- ...sshaka_1_1media_1_1mp2t_1_1AdtsHeader.html | 2 +- ..._1media_1_1LibcryptoThreading-members.html | 2 +- ...media_1_1mp2t_1_1TsSectionPat-members.html | 2 +- ...deo__slice__header__parser_8cc_source.html | 2 +- ...uctshaka_1_1media_1_1mp4_1_1PrivFrame.html | 2 +- ...sshaka_1_1media_1_1LibcryptoThreading.html | 2 +- docs/d3/d56/decrypt__config_8cc_source.html | 2 +- .../d3/d62/continuity__counter_8h_source.html | 2 +- docs/d3/d62/rcheck_8h_source.html | 2 +- ...1media_1_1mp4_1_1DataEntryUrl-members.html | 2 +- ...lassshaka_1_1media_1_1WebMVideoClient.html | 2 +- .../d3/d6b/fixed__key__source_8cc_source.html | 2 +- ...lassshaka_1_1media_1_1mp2t_1_1TsMuxer.html | 2 +- docs/d3/d72/fixed__key__source_8h_source.html | 2 +- ...ssshaka_1_1media_1_1webm_1_1WebMMuxer.html | 2 +- .../classshaka_1_1media_1_1AesEncryptor.html | 2 +- ...a_1_1mp4_1_1ChunkInfoIterator-members.html | 2 +- docs/d3/d76/muxer__flags_8h_source.html | 2 +- ...dia_1_1mp4_1_1TextSampleEntry-members.html | 2 +- ...haka_1_1media_1_1RsaPublicKey-members.html | 2 +- ...lassshaka_1_1media_1_1WebMAudioClient.html | 2 +- docs/d3/d80/muxer__util_8h_source.html | 2 +- ...haka_1_1media_1_1mp4_1_1SampleToChunk.html | 2 +- .../d87/trick__play__handler_8cc_source.html | 2 +- .../d3/d8d/webm__audio__client_8h_source.html | 2 +- docs/d3/d90/ec3__audio__util_8cc_source.html | 2 +- .../classshaka_1_1media_1_1H264Parser.html | 2 +- docs/d3/d93/media__handler_8h_source.html | 2 +- .../d9c/encryption__handler_8cc_source.html | 2 +- docs/d3/da0/ec3__audio__util_8h_source.html | 2 +- ...dia_1_1webm_1_1SingleSegmentSegmenter.html | 2 +- ...ctshaka_1_1media_1_1mp4_1_1SchemeType.html | 2 +- .../structshaka_1_1media_1_1mp4_1_1ID3v2.html | 2 +- ..._1_1media_1_1WebMWebVTTParser-members.html | 2 +- .../structshaka_1_1media_1_1mp4_1_1Track.html | 2 +- docs/d3/db6/webm__parser_8cc_source.html | 2 +- docs/d3/dbc/seek__head_8cc_source.html | 2 +- docs/d3/dbe/demuxer_8cc_source.html | 2 +- ...ructshaka_1_1media_1_1mp4_1_1EditList.html | 2 +- ...ructshaka_1_1DecryptionParams-members.html | 2 +- ...a_1_1media_1_1mp2t_1_1Mp2tMediaParser.html | 2 +- docs/d3/dd0/classshaka_1_1MpdNotifier.html | 2 +- ...tshaka_1_1media_1_1mp4_1_1SegmentType.html | 2 +- docs/d3/de4/seek__head_8h_source.html | 2 +- ..._1_1media_1_1mp4_1_1BoxBuffer-members.html | 2 +- ...mp4_1_1SampleGroupDescription-members.html | 2 +- docs/d3/df1/box__reader_8cc_source.html | 2 +- ...uctshaka_1_1PlayreadyEncryptionParams.html | 2 +- ...ssshaka_1_1media_1_1AesPatternCryptor.html | 2 +- ...2multi__segment__segmenter_8cc_source.html | 10 +- ...edia_1_1mp4_1_1MP4MediaParser-members.html | 2 +- .../d0b/classshaka_1_1media_1_1TextTrack.html | 2 +- ...1_1media_1_1WebVttMediaParser-members.html | 2 +- .../d4/d15/gflags__hex__bytes_8cc_source.html | 2 +- ...haka_1_1media_1_1mp4_1_1EditListEntry.html | 2 +- ...lassshaka_1_1media_1_1AesCbcEncryptor.html | 2 +- ...ia_1_1mp4_1_1ChunkLargeOffset-members.html | 2 +- ...haka_1_1media_1_1mp4_1_1ID3v2-members.html | 2 +- ...1media_1_1mp4_1_1WebVTTSourceLabelBox.html | 2 +- ...ructshaka_1_1media_1_1H264Sps-members.html | 2 +- ...lassshaka_1_1media_1_1ChunkingHandler.html | 12 +- ...pleAuxiliaryInformationOffset-members.html | 2 +- ...haka_1_1media_1_1H264WeightingFactors.html | 2 +- .../classshaka_1_1media_1_1Nalu-members.html | 2 +- ...assshaka_1_1media_1_1WebMWebVTTParser.html | 2 +- ...aka_1_1media_1_1DecryptConfig-members.html | 2 +- .../d70/classshaka_1_1DashIopMpdNotifier.html | 22 +- .../structshaka_1_1SegmentInfo-members.html | 2 +- docs/d4/d83/cue_8cc_source.html | 2 +- docs/d4/d87/nalu__reader_8h_source.html | 2 +- docs/d4/d87/text__sample_8cc_source.html | 2 +- ...dia_1_1HEVCDecoderConfigurationRecord.html | 2 +- ...tshaka_1_1media_1_1mp4_1_1EC3Specific.html | 2 +- ...haka_1_1media_1_1MediaHandlerTestBase.html | 2 +- ...sshaka_1_1media_1_1PlayReadyKeySource.html | 2 +- .../da7/segmenter__test__base_8cc_source.html | 8 +- ...a_1_1media_1_1mp4_1_1SampleEncryption.html | 2 +- ...a_1_1mp4_1_1CompactSampleSize-members.html | 2 +- docs/d4/db2/cluster__builder_8h_source.html | 2 +- .../db4/classshaka_1_1MpdNotifierFactory.html | 8 +- ...tshaka_1_1media_1_1mp4_1_1MediaHeader.html | 2 +- ...a_1_1mp2t_1_1AacProgramMapTableWriter.html | 2 +- docs/d4/dd3/bit__reader_8h_source.html | 2 +- ...ka_1_1media_1_1mp4_1_1FullBox-members.html | 2 +- docs/d4/dde/webvtt__util_8h_source.html | 2 +- ...haka_1_1media_1_1mp4_1_1DataReference.html | 2 +- ...assshaka_1_1media_1_1ProgressListener.html | 2 +- ...VodMediaInfoDumpMuxerListener-members.html | 2 +- docs/d4/dec/hls__flags_8h_source.html | 2 +- docs/d4/df5/request__signer_8cc_source.html | 2 +- .../webvtt__sample__converter_8cc_source.html | 2 +- ...shaka_1_1media_1_1mp4_1_1SegmentIndex.html | 2 +- ...tshaka_1_1media_1_1mp4_1_1AC3Specific.html | 2 +- .../dfd/structshaka_1_1media_1_1H265Sps.html | 2 +- .../dff/webm__media__parser_8cc_source.html | 2 +- ...ructshaka_1_1media_1_1mp4_1_1FileType.html | 2 +- ...aka_1_1media_1_1mp4_1_1OriginalFormat.html | 2 +- ...ructshaka_1_1media_1_1mp4_1_1CueIDBox.html | 2 +- ..._1_1EncryptedStreamAttributes-members.html | 2 +- ...ka_1_1media_1_1WebMInfoParser-members.html | 2 +- ..._1_1mp4_1_1ElementaryStreamDescriptor.html | 2 +- .../classshaka_1_1media_1_1ESDescriptor.html | 2 +- .../producer__consumer__queue_8h_source.html | 2 +- docs/d5/d1a/ts__section_8h_source.html | 2 +- ...ia_1_1mp4_1_1TrackRunIterator-members.html | 2 +- docs/d5/d27/key__fetcher_8cc_source.html | 2 +- ...aka_1_1media_1_1ProducerConsumerQueue.html | 2 +- ...haka_1_1media_1_1mp4_1_1Media-members.html | 2 +- ...2single__segment__segmenter_8h_source.html | 4 +- ...media_1_1mp2t_1_1TsSectionPsi-members.html | 2 +- docs/d5/d4d/box_8cc_source.html | 2 +- docs/d5/d52/ts__section__pes_8h_source.html | 2 +- ...ampleAuxiliaryInformationSize-members.html | 2 +- ...esentationStateChangeListener-members.html | 2 +- ...ssshaka_1_1MockRepresentation-members.html | 2 +- docs/d5/d5a/webvtt__timestamp_8cc_source.html | 2 +- .../d5c/continuity__counter_8cc_source.html | 2 +- ...haka_1_1media_1_1mp2t_1_1EsParserH265.html | 2 +- docs/d5/d63/network__util_8cc_source.html | 2 +- ...media_1_1NalUnitToByteStreamConverter.html | 2 +- docs/d5/d6f/vlog__flags_8cc_source.html | 2 +- ...der__configuration__record_8cc_source.html | 2 +- docs/d5/d7b/box__definitions_8h_source.html | 2 +- ...a_1_1media_1_1mp4_1_1MediaInformation.html | 2 +- .../d89/widevine__key__source_8cc_source.html | 2 +- ..._1_1media_1_1mp4_1_1CompositionOffset.html | 2 +- .../d8f/webm__cluster__parser_8cc_source.html | 2 +- docs/d5/d91/es__parser__adts_8cc_source.html | 2 +- ...media_1_1mp4_1_1EditListEntry-members.html | 2 +- docs/d5/d98/encryptor_8cc_source.html | 2 +- ...odec__configuration__record_8h_source.html | 2 +- ...H265ReferencePictureListModifications.html | 2 +- docs/d5/da4/aes__encryptor_8cc_source.html | 2 +- ...a_1_1media_1_1H265ReferencePictureSet.html | 2 +- .../classshaka_1_1media_1_1StreamInfo.html | 2 +- ...haka_1_1media_1_1mp2t_1_1EsParserH264.html | 2 +- docs/d5/dba/ts__packet_8cc_source.html | 2 +- .../dc1/webm__webvtt__parser_8cc_source.html | 2 +- ...media_1_1mp4_1_1TrackFragment-members.html | 2 +- ...4_1_1SampleAuxiliaryInformationOffset.html | 2 +- docs/d5/dcf/rsa__key_8h_source.html | 2 +- docs/d5/dda/ts__section__psi_8h_source.html | 2 +- docs/d5/de0/bit__reader_8cc_source.html | 2 +- ..._1media_1_1mp2t_1_1PesPacketGenerator.html | 2 +- ...assshaka_1_1media_1_1WebMParserClient.html | 2 +- ...der__configuration__record_8cc_source.html | 2 +- ...mp4_1_1WebVTTConfigurationBox-members.html | 2 +- docs/d5/def/ts__section__pmt_8h_source.html | 2 +- ...ka_1_1media_1_1HlsNotifyMuxerListener.html | 2 +- ...shaka_1_1media_1_1MediaParser-members.html | 2 +- ...ady__key__encryption__flags_8h_source.html | 2 +- ...a_1_1media_1_1AesCbcDecryptor-members.html | 2 +- .../d09/aes__pattern__cryptor_8h_source.html | 2 +- .../d6/d16/text__stream__info_8cc_source.html | 2 +- docs/d6/d17/es__parser__h264_8cc_source.html | 2 +- ...tshaka_1_1media_1_1mp4_1_1MovieHeader.html | 2 +- .../ts__packet__writer__util_8cc_source.html | 2 +- ...1_1media_1_1VideoStreamInfoParameters.html | 2 +- .../d2e/mpd__notifier__util_8cc_source.html | 2 +- ...ssshaka_1_1media_1_1TextTrack-members.html | 2 +- .../webm__content__encodings_8cc_source.html | 2 +- .../d3b/chunk__info__iterator_8cc_source.html | 2 +- ...ssshaka_1_1media_1_1EncryptionHandler.html | 2 +- ...2multi__segment__segmenter_8cc_source.html | 2 +- docs/d6/d55/aes__cryptor_8cc_source.html | 2 +- ...edia_1_1AVCDecoderConfigurationRecord.html | 2 +- ...ion__system__specific__info_8h_source.html | 2 +- ...1_1VPCodecConfigurationRecord-members.html | 2 +- docs/d6/d6a/cue_8h_source.html | 2 +- docs/d6/d6c/h26x__bit__reader_8cc_source.html | 2 +- docs/d6/d6e/ts__section__pes_8cc_source.html | 2 +- docs/d6/d71/scoped__xml__ptr_8h_source.html | 2 +- .../dash__iop__mpd__notifier_8h_source.html | 214 +- ...1media_1_1mp4_1_1VTTAdditionalTextBox.html | 2 +- .../d7b/webm__tracks__parser_8h_source.html | 2 +- ..._1media_1_1mp4_1_1AC3Specific-members.html | 2 +- .../d86/bandwidth__estimator_8cc_source.html | 2 +- ..._1_1media_1_1FakeMediaHandler-members.html | 2 +- docs/d6/d8a/vp9__parser_8cc_source.html | 2 +- ..._1_1RepresentationBaseXmlNode-members.html | 2 +- docs/d6/d9b/h264__parser_8h_source.html | 2 +- docs/d6/d9f/hls__flags_8cc_source.html | 2 +- docs/d6/da0/ts__section__pat_8h_source.html | 2 +- docs/d6/da3/mpd__builder_8h_source.html | 44 +- ...AVCDecoderConfigurationRecord-members.html | 2 +- ...iceHeader_1_1LongTermPicsInfo-members.html | 2 +- .../da9/classshaka_1_1media_1_1BitReader.html | 2 +- ...uctshaka_1_1media_1_1mp4_1_1VTTCueBox.html | 2 +- ...lassshaka_1_1media_1_1VideoStreamInfo.html | 2 +- ..._1_1VideoStreamInfoParameters-members.html | 2 +- .../d6/dbe/mp4__output__params_8h_source.html | 127 ++ ...sParserH26x_1_1VideoSliceInfo-members.html | 2 +- ...media_1_1mp2t_1_1EsParserH26x-members.html | 2 +- docs/d6/dc8/mkv__writer_8cc_source.html | 2 +- ...media_1_1mp4_1_1SampleEncryptionEntry.html | 2 +- ...ssshaka_1_1media_1_1VP9Parser-members.html | 2 +- ...ia_1_1mp4_1_1SegmentReference-members.html | 2 +- ...haka_1_1media_1_1mp2t_1_1EsParserAdts.html | 2 +- ...tructshaka_1_1media_1_1H264SEIMessage.html | 2 +- ...tructshaka_1_1Mp4OutputParams-members.html | 109 + ...1_1media_1_1H265VuiParameters-members.html | 2 +- ...1_1media_1_1mp4_1_1CueTimeBox-members.html | 2 +- ...haka_1_1media_1_1VPxFrameInfo-members.html | 2 +- docs/d6/de8/network__util_8h_source.html | 2 +- docs/d6/de9/ts__segmenter_8cc_source.html | 8 +- docs/d6/ded/ts__packet_8h_source.html | 2 +- .../sync__sample__iterator_8cc_source.html | 2 +- docs/d6/dff/classshaka_1_1media_1_1Nalu.html | 2 +- ...edia_1_1mp4_1_1SampleGroupDescription.html | 2 +- ...a_1_1media_1_1mp4_1_1SoundMediaHeader.html | 2 +- ...xer__listener__test__helper_8h_source.html | 6 +- docs/d7/d12/media__parser_8h_source.html | 2 +- docs/d7/d15/mpd__notifier_8h_source.html | 4 +- ...ia_1_1mp4_1_1VideoSampleEntry-members.html | 2 +- .../d22/libcrypto__threading_8h_source.html | 2 +- ...1_1media_1_1mp4_1_1SyncSampleIterator.html | 2 +- ...ructshaka_1_1media_1_1H265Sps-members.html | 2 +- ...p4_1_1CompositionTimeToSample-members.html | 2 +- ...uctshaka_1_1media_1_1EncryptionConfig.html | 2 +- ...a_1_1media_1_1ContentEncoding-members.html | 2 +- ...on__system__specific__info_8cc_source.html | 2 +- ...ctshaka_1_1media_1_1mp4_1_1SampleSize.html | 2 +- ...ia_1_1mp4_1_1SampleEncryption-members.html | 2 +- ...ka_1_1media_1_1WebMListParser-members.html | 2 +- ...H26xByteToUnitStreamConverter-members.html | 2 +- .../structshaka_1_1media_1_1PeriodInfo.html | 2 +- ...lassshaka_1_1media_1_1DecryptorSource.html | 2 +- .../classshaka_1_1media_1_1MediaSample.html | 2 +- ...onParams_1_1EncryptedStreamAttributes.html | 2 +- ..._1media_1_1mp4_1_1MediaHeader-members.html | 2 +- ...ka_1_1media_1_1H264SEIMessage-members.html | 2 +- docs/d7/d79/chunking__handler_8h_source.html | 145 +- docs/d7/d7c/vlog__flags_8h_source.html | 2 +- .../d7/d87/video__stream__info_8h_source.html | 2 +- ..._1H265SliceHeader_1_1LongTermPicsInfo.html | 2 +- docs/d7/d9d/progress__listener_8h_source.html | 2 +- .../da4/track__run__iterator_8h_source.html | 2 +- ...uctshaka_1_1media_1_1mp4_1_1MediaData.html | 2 +- docs/d7/db0/mpd__writer_8h_source.html | 110 +- ...media_1_1mp4_1_1SampleToChunk-members.html | 2 +- ...ka_1_1media_1_1mp4_1_1TextSampleEntry.html | 2 +- docs/d7/dc6/byte__queue_8h_source.html | 2 +- .../d7/dd0/mpd__notifier__util_8h_source.html | 2 +- docs/d7/dd4/request__signer_8h_source.html | 2 +- ...aka_1_1media_1_1mp4_1_1MP4MediaParser.html | 2 +- docs/d7/dd6/key__source_8cc_source.html | 2 +- .../dda/classshaka_1_1media_1_1ByteQueue.html | 2 +- ...assshaka_1_1media_1_1RsaRequestSigner.html | 2 +- ...classshaka_1_1media_1_1HttpKeyFetcher.html | 2 +- ...1_1media_1_1mp4_1_1SampleToGroupEntry.html | 2 +- ...to__unit__stream__converter_8h_source.html | 2 +- docs/d7/dee/mpd__generator_8cc_source.html | 2 +- .../d7/def/mp4__media__parser_8cc_source.html | 2 +- docs/d7/df9/byte__queue_8cc_source.html | 2 +- ..._1_1PlayreadyEncryptionParams-members.html | 2 +- ...edia_1_1H264ByteToUnitStreamConverter.html | 2 +- ...1_1media_1_1WebMClusterParser-members.html | 2 +- ..._1_1media_1_1mp2t_1_1TsWriter-members.html | 2 +- ..._1media_1_1mp4_1_1MovieHeader-members.html | 2 +- docs/d8/d0d/media__sample_8cc_source.html | 2 +- ...shaka_1_1media_1_1mp4_1_1DecodingTime.html | 2 +- ..._1_1media_1_1mp4_1_1PrivFrame-members.html | 2 +- ...ssshaka_1_1media_1_1BitReader-members.html | 2 +- .../d14/classshaka_1_1media_1_1VP8Parser.html | 2 +- ...haka_1_1media_1_1MuxerOptions-members.html | 8 +- .../d19/bandwidth__estimator_8h_source.html | 2 +- docs/d8/d1c/crypto__flags_8cc_source.html | 2 +- ...edia_1_1mp4_1_1WebVTTConfigurationBox.html | 2 +- ...ka_1_1media_1_1SubsampleEntry-members.html | 2 +- docs/d8/d28/es__parser__h265_8h_source.html | 2 +- ..._content__encodings__client_8h_source.html | 2 +- ...ructshaka_1_1WidevineDecryptionParams.html | 2 +- docs/d8/d4d/aes__decryptor_8h_source.html | 2 +- ...sshaka_1_1media_1_1TextSample-members.html | 2 +- docs/d8/d53/crypto__flags_8h_source.html | 2 +- ...a_1_1media_1_1mp4_1_1AudioSampleEntry.html | 2 +- ...ka_1_1media_1_1ClusterBuilder-members.html | 2 +- ...ka_1_1media_1_1mp4_1_1DataInformation.html | 2 +- docs/d8/d6f/origin__handler_8h_source.html | 2 +- ...a_1_1media_1_1mp4_1_1Metadata-members.html | 2 +- .../classshaka_1_1media_1_1TracksBuilder.html | 2 +- ...eyEncryptionParams_1_1KeyPair-members.html | 2 +- ...assshaka_1_1media_1_1WebMTracksParser.html | 2 +- ...1media_1_1mp4_1_1MovieExtends-members.html | 2 +- ..._1_1RawKeyDecryptionParams_1_1KeyPair.html | 2 +- docs/d8/d8e/classshaka_1_1AdaptationSet.html | 24 +- ...a_1_1media_1_1AesCtrEncryptor-members.html | 2 +- ..._1_1media_1_1AesRequestSigner-members.html | 2 +- ...media_1_1H264DecRefPicMarking-members.html | 2 +- ...1_1mp4_1_1SubtitleMediaHeader-members.html | 2 +- docs/d8/d94/adts__constants_8cc_source.html | 2 +- docs/d8/d94/pes__packet_8h_source.html | 2 +- ..._1mp4_1_1VTTAdditionalTextBox-members.html | 2 +- docs/d8/d9a/fragmenter_8cc_source.html | 2 +- .../d9c/webm__tracks__parser_8cc_source.html | 2 +- ...a_1_1media_1_1DecryptorSource-members.html | 2 +- ...1_1media_1_1mp4_1_1SampleSize-members.html | 2 +- ...sshaka_1_1media_1_1NaluReader-members.html | 2 +- docs/d8/daa/stream__info_8h_source.html | 2 +- docs/d8/daf/namespaceshaka.html | 11 +- ...media_1_1mp4_1_1MultiSegmentSegmenter.html | 2 +- ...1_1WebMContentEncodingsClient-members.html | 2 +- ...p2t_1_1EsParserH26x_1_1VideoSliceInfo.html | 2 +- ...ctshaka_1_1media_1_1mp4_1_1CueTimeBox.html | 2 +- docs/d8/dca/ts__writer_8h_source.html | 2 +- ...1media_1_1mp4_1_1DecodingTime-members.html | 2 +- ...1media_1_1mp4_1_1TrackExtends-members.html | 2 +- ...1_1media_1_1mp2t_1_1ContinuityCounter.html | 2 +- ...1mp4_1_1CencSampleEncryptionInfoEntry.html | 2 +- .../de1/classshaka_1_1SimpleMpdNotifier.html | 22 +- .../de6/webm__crypto__helpers_8h_source.html | 2 +- ..._1_1media_1_1mp2t_1_1EsParser-members.html | 2 +- docs/d8/deb/retired__flags_8cc_source.html | 2 +- ...media_1_1AudioTimestampHelper-members.html | 2 +- ...ssshaka_1_1media_1_1VPxParser-members.html | 2 +- ...single__segment__segmenter_8cc_source.html | 2 +- ...a_1_1media_1_1SegmentTestBase-members.html | 2 +- ...to__byte__stream__converter_8h_source.html | 2 +- ...media_1_1OnMediaEndParameters-members.html | 2 +- ...2single__segment__segmenter_8h_source.html | 4 +- docs/d9/d08/mock__mpd__builder_8h_source.html | 22 +- ...dia_1_1HlsNotifyMuxerListener-members.html | 2 +- .../classshaka_1_1media_1_1RsaPublicKey.html | 2 +- docs/d9/d12/chunking__handler_8cc_source.html | 24 +- .../classshaka_1_1media_1_1BufferReader.html | 2 +- ...haka_1_1media_1_1mp4_1_1MovieFragment.html | 2 +- ...haka_1_1media_1_1AesEncryptor-members.html | 2 +- ...assshaka_1_1media_1_1mp4_1_1Segmenter.html | 2 +- ...aka_1_1media_1_1TracksBuilder-members.html | 2 +- .../webm__content__encodings_8h_source.html | 2 +- ...aka_1_1media_1_1mp4_1_1VTTEmptyCueBox.html | 2 +- ...aka_1_1media_1_1mp4_1_1CueSourceIDBox.html | 2 +- ..._1_1media_1_1mp4_1_1ChunkInfoIterator.html | 2 +- ...1MuxerListener_1_1MediaRanges-members.html | 2 +- ...media_1_1mp2t_1_1EsParserAdts-members.html | 2 +- ...ctshaka_1_1media_1_1H265VuiParameters.html | 2 +- ...a_1_1media_1_1H264SliceHeader-members.html | 2 +- docs/d9/d76/ts__muxer_8cc_source.html | 2 +- ...aka_1_1media_1_1ClosureThread-members.html | 2 +- docs/d9/d86/limits_8h_source.html | 2 +- ..._1media_1_1WebMContentEncodingsClient.html | 2 +- ...assshaka_1_1media_1_1AesRequestSigner.html | 2 +- ...1ProtectionSystemSpecificInfo-members.html | 2 +- docs/d9/d90/text__track_8h_source.html | 2 +- docs/d9/da4/stream__descriptor_8h_source.html | 2 +- ...ka_1_1media_1_1MpdNotifyMuxerListener.html | 2 +- .../structshaka_1_1media_1_1Cue-members.html | 2 +- ..._1_1media_1_1mp4_1_1Segmenter-members.html | 2 +- ...structshaka_1_1RawKeyDecryptionParams.html | 2 +- ..._1_1CompositionOffsetIterator-members.html | 2 +- ...ntent__protection__element_8cc_source.html | 2 +- docs/d9/db9/muxer_8cc_source.html | 2 +- ...haka_1_1media_1_1BufferReader-members.html | 2 +- ...1mp4_1_1SampleEncryptionEntry-members.html | 2 +- docs/d9/dc8/webm__constants_8cc_source.html | 2 +- .../d9/dcc/webm__video__client_8h_source.html | 2 +- ...ructshaka_1_1WidevineEncryptionParams.html | 2 +- .../d9/de0/structshaka_1_1media_1_1Range.html | 2 +- .../muxer__listener__internal_8cc_source.html | 2 +- ...ka_1_1media_1_1FixedKeySource-members.html | 2 +- ...c__audio__specific__config_8cc_source.html | 2 +- ...p4_1_1TrackFragmentDecodeTime-members.html | 2 +- ...lassshaka_1_1media_1_1OffsetByteQueue.html | 2 +- ..._1_1media_1_1H264ModificationOfPicNum.html | 2 +- .../d04/audio__stream__info_8cc_source.html | 2 +- ...assshaka_1_1media_1_1mp2t_1_1EsParser.html | 2 +- ...ructshaka_1_1media_1_1mp4_1_1Language.html | 2 +- ...ssshaka_1_1media_1_1mp2t_1_1TsSection.html | 2 +- ...haka_1_1media_1_1mp2t_1_1EsParserH26x.html | 2 +- docs/da/d23/ts__muxer_8h_source.html | 4 +- docs/da/d24/h265__parser_8h_source.html | 2 +- docs/da/d2a/text__stream__info_8h_source.html | 2 +- ...1_1media_1_1webm_1_1WebMMuxer-members.html | 2 +- ...ia_1_1mp4_1_1PixelAspectRatio-members.html | 2 +- ..._2multi__segment__segmenter_8h_source.html | 4 +- ...ructshaka_1_1ContentProtectionElement.html | 2 +- ...lassshaka_1_1media_1_1AudioStreamInfo.html | 2 +- ...1_1media_1_1mp4_1_1MovieExtendsHeader.html | 2 +- docs/da/d53/es__parser__h265_8cc_source.html | 2 +- ..._1_1media_1_1mp4_1_1CompactSampleSize.html | 2 +- .../d5c/widevine__key__source_8h_source.html | 2 +- ...1_1H264VideoSliceHeaderParser-members.html | 2 +- ...mp4_1_1SingleSegmentSegmenter-members.html | 2 +- ..._1_1H264ProgramMapTableWriter-members.html | 2 +- ...edia_1_1mp4_1_1AudioRollRecoveryEntry.html | 2 +- ...xed__key__encryption__flags_8h_source.html | 2 +- ...1media_1_1mp2t_1_1TsSegmenter-members.html | 2 +- docs/da/d88/mp4__muxer_8cc_source.html | 629 +++--- ...a_1_1media_1_1WebMMediaParser-members.html | 2 +- docs/da/d8e/container__names_8cc_source.html | 2 +- docs/da/d93/origin__handler_8cc_source.html | 2 +- ...a_1_1mp4_1_1CompositionOffset-members.html | 2 +- ..._1media_1_1mp4_1_1EC3Specific-members.html | 2 +- ...ssshaka_1_1MpdNotifierFactory-members.html | 4 +- ...1_1media_1_1MockMuxerListener-members.html | 2 +- ...assshaka_1_1media_1_1mp2t_1_1TsPacket.html | 2 +- .../classshaka_1_1Representation-members.html | 2 +- ...a_1_1media_1_1mp4_1_1HandlerReference.html | 2 +- ...tshaka_1_1media_1_1mp4_1_1TrackHeader.html | 2 +- ...aka_1_1media_1_1OriginHandler-members.html | 2 +- docs/da/dcb/es__descriptor_8h_source.html | 2 +- .../playready__key__source_8cc_source.html | 2 +- .../structshaka_1_1media_1_1mp4_1_1Edit.html | 2 +- docs/da/dd0/webm__info__parser_8h_source.html | 2 +- docs/da/dd1/fragmenter_8h_source.html | 2 +- ..._1_1media_1_1mp2t_1_1TsPacket-members.html | 2 +- ...H264ByteToUnitStreamConverter-members.html | 2 +- ...ia_1_1mp2t_1_1Mp2tMediaParser-members.html | 2 +- ...media_1_1H264SEIRecoveryPoint-members.html | 2 +- ...ssshaka_1_1media_1_1WidevineKeySource.html | 2 +- ...a_1_1mp4_1_1SampleDescription-members.html | 2 +- .../da/de2/mock__mpd__builder_8cc_source.html | 2 +- ...ssshaka_1_1media_1_1WebMClusterParser.html | 2 +- ...1_1media_1_1mp4_1_1SchemeType-members.html | 2 +- ...a_1_1media_1_1AudioStreamInfo-members.html | 2 +- ...1media_1_1mp4_1_1ProtectionSchemeInfo.html | 2 +- ..._1media_1_1H264VideoSliceHeaderParser.html | 2 +- docs/da/df4/aes__decryptor_8cc_source.html | 2 +- ..._1_1media_1_1mp4_1_1SampleDescription.html | 2 +- ...1_1media_1_1AesPatternCryptor-members.html | 2 +- .../classshaka_1_1media_1_1MediaHandler.html | 6 +- ...ructshaka_1_1media_1_1H265SliceHeader.html | 2 +- .../webvtt__sample__converter_8h_source.html | 2 +- ...1_1media_1_1mp4_1_1CodecConfiguration.html | 2 +- ...sshaka_1_1media_1_1H265Parser-members.html | 2 +- ...media_1_1H264WeightingFactors-members.html | 2 +- .../classshaka_1_1media_1_1TextSample.html | 2 +- ..._1media_1_1mp4_1_1SubtitleMediaHeader.html | 2 +- ...lassshaka_1_1media_1_1mp4_1_1MP4Muxer.html | 2 +- ...to__unit__stream__converter_8h_source.html | 2 +- .../d31/track__run__iterator_8cc_source.html | 2 +- ...1_1mp2t_1_1PesPacketGenerator-members.html | 2 +- ...dia_1_1VideoSliceHeaderParser-members.html | 2 +- ...pd__notify__muxer__listener_8h_source.html | 4 +- .../d4b/classshaka_1_1MockAdaptationSet.html | 2 +- ...a_1_1mp4_1_1CompositionOffsetIterator.html | 2 +- .../db/d51/mp2t__media__parser_8h_source.html | 2 +- ..._single__segment__segmenter_8h_source.html | 4 +- .../media__handler__test__base_8h_source.html | 2 +- .../d5a/classshaka_1_1media_1_1VP9Parser.html | 2 +- docs/db/d60/mpd__options_8h_source.html | 46 +- .../d64/webvtt__media__parser_8h_source.html | 2 +- ..._1media_1_1mp4_1_1SegmentType-members.html | 2 +- .../d6b/structshaka_1_1MpdParams-members.html | 114 ++ docs/db/d71/http__key__fetcher_8h_source.html | 2 +- ...EVCDecoderConfigurationRecord-members.html | 2 +- ...TwoPassSingleSegmentSegmenter-members.html | 2 +- ..._1_1mp2t_1_1ContinuityCounter-members.html | 2 +- docs/db/d79/chunking__params_8h_source.html | 125 ++ docs/db/d7e/muxer__options_8cc_source.html | 2 +- ...dia_1_1AACAudioSpecificConfig-members.html | 2 +- .../classshaka_1_1media_1_1NaluReader.html | 2 +- docs/db/d8f/mp4__muxer_8h_source.html | 4 +- ...classshaka_1_1media_1_1ClusterBuilder.html | 2 +- ...ssshaka_1_1media_1_1mp4_1_1Fragmenter.html | 2 +- ...a_1_1media_1_1mp4_1_1ChunkLargeOffset.html | 2 +- docs/db/d96/wvm__media__parser_8h_source.html | 2 +- .../da4/classBandwidthEstimator-members.html | 2 +- ...edia_1_1WebVttSampleConverter-members.html | 2 +- ...classshaka_1_1media_1_1TextStreamInfo.html | 2 +- ...classshaka_1_1media_1_1WebMInfoParser.html | 2 +- ...ia_1_1mp4_1_1SoundMediaHeader-members.html | 2 +- ...CencSampleEncryptionInfoEntry-members.html | 2 +- ...haka_1_1media_1_1OnMediaEndParameters.html | 2 +- ...ka_1_1media_1_1mp4_1_1TrackEncryption.html | 2 +- .../dcb/classshaka_1_1media_1_1VPxParser.html | 2 +- docs/db/dcd/classshaka_1_1MpdWriter.html | 4 +- ..._1media_1_1mp4_1_1DTSSpecific-members.html | 2 +- ...edia_1_1VodMediaInfoDumpMuxerListener.html | 2 +- .../dd2/chunk__info__iterator_8h_source.html | 2 +- .../dd9/sync__sample__iterator_8h_source.html | 2 +- docs/db/dde/h265__parser_8cc_source.html | 2 +- ...assshaka_1_1media_1_1TrickPlayHandler.html | 2 +- .../audio__timestamp__helper_8cc_source.html | 2 +- docs/db/dee/pes__packet_8cc_source.html | 2 +- ...a_1_1media_1_1H265SliceHeader-members.html | 2 +- ...lassshaka_1_1media_1_1Cluster-members.html | 2 +- docs/db/df6/muxer_8h_source.html | 4 +- ...edia_1_1H265ByteToUnitStreamConverter.html | 2 +- docs/db/dfb/mpd__utils_8cc_source.html | 2 +- ...d__notify__muxer__listener_8cc_source.html | 4 +- ..._1_1media_1_1mp4_1_1ChunkInfo-members.html | 2 +- ...edia_1_1mp2t_1_1ProgramMapTableWriter.html | 2 +- ...sshaka_1_1media_1_1StreamInfo-members.html | 2 +- ...haka_1_1media_1_1ESDescriptor-members.html | 2 +- .../d16/classshaka_1_1media_1_1SeekHead.html | 2 +- ...aka_1_1media_1_1wvm_1_1WvmMediaParser.html | 2 +- ..._1mp4_1_1ProtectionSchemeInfo-members.html | 2 +- docs/dc/d19/box_8h_source.html | 2 +- .../dash__iop__mpd__notifier_8cc_source.html | 569 +++--- ...ructshaka_1_1EncryptionParams-members.html | 2 +- ...ed__key__encryption__flags_8cc_source.html | 2 +- .../d3c/webm__cluster__parser_8h_source.html | 2 +- docs/dc/d3f/key__source_8h_source.html | 2 +- .../classshaka_1_1xml_1_1XmlNode-members.html | 2 +- .../classshaka_1_1media_1_1BufferWriter.html | 2 +- ...rotectionSystemSpecificHeader-members.html | 2 +- ..._1media_1_1mp4_1_1TrackHeader-members.html | 2 +- ...o__unit__stream__converter_8cc_source.html | 2 +- .../decoding__time__iterator_8h_source.html | 2 +- docs/dc/d53/webm_2segmenter_8cc_source.html | 2 +- ...haka_1_1media_1_1H264DecRefPicMarking.html | 2 +- .../dc/d58/webm__media__parser_8h_source.html | 2 +- .../dc/d5c/classshaka_1_1MockMpdNotifier.html | 2 +- ...edia_1_1mp4_1_1CueSettingsBox-members.html | 2 +- ...1_1media_1_1webm_1_1Segmenter-members.html | 2 +- ...1_1media_1_1mp2t_1_1TsSection-members.html | 2 +- ...ssshaka_1_1media_1_1MockMuxerListener.html | 2 +- docs/dc/d7b/closure__thread_8cc_source.html | 2 +- docs/dc/d7b/h264__parser_8cc_source.html | 2 +- ...1_1ElementaryStreamDescriptor-members.html | 2 +- ..._1media_1_1mp4_1_1MovieFragmentHeader.html | 2 +- ...structshaka_1_1media_1_1Range-members.html | 2 +- .../da0/structshaka_1_1EncryptionParams.html | 2 +- ...tshaka_1_1media_1_1mp4_1_1DTSSpecific.html | 2 +- docs/dc/da1/classshaka_1_1MpdBuilder.html | 4 +- ...lassshaka_1_1media_1_1ContentEncoding.html | 2 +- docs/dc/dbf/box__buffer_8h_source.html | 2 +- ...1xml_1_1RepresentationXmlNode-members.html | 2 +- ...classshaka_1_1media_1_1WebMListParser.html | 2 +- ...eyDecryptionParams_1_1KeyPair-members.html | 2 +- docs/dc/dd9/rsa__key_8cc_source.html | 2 +- .../structshaka_1_1media_1_1mp4_1_1Media.html | 2 +- docs/dc/de1/structshaka_1_1SegmentInfo.html | 2 +- ...1_1media_1_1mp4_1_1Fragmenter-members.html | 2 +- ...to__unit__stream__converter_8h_source.html | 2 +- docs/dc/dec/ts__section__pmt_8cc_source.html | 2 +- .../classshaka_1_1media_1_1ClosureThread.html | 2 +- ...ssshaka_1_1media_1_1WebVttMediaParser.html | 2 +- ...ebm_1_1SingleSegmentSegmenter-members.html | 2 +- ...ia_1_1mp4_1_1TrackFragmentRun-members.html | 2 +- docs/dc/df8/closure__thread_8h_source.html | 2 +- docs/dd/d05/encryption__config_8h_source.html | 2 +- ...tshaka_1_1media_1_1mp4_1_1ChunkOffset.html | 2 +- docs/dd/d11/mpd__builder_8cc_source.html | 1818 +++++++++-------- docs/dd/d12/mpd__writer_8cc_source.html | 179 +- ...mp4_1_1SampleAuxiliaryInformationSize.html | 2 +- .../d17/classshaka_1_1media_1_1Demuxer.html | 2 +- docs/dd/d18/es__parser__adts_8h_source.html | 2 +- .../d19/video__stream__info_8cc_source.html | 2 +- .../dd/d30/wvm__media__parser_8cc_source.html | 2 +- docs/dd/d3a/gflags__hex__bytes_8h_source.html | 2 +- docs/dd/d3b/mp4_2segmenter_8h_source.html | 4 +- ...ctshaka_1_1media_1_1mp4_1_1SyncSample.html | 2 +- docs/dd/d42/encryptor_8h_source.html | 2 +- docs/dd/d46/webm__parser_8h_source.html | 2 +- ...media_1_1mp4_1_1MovieFragment-members.html | 2 +- ...m_1_1DemuxStreamIdMediaSample-members.html | 2 +- ...widevine__encryption__flags_8h_source.html | 2 +- docs/dd/d58/crypto__params_8h_source.html | 2 +- ...media_1_1mp2t_1_1EsParserH265-members.html | 2 +- ...1_1media_1_1mp4_1_1SchemeInfo-members.html | 2 +- ...1_1media_1_1mp4_1_1SyncSample-members.html | 2 +- docs/dd/d65/vp8__parser_8h_source.html | 2 +- ...o__unit__stream__converter_8cc_source.html | 2 +- ...1_1H265VideoSliceHeaderParser-members.html | 2 +- ...a_1_1media_1_1mp4_1_1PixelAspectRatio.html | 2 +- .../classshaka_1_1media_1_1MuxerListener.html | 2 +- docs/dd/d80/media__sample_8h_source.html | 2 +- .../d88/pes__packet__generator_8h_source.html | 2 +- ...1media_1_1mp4_1_1SegmentIndex-members.html | 2 +- .../ts__packet__writer__util_8h_source.html | 2 +- .../audio__timestamp__helper_8h_source.html | 2 +- ...a_1_1media_1_1mp4_1_1SegmentReference.html | 2 +- .../classshaka_1_1MpdNotifier-members.html | 2 +- .../da4/structshaka_1_1xml_1_1XmlDeleter.html | 2 +- ...webm_1_1TwoPassSingleSegmentSegmenter.html | 2 +- ...info__dump__muxer__listener_8h_source.html | 4 +- docs/dd/dab/webm__muxer_8h_source.html | 4 +- ..._1mp4_1_1WebVTTSourceLabelBox-members.html | 2 +- ...a_1_1media_1_1WebMAudioClient-members.html | 2 +- ..._1media_1_1mp4_1_1SampleTable-members.html | 2 +- ...a_1_1xml_1_1RepresentationBaseXmlNode.html | 2 +- docs/dd/dbc/buffer__reader_8cc_source.html | 2 +- .../dd/dbc/encryption__handler_8h_source.html | 2 +- ...structshaka_1_1media_1_1EncryptionKey.html | 2 +- ...dia_1_1mp4_1_1TrackEncryption-members.html | 2 +- .../dbf/webm__webvtt__parser_8h_source.html | 2 +- ...tructshaka_1_1media_1_1mp4_1_1FullBox.html | 2 +- ...edia_1_1ProducerConsumerQueue-members.html | 2 +- ...ssshaka_1_1media_1_1webm_1_1Segmenter.html | 2 +- ...edia_1_1mp4_1_1OriginalFormat-members.html | 2 +- docs/dd/dce/structshaka_1_1media_1_1Cue.html | 2 +- docs/dd/dd2/buffer__writer_8h_source.html | 2 +- docs/dd/dd3/buffer__writer_8cc_source.html | 2 +- ...a_1_1media_1_1WebMVideoClient-members.html | 2 +- .../dd8/mock__muxer__listener_8cc_source.html | 2 +- ...tshaka_1_1media_1_1mp4_1_1Box-members.html | 2 +- .../ddc/trick__play__handler_8h_source.html | 2 +- ...ka_1_1media_1_1VideoSliceHeaderParser.html | 2 +- ...ructshaka_1_1media_1_1H265Pps-members.html | 2 +- docs/dd/de7/xml__node_8h_source.html | 2 +- ...haka_1_1media_1_1MediaHandler-members.html | 2 +- ...tructshaka_1_1ChunkingParams-members.html} | 16 +- docs/dd/dee/box__definitions_8cc_source.html | 2 +- ..._2multi__segment__segmenter_8h_source.html | 4 +- ...a_1_1media_1_1mp4_1_1TrackFragmentRun.html | 2 +- ...ructshaka_1_1media_1_1mp4_1_1Metadata.html | 2 +- docs/de/d12/container__names_8h_source.html | 2 +- docs/de/d13/ts__writer_8cc_source.html | 2 +- ...a_1_1media_1_1TextTrackConfig-members.html | 2 +- docs/de/d17/cluster__builder_8cc_source.html | 2 +- ...edia_1_1wvm_1_1WvmMediaParser-members.html | 2 +- ...single__segment__segmenter_8cc_source.html | 4 +- .../d22/aes__pattern__cryptor_8cc_source.html | 2 +- ..._1_1mp2t_1_1H264ProgramMapTableWriter.html | 2 +- ...shaka_1_1media_1_1mp4_1_1TrackExtends.html | 2 +- ..._1_1media_1_1WebMTracksParser-members.html | 2 +- .../d33/structshaka_1_1media_1_1H265Pps.html | 2 +- .../de/d34/offset__byte__queue_8h_source.html | 2 +- ...o__unit__stream__converter_8cc_source.html | 2 +- docs/de/d3c/macros_8h_source.html | 2 +- docs/de/d3e/buffer__reader_8h_source.html | 2 +- ...sshaka_1_1media_1_1H264Parser-members.html | 2 +- ...1_1media_1_1mp2t_1_1PesPacket-members.html | 2 +- .../classshaka_1_1media_1_1DecryptConfig.html | 2 +- .../muxer__listener__internal_8h_source.html | 2 +- docs/de/d52/classshaka_1_1Representation.html | 18 +- ...a_1_1media_1_1mp4_1_1Language-members.html | 2 +- docs/de/d5b/adts__header_8cc_source.html | 2 +- docs/de/d5c/mpd__flags_8h_source.html | 2 +- ...mp2t_1_1ProgramMapTableWriter-members.html | 2 +- ...assshaka_1_1media_1_1mp2t_1_1TsWriter.html | 2 +- ..._1_1mp4_1_1SampleToGroupEntry-members.html | 2 +- docs/de/d6e/language__utils_8h_source.html | 2 +- .../de/d70/http__key__fetcher_8cc_source.html | 2 +- ...content__encodings__client_8cc_source.html | 2 +- docs/de/d7b/mp4__media__parser_8h_source.html | 2 +- ...haka_1_1media_1_1mp2t_1_1TsSectionPsi.html | 2 +- ...ptedStreamAttributes_1_1OneOf-members.html | 2 +- ...ox__definitions__comparison_8h_source.html | 2 +- ...aka_1_1RawKeyEncryptionParams-members.html | 2 +- .../classshaka_1_1media_1_1OriginHandler.html | 2 +- ...edia_1_1wvm_1_1PrevSampleData-members.html | 2 +- ...1_1mp4_1_1MovieFragmentHeader-members.html | 2 +- ...ssshaka_1_1media_1_1VP8Parser-members.html | 2 +- docs/de/da9/structshaka_1_1Element.html | 2 +- docs/de/dab/es__parser__h26x_8cc_source.html | 2 +- docs/de/dad/validate__flag_8cc_source.html | 2 +- ...lassshaka_1_1media_1_1TextTrackConfig.html | 2 +- .../classshaka_1_1media_1_1H26xBitReader.html | 2 +- docs/de/dc1/demuxer_8h_source.html | 2 +- .../classshaka_1_1media_1_1H265Parser.html | 2 +- ..._1mp4_1_1DecodingTimeToSample-members.html | 2 +- docs/de/dcb/ts__segmenter_8h_source.html | 4 +- .../dcc/mock__mpd__notifier_8cc_source.html | 2 +- ...ontent__protection__element_8h_source.html | 2 +- ...er__listener__test__helper_8cc_source.html | 6 +- .../classshaka_1_1media_1_1Muxer-members.html | 2 +- ...aka_1_1media_1_1WebVttSampleConverter.html | 2 +- ...shaka_1_1media_1_1mp2t_1_1TsSegmenter.html | 2 +- ..._1_1media_1_1mp4_1_1MediaData-members.html | 2 +- ..._1media_1_1DecoderConfigurationRecord.html | 2 +- ...a_1_1media_1_1mp4_1_1MP4Muxer-members.html | 2 +- .../de4/structshaka_1_1media_1_1H264Pps.html | 2 +- ...edia_1_1H26xByteToUnitStreamConverter.html | 2 +- ...1media_1_1mp4_1_1DecodingTimeToSample.html | 2 +- ...a_1_1media_1_1mp4_1_1TrackRunIterator.html | 2 +- docs/de/dfa/muxer__listener_8h_source.html | 4 +- ...shaka_1_1media_1_1mp4_1_1OpusSpecific.html | 2 +- docs/de/dfd/stream__info_8cc_source.html | 2 +- .../d00/playready__key__source_8h_source.html | 2 +- ...dec__configuration__record_8cc_source.html | 2 +- .../d1a/offset__byte__queue_8cc_source.html | 2 +- ...shaka_1_1media_1_1MediaSample-members.html | 2 +- ...mposition__offset__iterator_8h_source.html | 2 +- ...mentTestBase_1_1ClusterParser-members.html | 2 +- .../df/d22/structshaka_1_1WidevineSigner.html | 2 +- docs/df/d22/validate__flag_8h_source.html | 2 +- ..._1mp4_1_1DecodingTimeIterator-members.html | 2 +- ...lassshaka_1_1media_1_1AesCbcDecryptor.html | 2 +- docs/df/d31/muxer__util_8cc_source.html | 2 +- .../df/d32/audio__stream__info_8h_source.html | 2 +- .../classshaka_1_1AdaptationSet-members.html | 2 +- ...uctshaka_1_1media_1_1mp4_1_1ChunkInfo.html | 2 +- ..._1_1mp4_1_1MovieExtendsHeader-members.html | 2 +- .../classshaka_1_1media_1_1RequestSigner.html | 2 +- docs/df/d46/classshaka_1_1media_1_1Muxer.html | 2 +- ...t_1_1AacProgramMapTableWriter-members.html | 2 +- ...aka_1_1media_1_1RsaPrivateKey-members.html | 2 +- ..._1_1RawKeyEncryptionParams_1_1KeyPair.html | 2 +- docs/df/d60/classshaka_1_1MockMpdBuilder.html | 2 +- ...mp4_1_1AudioRollRecoveryEntry-members.html | 2 +- .../classshaka_1_1media_1_1KeyFetcher.html | 2 +- .../classshaka_1_1MockMpdBuilder-members.html | 2 +- ...1media_1_1mp4_1_1OpusSpecific-members.html | 2 +- ...dia_1_1mp4_1_1CompositionTimeToSample.html | 2 +- ...haka_1_1media_1_1mp4_1_1TrackFragment.html | 2 +- .../df/d7d/webm__info__parser_8cc_source.html | 2 +- ...1_1DecoderConfigurationRecord-members.html | 2 +- .../classshaka_1_1media_1_1AesCryptor.html | 2 +- ...shaka_1_1media_1_1mp4_1_1DataEntryUrl.html | 2 +- docs/df/d8a/vp9__parser_8h_source.html | 2 +- docs/df/d8a/vpx__parser_8h_source.html | 2 +- ...1mp4_1_1MultiSegmentSegmenter-members.html | 2 +- docs/df/d8d/es__parser__h26x_8h_source.html | 2 +- ..._1_1RepresentationStateChangeListener.html | 2 +- docs/df/d96/xml__node_8cc_source.html | 2 +- ...dia_1_1mp4_1_1TrackFragmentDecodeTime.html | 2 +- ...shaka_1_1xml_1_1RepresentationXmlNode.html | 2 +- ..._1media_1_1mp4_1_1ChunkOffset-members.html | 2 +- ...a_1_1media_1_1mp4_1_1CueIDBox-members.html | 2 +- docs/df/dad/decrypt__config_8h_source.html | 2 +- ...oder__configuration__record_8h_source.html | 2 +- docs/df/dd2/mpd__utils_8h_source.html | 2 +- ...ructshaka_1_1media_1_1H264Pps-members.html | 2 +- .../structshaka_1_1media_1_1MediaEvent.html | 2 +- docs/df/ddc/structshaka_1_1MpdParams.html | 263 +++ docs/df/ddc/webm_2segmenter_8h_source.html | 4 +- docs/df/dde/ts__section__psi_8cc_source.html | 2 +- ...haka_1_1media_1_1H264SEIRecoveryPoint.html | 2 +- .../de3/text__track__config_8cc_source.html | 2 +- docs/df/de9/segment__info_8h_source.html | 2 +- ...a_1_1ContentProtectionElement-members.html | 2 +- ...dy__key__encryption__flags_8cc_source.html | 2 +- .../dir_0494b8c96e3190a776d2b97ade9c8ddf.html | 2 +- .../dir_2618cd273dea54f184e42d7a562af818.html | 2 +- .../dir_263e692158cf359dd655c259558153d6.html | 2 +- .../dir_2eceb70145328c029a5f43350007537a.html | 2 +- .../dir_3702507ddbf3daed2728028eabf9f597.html | 6 +- .../dir_39dc0668bd5a501998f94e8b4e546c71.html | 2 +- .../dir_3e9291fd7a18fdecc763294cb2628910.html | 2 +- .../dir_40ba5f08173034b639e202b47df1cb13.html | 99 + .../dir_49627ef5ef0630f6cf11dd06344c4cf0.html | 2 +- .../dir_5039d854a18988ed1f1dbebc120ffbf7.html | 2 +- .../dir_65f7acfa8cf3a5f1edc11faa2428b914.html | 2 +- .../dir_679a6f4e9fa092b388fc986148018f2a.html | 2 +- .../dir_6ca5d7200b4f75a249572dffb9651898.html | 2 +- .../dir_7f5e01ba7faf319a30cabd201b6ef121.html | 2 +- .../dir_89dd766eb2df7d7257dbe806a34404af.html | 4 +- .../dir_aa73376d632f252584a1c0dfbefab2c4.html | 2 +- .../dir_b0da65f92a9541ef8f345654d4bd88fd.html | 2 +- .../dir_ba94ecd487194410fd7c4b70c530929c.html | 2 +- .../dir_c6ada2450b25ab5438a4dba6c9b890af.html | 2 +- .../dir_d422163b96683743ed3963d4aac17747.html | 2 +- .../dir_ebd49ab0652c2e9158bbb57c55382729.html | 2 +- .../dir_eeaeb49ac3913fcfb450d3ce9cc0141b.html | 2 +- .../dir_f7dcbe7025bbacfc4b9a7dff6ad41d72.html | 2 +- docs/files.html | 14 +- docs/functions.html | 2 +- docs/functions_b.html | 7 +- docs/functions_c.html | 2 +- docs/functions_d.html | 5 +- docs/functions_e.html | 2 +- docs/functions_enum.html | 2 +- docs/functions_eval.html | 2 +- docs/functions_f.html | 2 +- docs/functions_func.html | 2 +- docs/functions_func_b.html | 2 +- docs/functions_func_c.html | 2 +- docs/functions_func_d.html | 2 +- docs/functions_func_e.html | 2 +- docs/functions_func_f.html | 2 +- docs/functions_func_g.html | 2 +- docs/functions_func_h.html | 2 +- docs/functions_func_i.html | 2 +- docs/functions_func_l.html | 2 +- docs/functions_func_m.html | 2 +- docs/functions_func_n.html | 2 +- docs/functions_func_o.html | 2 +- docs/functions_func_p.html | 2 +- docs/functions_func_r.html | 2 +- docs/functions_func_s.html | 2 +- docs/functions_func_t.html | 2 +- docs/functions_func_u.html | 2 +- docs/functions_func_v.html | 2 +- docs/functions_func_w.html | 2 +- docs/functions_func_x.html | 2 +- docs/functions_func_~.html | 2 +- docs/functions_g.html | 12 +- docs/functions_h.html | 2 +- docs/functions_i.html | 2 +- docs/functions_k.html | 8 +- docs/functions_l.html | 2 +- docs/functions_m.html | 15 +- docs/functions_n.html | 5 +- docs/functions_o.html | 2 +- docs/functions_p.html | 2 +- docs/functions_r.html | 2 +- docs/functions_s.html | 10 +- docs/functions_t.html | 5 +- docs/functions_type.html | 2 +- docs/functions_u.html | 5 +- docs/functions_v.html | 2 +- docs/functions_vars.html | 65 +- docs/functions_w.html | 2 +- docs/functions_x.html | 2 +- docs/functions_~.html | 2 +- docs/hierarchy.html | 228 ++- docs/index.html | 2 +- docs/namespacemembers.html | 2 +- docs/namespacemembers_enum.html | 2 +- docs/namespacemembers_func.html | 2 +- docs/namespaces.html | 2 +- docs/search/all_1.js | 3 +- docs/search/all_10.js | 8 +- docs/search/all_11.js | 3 +- docs/search/all_12.js | 3 +- docs/search/all_2.js | 2 +- docs/search/all_3.js | 1 + docs/search/all_6.js | 2 + docs/search/all_9.js | 4 +- docs/search/all_b.js | 13 +- docs/search/all_c.js | 1 - docs/search/classes_2.js | 2 +- docs/search/classes_a.js | 2 + docs/search/search.js | 2 +- docs/search/variables_0.js | 3 +- docs/search/variables_2.js | 2 +- docs/search/variables_3.js | 7 +- docs/search/variables_4.js | 14 +- docs/search/variables_5.js | 13 +- docs/search/variables_6.js | 5 +- docs/search/variables_9.js | 8 +- docs/search/variables_a.js | 3 +- docs/search/variables_b.js | 2 +- docs/search/variables_c.html | 26 + docs/search/variables_c.js | 4 + 1020 files changed, 4942 insertions(+), 3765 deletions(-) create mode 100644 docs/d0/d43/structshaka_1_1Mp4OutputParams.html rename docs/{db/d02/structshaka_1_1media_1_1ChunkingOptions.html => d2/d1f/structshaka_1_1ChunkingParams.html} (65%) create mode 100644 docs/d3/d07/mpd__params_8h_source.html create mode 100644 docs/d6/dbe/mp4__output__params_8h_source.html create mode 100644 docs/d6/dd7/structshaka_1_1Mp4OutputParams-members.html create mode 100644 docs/db/d6b/structshaka_1_1MpdParams-members.html create mode 100644 docs/db/d79/chunking__params_8h_source.html rename docs/{d2/dce/structshaka_1_1media_1_1ChunkingOptions-members.html => dd/de9/structshaka_1_1ChunkingParams-members.html} (75%) create mode 100644 docs/df/ddc/structshaka_1_1MpdParams.html create mode 100644 docs/dir_40ba5f08173034b639e202b47df1cb13.html create mode 100644 docs/search/variables_c.html create mode 100644 docs/search/variables_c.js diff --git a/docs/annotated.html b/docs/annotated.html index c5ace94148..f674fddc9a 100644 --- a/docs/annotated.html +++ b/docs/annotated.html @@ -274,121 +274,123 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ||oCTextTrackConfig ||oCVideoStreamInfoHolds video stream information ||oCWidevineKeySource -||oCChunkingOptions -||oCChunkingHandler -||oCAACAudioSpecificConfig -||oCAVCDecoderConfigurationRecordClass for parsing AVC decoder configuration record -||oCDecoderConfigurationRecord -||oCESDescriptor -||oCH264ByteToUnitStreamConverter -||oCH264Sps -||oCH264Pps -||oCH264ModificationOfPicNum -||oCH264WeightingFactors -||oCH264DecRefPicMarking -||oCH264SliceHeader -||oCH264SEIRecoveryPoint -||oCH264SEIMessage -||oCH264Parser -||oCH265ByteToUnitStreamConverter -||oCH265ReferencePictureSet -||oCH265VuiParameters -||oCH265Pps -||oCH265Sps -||oCH265ReferencePictureListModifications -||oCH265SliceHeader -|||\CLongTermPicsInfo -||oCH265Parser -||oCH26xBitReader -||oCH26xByteToUnitStreamConverterA base class that is used to convert H.26x byte streams to NAL unit streams -||oCHEVCDecoderConfigurationRecordClass for parsing HEVC decoder configuration record -||oCNalUnitToByteStreamConverter -||oCNalu -||oCNaluReader -||oCVideoSliceHeaderParser -||oCH264VideoSliceHeaderParser -||oCH265VideoSliceHeaderParser -||oCVP8Parser -||oCVP9ParserClass to parse a vp9 bit stream -||oCVPCodecConfigurationRecordClass for parsing or writing VP codec configuration record -||oCVPxFrameInfo -||oCVPxParser -||oCEncryptionHandler -||oCDemuxer -||oCHlsNotifyMuxerListenerMuxerListener that uses HlsNotifier -||oCMockMuxerListener -||oCMpdNotifyMuxerListener -||oCMuxerListener -|||\CMediaRanges -||oCVideoStreamInfoParameters -||oCOnMediaEndParameters -||oCProgressListenerThis class listens to progress updates events -||oCVodMediaInfoDumpMuxerListener -||oCCluster -||oCClusterBuilder -||oCMkvWriterAn implementation of IMkvWriter using our File type -||oCSeekHead -||oCSegmentTestBase -|||\CClusterParser -||oCTracksBuilder -||oCWebMAudioClientHelper class used to parse an Audio element inside a TrackEntry element -||oCWebMClusterParser -||oCContentEncoding -||oCWebMContentEncodingsClientParser for WebM ContentEncodings element -||oCWebMInfoParserParser for WebM Info element -||oCWebMMediaParser -||oCWebMParserClient -||oCWebMListParser -||oCWebMTracksParserParser for WebM Tracks element -||oCWebMVideoClientHelper class used to parse a Video element inside a TrackEntry element -||oCWebMWebVTTParser -||oCCue -||oCWebVttMediaParser -||oCWebVttSampleConverter -||oCOriginHandler -||\CTrickPlayHandler +||oCChunkingHandler +||oCAACAudioSpecificConfig +||oCAVCDecoderConfigurationRecordClass for parsing AVC decoder configuration record +||oCDecoderConfigurationRecord +||oCESDescriptor +||oCH264ByteToUnitStreamConverter +||oCH264Sps +||oCH264Pps +||oCH264ModificationOfPicNum +||oCH264WeightingFactors +||oCH264DecRefPicMarking +||oCH264SliceHeader +||oCH264SEIRecoveryPoint +||oCH264SEIMessage +||oCH264Parser +||oCH265ByteToUnitStreamConverter +||oCH265ReferencePictureSet +||oCH265VuiParameters +||oCH265Pps +||oCH265Sps +||oCH265ReferencePictureListModifications +||oCH265SliceHeader +|||\CLongTermPicsInfo +||oCH265Parser +||oCH26xBitReader +||oCH26xByteToUnitStreamConverterA base class that is used to convert H.26x byte streams to NAL unit streams +||oCHEVCDecoderConfigurationRecordClass for parsing HEVC decoder configuration record +||oCNalUnitToByteStreamConverter +||oCNalu +||oCNaluReader +||oCVideoSliceHeaderParser +||oCH264VideoSliceHeaderParser +||oCH265VideoSliceHeaderParser +||oCVP8Parser +||oCVP9ParserClass to parse a vp9 bit stream +||oCVPCodecConfigurationRecordClass for parsing or writing VP codec configuration record +||oCVPxFrameInfo +||oCVPxParser +||oCEncryptionHandler +||oCDemuxer +||oCHlsNotifyMuxerListenerMuxerListener that uses HlsNotifier +||oCMockMuxerListener +||oCMpdNotifyMuxerListener +||oCMuxerListener +|||\CMediaRanges +||oCVideoStreamInfoParameters +||oCOnMediaEndParameters +||oCProgressListenerThis class listens to progress updates events +||oCVodMediaInfoDumpMuxerListener +||oCCluster +||oCClusterBuilder +||oCMkvWriterAn implementation of IMkvWriter using our File type +||oCSeekHead +||oCSegmentTestBase +|||\CClusterParser +||oCTracksBuilder +||oCWebMAudioClientHelper class used to parse an Audio element inside a TrackEntry element +||oCWebMClusterParser +||oCContentEncoding +||oCWebMContentEncodingsClientParser for WebM ContentEncodings element +||oCWebMInfoParserParser for WebM Info element +||oCWebMMediaParser +||oCWebMParserClient +||oCWebMListParser +||oCWebMTracksParserParser for WebM Tracks element +||oCWebMVideoClientHelper class used to parse a Video element inside a TrackEntry element +||oCWebMWebVTTParser +||oCCue +||oCWebVttMediaParser +||oCWebVttSampleConverter +||oCOriginHandler +||\CTrickPlayHandler |oNxml ||oCXmlDeleter ||oCXmlNode ||oCRepresentationBaseXmlNode ||oCAdaptationSetXmlNodeAdaptationSetType specified in MPD ||\CRepresentationXmlNodeRepresentationType in MPD -|oCWidevineSignerSigner credential for Widevine license server -|oCWidevineEncryptionParamsWidevine encryption parameters -|oCPlayreadyEncryptionParams -|oCRawKeyEncryptionParamsRaw key encryption parameters, i.e. with key parameters provided -||\CKeyPair -|oCEncryptionParamsEncryption parameters -||\CEncryptedStreamAttributesEncrypted stream information that is used to determine stream label -|| \COneOf -|oCWidevineDecryptionParamsWidevine decryption parameters -|oCRawKeyDecryptionParamsRaw key decryption parameters, i.e. with key parameters provided -||\CKeyPair -|oCDecryptionParamsDecryption parameters -|oCElement -|oCContentProtectionElement -|oCDashIopMpdNotifier -|oCMockMpdBuilder -|oCMockAdaptationSet -|oCMockRepresentation -|oCMockMpdNotifier -|oCMpdBuilderThis class generates DASH MPDs (Media Presentation Descriptions) -|oCAdaptationSet -|oCRepresentationStateChangeListener -|oCRepresentation -|oCMpdNotifier -|oCMpdOptionsDefines Mpd Options -|oCSegmentInfo -|oCSimpleMpdNotifier -|oCMpdNotifierFactory -|\CMpdWriter -\CBandwidthEstimator +|oCChunkingParamsChunking (segmentation) related parameters +|oCWidevineSignerSigner credential for Widevine license server +|oCWidevineEncryptionParamsWidevine encryption parameters +|oCPlayreadyEncryptionParams +|oCRawKeyEncryptionParamsRaw key encryption parameters, i.e. with key parameters provided +||\CKeyPair +|oCEncryptionParamsEncryption parameters +||\CEncryptedStreamAttributesEncrypted stream information that is used to determine stream label +|| \COneOf +|oCWidevineDecryptionParamsWidevine decryption parameters +|oCRawKeyDecryptionParamsRaw key decryption parameters, i.e. with key parameters provided +||\CKeyPair +|oCDecryptionParamsDecryption parameters +|oCMp4OutputParamsMP4 (ISO-BMFF) output related parameters +|oCElement +|oCContentProtectionElement +|oCDashIopMpdNotifier +|oCMockMpdBuilder +|oCMockAdaptationSet +|oCMockRepresentation +|oCMockMpdNotifier +|oCMpdBuilderThis class generates DASH MPDs (Media Presentation Descriptions) +|oCAdaptationSet +|oCRepresentationStateChangeListener +|oCRepresentation +|oCMpdNotifier +|oCMpdOptionsDefines Mpd Options +|oCSegmentInfo +|oCSimpleMpdNotifier +|oCMpdParamsDASH MPD related parameters +|oCMpdNotifierFactory +|\CMpdWriter +\CBandwidthEstimator diff --git a/docs/classes.html b/docs/classes.html index 9c06f16803..c37d2d4435 100644 --- a/docs/classes.html +++ b/docs/classes.html @@ -89,91 +89,91 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
A | B | C | D | E | F | H | I | K | L | M | N | O | P | R | S | T | V | W | X
- - + + + - - - + + + + + - - + + + + - - - - - - - - - + + + + + + + - - - + + + + + - - - - - + + + + - - + + + - - - + + + + + - - - - - - - - - - - + + + + + + + + + + - - - - - + + + + - - - - + + + + - - - - + - - + + + + @@ -182,7 +182,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 cdb722561e..0bab288f45 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');
  A  
-
DecodingTimeToSample (shaka::media::mp4)   RawKeyEncryptionParams::KeyPair (shaka)   PlayreadyEncryptionParams (shaka)   TrackExtends (shaka::media::mp4)   
DecryptConfig (shaka::media)   RawKeyDecryptionParams::KeyPair (shaka)   PlayReadyKeySource (shaka::media)   TrackFragment (shaka::media::mp4)   
AACAudioSpecificConfig (shaka::media)   DecryptionParams (shaka)   KeySource (shaka::media)   PrevSampleData (shaka::media::wvm)   TrackFragmentDecodeTime (shaka::media::mp4)   
DecodingTimeToSample (shaka::media::mp4)   RawKeyEncryptionParams::KeyPair (shaka)   PesPacketGenerator (shaka::media::mp2t)   Track (shaka::media::mp4)   
DecryptConfig (shaka::media)   RawKeyDecryptionParams::KeyPair (shaka)   PixelAspectRatio (shaka::media::mp4)   TrackEncryption (shaka::media::mp4)   
AACAudioSpecificConfig (shaka::media)   DecryptionParams (shaka)   KeySource (shaka::media)   PlayreadyEncryptionParams (shaka)   TrackExtends (shaka::media::mp4)   
AacProgramMapTableWriter (shaka::media::mp2t)   DecryptorSource (shaka::media)   
  L  
-
PrivFrame (shaka::media::mp4)   TrackFragmentHeader (shaka::media::mp4)   
AC3Specific (shaka::media::mp4)   Demuxer (shaka::media)   ProducerConsumerQueue (shaka::media)   TrackFragmentRun (shaka::media::mp4)   
AdaptationSet (shaka)   DemuxStreamIdMediaSample (shaka::media::wvm)   Language (shaka::media::mp4)   ProgramMapTableWriter (shaka::media::mp2t)   TrackHeader (shaka::media::mp4)   
AdaptationSetXmlNode (shaka::xml)   DTSSpecific (shaka::media::mp4)   LibcryptoThreading (shaka::media)   ProgressListener (shaka::media)   TrackRunIterator (shaka::media::mp4)   
PlayReadyKeySource (shaka::media)   TrackFragment (shaka::media::mp4)   
AC3Specific (shaka::media::mp4)   Demuxer (shaka::media)   PrevSampleData (shaka::media::wvm)   TrackFragmentDecodeTime (shaka::media::mp4)   
AdaptationSet (shaka)   DemuxStreamIdMediaSample (shaka::media::wvm)   Language (shaka::media::mp4)   PrivFrame (shaka::media::mp4)   TrackFragmentHeader (shaka::media::mp4)   
AdaptationSetXmlNode (shaka::xml)   DTSSpecific (shaka::media::mp4)   LibcryptoThreading (shaka::media)   ProducerConsumerQueue (shaka::media)   TrackFragmentRun (shaka::media::mp4)   
AdtsHeader (shaka::media::mp2t)   
  E  
-
H265SliceHeader::LongTermPicsInfo (shaka::media)   ProtectionSchemeInfo (shaka::media::mp4)   TracksBuilder (shaka::media)   
H265SliceHeader::LongTermPicsInfo (shaka::media)   ProgramMapTableWriter (shaka::media::mp2t)   TrackHeader (shaka::media::mp4)   
AesCbcDecryptor (shaka::media)   
  M  
-
ProtectionSystemSpecificHeader (shaka::media::mp4)   TrickPlayHandler (shaka::media)   
AesCbcEncryptor (shaka::media)   EC3Specific (shaka::media::mp4)   ProtectionSystemSpecificInfo (shaka::media)   TsMuxer (shaka::media::mp2t)   
AesCryptor (shaka::media)   Edit (shaka::media::mp4)   Media (shaka::media::mp4)   
  R  
+
ProgressListener (shaka::media)   TrackRunIterator (shaka::media::mp4)   
AesCbcEncryptor (shaka::media)   EC3Specific (shaka::media::mp4)   ProtectionSchemeInfo (shaka::media::mp4)   TracksBuilder (shaka::media)   
AesCryptor (shaka::media)   Edit (shaka::media::mp4)   Media (shaka::media::mp4)   ProtectionSystemSpecificHeader (shaka::media::mp4)   TrickPlayHandler (shaka::media)   
AesCtrEncryptor (shaka::media)   EditList (shaka::media::mp4)   MediaData (shaka::media::mp4)   ProtectionSystemSpecificInfo (shaka::media)   TsMuxer (shaka::media::mp2t)   
AesEncryptor (shaka::media)   EditListEntry (shaka::media::mp4)   MediaEvent (shaka::media)   
  R  
TsPacket (shaka::media::mp2t)   
AesCtrEncryptor (shaka::media)   EditList (shaka::media::mp4)   MediaData (shaka::media::mp4)   TsSection (shaka::media::mp2t)   
AesEncryptor (shaka::media)   EditListEntry (shaka::media::mp4)   MediaEvent (shaka::media)   Range (shaka::media)   TsSectionPat (shaka::media::mp2t)   
AesPatternCryptor (shaka::media)   Element (shaka)   MediaHandler (shaka::media)   RawKeyDecryptionParams (shaka)   TsSectionPes (shaka::media::mp2t)   
AesRequestSigner (shaka::media)   ElementaryStreamDescriptor (shaka::media::mp4)   MediaHandlerTestBase (shaka::media)   RawKeyEncryptionParams (shaka)   TsSectionPmt (shaka::media::mp2t)   
AudioRollRecoveryEntry (shaka::media::mp4)   EncryptionParams::EncryptedStreamAttributes (shaka)   MediaHeader (shaka::media::mp4)   Representation (shaka)   TsSectionPsi (shaka::media::mp2t)   
AudioSampleEntry (shaka::media::mp4)   EncryptionConfig (shaka::media)   MediaInformation (shaka::media::mp4)   RepresentationBaseXmlNode (shaka::xml)   TsSegmenter (shaka::media::mp2t)   
AudioStreamInfo (shaka::media)   EncryptionHandler (shaka::media)   MediaParser (shaka::media)   RepresentationStateChangeListener (shaka)   TsWriter (shaka::media::mp2t)   
AudioTimestampHelper (shaka::media)   EncryptionKey (shaka::media)   MuxerListener::MediaRanges (shaka::media)   RepresentationXmlNode (shaka::xml)   TwoPassSingleSegmentSegmenter (shaka::media::webm)   
AVCDecoderConfigurationRecord (shaka::media)   EncryptionParams (shaka)   MediaSample (shaka::media)   RequestSigner (shaka::media)   
  V  
-
AesPatternCryptor (shaka::media)   Element (shaka)   MediaHandler (shaka::media)   TsSection (shaka::media::mp2t)   
AesRequestSigner (shaka::media)   ElementaryStreamDescriptor (shaka::media::mp4)   MediaHandlerTestBase (shaka::media)   Range (shaka::media)   TsSectionPat (shaka::media::mp2t)   
AudioRollRecoveryEntry (shaka::media::mp4)   EncryptionParams::EncryptedStreamAttributes (shaka)   MediaHeader (shaka::media::mp4)   RawKeyDecryptionParams (shaka)   TsSectionPes (shaka::media::mp2t)   
AudioSampleEntry (shaka::media::mp4)   EncryptionConfig (shaka::media)   MediaInformation (shaka::media::mp4)   RawKeyEncryptionParams (shaka)   TsSectionPmt (shaka::media::mp2t)   
AudioStreamInfo (shaka::media)   EncryptionHandler (shaka::media)   MediaParser (shaka::media)   Representation (shaka)   TsSectionPsi (shaka::media::mp2t)   
AudioTimestampHelper (shaka::media)   EncryptionKey (shaka::media)   MuxerListener::MediaRanges (shaka::media)   RepresentationBaseXmlNode (shaka::xml)   TsSegmenter (shaka::media::mp2t)   
AVCDecoderConfigurationRecord (shaka::media)   EncryptionParams (shaka)   MediaSample (shaka::media)   RepresentationStateChangeListener (shaka)   TsWriter (shaka::media::mp2t)   
  B  
-
ESDescriptor (shaka::media)   Metadata (shaka::media::mp4)   RsaPrivateKey (shaka::media)   
EsParser (shaka::media::mp2t)   MkvWriter (shaka::media)   RsaPublicKey (shaka::media)   VideoMediaHeader (shaka::media::mp4)   
BandwidthEstimator   EsParserAdts (shaka::media::mp2t)   MockAdaptationSet (shaka)   RsaRequestSigner (shaka::media)   VideoSampleEntry (shaka::media::mp4)   
BitReader (shaka::media)   EsParserH264 (shaka::media::mp2t)   MockMpdBuilder (shaka)   
  S  
+
ESDescriptor (shaka::media)   Metadata (shaka::media::mp4)   RepresentationXmlNode (shaka::xml)   TwoPassSingleSegmentSegmenter (shaka::media::webm)   
EsParser (shaka::media::mp2t)   MkvWriter (shaka::media)   RequestSigner (shaka::media)   
  V  
+
BandwidthEstimator   EsParserAdts (shaka::media::mp2t)   MockAdaptationSet (shaka)   RsaPrivateKey (shaka::media)   
BitReader (shaka::media)   EsParserH264 (shaka::media::mp2t)   MockMpdBuilder (shaka)   RsaPublicKey (shaka::media)   VideoMediaHeader (shaka::media::mp4)   
Box (shaka::media::mp4)   EsParserH265 (shaka::media::mp2t)   MockMpdNotifier (shaka)   RsaRequestSigner (shaka::media)   VideoSampleEntry (shaka::media::mp4)   
BoxBuffer (shaka::media::mp4)   EsParserH26x (shaka::media::mp2t)   MockMuxerListener (shaka::media)   
  S  
VideoSliceHeaderParser (shaka::media)   
Box (shaka::media::mp4)   EsParserH265 (shaka::media::mp2t)   MockMpdNotifier (shaka)   EsParserH26x::VideoSliceInfo (shaka::media::mp2t)   
BoxBuffer (shaka::media::mp4)   EsParserH26x (shaka::media::mp2t)   MockMuxerListener (shaka::media)   SampleAuxiliaryInformationOffset (shaka::media::mp4)   VideoStreamInfo (shaka::media)   
BoxReader (shaka::media::mp4)   
  F  
-
MockRepresentation (shaka)   SampleAuxiliaryInformationSize (shaka::media::mp4)   VideoStreamInfoParameters (shaka::media)   
BufferReader (shaka::media)   Movie (shaka::media::mp4)   SampleDescription (shaka::media::mp4)   VodMediaInfoDumpMuxerListener (shaka::media)   
BufferWriter (shaka::media)   FakeMediaHandler (shaka::media)   MovieExtends (shaka::media::mp4)   SampleEncryption (shaka::media::mp4)   VP8Parser (shaka::media)   
ByteQueue (shaka::media)   FileType (shaka::media::mp4)   MovieExtendsHeader (shaka::media::mp4)   SampleEncryptionEntry (shaka::media::mp4)   VP9Parser (shaka::media)   
MockRepresentation (shaka)   EsParserH26x::VideoSliceInfo (shaka::media::mp2t)   
BufferReader (shaka::media)   Movie (shaka::media::mp4)   SampleAuxiliaryInformationOffset (shaka::media::mp4)   VideoStreamInfo (shaka::media)   
BufferWriter (shaka::media)   FakeMediaHandler (shaka::media)   MovieExtends (shaka::media::mp4)   SampleAuxiliaryInformationSize (shaka::media::mp4)   VideoStreamInfoParameters (shaka::media)   
ByteQueue (shaka::media)   FileType (shaka::media::mp4)   MovieExtendsHeader (shaka::media::mp4)   SampleDescription (shaka::media::mp4)   VodMediaInfoDumpMuxerListener (shaka::media)   
  C  
-
FixedKeySource (shaka::media)   MovieFragment (shaka::media::mp4)   SampleGroupDescription (shaka::media::mp4)   VPCodecConfigurationRecord (shaka::media)   
Fragmenter (shaka::media::mp4)   MovieFragmentHeader (shaka::media::mp4)   SampleSize (shaka::media::mp4)   VPxFrameInfo (shaka::media)   
CencSampleEncryptionInfoEntry (shaka::media::mp4)   FullBox (shaka::media::mp4)   MovieHeader (shaka::media::mp4)   SampleTable (shaka::media::mp4)   VPxParser (shaka::media)   
FixedKeySource (shaka::media)   MovieFragment (shaka::media::mp4)   SampleEncryption (shaka::media::mp4)   VP8Parser (shaka::media)   
Fragmenter (shaka::media::mp4)   MovieFragmentHeader (shaka::media::mp4)   SampleEncryptionEntry (shaka::media::mp4)   VP9Parser (shaka::media)   
CencSampleEncryptionInfoEntry (shaka::media::mp4)   FullBox (shaka::media::mp4)   MovieHeader (shaka::media::mp4)   SampleGroupDescription (shaka::media::mp4)   VPCodecConfigurationRecord (shaka::media)   
ChunkInfo (shaka::media::mp4)   
  H  
-
Mp2tMediaParser (shaka::media::mp2t)   SampleToChunk (shaka::media::mp4)   VTTAdditionalTextBox (shaka::media::mp4)   
ChunkInfoIterator (shaka::media::mp4)   MP4MediaParser (shaka::media::mp4)   SampleToGroup (shaka::media::mp4)   VTTCueBox (shaka::media::mp4)   
ChunkingHandler (shaka::media)   H264ByteToUnitStreamConverter (shaka::media)   MP4Muxer (shaka::media::mp4)   SampleToGroupEntry (shaka::media::mp4)   VTTEmptyCueBox (shaka::media::mp4)   
ChunkingOptions (shaka::media)   H264DecRefPicMarking (shaka::media)   MpdBuilder (shaka)   SchemeInfo (shaka::media::mp4)   
  W  
+
Mp2tMediaParser (shaka::media::mp2t)   SampleSize (shaka::media::mp4)   VPxFrameInfo (shaka::media)   
ChunkInfoIterator (shaka::media::mp4)   MP4MediaParser (shaka::media::mp4)   SampleTable (shaka::media::mp4)   VPxParser (shaka::media)   
ChunkingHandler (shaka::media)   H264ByteToUnitStreamConverter (shaka::media)   MP4Muxer (shaka::media::mp4)   SampleToChunk (shaka::media::mp4)   VTTAdditionalTextBox (shaka::media::mp4)   
ChunkingParams (shaka)   H264DecRefPicMarking (shaka::media)   Mp4OutputParams (shaka)   SampleToGroup (shaka::media::mp4)   VTTCueBox (shaka::media::mp4)   
ChunkLargeOffset (shaka::media::mp4)   H264ModificationOfPicNum (shaka::media)   MpdBuilder (shaka)   SampleToGroupEntry (shaka::media::mp4)   VTTEmptyCueBox (shaka::media::mp4)   
ChunkOffset (shaka::media::mp4)   H264Parser (shaka::media)   MpdNotifier (shaka)   SchemeInfo (shaka::media::mp4)   
  W  
ChunkLargeOffset (shaka::media::mp4)   H264ModificationOfPicNum (shaka::media)   MpdNotifier (shaka)   SchemeType (shaka::media::mp4)   
ChunkOffset (shaka::media::mp4)   H264Parser (shaka::media)   MpdNotifierFactory (shaka)   SeekHead (shaka::media)   WebMAudioClient (shaka::media)   
ClosureThread (shaka::media)   H264Pps (shaka::media)   MpdNotifyMuxerListener (shaka::media)   Segmenter (shaka::media::mp4)   WebMClusterParser (shaka::media)   
Cluster (shaka::media)   H264ProgramMapTableWriter (shaka::media::mp2t)   MpdOptions (shaka)   Segmenter (shaka::media::webm)   WebMContentEncodingsClient (shaka::media)   
ClusterBuilder (shaka::media)   H264SEIMessage (shaka::media)   MpdWriter (shaka)   SegmentIndex (shaka::media::mp4)   WebMInfoParser (shaka::media)   
SegmentTestBase::ClusterParser (shaka::media)   H264SEIRecoveryPoint (shaka::media)   MultiSegmentSegmenter (shaka::media::mp4)   SegmentInfo (shaka::media)   WebMListParser (shaka::media)   
CodecConfiguration (shaka::media::mp4)   H264SliceHeader (shaka::media)   MultiSegmentSegmenter (shaka::media::webm)   SegmentInfo (shaka)   WebMMediaParser (shaka::media)   
CompactSampleSize (shaka::media::mp4)   H264Sps (shaka::media)   Muxer (shaka::media)   SegmentReference (shaka::media::mp4)   WebMMuxer (shaka::media::webm)   
CompositionOffset (shaka::media::mp4)   H264VideoSliceHeaderParser (shaka::media)   MuxerListener (shaka::media)   SegmentTestBase (shaka::media)   WebMParserClient (shaka::media)   
CompositionOffsetIterator (shaka::media::mp4)   H264WeightingFactors (shaka::media)   MuxerOptions (shaka::media)   SegmentType (shaka::media::mp4)   WebMTracksParser (shaka::media)   
CompositionTimeToSample (shaka::media::mp4)   H265ByteToUnitStreamConverter (shaka::media)   
  N  
+
ClosureThread (shaka::media)   H264Pps (shaka::media)   MpdNotifierFactory (shaka)   SchemeType (shaka::media::mp4)   
Cluster (shaka::media)   H264ProgramMapTableWriter (shaka::media::mp2t)   MpdNotifyMuxerListener (shaka::media)   SeekHead (shaka::media)   WebMAudioClient (shaka::media)   
ClusterBuilder (shaka::media)   H264SEIMessage (shaka::media)   MpdOptions (shaka)   Segmenter (shaka::media::mp4)   WebMClusterParser (shaka::media)   
SegmentTestBase::ClusterParser (shaka::media)   H264SEIRecoveryPoint (shaka::media)   MpdParams (shaka)   Segmenter (shaka::media::webm)   WebMContentEncodingsClient (shaka::media)   
CodecConfiguration (shaka::media::mp4)   H264SliceHeader (shaka::media)   MpdWriter (shaka)   SegmentIndex (shaka::media::mp4)   WebMInfoParser (shaka::media)   
CompactSampleSize (shaka::media::mp4)   H264Sps (shaka::media)   MultiSegmentSegmenter (shaka::media::mp4)   SegmentInfo (shaka::media)   WebMListParser (shaka::media)   
CompositionOffset (shaka::media::mp4)   H264VideoSliceHeaderParser (shaka::media)   MultiSegmentSegmenter (shaka::media::webm)   SegmentInfo (shaka)   WebMMediaParser (shaka::media)   
CompositionOffsetIterator (shaka::media::mp4)   H264WeightingFactors (shaka::media)   Muxer (shaka::media)   SegmentReference (shaka::media::mp4)   WebMMuxer (shaka::media::webm)   
CompositionTimeToSample (shaka::media::mp4)   H265ByteToUnitStreamConverter (shaka::media)   MuxerListener (shaka::media)   SegmentTestBase (shaka::media)   WebMParserClient (shaka::media)   
ContentEncoding (shaka::media)   H265Parser (shaka::media)   MuxerOptions (shaka::media)   SegmentType (shaka::media::mp4)   WebMTracksParser (shaka::media)   
ContentProtectionElement (shaka)   H265Pps (shaka::media)   
  N  
SimpleMpdNotifier (shaka)   WebMVideoClient (shaka::media)   
ContentEncoding (shaka::media)   H265Parser (shaka::media)   SingleSegmentSegmenter (shaka::media::mp4)   WebMWebVTTParser (shaka::media)   
ContentProtectionElement (shaka)   H265Pps (shaka::media)   Nalu (shaka::media)   SingleSegmentSegmenter (shaka::media::webm)   WebVTTConfigurationBox (shaka::media::mp4)   
ContinuityCounter (shaka::media::mp2t)   H265ReferencePictureListModifications (shaka::media)   NalUnitToByteStreamConverter (shaka::media)   SoundMediaHeader (shaka::media::mp4)   WebVttMediaParser (shaka::media)   
Cue (shaka::media)   H265ReferencePictureSet (shaka::media)   NaluReader (shaka::media)   StreamData (shaka::media)   WebVttSampleConverter (shaka::media)   
CueIDBox (shaka::media::mp4)   H265SliceHeader (shaka::media)   
  O  
+
ContinuityCounter (shaka::media::mp2t)   H265ReferencePictureListModifications (shaka::media)   SingleSegmentSegmenter (shaka::media::mp4)   WebMWebVTTParser (shaka::media)   
Cue (shaka::media)   H265ReferencePictureSet (shaka::media)   Nalu (shaka::media)   SingleSegmentSegmenter (shaka::media::webm)   WebVTTConfigurationBox (shaka::media::mp4)   
CueIDBox (shaka::media::mp4)   H265SliceHeader (shaka::media)   NalUnitToByteStreamConverter (shaka::media)   SoundMediaHeader (shaka::media::mp4)   WebVttMediaParser (shaka::media)   
CuePayloadBox (shaka::media::mp4)   H265Sps (shaka::media)   NaluReader (shaka::media)   StreamData (shaka::media)   WebVttSampleConverter (shaka::media)   
CueSettingsBox (shaka::media::mp4)   H265VideoSliceHeaderParser (shaka::media)   
  O  
StreamInfo (shaka::media)   WebVTTSourceLabelBox (shaka::media::mp4)   
CuePayloadBox (shaka::media::mp4)   H265Sps (shaka::media)   SubsampleEntry (shaka::media)   WidevineDecryptionParams (shaka)   
CueSettingsBox (shaka::media::mp4)   H265VideoSliceHeaderParser (shaka::media)   OffsetByteQueue (shaka::media)   SubtitleMediaHeader (shaka::media::mp4)   WidevineEncryptionParams (shaka)   
CueSourceIDBox (shaka::media::mp4)   H265VuiParameters (shaka::media)   EncryptionParams::EncryptedStreamAttributes::OneOf (shaka)   SyncSample (shaka::media::mp4)   WidevineKeySource (shaka::media)   
CueTimeBox (shaka::media::mp4)   H26xBitReader (shaka::media)   OnMediaEndParameters (shaka::media)   SyncSampleIterator (shaka::media::mp4)   WidevineSigner (shaka)   
CueSourceIDBox (shaka::media::mp4)   H265VuiParameters (shaka::media)   SubsampleEntry (shaka::media)   WidevineDecryptionParams (shaka)   
CueTimeBox (shaka::media::mp4)   H26xBitReader (shaka::media)   OffsetByteQueue (shaka::media)   SubtitleMediaHeader (shaka::media::mp4)   WidevineEncryptionParams (shaka)   
  D  
-
H26xByteToUnitStreamConverter (shaka::media)   OpusSpecific (shaka::media::mp4)   
  T  
+
H26xByteToUnitStreamConverter (shaka::media)   EncryptionParams::EncryptedStreamAttributes::OneOf (shaka)   SyncSample (shaka::media::mp4)   WidevineKeySource (shaka::media)   
HandlerReference (shaka::media::mp4)   OnMediaEndParameters (shaka::media)   SyncSampleIterator (shaka::media::mp4)   WidevineSigner (shaka)   
DashIopMpdNotifier (shaka)   HEVCDecoderConfigurationRecord (shaka::media)   OpusSpecific (shaka::media::mp4)   
  T  
WvmMediaParser (shaka::media::wvm)   
HandlerReference (shaka::media::mp4)   OriginalFormat (shaka::media::mp4)   
  X  
+
DataEntryUrl (shaka::media::mp4)   HlsNotifyMuxerListener (shaka::media)   OriginalFormat (shaka::media::mp4)   
  X  
DashIopMpdNotifier (shaka)   HEVCDecoderConfigurationRecord (shaka::media)   OriginHandler (shaka::media)   TextSample (shaka::media)   
DataEntryUrl (shaka::media::mp4)   HlsNotifyMuxerListener (shaka::media)   
  P  
-
TextSampleEntry (shaka::media::mp4)   XmlDeleter (shaka::xml)   
DataInformation (shaka::media::mp4)   HttpKeyFetcher (shaka::media)   TextStreamInfo (shaka::media)   XmlNode (shaka::xml)   
DataInformation (shaka::media::mp4)   HttpKeyFetcher (shaka::media)   OriginHandler (shaka::media)   TextSample (shaka::media)   
DataReference (shaka::media::mp4)   
  I  
-
PeriodInfo (shaka::media)   TextTrack (shaka::media)   
DecoderConfigurationRecord (shaka::media)   PesPacket (shaka::media::mp2t)   TextTrackConfig (shaka::media)   
DecodingTime (shaka::media::mp4)   ID3v2 (shaka::media::mp4)   PesPacketGenerator (shaka::media::mp2t)   Track (shaka::media::mp4)   
  P  
+
TextSampleEntry (shaka::media::mp4)   XmlDeleter (shaka::xml)   
DecoderConfigurationRecord (shaka::media)   TextStreamInfo (shaka::media)   XmlNode (shaka::xml)   
DecodingTime (shaka::media::mp4)   ID3v2 (shaka::media::mp4)   PeriodInfo (shaka::media)   TextTrack (shaka::media)   
DecodingTimeIterator (shaka::media::mp4)   
  K  
-
PixelAspectRatio (shaka::media::mp4)   TrackEncryption (shaka::media::mp4)   
PesPacket (shaka::media::mp2t)   TextTrackConfig (shaka::media)   
KeyFetcher (shaka::media)   
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 14c290a0dd..a4f9212ff5 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 1ded91c99c..bdd6f54b43 100644 --- a/docs/d0/d06/mpd__flags_8cc_source.html +++ b/docs/d0/d06/mpd__flags_8cc_source.html @@ -148,7 +148,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 2303f930cf..96f7b7c945 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 05a0a398a8..f4f343e7e2 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 9a4f983e5a..89d3011b68 100644 --- a/docs/d0/d0e/muxer__options_8h_source.html +++ b/docs/d0/d0e/muxer__options_8h_source.html @@ -100,47 +100,41 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
11 
12 #include <string>
13 
-
14 namespace shaka {
-
15 namespace media {
-
16 
-
18 struct MuxerOptions {
-
19  MuxerOptions();
-
20  ~MuxerOptions();
-
21 
-
27  int num_subsegments_per_sidx = 0;
-
28 
-
34  bool mp4_use_decoding_timestamp_in_timeline = false;
-
35 
-
39  std::string output_file_name;
+
14 #include "packager/media/public/mp4_output_params.h"
+
15 
+
16 namespace shaka {
+
17 namespace media {
+
18 
+
20 struct MuxerOptions {
+
21  MuxerOptions();
+
22  ~MuxerOptions();
+
23 
+
25  Mp4OutputParams mp4_params;
+
26 
+
30  std::string output_file_name;
+
31 
+
36  std::string segment_template;
+
37 
+
39  std::string temp_dir;
40 
-
45  std::string segment_template;
-
46 
-
48  std::string temp_dir;
-
49 
-
52  uint32_t bandwidth = 0;
-
53 
-
54  // MP4 only: include pssh in the encrypted stream. CMAF recommends carrying
-
55  // license acquisition information in the manifest and not duplicate the
-
56  // information in the stream. (This is not a hard requirement so we are still
-
57  // CMAF compatible even if pssh is included in the stream.)
-
58  bool mp4_include_pssh_in_stream = true;
-
59 };
-
60 
-
61 } // namespace media
-
62 } // namespace shaka
-
63 
-
64 #endif // MEDIA_BASE_MUXER_OPTIONS_H_
-
std::string output_file_name
Definition: muxer_options.h:39
-
bool mp4_use_decoding_timestamp_in_timeline
Definition: muxer_options.h:34
-
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
-
int num_subsegments_per_sidx
Definition: muxer_options.h:27
-
std::string temp_dir
Specify temporary directory for intermediate files.
Definition: muxer_options.h:48
-
uint32_t bandwidth
Definition: muxer_options.h:52
-
std::string segment_template
Definition: muxer_options.h:45
+
43  uint32_t bandwidth = 0;
+
44 };
+
45 
+
46 } // namespace media
+
47 } // namespace shaka
+
48 
+
49 #endif // MEDIA_BASE_MUXER_OPTIONS_H_
+
std::string output_file_name
Definition: muxer_options.h:30
+
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
+
MP4 (ISO-BMFF) output related parameters.
+
Mp4OutputParams mp4_params
MP4 (ISO-BMFF) specific parameters.
Definition: muxer_options.h:25
+
std::string temp_dir
Specify temporary directory for intermediate files.
Definition: muxer_options.h:39
+
uint32_t bandwidth
Definition: muxer_options.h:43
+
std::string segment_template
Definition: muxer_options.h:36
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 ad0e559c9b..6762d0026b 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 282addf4cd..804f8d3176 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/d16/structshaka_1_1RawKeyDecryptionParams-members.html b/docs/d0/d16/structshaka_1_1RawKeyDecryptionParams-members.html index 1c50f122de..5c746b0140 100644 --- a/docs/d0/d16/structshaka_1_1RawKeyDecryptionParams-members.html +++ b/docs/d0/d16/structshaka_1_1RawKeyDecryptionParams-members.html @@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); 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 1c5045d3f8..7d9638a167 100644 --- a/docs/d0/d17/structshaka_1_1media_1_1StreamData-members.html +++ b/docs/d0/d17/structshaka_1_1media_1_1StreamData-members.html @@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d1a/text__sample_8h_source.html b/docs/d0/d1a/text__sample_8h_source.html index 8484a526d7..d93e15f051 100644 --- a/docs/d0/d1a/text__sample_8h_source.html +++ b/docs/d0/d1a/text__sample_8h_source.html @@ -138,7 +138,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 9e30cae122..8bb07019c7 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 ccdaf4d780..1210467fd0 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 c2a1ce753d..9a51f73a78 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 a479bde8a2..dcfb704185 100644 --- a/docs/d0/d27/structshaka_1_1media_1_1MuxerOptions.html +++ b/docs/d0/d27/structshaka_1_1media_1_1MuxerOptions.html @@ -101,10 +101,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); - - - - + + + @@ -115,14 +115,11 @@ std::string  - -

Public Attributes

int num_subsegments_per_sidx = 0
 
bool mp4_use_decoding_timestamp_in_timeline = false
 
+Mp4OutputParams mp4_params
 MP4 (ISO-BMFF) specific parameters.
 
std::string output_file_name
 
std::string segment_template
 
uint32_t bandwidth = 0
 
-bool mp4_include_pssh_in_stream = true
 

Detailed Description

This structure contains the list of configuration options for Muxer.

-

Definition at line 18 of file muxer_options.h.

+

Definition at line 20 of file muxer_options.h.

Member Data Documentation

@@ -135,37 +132,7 @@ bool mp4_include_pssh_in_s

User-specified bit rate for the media stream. If zero, the muxer will attempt to estimate.

-

Definition at line 52 of file muxer_options.h.

- -
- - -
-
- - - - -
bool shaka::media::MuxerOptions::mp4_use_decoding_timestamp_in_timeline = false
-
-

For ISO BMFF only. Set the flag use_decoding_timestamp_in_timeline, which if set to true, use decoding timestamp instead of presentation timestamp in media timeline, which is needed to workaround a Chromium bug that decoding timestamp is used in buffered range, https://crbug.com/398130.

- -

Definition at line 34 of file muxer_options.h.

- -
-
- -
-
- - - - -
int shaka::media::MuxerOptions::num_subsegments_per_sidx = 0
-
-

For ISO BMFF only. Set the number of subsegments in each SIDX box. If 0, a single SIDX box is used per segment. If -1, no SIDX box is used. Otherwise, the Muxer will pack N subsegments in the root SIDX of the segment, with segment_duration/N/fragment_duration fragments per subsegment.

- -

Definition at line 27 of file muxer_options.h.

+

Definition at line 43 of file muxer_options.h.

@@ -180,7 +147,7 @@ bool mp4_include_pssh_in_s

Output file name. If segment_template is not specified, the Muxer generates this single output file with all segments concatenated; Otherwise, it specifies the init segment name.

-

Definition at line 39 of file muxer_options.h.

+

Definition at line 30 of file muxer_options.h.

@@ -195,7 +162,7 @@ bool mp4_include_pssh_in_s

Specify output segment name pattern for generated segments. It can furthermore be configured by using a subset of the SegmentTemplate identifiers: $RepresentationID$, $Number$, $Bandwidth$ and $Time. Optional.

-

Definition at line 45 of file muxer_options.h.

+

Definition at line 36 of file muxer_options.h.

@@ -206,7 +173,7 @@ bool mp4_include_pssh_in_s diff --git a/docs/d0/d30/mock__mpd__notifier_8h_source.html b/docs/d0/d30/mock__mpd__notifier_8h_source.html index 73a5ea1f3e..384790e8db 100644 --- a/docs/d0/d30/mock__mpd__notifier_8h_source.html +++ b/docs/d0/d30/mock__mpd__notifier_8h_source.html @@ -145,11 +145,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
virtual bool NotifyNewContainer(const MediaInfo &media_info, uint32_t *container_id)=0
virtual bool NotifyEncryptionUpdate(uint32_t container_id, const std::string &drm_uuid, const std::vector< uint8_t > &new_key_id, const std::vector< uint8_t > &new_pssh)=0
-
Defines Mpd Options.
Definition: mpd_options.h:23
+
Defines Mpd Options.
Definition: mpd_options.h:25
diff --git a/docs/d0/d32/mp2t__common_8h_source.html b/docs/d0/d32/mp2t__common_8h_source.html index 25b11f1501..557a9a724f 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 8f2fad3d0b..6809a28b04 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 bbc901a9ea..e9e3c44fe9 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/d37/unionshaka_1_1EncryptionParams_1_1EncryptedStreamAttributes_1_1OneOf.html b/docs/d0/d37/unionshaka_1_1EncryptionParams_1_1EncryptedStreamAttributes_1_1OneOf.html index 9b4df54f64..6090f806db 100644 --- a/docs/d0/d37/unionshaka_1_1EncryptionParams_1_1EncryptedStreamAttributes_1_1OneOf.html +++ b/docs/d0/d37/unionshaka_1_1EncryptionParams_1_1EncryptedStreamAttributes_1_1OneOf.html @@ -129,7 +129,7 @@ struct { 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 0a4d6b1dd3..d8a35b7952 100644 --- a/docs/d0/d3a/hls__notify__muxer__listener_8cc_source.html +++ b/docs/d0/d3a/hls__notify__muxer__listener_8cc_source.html @@ -289,7 +289,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
base::Optional< Range > index_range
Range of the index section of a segment.
-
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
@@ -301,7 +301,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 ccf0c77c6c..2cb1fe9619 100644 --- a/docs/d0/d3a/webm__constants_8h_source.html +++ b/docs/d0/d3a/webm__constants_8h_source.html @@ -333,7 +333,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 75e85151d3..41f7d3a1b4 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 3851ff6a3f..1831b41a64 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 6672fca183..88e12538c2 100644 --- a/docs/d0/d42/widevine__encryption__flags_8cc_source.html +++ b/docs/d0/d42/widevine__encryption__flags_8cc_source.html @@ -274,7 +274,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d43/structshaka_1_1Mp4OutputParams.html b/docs/d0/d43/structshaka_1_1Mp4OutputParams.html new file mode 100644 index 0000000000..6b5bfae82b --- /dev/null +++ b/docs/d0/d43/structshaka_1_1Mp4OutputParams.html @@ -0,0 +1,176 @@ + + + + + + +DASH Media Packaging SDK: shaka::Mp4OutputParams Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
DASH Media Packaging SDK +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
shaka::Mp4OutputParams Struct Reference
+
+
+ +

MP4 (ISO-BMFF) output related parameters. + More...

+ +

#include <mp4_output_params.h>

+ + + + + + + + +

+Public Attributes

+bool include_pssh_in_stream = true
 
+int num_subsegments_per_sidx = kSingleSidxPerSegment
 
bool use_decoding_timestamp_in_timeline = false
 
+ + + + + +

+Static Public Attributes

static constexpr int kNoSidxBoxInSegment = -1
 
+static constexpr int kSingleSidxPerSegment = 0
 
+

Detailed Description

+

MP4 (ISO-BMFF) output related parameters.

+ +

Definition at line 13 of file mp4_output_params.h.

+

Member Data Documentation

+ +
+
+ + + + + +
+ + + + +
constexpr int shaka::Mp4OutputParams::kNoSidxBoxInSegment = -1
+
+static
+
+

Set the number of subsegments in each SIDX box. If 0, a single SIDX box is used per segment. If -1, no SIDX box is used. Otherwise, the Muxer will pack N subsegments in the root SIDX of the segment, with segment_duration/N/subsegment_duration fragments per subsegment. This flag is ingored for DASH MPD with on-demand profile.

+ +

Definition at line 24 of file mp4_output_params.h.

+ +
+
+ +
+
+ + + + +
bool shaka::Mp4OutputParams::use_decoding_timestamp_in_timeline = false
+
+

Set the flag use_decoding_timestamp_in_timeline, which if set to true, use decoding timestamp instead of presentation timestamp in media timeline, which is needed to workaround a Chromium bug that decoding timestamp is used in buffered range, https://crbug.com/398130.

+ +

Definition at line 31 of file mp4_output_params.h.

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/d0/d46/fourccs_8h_source.html b/docs/d0/d46/fourccs_8h_source.html index 92e1c90ace..5d10c9f4a6 100644 --- a/docs/d0/d46/fourccs_8h_source.html +++ b/docs/d0/d46/fourccs_8h_source.html @@ -257,7 +257,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 cb27c0ce70..a0b22a62ea 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 28294b2cc8..e51a12bc8c 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 @@ -211,17 +211,17 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
void OnSampleDurationReady(uint32_t sample_duration) override
void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
-
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) override
static bool WriteMediaInfoToFile(const MediaInfo &media_info, const std::string &output_file_path)
void OnMediaEnd(const MediaRanges &media_ranges, float duration_seconds) override
void OnEncryptionInfoReady(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &default_key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info) override
- + 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 9e1e426065..b190e523ad 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 f7e9276229..185fe966c0 100644 --- a/docs/d0/d4c/structshaka_1_1media_1_1StreamData.html +++ b/docs/d0/d4c/structshaka_1_1media_1_1StreamData.html @@ -130,7 +130,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 0c2d2c2870..bdfb396ea0 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 c9dc3fabab..590883aaad 100644 --- a/docs/d0/d4e/libcrypto__threading_8cc_source.html +++ b/docs/d0/d4e/libcrypto__threading_8cc_source.html @@ -142,7 +142,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 0ea00c79b8..595bf4329e 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 @@ -132,7 +132,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 276fe01e4e..0d4d2d84bf 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/d5d/structshaka_1_1RawKeyEncryptionParams.html b/docs/d0/d5d/structshaka_1_1RawKeyEncryptionParams.html index 543d4b168c..7452e920d2 100644 --- a/docs/d0/d5d/structshaka_1_1RawKeyEncryptionParams.html +++ b/docs/d0/d5d/structshaka_1_1RawKeyEncryptionParams.html @@ -177,7 +177,7 @@ Public Attributes 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 b7ff058894..751dd29fff 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 6afaf20583..aa0fc37094 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 6862d6b3f9..2bbc724ebd 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 49be78089f..a4a7f24399 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/d9a/structshaka_1_1media_1_1mp4_1_1Movie.html b/docs/d0/d9a/structshaka_1_1media_1_1mp4_1_1Movie.html index ed20232cee..b5abaa5627 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 642d7a34d5..565448ec98 100644 --- a/docs/d0/da2/classshaka_1_1media_1_1AACAudioSpecificConfig.html +++ b/docs/d0/da2/classshaka_1_1media_1_1AACAudioSpecificConfig.html @@ -344,7 +344,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 a7be75e257..cb086b87e2 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 c3f9344359..4093be9f81 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 a6b1e4dba0..c614cce793 100644 --- a/docs/d0/da6/stream__descriptor_8cc_source.html +++ b/docs/d0/da6/stream__descriptor_8cc_source.html @@ -265,7 +265,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 dad8e28a57..08f8e37055 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 @@ -175,7 +175,7 @@ void set_progress_target 

Detailed Description

-

Segmenter for MP4 Dash Video-On-Demand profile. A single MP4 file with a single segment is created, i.e. with only one SIDX box. The generated media file can contain one or many subsegments with subsegment duration defined by MuxerOptions.segment_duration. A subsegment can contain one or many fragments with fragment duration defined by MuxerOptions.fragment_duration. The actual subsegment or fragment duration may not match the requested duration exactly, but will be approximated. That is, the Segmenter tries to end subsegment/fragment at the first sample with overall subsegment/fragment duration not smaller than defined duration and yet meet SAP requirements. SingleSegmentSegmenter ignores MuxerOptions.num_subsegments_per_sidx.

+

Segmenter for MP4 Dash Video-On-Demand profile. A single MP4 file with a single segment is created, i.e. with only one SIDX box. The generated media file can contain one or many subsegments with subsegment duration defined by MuxerOptions.segment_duration. A subsegment can contain one or many fragments with fragment duration defined by MuxerOptions.fragment_duration. The actual subsegment or fragment duration may not match the requested duration exactly, but will be approximated. That is, the Segmenter tries to end subsegment/fragment at the first sample with overall subsegment/fragment duration not smaller than defined duration and yet meet SAP requirements. SingleSegmentSegmenter ignores MuxerOptions.num_subsegments_per_sidx.

Definition at line 29 of file single_segment_segmenter.h.

Member Function Documentation

@@ -264,7 +264,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 248a84e85a..a38829dc13 100644 --- a/docs/d0/dac/classshaka_1_1media_1_1EncryptionHandler-members.html +++ b/docs/d0/dac/classshaka_1_1media_1_1EncryptionHandler-members.html @@ -122,7 +122,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 99da7de478..e5c50cf4a6 100644 --- a/docs/d0/dac/classshaka_1_1media_1_1FixedKeySource.html +++ b/docs/d0/dac/classshaka_1_1media_1_1FixedKeySource.html @@ -391,7 +391,7 @@ Static Public Member Functions 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 5510c5490b..2628fd6fe4 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 @@ -124,7 +124,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 85e83e58c4..36d024e084 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 227487ca42..92f0848779 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 0a15689383..66474f0783 100644 --- a/docs/d0/dc8/classshaka_1_1xml_1_1AdaptationSetXmlNode-members.html +++ b/docs/d0/dc8/classshaka_1_1xml_1_1AdaptationSetXmlNode-members.html @@ -116,7 +116,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 64cb61569f..07ba3cbdd1 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 64a74da9bf..03028d4085 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 7d16532a2e..fd7f8ed8a7 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 0017e68f1a..3a166626a3 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 c9b11236f4..b8da196e35 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 fca150b737..68a1a4e402 100644 --- a/docs/d0/dee/segmenter__test__base_8h_source.html +++ b/docs/d0/dee/segmenter__test__base_8h_source.html @@ -201,7 +201,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
Abstract class holds stream information.
Definition: stream_info.h:57
void CreateAndInitializeSegmenter(const MuxerOptions &options, StreamInfo *info, std::unique_ptr< webm::Segmenter > *result) const
Creates a Segmenter of the given type and initializes it.
-
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
std::string OutputFileName() const
Gets the file name of the current output file.
VideoStreamInfo * CreateVideoStreamInfo(uint32_t time_scale) const
Creates a video stream info object for testing.
std::shared_ptr< MediaSample > CreateSample(KeyFrameFlag key_frame_flag, uint64_t duration, SideDataFlag side_data_flag)
Creates a new media sample.
@@ -213,7 +213,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 8a5ff97fd0..791e17a356 100644 --- a/docs/d0/df3/packager__util_8cc_source.html +++ b/docs/d0/df3/packager__util_8cc_source.html @@ -115,26 +115,26 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
26 namespace media {
27 namespace {
28 
-
29 } // namespace
-
30 
-
31 std::unique_ptr<RequestSigner> CreateSigner(const WidevineSigner& signer) {
-
32  std::unique_ptr<RequestSigner> request_signer;
-
33  switch (signer.signing_key_type) {
-
34  case WidevineSigner::SigningKeyType::kAes:
-
35  request_signer.reset(AesRequestSigner::CreateSigner(
-
36  signer.signer_name, signer.aes.key, signer.aes.iv));
-
37  break;
-
38  case WidevineSigner::SigningKeyType::kRsa:
-
39  request_signer.reset(
-
40  RsaRequestSigner::CreateSigner(signer.signer_name, signer.rsa.key));
+
29 std::unique_ptr<RequestSigner> CreateSigner(const WidevineSigner& signer) {
+
30  std::unique_ptr<RequestSigner> request_signer;
+
31  switch (signer.signing_key_type) {
+
32  case WidevineSigner::SigningKeyType::kAes:
+
33  request_signer.reset(AesRequestSigner::CreateSigner(
+
34  signer.signer_name, signer.aes.key, signer.aes.iv));
+
35  break;
+
36  case WidevineSigner::SigningKeyType::kRsa:
+
37  request_signer.reset(
+
38  RsaRequestSigner::CreateSigner(signer.signer_name, signer.rsa.key));
+
39  break;
+
40  case WidevineSigner::SigningKeyType::kNone:
41  break;
-
42  case WidevineSigner::SigningKeyType::kNone:
-
43  break;
-
44  }
-
45  if (!request_signer)
-
46  LOG(ERROR) << "Failed to create the signer object.";
-
47  return request_signer;
-
48 }
+
42  }
+
43  if (!request_signer)
+
44  LOG(ERROR) << "Failed to create the signer object.";
+
45  return request_signer;
+
46 }
+
47 
+
48 } // namespace
49 
50 std::unique_ptr<KeySource> CreateEncryptionKeySource(
51  FourCC protection_scheme,
@@ -260,68 +260,38 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
171  return decryption_key_source;
172 }
173 
-
174 ChunkingOptions GetChunkingOptions(const ChunkingParams& chunking_params) {
-
175  ChunkingOptions chunking_options;
-
176  chunking_options.segment_duration_in_seconds =
-
177  chunking_params.segment_duration_in_seconds;
-
178  chunking_options.subsegment_duration_in_seconds =
-
179  chunking_params.subsegment_duration_in_seconds;
-
180  chunking_options.segment_sap_aligned = chunking_params.segment_sap_aligned;
-
181  chunking_options.subsegment_sap_aligned =
-
182  chunking_params.subsegment_sap_aligned;
-
183  return chunking_options;
+
174 MpdOptions GetMpdOptions(bool on_demand_profile, const MpdParams& mpd_params) {
+
175  MpdOptions mpd_options;
+
176  mpd_options.dash_profile =
+
177  on_demand_profile ? DashProfile::kOnDemand : DashProfile::kLive;
+
178  mpd_options.mpd_type =
+
179  (on_demand_profile || mpd_params.generate_static_live_mpd)
+
180  ? MpdType::kStatic
+
181  : MpdType::kDynamic;
+
182  mpd_options.mpd_params = mpd_params;
+
183  return mpd_options;
184 }
185 
-
186 MuxerOptions GetMuxerOptions(const std::string& temp_dir,
-
187  const Mp4OutputParams& mp4_params) {
-
188  MuxerOptions muxer_options;
-
189  muxer_options.num_subsegments_per_sidx = mp4_params.num_subsegments_per_sidx;
-
190  muxer_options.mp4_include_pssh_in_stream = mp4_params.include_pssh_in_stream;
-
191  muxer_options.mp4_use_decoding_timestamp_in_timeline =
-
192  mp4_params.use_decoding_timestamp_in_timeline;
-
193  muxer_options.temp_dir = temp_dir;
-
194  return muxer_options;
-
195 }
-
196 
-
197 MpdOptions GetMpdOptions(bool on_demand_profile, const MpdParams& mpd_params) {
-
198  MpdOptions mpd_options;
-
199  mpd_options.dash_profile =
-
200  on_demand_profile ? DashProfile::kOnDemand : DashProfile::kLive;
-
201  mpd_options.mpd_type =
-
202  (on_demand_profile || mpd_params.generate_static_live_mpd)
-
203  ? MpdType::kStatic
-
204  : MpdType::kDynamic;
-
205  mpd_options.minimum_update_period = mpd_params.minimum_update_period;
-
206  mpd_options.min_buffer_time = mpd_params.min_buffer_time;
-
207  mpd_options.time_shift_buffer_depth = mpd_params.time_shift_buffer_depth;
-
208  mpd_options.suggested_presentation_delay =
-
209  mpd_params.suggested_presentation_delay;
-
210  mpd_options.default_language = mpd_params.default_language;
-
211  return mpd_options;
-
212 }
-
213 
-
214 Status ConnectHandlers(std::vector<std::shared_ptr<MediaHandler>>& handlers) {
-
215  size_t num_handlers = handlers.size();
-
216  Status status;
-
217  for (size_t i = 1; i < num_handlers; ++i) {
-
218  status.Update(handlers[i - 1]->AddHandler(handlers[i]));
-
219  }
-
220  return status;
-
221 }
-
222 
-
223 } // namespace media
-
224 } // namespace shaka
+
186 Status ConnectHandlers(std::vector<std::shared_ptr<MediaHandler>>& handlers) {
+
187  size_t num_handlers = handlers.size();
+
188  Status status;
+
189  for (size_t i = 1; i < num_handlers; ++i) {
+
190  status.Update(handlers[i - 1]->AddHandler(handlers[i]));
+
191  }
+
192  return status;
+
193 }
+
194 
+
195 } // namespace media
+
196 } // namespace shaka
static RsaRequestSigner * CreateSigner(const std::string &signer_name, const std::string &pkcs1_rsa_key)
static AesRequestSigner * CreateSigner(const std::string &signer_name, const std::vector< uint8_t > &aes_key, const std::vector< uint8_t > &iv)
void SetCaFile(const std::string &ca_file)
Sets the Certificate Authority file for validating self-signed certificates.
- -
double segment_duration_in_seconds
Segment duration in seconds.
static std::unique_ptr< FixedKeySource > Create(const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &key, const std::vector< uint8_t > &pssh_boxes, const std::vector< uint8_t > &iv)
static std::unique_ptr< PlayReadyKeySource > CreateFromKeyAndKeyId(const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &key)
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 b21619509d..da6bcbf537 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/d03/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges.html b/docs/d1/d03/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges.html index 3869e76912..afc6230354 100644 --- a/docs/d1/d03/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges.html +++ b/docs/d1/d03/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges.html @@ -135,7 +135,7 @@ base::Optional< diff --git a/docs/d1/d0a/classshaka_1_1media_1_1MkvWriter.html b/docs/d1/d0a/classshaka_1_1media_1_1MkvWriter.html index 9f9342a1c5..0882fdb5ca 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 @@ File * file () diff --git a/docs/d1/d0a/structshaka_1_1media_1_1H264Sps.html b/docs/d1/d0a/structshaka_1_1media_1_1H264Sps.html index 560c7258ac..9e68a466e6 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 5a357644da..7a1b6c3fcd 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 a5b4e04706..40df8848cb 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/d12/range_8h_source.html b/docs/d1/d12/range_8h_source.html index 115c90eb76..9fa63ea111 100644 --- a/docs/d1/d12/range_8h_source.html +++ b/docs/d1/d12/range_8h_source.html @@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d17/structshaka_1_1WidevineDecryptionParams-members.html b/docs/d1/d17/structshaka_1_1WidevineDecryptionParams-members.html index d560cbeb10..53d7ef628d 100644 --- a/docs/d1/d17/structshaka_1_1WidevineDecryptionParams-members.html +++ b/docs/d1/d17/structshaka_1_1WidevineDecryptionParams-members.html @@ -98,7 +98,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 784d64edd6..bafba27627 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 @@ -279,7 +279,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 8df9b8864a..b7538b20c8 100644 --- a/docs/d1/d1d/muxer__flags_8cc_source.html +++ b/docs/d1/d1d/muxer__flags_8cc_source.html @@ -142,7 +142,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 fd962044b4..b1a1e62f1d 100644 --- a/docs/d1/d1f/classshaka_1_1media_1_1KeySource.html +++ b/docs/d1/d1f/classshaka_1_1media_1_1KeySource.html @@ -320,7 +320,7 @@ Public Member Functions 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 bc042912a8..952a69c397 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 a7b0c52f52..4bd9791483 100644 --- a/docs/d1/d25/classshaka_1_1media_1_1MediaHandlerTestBase-members.html +++ b/docs/d1/d25/classshaka_1_1media_1_1MediaHandlerTestBase-members.html @@ -107,7 +107,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 31e6912a27..b52ebaec16 100644 --- a/docs/d1/d27/key__fetcher_8h_source.html +++ b/docs/d1/d27/key__fetcher_8h_source.html @@ -125,7 +125,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 72b375fe4a..89dff11f0f 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 f0b516a923..ababad0480 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/d2c/structshaka_1_1media_1_1mp4_1_1DataReference-members.html b/docs/d1/d2c/structshaka_1_1media_1_1mp4_1_1DataReference-members.html index 4ffe71a77b..801557ee68 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 9f277526d5..4533776c71 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 f1fb9948ee..19acf2bf8d 100644 --- a/docs/d1/d2f/webvtt__media__parser_8cc_source.html +++ b/docs/d1/d2f/webvtt__media__parser_8cc_source.html @@ -408,7 +408,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 8767760bc1..28fb5de5d7 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 a01110df5e..ad64d348bd 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 3660d5cb1a..4d554e2c30 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/d36/classshaka_1_1media_1_1FakeMediaHandler.html b/docs/d1/d36/classshaka_1_1media_1_1FakeMediaHandler.html index 8852f71377..d3a41db38c 100644 --- a/docs/d1/d36/classshaka_1_1media_1_1FakeMediaHandler.html +++ b/docs/d1/d36/classshaka_1_1media_1_1FakeMediaHandler.html @@ -269,7 +269,7 @@ std::vector< std::unique_ptr
diff --git a/docs/d1/d37/es__parser__h264_8h_source.html b/docs/d1/d37/es__parser__h264_8h_source.html index 6f8291f306..9f512d162f 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 bcb66d37e3..55e0c4aed0 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 31a77b7198..d1a41ca616 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 02202bb40c..e258fe4e04 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 4e5b7c21a3..7a364485ac 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 ee95902ab3..8189404540 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 344fcb1828..19b0ed04e3 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/d4f/structshaka_1_1DecryptionParams.html b/docs/d1/d4f/structshaka_1_1DecryptionParams.html index 8c40b5dea4..22bb894135 100644 --- a/docs/d1/d4f/structshaka_1_1DecryptionParams.html +++ b/docs/d1/d4f/structshaka_1_1DecryptionParams.html @@ -136,7 +136,7 @@ Public Attributes 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 355f6beb6f..81ca35cb56 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 3bf1f2fcff..ecc218fa16 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 37a7e6c7da..313e2a029c 100644 --- a/docs/d1/d70/vp8__parser_8cc_source.html +++ b/docs/d1/d70/vp8__parser_8cc_source.html @@ -289,7 +289,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 e13a9e6f38..641a47ed39 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 43f5d01c6e..d5a321a07d 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 da2474a2da..6ecf5e39db 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 f479f49f8a..50839f9244 100644 --- a/docs/d1/d7d/webm__video__client_8cc_source.html +++ b/docs/d1/d7d/webm__video__client_8cc_source.html @@ -334,7 +334,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 f9c86dd8e0..3ca1500b5d 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 b12dc0ea47..7ed1a19bf5 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 7a5bf54b45..646ebf0258 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 13dec66f7c..d9e65e16e2 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 b2ee4b50b2..dd853183ed 100644 --- a/docs/d1/d8f/retired__flags_8h_source.html +++ b/docs/d1/d8f/retired__flags_8h_source.html @@ -102,7 +102,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 a726d9ce3b..14ec4b6c41 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/d95/structshaka_1_1WidevineEncryptionParams-members.html b/docs/d1/d95/structshaka_1_1WidevineEncryptionParams-members.html index 6a29f610a8..62e78242f8 100644 --- a/docs/d1/d95/structshaka_1_1WidevineEncryptionParams-members.html +++ b/docs/d1/d95/structshaka_1_1WidevineEncryptionParams-members.html @@ -102,7 +102,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 ca64f27fe9..3b3a79fc14 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 47b10afce3..1422422c20 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 5a501e14c1..1865351f39 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 a8d41953be..85d911454a 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 52421e9d6d..6d4c7508a5 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 ab1077d7b3..f9e8c80f20 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 8ce8bbd52e..6c96166205 100644 --- a/docs/d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html +++ b/docs/d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html @@ -359,7 +359,7 @@ uint8_t chroma_location 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 b1dfac5d82..cd2052a02d 100644 --- a/docs/d1/dad/classshaka_1_1media_1_1Demuxer-members.html +++ b/docs/d1/dad/classshaka_1_1media_1_1Demuxer-members.html @@ -129,7 +129,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 91719b1141..2bc5c7f305 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 ae1a2eb65a..817868b176 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 6557a36b97..bd1f7aa071 100644 --- a/docs/d1/dbe/classshaka_1_1media_1_1PlayReadyKeySource-members.html +++ b/docs/d1/dbe/classshaka_1_1media_1_1PlayReadyKeySource-members.html @@ -108,7 +108,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 08263145c8..5043359ef1 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 426e924da3..33ef5cb766 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 73741e4004..34850d23a1 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 f686841428..5df8d40c5b 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 af64392083..e90c06e37d 100644 --- a/docs/d1/de2/classshaka_1_1media_1_1VideoStreamInfo-members.html +++ b/docs/d1/de2/classshaka_1_1media_1_1VideoStreamInfo-members.html @@ -139,7 +139,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 a8485d42e4..9971729a27 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 2a1dd9e615..9c9645983b 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 68ab6b750d..8ab72333a6 100644 --- a/docs/d1/de7/classshaka_1_1xml_1_1AdaptationSetXmlNode.html +++ b/docs/d1/de7/classshaka_1_1xml_1_1AdaptationSetXmlNode.html @@ -201,7 +201,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 f629fc9588..bf2521ca3c 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 78a8be6503..679bf8ad49 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 7c69ce1c0d..76db105e9e 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 96f50ae476..96bd7b5292 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 65c8a9f28b..1d68d50b65 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 a68c7c88e9..d1b6a79c33 100644 --- a/docs/d1/df3/structshaka_1_1MpdOptions.html +++ b/docs/d1/df3/structshaka_1_1MpdOptions.html @@ -107,33 +107,21 @@ DashProfile dash_profile MpdType mpd_type = MpdType::kStatic   - -double minimum_update_period = 0 -  - -double min_buffer_time = 2.0 -  - -double time_shift_buffer_depth = 0 -  - -double suggested_presentation_delay = 0 -  - -std::string default_language -  + +MpdParams mpd_params

Detailed Description

Defines Mpd Options.

-

Definition at line 23 of file mpd_options.h.

+

Definition at line 25 of file mpd_options.h.


The documentation for this struct was generated from the following file: diff --git a/docs/d1/df5/nalu__reader_8cc_source.html b/docs/d1/df5/nalu__reader_8cc_source.html index 6f673a7499..85753e97e3 100644 --- a/docs/d1/df5/nalu__reader_8cc_source.html +++ b/docs/d1/df5/nalu__reader_8cc_source.html @@ -574,7 +574,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 5cc1a5d315..b6a61be771 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 ce8bb0c525..eaba9fc1bd 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 96a018a46f..4b2bae7e53 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 f1616b48d4..72c0a7c83f 100644 --- a/docs/d2/d0f/classshaka_1_1MpdBuilder-members.html +++ b/docs/d2/d0f/classshaka_1_1MpdBuilder-members.html @@ -105,7 +105,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 5b12939d13..20a0b2575e 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 f8b3f05781..b87c66897e 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 cf68f33e79..2f9e9aea6f 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/db/d02/structshaka_1_1media_1_1ChunkingOptions.html b/docs/d2/d1f/structshaka_1_1ChunkingParams.html similarity index 65% rename from docs/db/d02/structshaka_1_1media_1_1ChunkingOptions.html rename to docs/d2/d1f/structshaka_1_1ChunkingParams.html index b92108d53e..ed8112f70e 100644 --- a/docs/db/d02/structshaka_1_1media_1_1ChunkingOptions.html +++ b/docs/d2/d1f/structshaka_1_1ChunkingParams.html @@ -4,7 +4,7 @@ -DASH Media Packaging SDK: shaka::media::ChunkingOptions Struct Reference +DASH Media Packaging SDK: shaka::ChunkingParams Struct Reference @@ -82,87 +82,93 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
shaka::media::ChunkingOptions Struct Reference
+
shaka::ChunkingParams Struct Reference
+ +

Chunking (segmentation) related parameters. + More...

+ +

#include <chunking_params.h>

- - - - - - - - - + + + + + + + + +

Public Attributes

-double segment_duration_in_seconds = 0
 Segment duration in seconds.
 
double subsegment_duration_in_seconds = 0
 
bool segment_sap_aligned = true
 
bool subsegment_sap_aligned = true
 
+double segment_duration_in_seconds = 0
 Segment duration in seconds.
 
double subsegment_duration_in_seconds = 0
 
bool segment_sap_aligned = true
 
bool subsegment_sap_aligned = true
 

Detailed Description

-
-

Definition at line 17 of file chunking_handler.h.

+

Chunking (segmentation) related parameters.

+ +

Definition at line 13 of file chunking_params.h.

Member Data Documentation

- +
- +
bool shaka::media::ChunkingOptions::segment_sap_aligned = truebool shaka::ChunkingParams::segment_sap_aligned = true

Force segments to begin with stream access points. Actual segment duration may not be exactly what is specified by segment_duration.

-

Definition at line 27 of file chunking_handler.h.

+

Definition at line 22 of file chunking_params.h.

- +
- +
double shaka::media::ChunkingOptions::subsegment_duration_in_seconds = 0double shaka::ChunkingParams::subsegment_duration_in_seconds = 0

Subsegment duration in seconds. Should not be larger than the segment duration.

-

Definition at line 23 of file chunking_handler.h.

+

Definition at line 18 of file chunking_params.h.

- +
- +
bool shaka::media::ChunkingOptions::subsegment_sap_aligned = truebool shaka::ChunkingParams::subsegment_sap_aligned = true
-

Force subsegments to begin with stream access points. Actual subsegment duration may not be exactly what is specified by subsegment_duration. Setting to true implies that segment_sap_aligned is true as well.

+

Force subsegments to begin with stream access points. Actual subsegment duration may not be exactly what is specified by subsegment_duration. Setting to subsegment_sap_aligned to true but segment_sap_aligned to false is not allowed.

-

Definition at line 32 of file chunking_handler.h.

+

Definition at line 27 of file chunking_params.h.


The documentation for this struct was generated from the following file:
diff --git a/docs/d2/d24/packager__util_8h_source.html b/docs/d2/d24/packager__util_8h_source.html index adbeb4a473..5fec684315 100644 --- a/docs/d2/d24/packager__util_8h_source.html +++ b/docs/d2/d24/packager__util_8h_source.html @@ -99,53 +99,42 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
10 #define PACKAGER_APP_PACKAGER_UTIL_H_
11 
12 #include <memory>
-
13 
-
14 #include "packager/base/optional.h"
+
13 #include <vector>
+
14 
15 #include "packager/media/base/fourccs.h"
-
16 #include "packager/packager.h"
-
17 
-
18 namespace shaka {
-
19 
-
20 // TODO(kqyang): Should we consolidate XxxParams and XxxOptions?
-
21 struct ChunkingParams;
-
22 struct DecryptionParams;
-
23 struct EncryptionParams;
-
24 struct Mp4OutputParams;
-
25 struct MpdOptions;
-
26 struct MpdParams;
-
27 
-
28 namespace media {
+
16 
+
17 namespace shaka {
+
18 
+
19 class Status;
+
20 struct DecryptionParams;
+
21 struct EncryptionParams;
+
22 struct MpdOptions;
+
23 struct MpdParams;
+
24 
+
25 namespace media {
+
26 
+
27 class MediaHandler;
+
28 class KeySource;
29 
-
30 class MediaHandler;
-
31 class KeySource;
-
32 struct ChunkingOptions;
-
33 struct EncryptionOptions;
-
34 struct MuxerOptions;
-
35 
-
42 std::unique_ptr<KeySource> CreateEncryptionKeySource(
-
43  FourCC protection_scheme,
-
44  const EncryptionParams& encryption_params);
-
45 
-
50 std::unique_ptr<KeySource> CreateDecryptionKeySource(
-
51  const DecryptionParams& decryption_params);
-
52 
-
54 ChunkingOptions GetChunkingOptions(const ChunkingParams& chunking_params);
+
36 std::unique_ptr<KeySource> CreateEncryptionKeySource(
+
37  FourCC protection_scheme,
+
38  const EncryptionParams& encryption_params);
+
39 
+
44 std::unique_ptr<KeySource> CreateDecryptionKeySource(
+
45  const DecryptionParams& decryption_params);
+
46 
+
48 MpdOptions GetMpdOptions(bool on_demand_profile, const MpdParams& mpd_params);
+
49 
+
54 Status ConnectHandlers(std::vector<std::shared_ptr<MediaHandler>>& handlers);
55 
-
57 MuxerOptions GetMuxerOptions(const std::string& temp_dir,
-
58  const Mp4OutputParams& mp4_params);
-
59 
-
61 MpdOptions GetMpdOptions(bool on_demand_profile, const MpdParams& mpd_params);
-
62 
-
67 Status ConnectHandlers(std::vector<std::shared_ptr<MediaHandler>>& handlers);
-
68 
-
69 } // namespace media
-
70 } // namespace shaka
-
71 
-
72 #endif // PACKAGER_APP_PACKAGER_UTIL_H_
+
56 } // namespace media
+
57 } // namespace shaka
+
58 
+
59 #endif // PACKAGER_APP_PACKAGER_UTIL_H_
diff --git a/docs/d2/d30/tracks__builder_8cc_source.html b/docs/d2/d30/tracks__builder_8cc_source.html index 09b6fac49c..fe5c036f1d 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 0c1682ac3b..cdaf4aa428 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 6c4e2ea6a5..c109082a08 100644 --- a/docs/d2/d35/classshaka_1_1media_1_1WidevineKeySource-members.html +++ b/docs/d2/d35/classshaka_1_1media_1_1WidevineKeySource-members.html @@ -109,7 +109,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 3b617e6ff0..4be9099a0d 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 1ed4b73cf9..8133910aa8 100644 --- a/docs/d2/d45/program__map__table__writer_8cc_source.html +++ b/docs/d2/d45/program__map__table__writer_8cc_source.html @@ -495,7 +495,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 b1b2f52e47..aa8f0ab7af 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 @@ -486,7 +486,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 45cd96922e..adbc1d98ae 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 d2ab10c675..1182cd713d 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 a3063a1af4..00a1d1e2f0 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 d5f0237f2c..e1e92de04c 100644 --- a/docs/d2/d5b/classshaka_1_1media_1_1KeySource-members.html +++ b/docs/d2/d5b/classshaka_1_1media_1_1KeySource-members.html @@ -102,7 +102,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 5d5fa6acdf..0611d9f6e1 100644 --- a/docs/d2/d5c/classshaka_1_1SimpleMpdNotifier-members.html +++ b/docs/d2/d5c/classshaka_1_1SimpleMpdNotifier-members.html @@ -103,14 +103,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); NotifyNewContainer(const MediaInfo &media_info, uint32_t *id) overrideshaka::SimpleMpdNotifiervirtual NotifyNewSegment(uint32_t id, uint64_t start_time, uint64_t duration, uint64_t size) overrideshaka::SimpleMpdNotifiervirtual NotifySampleDuration(uint32_t container_id, uint32_t sample_duration) overrideshaka::SimpleMpdNotifiervirtual - SimpleMpdNotifier(const MpdOptions &mpd_options, const std::vector< std::string > &base_urls, const std::string &output_path) (defined in shaka::SimpleMpdNotifier)shaka::SimpleMpdNotifier + SimpleMpdNotifier(const MpdOptions &mpd_options) (defined in shaka::SimpleMpdNotifier)shaka::SimpleMpdNotifierexplicit SimpleMpdNotifierTest (defined in shaka::SimpleMpdNotifier)shaka::SimpleMpdNotifierfriend ~MpdNotifier() (defined in shaka::MpdNotifier)shaka::MpdNotifierinlinevirtual ~SimpleMpdNotifier() override (defined in shaka::SimpleMpdNotifier)shaka::SimpleMpdNotifier 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 0f109813f3..2b64d91ba5 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 cf588d45a8..b4f4e5f75a 100644 --- a/docs/d2/d62/simple__mpd__notifier_8h_source.html +++ b/docs/d2/d62/simple__mpd__notifier_8h_source.html @@ -117,74 +117,72 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
28 
32  public:
-
33  SimpleMpdNotifier(const MpdOptions& mpd_options,
-
34  const std::vector<std::string>& base_urls,
-
35  const std::string& output_path);
-
36  ~SimpleMpdNotifier() override;
-
37 
-
40  bool Init() override;
-
41  bool NotifyNewContainer(const MediaInfo& media_info, uint32_t* id) override;
-
42  bool NotifySampleDuration(uint32_t container_id,
-
43  uint32_t sample_duration) override;
-
44  bool NotifyNewSegment(uint32_t id,
-
45  uint64_t start_time,
-
46  uint64_t duration,
-
47  uint64_t size) override;
-
48  bool NotifyEncryptionUpdate(uint32_t container_id,
-
49  const std::string& drm_uuid,
-
50  const std::vector<uint8_t>& new_key_id,
-
51  const std::vector<uint8_t>& new_pssh) override;
- -
53  uint32_t id,
-
54  const ContentProtectionElement& content_protection_element) override;
-
55  bool Flush() override;
-
57 
-
58  private:
-
59  friend class SimpleMpdNotifierTest;
-
60 
-
61  // Testing only method. Returns a pointer to MpdBuilder.
-
62  MpdBuilder* MpdBuilderForTesting() const {
-
63  return mpd_builder_.get();
-
64  }
-
65 
-
66  // Testing only method. Sets mpd_builder_.
-
67  void SetMpdBuilderForTesting(std::unique_ptr<MpdBuilder> mpd_builder) {
-
68  mpd_builder_ = std::move(mpd_builder);
-
69  }
-
70 
-
71  // MPD output path.
-
72  std::string output_path_;
-
73  std::unique_ptr<MpdBuilder> mpd_builder_;
-
74  base::Lock lock_;
-
75 
-
76  typedef std::map<std::string, AdaptationSet*> AdaptationSetMap;
-
77  AdaptationSetMap adaptation_set_map_;
-
78 
-
79  typedef std::map<uint32_t, Representation*> RepresentationMap;
-
80  RepresentationMap representation_map_;
-
81 
-
82  DISALLOW_COPY_AND_ASSIGN(SimpleMpdNotifier);
-
83 };
+
33  explicit SimpleMpdNotifier(const MpdOptions& mpd_options);
+
34  ~SimpleMpdNotifier() override;
+
35 
+
38  bool Init() override;
+
39  bool NotifyNewContainer(const MediaInfo& media_info, uint32_t* id) override;
+
40  bool NotifySampleDuration(uint32_t container_id,
+
41  uint32_t sample_duration) override;
+
42  bool NotifyNewSegment(uint32_t id,
+
43  uint64_t start_time,
+
44  uint64_t duration,
+
45  uint64_t size) override;
+
46  bool NotifyEncryptionUpdate(uint32_t container_id,
+
47  const std::string& drm_uuid,
+
48  const std::vector<uint8_t>& new_key_id,
+
49  const std::vector<uint8_t>& new_pssh) override;
+ +
51  uint32_t id,
+
52  const ContentProtectionElement& content_protection_element) override;
+
53  bool Flush() override;
+
55 
+
56  private:
+
57  friend class SimpleMpdNotifierTest;
+
58 
+
59  // Testing only method. Returns a pointer to MpdBuilder.
+
60  MpdBuilder* MpdBuilderForTesting() const {
+
61  return mpd_builder_.get();
+
62  }
+
63 
+
64  // Testing only method. Sets mpd_builder_.
+
65  void SetMpdBuilderForTesting(std::unique_ptr<MpdBuilder> mpd_builder) {
+
66  mpd_builder_ = std::move(mpd_builder);
+
67  }
+
68 
+
69  // MPD output path.
+
70  std::string output_path_;
+
71  std::unique_ptr<MpdBuilder> mpd_builder_;
+
72  base::Lock lock_;
+
73 
+
74  typedef std::map<std::string, AdaptationSet*> AdaptationSetMap;
+
75  AdaptationSetMap adaptation_set_map_;
+
76 
+
77  typedef std::map<uint32_t, Representation*> RepresentationMap;
+
78  RepresentationMap representation_map_;
+
79 
+
80  DISALLOW_COPY_AND_ASSIGN(SimpleMpdNotifier);
+
81 };
+
82 
+
83 } // namespace shaka
84 
-
85 } // namespace shaka
-
86 
-
87 #endif // MPD_BASE_SIMPLE_MPD_NOTIFIER_H_
- +
85 #endif // MPD_BASE_SIMPLE_MPD_NOTIFIER_H_
+
This class generates DASH MPDs (Media Presentation Descriptions).
Definition: mpd_builder.h:54
-
bool AddContentProtectionElement(uint32_t id, const ContentProtectionElement &content_protection_element) override
+
bool AddContentProtectionElement(uint32_t id, const ContentProtectionElement &content_protection_element) override
-
bool NotifyNewSegment(uint32_t id, uint64_t start_time, uint64_t duration, uint64_t size) override
- -
bool NotifySampleDuration(uint32_t container_id, uint32_t sample_duration) override
+
bool NotifyNewSegment(uint32_t id, uint64_t start_time, uint64_t duration, uint64_t size) override
+ +
bool NotifySampleDuration(uint32_t container_id, uint32_t sample_duration) override
-
bool NotifyEncryptionUpdate(uint32_t container_id, const std::string &drm_uuid, const std::vector< uint8_t > &new_key_id, const std::vector< uint8_t > &new_pssh) override
-
Defines Mpd Options.
Definition: mpd_options.h:23
-
bool NotifyNewContainer(const MediaInfo &media_info, uint32_t *id) override
+
bool NotifyEncryptionUpdate(uint32_t container_id, const std::string &drm_uuid, const std::vector< uint8_t > &new_key_id, const std::vector< uint8_t > &new_pssh) override
+
Defines Mpd Options.
Definition: mpd_options.h:25
+
bool NotifyNewContainer(const MediaInfo &media_info, uint32_t *id) override
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 adf7e81525..9217973a9b 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 6e6c63321f..5a5bb982ed 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 50607d03f0..02e3e6727a 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 1c32107c9d..2e9dfce5f8 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 c9b05a01c8..00faee1729 100644 --- a/docs/d2/d7b/classshaka_1_1DashIopMpdNotifier-members.html +++ b/docs/d2/d7b/classshaka_1_1DashIopMpdNotifier-members.html @@ -95,7 +95,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); - + @@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
AddContentProtectionElement(uint32_t id, const ContentProtectionElement &content_protection_element) overrideshaka::DashIopMpdNotifiervirtual
dash_profile() const shaka::MpdNotifierinline
DashIopMpdNotifier(const MpdOptions &mpd_options, const std::vector< std::string > &base_urls, const std::string &output_path) (defined in shaka::DashIopMpdNotifier)shaka::DashIopMpdNotifier
DashIopMpdNotifier(const MpdOptions &mpd_options) (defined in shaka::DashIopMpdNotifier)shaka::DashIopMpdNotifierexplicit
DashIopMpdNotifierTest (defined in shaka::DashIopMpdNotifier)shaka::DashIopMpdNotifierfriend
Flush() overrideshaka::DashIopMpdNotifiervirtual
Init() overrideshaka::DashIopMpdNotifiervirtual
diff --git a/docs/d2/d7b/simple__mpd__notifier_8cc_source.html b/docs/d2/d7b/simple__mpd__notifier_8cc_source.html index a745712987..8e47274ceb 100644 --- a/docs/d2/d7b/simple__mpd__notifier_8cc_source.html +++ b/docs/d2/d7b/simple__mpd__notifier_8cc_source.html @@ -103,139 +103,137 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
14 
15 namespace shaka {
16 
-
17 SimpleMpdNotifier::SimpleMpdNotifier(const MpdOptions& mpd_options,
-
18  const std::vector<std::string>& base_urls,
-
19  const std::string& output_path)
-
20  : MpdNotifier(mpd_options),
-
21  output_path_(output_path),
-
22  mpd_builder_(new MpdBuilder(mpd_options)) {
-
23  for (size_t i = 0; i < base_urls.size(); ++i)
-
24  mpd_builder_->AddBaseUrl(base_urls[i]);
-
25 }
-
26 
-
27 SimpleMpdNotifier::~SimpleMpdNotifier() {
-
28 }
-
29 
- -
31  return true;
-
32 }
-
33 
-
34 bool SimpleMpdNotifier::NotifyNewContainer(const MediaInfo& media_info,
-
35  uint32_t* container_id) {
-
36  DCHECK(container_id);
-
37 
-
38  ContentType content_type = GetContentType(media_info);
-
39  if (content_type == kContentTypeUnknown)
-
40  return false;
+
17 SimpleMpdNotifier::SimpleMpdNotifier(const MpdOptions& mpd_options)
+
18  : MpdNotifier(mpd_options),
+
19  output_path_(mpd_options.mpd_params.mpd_output),
+
20  mpd_builder_(new MpdBuilder(mpd_options)) {
+
21  for (const std::string& base_url : mpd_options.mpd_params.base_urls)
+
22  mpd_builder_->AddBaseUrl(base_url);
+
23 }
+
24 
+
25 SimpleMpdNotifier::~SimpleMpdNotifier() {
+
26 }
+
27 
+ +
29  return true;
+
30 }
+
31 
+
32 bool SimpleMpdNotifier::NotifyNewContainer(const MediaInfo& media_info,
+
33  uint32_t* container_id) {
+
34  DCHECK(container_id);
+
35 
+
36  ContentType content_type = GetContentType(media_info);
+
37  if (content_type == kContentTypeUnknown)
+
38  return false;
+
39 
+
40  base::AutoLock auto_lock(lock_);
41 
-
42  base::AutoLock auto_lock(lock_);
-
43 
-
44  // TODO(kqyang): Consider adding a new method MpdBuilder::AddRepresentation.
-
45  // Most of the codes here can be moved inside.
-
46  std::string key = GetAdaptationSetKey(media_info);
-
47  std::string lang = GetLanguage(media_info);
-
48  AdaptationSet** adaptation_set = &adaptation_set_map_[key];
-
49  if (*adaptation_set == NULL)
-
50  *adaptation_set = mpd_builder_->AddAdaptationSet(lang);
-
51 
-
52  DCHECK(*adaptation_set);
-
53  MediaInfo adjusted_media_info(media_info);
-
54  MpdBuilder::MakePathsRelativeToMpd(output_path_, &adjusted_media_info);
-
55  Representation* representation =
-
56  (*adaptation_set)->AddRepresentation(adjusted_media_info);
-
57  if (representation == NULL)
-
58  return false;
-
59 
-
60  // For SimpleMpdNotifier, just put it in Representation. It should still
-
61  // generate a valid MPD.
-
62  AddContentProtectionElements(media_info, representation);
-
63  *container_id = representation->id();
-
64  DCHECK(!ContainsKey(representation_map_, representation->id()));
-
65  representation_map_[representation->id()] = representation;
-
66  return true;
-
67 }
-
68 
-
69 bool SimpleMpdNotifier::NotifySampleDuration(uint32_t container_id,
-
70  uint32_t sample_duration) {
-
71  base::AutoLock auto_lock(lock_);
-
72  RepresentationMap::iterator it = representation_map_.find(container_id);
-
73  if (it == representation_map_.end()) {
-
74  LOG(ERROR) << "Unexpected container_id: " << container_id;
-
75  return false;
-
76  }
-
77  it->second->SetSampleDuration(sample_duration);
-
78  return true;
-
79 }
-
80 
-
81 bool SimpleMpdNotifier::NotifyNewSegment(uint32_t container_id,
-
82  uint64_t start_time,
-
83  uint64_t duration,
-
84  uint64_t size) {
-
85  base::AutoLock auto_lock(lock_);
-
86  RepresentationMap::iterator it = representation_map_.find(container_id);
-
87  if (it == representation_map_.end()) {
-
88  LOG(ERROR) << "Unexpected container_id: " << container_id;
-
89  return false;
-
90  }
-
91  it->second->AddNewSegment(start_time, duration, size);
-
92  return true;
-
93 }
-
94 
- -
96  uint32_t container_id,
-
97  const std::string& drm_uuid,
-
98  const std::vector<uint8_t>& new_key_id,
-
99  const std::vector<uint8_t>& new_pssh) {
-
100  base::AutoLock auto_lock(lock_);
-
101  RepresentationMap::iterator it = representation_map_.find(container_id);
-
102  if (it == representation_map_.end()) {
-
103  LOG(ERROR) << "Unexpected container_id: " << container_id;
-
104  return false;
-
105  }
-
106  it->second->UpdateContentProtectionPssh(drm_uuid,
-
107  Uint8VectorToBase64(new_pssh));
-
108  return true;
-
109 }
-
110 
- -
112  uint32_t container_id,
-
113  const ContentProtectionElement& content_protection_element) {
-
114  base::AutoLock auto_lock(lock_);
-
115  RepresentationMap::iterator it = representation_map_.find(container_id);
-
116  if (it == representation_map_.end()) {
-
117  LOG(ERROR) << "Unexpected container_id: " << container_id;
-
118  return false;
-
119  }
-
120  it->second->AddContentProtectionElement(content_protection_element);
-
121  return true;
-
122 }
-
123 
- -
125  base::AutoLock auto_lock(lock_);
-
126  return WriteMpdToFile(output_path_, mpd_builder_.get());
-
127 }
-
128 
-
129 } // namespace shaka
- +
42  // TODO(kqyang): Consider adding a new method MpdBuilder::AddRepresentation.
+
43  // Most of the codes here can be moved inside.
+
44  std::string key = GetAdaptationSetKey(media_info);
+
45  std::string lang = GetLanguage(media_info);
+
46  AdaptationSet** adaptation_set = &adaptation_set_map_[key];
+
47  if (*adaptation_set == NULL)
+
48  *adaptation_set = mpd_builder_->AddAdaptationSet(lang);
+
49 
+
50  DCHECK(*adaptation_set);
+
51  MediaInfo adjusted_media_info(media_info);
+
52  MpdBuilder::MakePathsRelativeToMpd(output_path_, &adjusted_media_info);
+
53  Representation* representation =
+
54  (*adaptation_set)->AddRepresentation(adjusted_media_info);
+
55  if (representation == NULL)
+
56  return false;
+
57 
+
58  // For SimpleMpdNotifier, just put it in Representation. It should still
+
59  // generate a valid MPD.
+
60  AddContentProtectionElements(media_info, representation);
+
61  *container_id = representation->id();
+
62  DCHECK(!ContainsKey(representation_map_, representation->id()));
+
63  representation_map_[representation->id()] = representation;
+
64  return true;
+
65 }
+
66 
+
67 bool SimpleMpdNotifier::NotifySampleDuration(uint32_t container_id,
+
68  uint32_t sample_duration) {
+
69  base::AutoLock auto_lock(lock_);
+
70  RepresentationMap::iterator it = representation_map_.find(container_id);
+
71  if (it == representation_map_.end()) {
+
72  LOG(ERROR) << "Unexpected container_id: " << container_id;
+
73  return false;
+
74  }
+
75  it->second->SetSampleDuration(sample_duration);
+
76  return true;
+
77 }
+
78 
+
79 bool SimpleMpdNotifier::NotifyNewSegment(uint32_t container_id,
+
80  uint64_t start_time,
+
81  uint64_t duration,
+
82  uint64_t size) {
+
83  base::AutoLock auto_lock(lock_);
+
84  RepresentationMap::iterator it = representation_map_.find(container_id);
+
85  if (it == representation_map_.end()) {
+
86  LOG(ERROR) << "Unexpected container_id: " << container_id;
+
87  return false;
+
88  }
+
89  it->second->AddNewSegment(start_time, duration, size);
+
90  return true;
+
91 }
+
92 
+ +
94  uint32_t container_id,
+
95  const std::string& drm_uuid,
+
96  const std::vector<uint8_t>& new_key_id,
+
97  const std::vector<uint8_t>& new_pssh) {
+
98  base::AutoLock auto_lock(lock_);
+
99  RepresentationMap::iterator it = representation_map_.find(container_id);
+
100  if (it == representation_map_.end()) {
+
101  LOG(ERROR) << "Unexpected container_id: " << container_id;
+
102  return false;
+
103  }
+
104  it->second->UpdateContentProtectionPssh(drm_uuid,
+
105  Uint8VectorToBase64(new_pssh));
+
106  return true;
+
107 }
+
108 
+ +
110  uint32_t container_id,
+
111  const ContentProtectionElement& content_protection_element) {
+
112  base::AutoLock auto_lock(lock_);
+
113  RepresentationMap::iterator it = representation_map_.find(container_id);
+
114  if (it == representation_map_.end()) {
+
115  LOG(ERROR) << "Unexpected container_id: " << container_id;
+
116  return false;
+
117  }
+
118  it->second->AddContentProtectionElement(content_protection_element);
+
119  return true;
+
120 }
+
121 
+ +
123  base::AutoLock auto_lock(lock_);
+
124  return WriteMpdToFile(output_path_, mpd_builder_.get());
+
125 }
+
126 
+
127 } // namespace shaka
+
uint32_t id() const
Definition: mpd_builder.h:483
-
bool AddContentProtectionElement(uint32_t id, const ContentProtectionElement &content_protection_element) override
+
bool AddContentProtectionElement(uint32_t id, const ContentProtectionElement &content_protection_element) override
void AddContentProtectionElements(const MediaInfo &media_info, Representation *parent)
Definition: mpd_utils.cc:356
-
bool NotifyNewSegment(uint32_t id, uint64_t start_time, uint64_t duration, uint64_t size) override
- +
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.
-
bool NotifySampleDuration(uint32_t container_id, uint32_t sample_duration) override
-
bool NotifyEncryptionUpdate(uint32_t container_id, const std::string &drm_uuid, const std::vector< uint8_t > &new_key_id, const std::vector< uint8_t > &new_pssh) override
-
static void MakePathsRelativeToMpd(const std::string &mpd_path, MediaInfo *media_info)
Definition: mpd_builder.cc:620
+
bool NotifySampleDuration(uint32_t container_id, uint32_t sample_duration) override
+
bool NotifyEncryptionUpdate(uint32_t container_id, const std::string &drm_uuid, const std::vector< uint8_t > &new_key_id, const std::vector< uint8_t > &new_pssh) override
+
static void MakePathsRelativeToMpd(const std::string &mpd_path, MediaInfo *media_info)
Definition: mpd_builder.cc:621
ContentType GetContentType(const MediaInfo &media_info)
bool WriteMpdToFile(const std::string &output_path, MpdBuilder *mpd_builder)
-
bool NotifyNewContainer(const MediaInfo &media_info, uint32_t *id) override
+
bool NotifyNewContainer(const MediaInfo &media_info, uint32_t *id) override
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 0863a332db..b711099b44 100644 --- a/docs/d2/d7e/aac__audio__specific__config_8h_source.html +++ b/docs/d2/d7e/aac__audio__specific__config_8h_source.html @@ -215,7 +215,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 e158313cb7..0925780f22 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 dc5fc8c4bc..60bfdbbd77 100644 --- a/docs/d2/d8a/hls__notify__muxer__listener_8h_source.html +++ b/docs/d2/d8a/hls__notify__muxer__listener_8h_source.html @@ -168,7 +168,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
Abstract class holds stream information.
Definition: stream_info.h:57
void OnEncryptionInfoReady(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info) override
MuxerListener that uses HlsNotifier.
-
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
@@ -179,7 +179,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 4bf9b6d282..5017e413da 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 28e56a825e..5e0f8fabcf 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 2a80b2f847..74c396efab 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/da0/classshaka_1_1media_1_1TrickPlayHandler-members.html b/docs/d2/da0/classshaka_1_1media_1_1TrickPlayHandler-members.html index 202b19a094..a83af27a77 100644 --- a/docs/d2/da0/classshaka_1_1media_1_1TrickPlayHandler-members.html +++ b/docs/d2/da0/classshaka_1_1media_1_1TrickPlayHandler-members.html @@ -124,7 +124,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 a0586882bc..9613b63144 100644 --- a/docs/d2/da8/mp4_2segmenter_8cc_source.html +++ b/docs/d2/da8/mp4_2segmenter_8cc_source.html @@ -158,7 +158,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
69  fragmenters_[i].reset(new Fragmenter(streams[i], &moof_->tracks[i]));
70  }
71 
- +
73  for (uint32_t i = 0; i < streams.size(); ++i)
74  fragmenters_[i]->set_use_decoding_timestamp_in_timeline(true);
75  }
@@ -341,7 +341,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
252  size_t stream_id,
253  bool fragment_encrypted,
254  const EncryptionConfig& encryption_config) {
-
255  if (options_.mp4_include_pssh_in_stream) {
+
255  if (options_.mp4_params.include_pssh_in_stream) {
256  const std::vector<ProtectionSystemSpecificInfo>& system_info =
257  encryption_config.key_system_info;
258  moof_->pssh.resize(system_info.size());
@@ -384,11 +384,12 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
295 } // namespace mp4
296 } // namespace media
297 } // namespace shaka
+
uint32_t HeaderSize() const final
Definition: box.cc:75
-
virtual Status FinalizeSegment(uint64_t start_timestamp, uint64_t duration_timestamp, bool is_subsegment)=0
Finalize the (sub)segment.
Definition: segmenter.cc:190
uint32_t ComputeSize()
Definition: box.cc:50
+
Mp4OutputParams mp4_params
MP4 (ISO-BMFF) specific parameters.
Definition: muxer_options.h:25
This class listens to progress updates events.
Status AddSample(std::shared_ptr< MediaSample > sample)
Definition: segmenter.cc:156
@@ -405,7 +406,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 4f4e6b3bef..0c0024d492 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 53ba3be74f..72c6a3c779 100644 --- a/docs/d2/dae/classshaka_1_1MockAdaptationSet-members.html +++ b/docs/d2/dae/classshaka_1_1MockAdaptationSet-members.html @@ -126,7 +126,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/dae/webm__muxer_8cc_source.html b/docs/d2/dae/webm__muxer_8cc_source.html index c9926c0c23..5a2d817bfe 100644 --- a/docs/d2/dae/webm__muxer_8cc_source.html +++ b/docs/d2/dae/webm__muxer_8cc_source.html @@ -217,8 +217,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
128 } // namespace webm
129 } // namespace media
130 } // namespace shaka
- -
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+ +
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
virtual void OnMediaEnd(const MediaRanges &media_ranges, float duration_seconds)=0
virtual void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)=0
@@ -226,7 +226,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 59602ae307..f629add2cb 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 3bd49402a8..8f6a949a30 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 d02c75fec4..8a87832322 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 9611797d30..bd07145de4 100644 --- a/docs/d2/dba/classshaka_1_1media_1_1SegmentTestBase.html +++ b/docs/d2/dba/classshaka_1_1media_1_1SegmentTestBase.html @@ -183,7 +183,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 8e405939e8..dfabe82128 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 6961fa1f32..cac751d66d 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 365554d5a9..6398eaf11d 100644 --- a/docs/d2/dc7/structshaka_1_1MpdOptions-members.html +++ b/docs/d2/dc7/structshaka_1_1MpdOptions-members.html @@ -94,16 +94,12 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');

This is the complete list of members for shaka::MpdOptions, including all inherited members.

- - - + - -
dash_profile (defined in shaka::MpdOptions)shaka::MpdOptions
default_language (defined in shaka::MpdOptions)shaka::MpdOptions
min_buffer_time (defined in shaka::MpdOptions)shaka::MpdOptions
minimum_update_period (defined in shaka::MpdOptions)shaka::MpdOptions
mpd_params (defined in shaka::MpdOptions)shaka::MpdOptions
mpd_type (defined in shaka::MpdOptions)shaka::MpdOptions
suggested_presentation_delay (defined in shaka::MpdOptions)shaka::MpdOptions
time_shift_buffer_depth (defined in shaka::MpdOptions)shaka::MpdOptions
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 65a84eef0a..a11339d6a2 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 c4e525daf2..d9ce03fc06 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_1WidevineSigner-members.html b/docs/d2/dce/structshaka_1_1WidevineSigner-members.html index 47f44fc387..45c9868fe2 100644 --- a/docs/d2/dce/structshaka_1_1WidevineSigner-members.html +++ b/docs/d2/dce/structshaka_1_1WidevineSigner-members.html @@ -104,7 +104,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 ea19ecdc96..03791a245c 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 @@ -283,7 +283,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 22569ace22..1a08c31643 100644 --- a/docs/d2/dd6/mkv__writer_8h_source.html +++ b/docs/d2/dd6/mkv__writer_8h_source.html @@ -150,7 +150,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 4b2979a577..4472375a6e 100644 --- a/docs/d2/dd8/classshaka_1_1media_1_1ChunkingHandler-members.html +++ b/docs/d2/dd8/classshaka_1_1media_1_1ChunkingHandler-members.html @@ -94,7 +94,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');

This is the complete list of members for shaka::media::ChunkingHandler, including all inherited members.

- + @@ -122,7 +122,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
AddHandler(std::shared_ptr< MediaHandler > handler)shaka::media::MediaHandlerinline
ChunkingHandler(const ChunkingOptions &chunking_options) (defined in shaka::media::ChunkingHandler)shaka::media::ChunkingHandlerexplicit
ChunkingHandler(const ChunkingParams &chunking_params) (defined in shaka::media::ChunkingHandler)shaka::media::ChunkingHandlerexplicit
ChunkingHandlerTest (defined in shaka::media::ChunkingHandler)shaka::media::ChunkingHandlerfriend
Dispatch(std::unique_ptr< StreamData > stream_data)shaka::media::MediaHandlerprotected
DispatchMediaEvent(size_t stream_index, std::shared_ptr< MediaEvent > media_event)shaka::media::MediaHandlerinlineprotected
diff --git a/docs/d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html b/docs/d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html index 231435d87c..689b751cdd 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/de1/webvtt__timestamp_8h_source.html b/docs/d2/de1/webvtt__timestamp_8h_source.html index 7e61bb8001..8ffb14e557 100644 --- a/docs/d2/de1/webvtt__timestamp_8h_source.html +++ b/docs/d2/de1/webvtt__timestamp_8h_source.html @@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); 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 83b3f2ba1c..7485cd8207 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 6279d9cdd7..71d9fc6f9b 100644 --- a/docs/d2/de6/packager__main_8cc_source.html +++ b/docs/d2/de6/packager__main_8cc_source.html @@ -493,7 +493,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 1c3ec136c0..b67fe7f6c6 100644 --- a/docs/d2/de7/classshaka_1_1media_1_1TextStreamInfo-members.html +++ b/docs/d2/de7/classshaka_1_1media_1_1TextStreamInfo-members.html @@ -124,7 +124,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 a54d343d02..077df0e921 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 9cb6f37d19..09eedfec08 100644 --- a/docs/d2/de9/media__handler_8cc_source.html +++ b/docs/d2/de9/media__handler_8cc_source.html @@ -181,7 +181,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 9fd65d9d7b..78f5ca924b 100644 --- a/docs/d2/de9/mock__muxer__listener_8h_source.html +++ b/docs/d2/de9/mock__muxer__listener_8h_source.html @@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
virtual void OnSampleDurationReady(uint32_t sample_duration)=0
virtual void OnEncryptionStart()=0
-
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
virtual void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)=0
void OnMediaEnd(const MediaRanges &range, float duration_seconds) override
@@ -170,7 +170,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 9c4dee0fee..4d090ba879 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 2bb7a617c9..ab70cb2c04 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 7c22fdfd52..66834f5989 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 1fb2dc5146..529a158754 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 @@ -131,7 +131,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 56295ae9a6..30fc318709 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 d2802ad08b..0fef1a8d55 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 2e9fd659d8..84900fd189 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/d07/mpd__params_8h_source.html b/docs/d3/d07/mpd__params_8h_source.html new file mode 100644 index 0000000000..7cb1ec7c83 --- /dev/null +++ b/docs/d3/d07/mpd__params_8h_source.html @@ -0,0 +1,138 @@ + + + + + + +DASH Media Packaging SDK: mpd/public/mpd_params.h Source File + + + + + + + + + +
+
+ + + + + + +
+
DASH Media Packaging SDK +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
mpd_params.h
+
+
+
1 // Copyright 2017 Google Inc. All rights reserved.
+
2 //
+
3 // Use of this source code is governed by a BSD-style
+
4 // license that can be found in the LICENSE file or at
+
5 // https://developers.google.com/open-source/licenses/bsd
+
6 
+
7 #ifndef PACKAGER_MPD_PUBLIC_MPD_PARAMS_H_
+
8 #define PACKAGER_MPD_PUBLIC_MPD_PARAMS_H_
+
9 
+
10 #include <string>
+
11 #include <vector>
+
12 
+
13 namespace shaka {
+
14 
+
16 struct MpdParams {
+
18  std::string mpd_output;
+
21  std::vector<std::string> base_urls;
+
27  double min_buffer_time = 2.0;
+ + +
38  static constexpr double kSuggestedPresentationDelayNotSet = 0;
+
39  double suggested_presentation_delay = kSuggestedPresentationDelayNotSet;
+ +
46  std::string default_language;
+ +
49 };
+
50 
+
51 } // namespace shaka
+
52 
+
53 #endif // PACKAGER_MPD_PUBLIC_MPD_PARAMS_H_
+
DASH MPD related parameters.
Definition: mpd_params.h:16
+
double min_buffer_time
Definition: mpd_params.h:27
+
std::string default_language
Definition: mpd_params.h:46
+
bool generate_dash_if_iop_compliant_mpd
Try to generate DASH-IF IOP compliant MPD.
Definition: mpd_params.h:48
+
bool generate_static_live_mpd
Definition: mpd_params.h:30
+
static constexpr double kSuggestedPresentationDelayNotSet
Definition: mpd_params.h:38
+
std::string mpd_output
MPD output file path.
Definition: mpd_params.h:18
+
std::vector< std::string > base_urls
Definition: mpd_params.h:21
+
double minimum_update_period
Definition: mpd_params.h:42
+
double time_shift_buffer_depth
Definition: mpd_params.h:33
+
+ + + + 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 d89629563a..d9cf7bc409 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 641ab22b72..70d95d4f19 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 99efbe0c0a..e9e9c421ba 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 25f2195162..732a414f2a 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 d507e2ffa8..e4d1c6598b 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/d35/video__slice__header__parser_8cc_source.html b/docs/d3/d35/video__slice__header__parser_8cc_source.html index 598edd91b9..3abdbddf16 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 4b91419bd8..96dc4a3533 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 7fb51c6681..4331e737bd 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 3d36bb50df..46ce8ac308 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/d62/continuity__counter_8h_source.html b/docs/d3/d62/continuity__counter_8h_source.html index 4a390378bd..2dd346aa20 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 68b4e22032..d2754423a5 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 6feef43e8e..34a0f3f18d 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 1a007d826c..06a8ed78a8 100644 --- a/docs/d3/d67/classshaka_1_1media_1_1WebMVideoClient.html +++ b/docs/d3/d67/classshaka_1_1media_1_1WebMVideoClient.html @@ -199,7 +199,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 d7d1f1b978..9d97f9da51 100644 --- a/docs/d3/d6b/fixed__key__source_8cc_source.html +++ b/docs/d3/d6b/fixed__key__source_8cc_source.html @@ -224,7 +224,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 1d1a645a9f..9fa1363e5a 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 @@ -231,7 +231,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 007c5c444f..3cdb2c8403 100644 --- a/docs/d3/d72/fixed__key__source_8h_source.html +++ b/docs/d3/d72/fixed__key__source_8h_source.html @@ -163,7 +163,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 7ae0daef80..f993dc9472 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 @@ -235,7 +235,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 bfe665bcef..eac80da224 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 da9378731c..31433f705d 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 9bb2bb2904..0c121d65a2 100644 --- a/docs/d3/d76/muxer__flags_8h_source.html +++ b/docs/d3/d76/muxer__flags_8h_source.html @@ -114,7 +114,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 225e40a1e6..c6f571605a 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 1044e19946..2b179a4c89 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 fb0488fa2b..030d9f0bc1 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 41a5357fbf..f51c40082c 100644 --- a/docs/d3/d80/muxer__util_8h_source.html +++ b/docs/d3/d80/muxer__util_8h_source.html @@ -124,7 +124,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 21034014b9..d9297df50f 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 1d734824cd..5579e4f789 100644 --- a/docs/d3/d87/trick__play__handler_8cc_source.html +++ b/docs/d3/d87/trick__play__handler_8cc_source.html @@ -322,7 +322,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/d8d/webm__audio__client_8h_source.html b/docs/d3/d8d/webm__audio__client_8h_source.html index 6919de49cc..7ad9285783 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 17c93b198d..d6a418fcf4 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 16a686b878..3ce3a50fda 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 6570b7325e..83e779ca11 100644 --- a/docs/d3/d93/media__handler_8h_source.html +++ b/docs/d3/d93/media__handler_8h_source.html @@ -283,7 +283,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 da7101473c..c292fed7f3 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 1725d7f14a..73b06b6195 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 0fdf2f4575..f9e2bf8966 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 @@ -302,7 +302,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 257b97da18..2e48a27631 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 c1f9d5b6f8..ce8e20509d 100644 --- a/docs/d3/dad/structshaka_1_1media_1_1mp4_1_1ID3v2.html +++ b/docs/d3/dad/structshaka_1_1media_1_1mp4_1_1ID3v2.html @@ -189,7 +189,7 @@ Additional Inherited Members diff --git a/docs/d3/db4/classshaka_1_1media_1_1WebMWebVTTParser-members.html b/docs/d3/db4/classshaka_1_1media_1_1WebMWebVTTParser-members.html index 7915522d14..65ff40cec4 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 9c9dccf5bb..8c6c7c9557 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 7cee53eb58..c55bb1686b 100644 --- a/docs/d3/db6/webm__parser_8cc_source.html +++ b/docs/d3/db6/webm__parser_8cc_source.html @@ -1088,7 +1088,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 3132f524b9..fcf55ccd1f 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 9c4c40e5de..a92d0db257 100644 --- a/docs/d3/dbe/demuxer_8cc_source.html +++ b/docs/d3/dbe/demuxer_8cc_source.html @@ -441,7 +441,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/dbe/structshaka_1_1media_1_1mp4_1_1EditList.html b/docs/d3/dbe/structshaka_1_1media_1_1mp4_1_1EditList.html index 01b75e3256..cc7f376cf9 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/dc0/structshaka_1_1DecryptionParams-members.html b/docs/d3/dc0/structshaka_1_1DecryptionParams-members.html index 51193c8e2c..4917eda95c 100644 --- a/docs/d3/dc0/structshaka_1_1DecryptionParams-members.html +++ b/docs/d3/dc0/structshaka_1_1DecryptionParams-members.html @@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); 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 e27f7be6cf..24017430c4 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 0620cf95ff..7f25b2bdbf 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 3e141a84f0..26f562a46f 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 f47b488700..5feb2c2dab 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 a48ea4cf7a..eaf5b20f40 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 586de5cc09..35e1793fc4 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 05ce292110..8e0abe6661 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/df5/structshaka_1_1PlayreadyEncryptionParams.html b/docs/d3/df5/structshaka_1_1PlayreadyEncryptionParams.html index c73dfe6515..18238fa725 100644 --- a/docs/d3/df5/structshaka_1_1PlayreadyEncryptionParams.html +++ b/docs/d3/df5/structshaka_1_1PlayreadyEncryptionParams.html @@ -155,7 +155,7 @@ std::vector< uint8_t >  diff --git a/docs/d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html b/docs/d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html index 52598d80cb..896cb8c989 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 e81ccd4df7..c1ce677f7d 100644 --- a/docs/d4/d00/mp4_2multi__segment__segmenter_8cc_source.html +++ b/docs/d4/d00/mp4_2multi__segment__segmenter_8cc_source.html @@ -175,7 +175,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
86  sidx()->earliest_presentation_time =
87  sidx()->references[0].earliest_presentation_time;
88 
-
89  if (options().num_subsegments_per_sidx <= 0)
+
89  if (options().mp4_params.num_subsegments_per_sidx <= 0)
90  return WriteSegment();
91 
92  // sidx() contains pre-generated segment references with one reference per
@@ -183,7 +183,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
94  // pre-generated references into final subsegment references.
95  size_t num_fragments = sidx()->references.size();
96  size_t num_fragments_per_subsegment =
-
97  (num_fragments - 1) / options().num_subsegments_per_sidx + 1;
+
97  (num_fragments - 1) / options().mp4_params.num_subsegments_per_sidx + 1;
98  if (num_fragments_per_subsegment <= 1)
99  return WriteSegment();
100 
@@ -219,7 +219,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
130  }
131  }
132 
-
133  refs.resize(options().num_subsegments_per_sidx);
+
133  refs.resize(options().mp4_params.num_subsegments_per_sidx);
134 
135  // earliest_presentation_time is the earliest presentation time of any
136  // access unit in the reference stream in the first subsegment.
@@ -258,7 +258,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
169  }
170 
171  // If num_subsegments_per_sidx is negative, no SIDX box is generated.
-
172  if (options().num_subsegments_per_sidx >= 0)
+
172  if (options().mp4_params.num_subsegments_per_sidx >= 0)
173  sidx()->Write(buffer.get());
174 
175  const size_t segment_size = buffer->Size() + fragment_buffer()->Size();
@@ -306,7 +306,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 4d609b08a1..f1220d97d3 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 13b2e0dc6e..4ef8994fba 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 cb7d1a9420..7833e1827f 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/d15/gflags__hex__bytes_8cc_source.html b/docs/d4/d15/gflags__hex__bytes_8cc_source.html index b2928d3438..e17e3030a5 100644 --- a/docs/d4/d15/gflags__hex__bytes_8cc_source.html +++ b/docs/d4/d15/gflags__hex__bytes_8cc_source.html @@ -115,7 +115,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 f91f78d606..66427f8cb2 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 8566cb4d75..415865da4f 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 6567ed0531..577e85b42d 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 005d0d297e..d8218bb297 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 044342abf2..75c84678a8 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/d3a/structshaka_1_1media_1_1H264Sps-members.html b/docs/d4/d3a/structshaka_1_1media_1_1H264Sps-members.html index 2276ab73d6..91209d117d 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 4b2e74b70c..deee7938d3 100644 --- a/docs/d4/d43/classshaka_1_1media_1_1ChunkingHandler.html +++ b/docs/d4/d43/classshaka_1_1media_1_1ChunkingHandler.html @@ -108,9 +108,9 @@ Inheritance diagram for shaka::media::ChunkingHandler: - - + + @@ -199,7 +199,7 @@ class 

Public Member Functions

ChunkingHandler (const ChunkingOptions &chunking_options)
 
ChunkingHandler (const ChunkingParams &chunking_params)
 
- Public Member Functions inherited from shaka::media::MediaHandler
Status SetHandler (size_t output_stream_index, std::shared_ptr< MediaHandler > handler)
ChunkingHandlerTest<
 

Detailed Description

-

ChunkingHandler splits the samples into segments / subsegments based on the specified chunking options. This handler is a multi-in multi-out handler. If more than one input is provided, there should be one and only one video stream; also, all inputs should come from the same thread and are synchronized. There can be multiple chunking handler running in different threads or even different processes, we use the "consistent chunking algorithm" to make sure the chunks in different streams are aligned without explicit communcating with each other - which is not efficient and often difficult.

+

ChunkingHandler splits the samples into segments / subsegments based on the specified chunking params. This handler is a multi-in multi-out handler. If more than one input is provided, there should be one and only one video stream; also, all inputs should come from the same thread and are synchronized. There can be multiple chunking handler running in different threads or even different processes, we use the "consistent chunking algorithm" to make sure the chunks in different streams are aligned without explicit communcating with each other - which is not efficient and often difficult.

Consistent Chunking Algorithm:

  1. Find the consistent chunkable boundary Let the timestamps for video frames be (t1, t2, t3, ...). Then a consistent chunkable boundary is simply the first chunkable boundary after (tk / N) != (tk-1 / N), where '/' denotes integer division, and N is the intended chunk duration.
  2. @@ -207,7 +207,7 @@ class ChunkingHandlerTest<

This algorithm will make sure the chunks from different video streams are aligned if they have aligned GoPs. However, this algorithm will only work for video streams. To be able to chunk non video streams at similar positions as video streams, ChunkingHandler is designed to accept one video input and multiple non video inputs, the non video inputs are chunked when the video input is chunked. If the inputs are synchronized - which is true if the inputs come from the same demuxer, the video and non video chunks are aligned.

-

Definition at line 61 of file chunking_handler.h.

+

Definition at line 44 of file chunking_handler.h.

Member Function Documentation

@@ -273,7 +273,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 49a2c5a2f1..616a56f91f 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 3497d6d6d8..0cbde68d97 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 94c5313312..3e70913550 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 9ef15ed52d..c73911559b 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 5408fd0908..edc4ad3b24 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/d70/classshaka_1_1DashIopMpdNotifier.html b/docs/d4/d70/classshaka_1_1DashIopMpdNotifier.html index 6761c623e5..7ffb225342 100644 --- a/docs/d4/d70/classshaka_1_1DashIopMpdNotifier.html +++ b/docs/d4/d70/classshaka_1_1DashIopMpdNotifier.html @@ -108,9 +108,9 @@ Inheritance diagram for shaka::DashIopMpdNotifier: - - + + @@ -191,7 +191,7 @@ class 

Public Member Functions

DashIopMpdNotifier (const MpdOptions &mpd_options, const std::vector< std::string > &base_urls, const std::string &output_path)
 
DashIopMpdNotifier (const MpdOptions &mpd_options)
 
MpdNotifier implemetation overrides.

None of the methods write out the MPD file until Flush() is called.

DashIopMpdNotifierTe

Implements shaka::MpdNotifier.

-

Definition at line 139 of file dash_iop_mpd_notifier.cc.

+

Definition at line 136 of file dash_iop_mpd_notifier.cc.

@@ -219,7 +219,7 @@ class 
DashIopMpdNotifierTe

Implements shaka::MpdNotifier.

-

Definition at line 149 of file dash_iop_mpd_notifier.cc.

+

Definition at line 146 of file dash_iop_mpd_notifier.cc.

@@ -248,7 +248,7 @@ class 
DashIopMpdNotifierTe

Implements shaka::MpdNotifier.

-

Definition at line 54 of file dash_iop_mpd_notifier.cc.

+

Definition at line 51 of file dash_iop_mpd_notifier.cc.

@@ -309,7 +309,7 @@ class 
DashIopMpdNotifierTe

Implements shaka::MpdNotifier.

-

Definition at line 120 of file dash_iop_mpd_notifier.cc.

+

Definition at line 117 of file dash_iop_mpd_notifier.cc.

@@ -356,7 +356,7 @@ class 
DashIopMpdNotifierTe

Implements shaka::MpdNotifier.

-

Definition at line 58 of file dash_iop_mpd_notifier.cc.

+

Definition at line 55 of file dash_iop_mpd_notifier.cc.

@@ -417,7 +417,7 @@ class 
DashIopMpdNotifierTe

Implements shaka::MpdNotifier.

-

Definition at line 106 of file dash_iop_mpd_notifier.cc.

+

Definition at line 103 of file dash_iop_mpd_notifier.cc.

@@ -464,7 +464,7 @@ class 
DashIopMpdNotifierTe

Implements shaka::MpdNotifier.

-

Definition at line 94 of file dash_iop_mpd_notifier.cc.

+

Definition at line 91 of file dash_iop_mpd_notifier.cc.

@@ -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 243e9acf48..19bc67dd6f 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 4385d98444..93b701f7ee 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 03612b44a0..24cc599158 100644 --- a/docs/d4/d87/nalu__reader_8h_source.html +++ b/docs/d4/d87/nalu__reader_8h_source.html @@ -320,7 +320,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/d87/text__sample_8cc_source.html b/docs/d4/d87/text__sample_8cc_source.html index 5604f79b05..3f8e308d49 100644 --- a/docs/d4/d87/text__sample_8cc_source.html +++ b/docs/d4/d87/text__sample_8cc_source.html @@ -122,7 +122,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 5ebb7b06b6..c0c5aa32de 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 daa35943fa..053082c562 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/d9b/classshaka_1_1media_1_1MediaHandlerTestBase.html b/docs/d4/d9b/classshaka_1_1media_1_1MediaHandlerTestBase.html index fb2c0bcfb6..0f7feec939 100644 --- a/docs/d4/d9b/classshaka_1_1media_1_1MediaHandlerTestBase.html +++ b/docs/d4/d9b/classshaka_1_1media_1_1MediaHandlerTestBase.html @@ -402,7 +402,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 e9dfeec414..be11ec7654 100644 --- a/docs/d4/da6/classshaka_1_1media_1_1PlayReadyKeySource.html +++ b/docs/d4/da6/classshaka_1_1media_1_1PlayReadyKeySource.html @@ -458,7 +458,7 @@ Static Public Member Functions diff --git a/docs/d4/da7/segmenter__test__base_8cc_source.html b/docs/d4/da7/segmenter__test__base_8cc_source.html index 85bf2bf082..da1efe95dd 100644 --- a/docs/d4/da7/segmenter__test__base_8cc_source.html +++ b/docs/d4/da7/segmenter__test__base_8cc_source.html @@ -295,19 +295,19 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
206 
207 } // namespace media
208 } // namespace shaka
- -
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+ +
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
std::string OutputFileName() const
Gets the file name of the current output file.
VideoStreamInfo * CreateVideoStreamInfo(uint32_t time_scale) const
Creates a video stream info object for testing.
std::shared_ptr< MediaSample > CreateSample(KeyFrameFlag key_frame_flag, uint64_t duration, SideDataFlag side_data_flag)
Creates a new media sample.
-
std::string temp_dir
Specify temporary directory for intermediate files.
Definition: muxer_options.h:48
+
std::string temp_dir
Specify temporary directory for intermediate files.
Definition: muxer_options.h:39
MuxerOptions CreateMuxerOptions() const
Creates a Muxer options object for testing.
static std::shared_ptr< MediaSample > CopyFrom(const uint8_t *data, size_t size, bool is_key_frame)
Definition: media_sample.cc:45
Holds video stream information.
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 62daac86e1..d3456a3fe8 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 b630b79c1a..aeab9cea0a 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 9d674bf5a2..23b9623a1c 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 af96f83192..6e58cb3eb1 100644 --- a/docs/d4/db4/classshaka_1_1MpdNotifierFactory.html +++ b/docs/d4/db4/classshaka_1_1MpdNotifierFactory.html @@ -98,10 +98,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); - - +< MpdNotifier >  +

Public Member Functions

+
virtual std::unique_ptr
-< MpdNotifier
Create (const MpdOptions &mpd_options, const std::vector< std::string > &base_urls, const std::string &output_path)=0
 
Create (const MpdOptions &mpd_options)=0
 

Detailed Description

This is mainly for testing, and is implementation detail. No need to worry about this class if you are just using the API. Inject a factory and mock MpdNotifier to test the MpdWriter implementation.

@@ -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 c35434736e..381e15d962 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 1da8360004..dc96aef17a 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 913c7bf87d..9a943e7e27 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 fc1d83295b..54bb132acd 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/dde/webvtt__util_8h_source.html b/docs/d4/dde/webvtt__util_8h_source.html index 732b42e01e..e3e75163eb 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 25b2fb85c3..a81722844a 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 fc82830ca2..029b98730e 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 97a0749067..056a07cc2c 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 2a2c4bb377..b8e7f517a3 100644 --- a/docs/d4/dec/hls__flags_8h_source.html +++ b/docs/d4/dec/hls__flags_8h_source.html @@ -106,7 +106,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 149f2b9fb4..3ec3963b1b 100644 --- a/docs/d4/df5/request__signer_8cc_source.html +++ b/docs/d4/df5/request__signer_8cc_source.html @@ -168,7 +168,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 1ab9897672..cdbc5bfec5 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 52c5a63778..8e5d557e20 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 fa810f0336..fea4c62713 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 c8f9eceb73..7ee00470aa 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 be0775170b..e6ff056090 100644 --- a/docs/d4/dff/webm__media__parser_8cc_source.html +++ b/docs/d4/dff/webm__media__parser_8cc_source.html @@ -367,7 +367,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 942390bada..4ffb799b1e 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 e40c1e11a1..c258d9146b 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 806345ccb6..02be305ce9 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/d0f/structshaka_1_1EncryptionParams_1_1EncryptedStreamAttributes-members.html b/docs/d5/d0f/structshaka_1_1EncryptionParams_1_1EncryptedStreamAttributes-members.html index ade9a18423..6151d0383e 100644 --- a/docs/d5/d0f/structshaka_1_1EncryptionParams_1_1EncryptedStreamAttributes-members.html +++ b/docs/d5/d0f/structshaka_1_1EncryptionParams_1_1EncryptedStreamAttributes-members.html @@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); 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 29fd0bdf9a..c12f336aed 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 85cd8efb0d..55900e9c1c 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 60ee828f06..6025cba6c2 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 4a4e744509..2fc8a83689 100644 --- a/docs/d5/d15/producer__consumer__queue_8h_source.html +++ b/docs/d5/d15/producer__consumer__queue_8h_source.html @@ -373,7 +373,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 ae31016fe6..78d887c981 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 7cedb711b4..bb624d3b2f 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 eaa698ff6d..a14d52cd88 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 47651e8002..70edeb8739 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 54f03d7135..02608a01bc 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 c1f2002d19..6bfedcbe9a 100644 --- a/docs/d5/d40/webm_2single__segment__segmenter_8h_source.html +++ b/docs/d5/d40/webm_2single__segment__segmenter_8h_source.html @@ -155,14 +155,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
bool GetInitRangeStartAndEnd(uint64_t *start, uint64_t *end) override
bool GetIndexRangeStartAndEnd(uint64_t *start, uint64_t *end) override
-
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
An implementation of IMkvWriter using our File type.
Definition: mkv_writer.h:21
Status FinalizeSegment(uint64_t start_timestamp, uint64_t duration_timestamp, bool is_subsegment) override
Finalize the (sub)segment.
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 1dccee9af3..b534f19942 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 97049509c4..a80af4e604 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 3c7061cc93..065d5dd137 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 789af2a161..b83336c889 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 11a919f954..d6ac622cc6 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 53e0104d3d..f6235da494 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/d5a/webvtt__timestamp_8cc_source.html b/docs/d5/d5a/webvtt__timestamp_8cc_source.html index 88a5cedfa1..4f0f70a85b 100644 --- a/docs/d5/d5a/webvtt__timestamp_8cc_source.html +++ b/docs/d5/d5a/webvtt__timestamp_8cc_source.html @@ -164,7 +164,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 0321f991b8..c0a7f2e5f4 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 2e829ef180..231cef547a 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 f4abf6b5f0..7c77d430e9 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 577c66b2d8..a7245b769d 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 b54998e750..9e00c061fa 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 d0f711fd7b..478977d183 100644 --- a/docs/d5/d72/avc__decoder__configuration__record_8cc_source.html +++ b/docs/d5/d72/avc__decoder__configuration__record_8cc_source.html @@ -205,7 +205,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/d7b/box__definitions_8h_source.html b/docs/d5/d7b/box__definitions_8h_source.html index 96c734ade1..d14b47f63a 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 1db01de638..93efb253d4 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 8c277e1a97..712ea6759b 100644 --- a/docs/d5/d89/widevine__key__source_8cc_source.html +++ b/docs/d5/d89/widevine__key__source_8cc_source.html @@ -734,7 +734,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 18acffd912..0d77b3b0c3 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 4ab1edf37d..925d9cdcc0 100644 --- a/docs/d5/d8f/webm__cluster__parser_8cc_source.html +++ b/docs/d5/d8f/webm__cluster__parser_8cc_source.html @@ -730,7 +730,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 57706a9528..1d3967d058 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 958f6e6f55..d8c73a0695 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 25bbe1df02..67bb6b20c3 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 6186102b99..61bffe98ac 100644 --- a/docs/d5/d9b/vp__codec__configuration__record_8h_source.html +++ b/docs/d5/d9b/vp__codec__configuration__record_8h_source.html @@ -317,7 +317,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 62c9bef2eb..579ed9408e 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 fc497cf08d..888da99d40 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 d0eb8852c2..f96685d05d 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 4be3451fba..44e943433f 100644 --- a/docs/d5/db1/classshaka_1_1media_1_1StreamInfo.html +++ b/docs/d5/db1/classshaka_1_1media_1_1StreamInfo.html @@ -243,7 +243,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 e44935f0fb..d8112dec63 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 fc0aba12ef..12e56c4685 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 88cef1d64e..0855b8ed8b 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 eedd1f3760..b28e30a7c6 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 14758af4fb..2d214dd127 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 e11f1b856a..d311a839d4 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 3555de9c30..89cb3f7420 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 cd2457894a..2d173b1b5c 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 07ac287341..e98986c151 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 81e44723b3..ea92c0a18b 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 c02712408a..adb5b1f3af 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 7d1e84cbad..6a226eaa27 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 c2109c6e21..a327393686 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 bd2df2b850..b52a97481a 100644 --- a/docs/d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html +++ b/docs/d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html @@ -493,7 +493,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 29d0c22ffe..08f1edfb67 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/d6/d02/playready__key__encryption__flags_8h_source.html b/docs/d6/d02/playready__key__encryption__flags_8h_source.html index edfd7e4941..9de3aca5a6 100644 --- a/docs/d6/d02/playready__key__encryption__flags_8h_source.html +++ b/docs/d6/d02/playready__key__encryption__flags_8h_source.html @@ -123,7 +123,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 0e7dc491df..62a0782c39 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 f3a61a5394..1f1ffb3b1d 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 9859738056..3d47c6c01b 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 c366f0c4fc..2ffc93c179 100644 --- a/docs/d6/d17/es__parser__h264_8cc_source.html +++ b/docs/d6/d17/es__parser__h264_8cc_source.html @@ -267,7 +267,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 68f7852e7e..7c9cd718f6 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 430a49d912..04138df5f6 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 e47a524f83..d312bd7ba4 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 a934f605e7..bee7dd3147 100644 --- a/docs/d6/d2e/mpd__notifier__util_8cc_source.html +++ b/docs/d6/d2e/mpd__notifier__util_8cc_source.html @@ -151,7 +151,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 e6dae7306d..c90d09b688 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 37165ea56c..fdfda222e1 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 826e4fb547..3573c82e1c 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 8da73fe020..d7257656f9 100644 --- a/docs/d6/d4c/classshaka_1_1media_1_1EncryptionHandler.html +++ b/docs/d6/d4c/classshaka_1_1media_1_1EncryptionHandler.html @@ -264,7 +264,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 4c014cdd22..e3717fae2e 100644 --- a/docs/d6/d4e/webm_2multi__segment__segmenter_8cc_source.html +++ b/docs/d6/d4e/webm_2multi__segment__segmenter_8cc_source.html @@ -185,7 +185,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 abd3608a87..cc56eb9e60 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 650d958923..f218928266 100644 --- a/docs/d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html +++ b/docs/d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html @@ -251,7 +251,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 4be7c48dd2..74fa4c73ea 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 6d696f6966..f69028252e 100644 --- a/docs/d6/d60/classshaka_1_1media_1_1VPCodecConfigurationRecord-members.html +++ b/docs/d6/d60/classshaka_1_1media_1_1VPCodecConfigurationRecord-members.html @@ -144,7 +144,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 5fab53768a..3b591de6ff 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 acdf3c2519..d40e9430a7 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 dbb233794c..0ab7fec3cd 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 3b32bf5527..7ae26d0eb2 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 387e18df6b..451410cbd5 100644 --- a/docs/d6/d77/dash__iop__mpd__notifier_8h_source.html +++ b/docs/d6/d77/dash__iop__mpd__notifier_8h_source.html @@ -112,123 +112,121 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
23 
31  public:
-
32  DashIopMpdNotifier(const MpdOptions& mpd_options,
-
33  const std::vector<std::string>& base_urls,
-
34  const std::string& output_path);
-
35  ~DashIopMpdNotifier() override;
-
36 
-
40  bool Init() override;
-
41  bool NotifyNewContainer(const MediaInfo& media_info, uint32_t* id) override;
-
42  bool NotifySampleDuration(uint32_t container_id,
-
43  uint32_t sample_duration) override;
-
44  bool NotifyNewSegment(uint32_t id,
-
45  uint64_t start_time,
-
46  uint64_t duration,
-
47  uint64_t size) override;
-
48  bool NotifyEncryptionUpdate(uint32_t container_id,
-
49  const std::string& drm_uuid,
-
50  const std::vector<uint8_t>& new_key_id,
-
51  const std::vector<uint8_t>& new_pssh) override;
- -
53  uint32_t id,
-
54  const ContentProtectionElement& content_protection_element) override;
-
55  bool Flush() override;
-
57 
-
58  private:
-
59  friend class DashIopMpdNotifierTest;
-
60 
-
61  // Maps representation ID to Representation.
-
62  typedef std::map<uint32_t, Representation*> RepresentationMap;
-
63 
-
64  // Maps AdaptationSet ID to ProtectedContent.
-
65  typedef std::map<uint32_t, MediaInfo::ProtectedContent> ProtectedContentMap;
-
66 
-
67  // Find reusable AdaptationSet, instead of creating a new AdaptationSet for
-
68  // the |media_info|. There are two cases that an |existing_adaptation_set|
-
69  // can be used:
-
70  // 1) The media info does not have protected content and there is an existing
-
71  // unprotected content AdapationSet.
-
72  // 2) The media info has protected content and there is an exisiting
-
73  // AdaptationSet, which has same MediaInfo::ProtectedContent protobuf.
-
74  // Returns the reusable AdaptationSet pointer if found, otherwise returns
-
75  // nullptr.
-
76  AdaptationSet* ReuseAdaptationSet(
-
77  const std::list<AdaptationSet*>& adaptation_sets,
-
78  const MediaInfo& media_info);
-
79 
-
80  // Checks the protected_content field of media_info and returns a non-null
-
81  // AdaptationSet* for a new Representation.
-
82  // This does not necessarily return a new AdaptationSet. If
-
83  // media_info.protected_content completely matches with an existing
-
84  // AdaptationSet, then it will return the pointer.
-
85  AdaptationSet* GetAdaptationSetForMediaInfo(const std::string& key,
-
86  const MediaInfo& media_info);
-
87 
-
88  // Sets adaptation set switching. If adaptation set switching is already
-
89  // set, then this returns immediately.
-
90  void SetAdaptationSetSwitching(const std::string& key,
-
91  AdaptationSet* adaptation_set);
-
92 
-
93  // Helper function to get a new AdaptationSet; registers the values
-
94  // to the fields (maps) of the instance.
-
95  // If the media is encrypted, registers data to protected_content_map_.
-
96  AdaptationSet* NewAdaptationSet(const MediaInfo& media_info,
-
97  std::list<AdaptationSet*>* adaptation_sets);
-
98 
-
99  // Gets the original AdaptationSet which the trick play video belongs
-
100  // to and returns the id of the original adapatation set.
-
101  // It is assumed that the corresponding AdaptationSet has been created before
-
102  // the trick play AdaptationSet.
-
103  // Returns true if main_adaptation_id is found, otherwise false;
-
104  bool FindOriginalAdaptationSetForTrickPlay(
-
105  const MediaInfo& media_info,
-
106  uint32_t* original_adaptation_set_id);
-
107 
-
108  // Testing only method. Returns a pointer to MpdBuilder.
-
109  MpdBuilder* MpdBuilderForTesting() const {
-
110  return mpd_builder_.get();
-
111  }
-
112 
-
113  // Testing only method. Sets mpd_builder_.
-
114  void SetMpdBuilderForTesting(std::unique_ptr<MpdBuilder> mpd_builder) {
-
115  mpd_builder_ = std::move(mpd_builder);
-
116  }
-
117 
-
118  std::map<std::string, std::list<AdaptationSet*>> adaptation_set_list_map_;
-
119  RepresentationMap representation_map_;
-
120 
-
121  // Used to check whether a Representation should be added to an AdaptationSet.
-
122  ProtectedContentMap protected_content_map_;
-
123 
-
124  // MPD output path.
-
125  std::string output_path_;
-
126  std::unique_ptr<MpdBuilder> mpd_builder_;
-
127  base::Lock lock_;
-
128 
-
129  // Maps Representation ID to AdaptationSet. This is for updating the PSSH.
-
130  std::map<uint32_t, AdaptationSet*> representation_id_to_adaptation_set_;
-
131 };
+
32  explicit DashIopMpdNotifier(const MpdOptions& mpd_options);
+
33  ~DashIopMpdNotifier() override;
+
34 
+
38  bool Init() override;
+
39  bool NotifyNewContainer(const MediaInfo& media_info, uint32_t* id) override;
+
40  bool NotifySampleDuration(uint32_t container_id,
+
41  uint32_t sample_duration) override;
+
42  bool NotifyNewSegment(uint32_t id,
+
43  uint64_t start_time,
+
44  uint64_t duration,
+
45  uint64_t size) override;
+
46  bool NotifyEncryptionUpdate(uint32_t container_id,
+
47  const std::string& drm_uuid,
+
48  const std::vector<uint8_t>& new_key_id,
+
49  const std::vector<uint8_t>& new_pssh) override;
+ +
51  uint32_t id,
+
52  const ContentProtectionElement& content_protection_element) override;
+
53  bool Flush() override;
+
55 
+
56  private:
+
57  friend class DashIopMpdNotifierTest;
+
58 
+
59  // Maps representation ID to Representation.
+
60  typedef std::map<uint32_t, Representation*> RepresentationMap;
+
61 
+
62  // Maps AdaptationSet ID to ProtectedContent.
+
63  typedef std::map<uint32_t, MediaInfo::ProtectedContent> ProtectedContentMap;
+
64 
+
65  // Find reusable AdaptationSet, instead of creating a new AdaptationSet for
+
66  // the |media_info|. There are two cases that an |existing_adaptation_set|
+
67  // can be used:
+
68  // 1) The media info does not have protected content and there is an existing
+
69  // unprotected content AdapationSet.
+
70  // 2) The media info has protected content and there is an exisiting
+
71  // AdaptationSet, which has same MediaInfo::ProtectedContent protobuf.
+
72  // Returns the reusable AdaptationSet pointer if found, otherwise returns
+
73  // nullptr.
+
74  AdaptationSet* ReuseAdaptationSet(
+
75  const std::list<AdaptationSet*>& adaptation_sets,
+
76  const MediaInfo& media_info);
+
77 
+
78  // Checks the protected_content field of media_info and returns a non-null
+
79  // AdaptationSet* for a new Representation.
+
80  // This does not necessarily return a new AdaptationSet. If
+
81  // media_info.protected_content completely matches with an existing
+
82  // AdaptationSet, then it will return the pointer.
+
83  AdaptationSet* GetAdaptationSetForMediaInfo(const std::string& key,
+
84  const MediaInfo& media_info);
+
85 
+
86  // Sets adaptation set switching. If adaptation set switching is already
+
87  // set, then this returns immediately.
+
88  void SetAdaptationSetSwitching(const std::string& key,
+
89  AdaptationSet* adaptation_set);
+
90 
+
91  // Helper function to get a new AdaptationSet; registers the values
+
92  // to the fields (maps) of the instance.
+
93  // If the media is encrypted, registers data to protected_content_map_.
+
94  AdaptationSet* NewAdaptationSet(const MediaInfo& media_info,
+
95  std::list<AdaptationSet*>* adaptation_sets);
+
96 
+
97  // Gets the original AdaptationSet which the trick play video belongs
+
98  // to and returns the id of the original adapatation set.
+
99  // It is assumed that the corresponding AdaptationSet has been created before
+
100  // the trick play AdaptationSet.
+
101  // Returns true if main_adaptation_id is found, otherwise false;
+
102  bool FindOriginalAdaptationSetForTrickPlay(
+
103  const MediaInfo& media_info,
+
104  uint32_t* original_adaptation_set_id);
+
105 
+
106  // Testing only method. Returns a pointer to MpdBuilder.
+
107  MpdBuilder* MpdBuilderForTesting() const {
+
108  return mpd_builder_.get();
+
109  }
+
110 
+
111  // Testing only method. Sets mpd_builder_.
+
112  void SetMpdBuilderForTesting(std::unique_ptr<MpdBuilder> mpd_builder) {
+
113  mpd_builder_ = std::move(mpd_builder);
+
114  }
+
115 
+
116  std::map<std::string, std::list<AdaptationSet*>> adaptation_set_list_map_;
+
117  RepresentationMap representation_map_;
+
118 
+
119  // Used to check whether a Representation should be added to an AdaptationSet.
+
120  ProtectedContentMap protected_content_map_;
+
121 
+
122  // MPD output path.
+
123  std::string output_path_;
+
124  std::unique_ptr<MpdBuilder> mpd_builder_;
+
125  base::Lock lock_;
+
126 
+
127  // Maps Representation ID to AdaptationSet. This is for updating the PSSH.
+
128  std::map<uint32_t, AdaptationSet*> representation_id_to_adaptation_set_;
+
129 };
+
130 
+
131 } // namespace shaka
132 
-
133 } // namespace shaka
-
134 
-
135 #endif // MPD_BASE_DASH_IOP_MPD_NOTIFIER_H_
- -
bool NotifyNewSegment(uint32_t id, uint64_t start_time, uint64_t duration, uint64_t size) override
-
bool NotifyEncryptionUpdate(uint32_t container_id, const std::string &drm_uuid, const std::vector< uint8_t > &new_key_id, const std::vector< uint8_t > &new_pssh) override
+
133 #endif // MPD_BASE_DASH_IOP_MPD_NOTIFIER_H_
+ +
bool NotifyNewSegment(uint32_t id, uint64_t start_time, uint64_t duration, uint64_t size) override
+
bool NotifyEncryptionUpdate(uint32_t container_id, const std::string &drm_uuid, const std::vector< uint8_t > &new_key_id, const std::vector< uint8_t > &new_pssh) override
This class generates DASH MPDs (Media Presentation Descriptions).
Definition: mpd_builder.h:54
-
bool NotifySampleDuration(uint32_t container_id, uint32_t sample_duration) override
+
bool NotifySampleDuration(uint32_t container_id, uint32_t sample_duration) override
-
bool AddContentProtectionElement(uint32_t id, const ContentProtectionElement &content_protection_element) override
+
bool AddContentProtectionElement(uint32_t id, const ContentProtectionElement &content_protection_element) override
-
Defines Mpd Options.
Definition: mpd_options.h:23
- -
bool NotifyNewContainer(const MediaInfo &media_info, uint32_t *id) override
+
Defines Mpd Options.
Definition: mpd_options.h:25
+ +
bool NotifyNewContainer(const MediaInfo &media_info, uint32_t *id) override
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 42343e8af4..5cf7f44e18 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 299023524c..399e6e3145 100644 --- a/docs/d6/d7b/webm__tracks__parser_8h_source.html +++ b/docs/d6/d7b/webm__tracks__parser_8h_source.html @@ -205,7 +205,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 d11ddd86fc..6fa4326205 100644 --- a/docs/d6/d7c/structshaka_1_1media_1_1mp4_1_1AC3Specific-members.html +++ b/docs/d6/d7c/structshaka_1_1media_1_1mp4_1_1AC3Specific-members.html @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d86/bandwidth__estimator_8cc_source.html b/docs/d6/d86/bandwidth__estimator_8cc_source.html index 4fcf68ef1b..c350819eb6 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/classshaka_1_1media_1_1FakeMediaHandler-members.html b/docs/d6/d8a/classshaka_1_1media_1_1FakeMediaHandler-members.html index 8916754abb..a118fd6dd0 100644 --- a/docs/d6/d8a/classshaka_1_1media_1_1FakeMediaHandler-members.html +++ b/docs/d6/d8a/classshaka_1_1media_1_1FakeMediaHandler-members.html @@ -122,7 +122,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 5a21d0e7aa..c071c3804f 100644 --- a/docs/d6/d8a/vp9__parser_8cc_source.html +++ b/docs/d6/d8a/vp9__parser_8cc_source.html @@ -697,7 +697,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 b96dfb9ddb..aad9444f52 100644 --- a/docs/d6/d8f/classshaka_1_1xml_1_1RepresentationBaseXmlNode-members.html +++ b/docs/d6/d8f/classshaka_1_1xml_1_1RepresentationBaseXmlNode-members.html @@ -113,7 +113,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 a70f81a0a5..d646e07630 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 77c47e3f4e..8bed95b9d5 100644 --- a/docs/d6/d9f/hls__flags_8cc_source.html +++ b/docs/d6/d9f/hls__flags_8cc_source.html @@ -111,7 +111,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 64b3c4a4a1..f2f76f2ee1 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 a2d7b23669..1c1c363acb 100644 --- a/docs/d6/da3/mpd__builder_8h_source.html +++ b/docs/d6/da3/mpd__builder_8h_source.html @@ -476,48 +476,48 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
557 } // namespace shaka
558 
559 #endif // MPD_BASE_MPD_BUILDER_H_
-
void OnSetFrameRateForRepresentation(uint32_t representation_id, uint32_t frame_duration, uint32_t timescale)
Definition: mpd_builder.cc:858
+
void OnSetFrameRateForRepresentation(uint32_t representation_id, uint32_t frame_duration, uint32_t timescale)
Definition: mpd_builder.cc:859
RepresentationType in MPD.
Definition: xml_node.h:139
-
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
- -
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 Representation * AddRepresentation(const MediaInfo &media_info)
Definition: mpd_builder.cc:663
+
virtual void SetSampleDuration(uint32_t sample_duration)
+
virtual Representation * AddRepresentation(const MediaInfo &media_info)
Definition: mpd_builder.cc:664
This class generates DASH MPDs (Media Presentation Descriptions).
Definition: mpd_builder.h:54
uint32_t id() const
Definition: mpd_builder.h:483
-
virtual void AddContentProtectionElement(const ContentProtectionElement &element)
Definition: mpd_builder.cc:709
+
virtual void AddContentProtectionElement(const ContentProtectionElement &element)
Definition: mpd_builder.cc:710
-
virtual void AddTrickPlayReferenceId(uint32_t id)
Definition: mpd_builder.cc:865
+
virtual void AddTrickPlayReferenceId(uint32_t id)
Definition: mpd_builder.cc:866
MpdBuilder(const MpdOptions &mpd_options)
Definition: mpd_builder.cc:373
-
virtual void AddRole(Role role)
Definition: mpd_builder.cc:721
+
virtual void AddRole(Role role)
Definition: mpd_builder.cc:722
void AddBaseUrl(const std::string &base_url)
Definition: mpd_builder.cc:378
-
virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
Definition: mpd_builder.cc:715
-
AdaptationSet(uint32_t adaptation_set_id, const std::string &lang, const MpdOptions &mpd_options, base::AtomicSequenceNumber *representation_counter)
Definition: mpd_builder.cc:648
-
xml::scoped_xml_ptr< xmlNode > GetXml()
+
virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
Definition: mpd_builder.cc:716
+
AdaptationSet(uint32_t adaptation_set_id, const std::string &lang, const MpdOptions &mpd_options, base::AtomicSequenceNumber *representation_counter)
Definition: mpd_builder.cc:649
+
xml::scoped_xml_ptr< xmlNode > GetXml()
virtual bool ToString(std::string *output)
Definition: mpd_builder.cc:396
-
void AddAdaptationSetSwitching(uint32_t adaptation_set_id)
Definition: mpd_builder.cc:836
+
void AddAdaptationSetSwitching(uint32_t adaptation_set_id)
Definition: mpd_builder.cc:837
const std::vector< uint32_t > & adaptation_set_switching_ids() const
Definition: mpd_builder.h:217
-
virtual void ForceSetSegmentAlignment(bool segment_alignment)
Definition: mpd_builder.cc:830
-
static void MakePathsRelativeToMpd(const std::string &mpd_path, MediaInfo *media_info)
Definition: mpd_builder.cc:620
-
xml::scoped_xml_ptr< xmlNode > GetXml()
Definition: mpd_builder.cc:731
-
virtual void AddContentProtectionElement(const ContentProtectionElement &element)
+
virtual void ForceSetSegmentAlignment(bool segment_alignment)
Definition: mpd_builder.cc:831
+
static void MakePathsRelativeToMpd(const std::string &mpd_path, MediaInfo *media_info)
Definition: mpd_builder.cc:621
+
xml::scoped_xml_ptr< xmlNode > GetXml()
Definition: mpd_builder.cc:732
+
virtual void AddContentProtectionElement(const ContentProtectionElement &element)
virtual AdaptationSet * AddAdaptationSet(const std::string &lang)
Definition: mpd_builder.cc:382
-
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:847
+
Defines Mpd Options.
Definition: mpd_options.h:25
+
void OnNewSegmentForRepresentation(uint32_t representation_id, uint64_t start_time, uint64_t duration)
Definition: mpd_builder.cc:848
void InjectClockForTesting(std::unique_ptr< base::Clock > clock)
This is for testing.
Definition: mpd_builder.h:87
-
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 4666386097..92461797ef 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 750e72ad26..c454ebdb00 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 76fb7cd4f1..89aefdb3d3 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 6cd166d9d7..e61d1cdaca 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 ffae64017c..c189dc4cd7 100644 --- a/docs/d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html +++ b/docs/d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html @@ -468,7 +468,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 dddbc68a52..875a49c02e 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/dbe/mp4__output__params_8h_source.html b/docs/d6/dbe/mp4__output__params_8h_source.html new file mode 100644 index 0000000000..3f3d41f47f --- /dev/null +++ b/docs/d6/dbe/mp4__output__params_8h_source.html @@ -0,0 +1,127 @@ + + + + + + +DASH Media Packaging SDK: media/public/mp4_output_params.h Source File + + + + + + + + + +
+
+ + + + + + +
+
DASH Media Packaging SDK +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
mp4_output_params.h
+
+
+
1 // Copyright 2017 Google Inc. All rights reserved.
+
2 //
+
3 // Use of this source code is governed by a BSD-style
+
4 // license that can be found in the LICENSE file or at
+
5 // https://developers.google.com/open-source/licenses/bsd
+
6 
+
7 #ifndef PACKAGER_MEDIA_PUBLIC_MP4_OUTPUT_PARAMS_H_
+
8 #define PACKAGER_MEDIA_PUBLIC_MP4_OUTPUT_PARAMS_H_
+
9 
+
10 namespace shaka {
+
11 
+ +
14  // Include pssh in the encrypted stream. CMAF and DASH-IF recommends carrying
+
15  // license acquisition information in the manifest and not duplicate the
+
16  // information in the stream. (This is not a hard requirement so we are still
+
17  // CMAF compatible even if pssh is included in the stream.)
+
18  bool include_pssh_in_stream = true;
+
24  static constexpr int kNoSidxBoxInSegment = -1;
+
25  static constexpr int kSingleSidxPerSegment = 0;
+
26  int num_subsegments_per_sidx = kSingleSidxPerSegment;
+ +
32 };
+
33 
+
34 } // namespace shaka
+
35 
+
36 #endif // PACKAGER_MEDIA_PUBLIC_MP4_OUTPUT_PARAMS_H_
+
static constexpr int kNoSidxBoxInSegment
+ +
MP4 (ISO-BMFF) output related parameters.
+
+ + + + 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 b256ffaa8f..9502bdbb2d 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 31c44ae43d..b70fbf133d 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 ffd0d780d3..077f008cd3 100644 --- a/docs/d6/dc8/mkv__writer_8cc_source.html +++ b/docs/d6/dc8/mkv__writer_8cc_source.html @@ -191,7 +191,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 7b7a5aad3e..c973d80937 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 fbe170bfe8..60c0333429 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 29721255e9..9d0c8d4cf2 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 9f88a9327c..5948e54d03 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 a187034b59..18fd3a7363 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/dd7/structshaka_1_1Mp4OutputParams-members.html b/docs/d6/dd7/structshaka_1_1Mp4OutputParams-members.html new file mode 100644 index 0000000000..18780b4e1a --- /dev/null +++ b/docs/d6/dd7/structshaka_1_1Mp4OutputParams-members.html @@ -0,0 +1,109 @@ + + + + + + +DASH Media Packaging SDK: Member List + + + + + + + + + +
+
+ + + + + + +
+
DASH Media Packaging SDK +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
shaka::Mp4OutputParams Member List
+
+
+ +

This is the complete list of members for shaka::Mp4OutputParams, including all inherited members.

+ + + + + + +
include_pssh_in_stream (defined in shaka::Mp4OutputParams)shaka::Mp4OutputParams
kNoSidxBoxInSegmentshaka::Mp4OutputParamsstatic
kSingleSidxPerSegment (defined in shaka::Mp4OutputParams)shaka::Mp4OutputParamsstatic
num_subsegments_per_sidx (defined in shaka::Mp4OutputParams)shaka::Mp4OutputParams
use_decoding_timestamp_in_timelineshaka::Mp4OutputParams
+ + + + 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 d9805af702..1fe79ac487 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 e154b57b09..7ba29afc11 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 012664e9f9..c7242575e2 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/network__util_8h_source.html b/docs/d6/de8/network__util_8h_source.html index c7b53fa1f3..a8fce45ba6 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 ad53a44a45..6b15aa8e71 100644 --- a/docs/d6/de9/ts__segmenter_8cc_source.html +++ b/docs/d6/de9/ts__segmenter_8cc_source.html @@ -226,7 +226,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
Abstract class holds stream information.
Definition: stream_info.h:57
Status Initialize(const StreamInfo &stream_info)
Definition: ts_segmenter.cc:30
-
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
Status AddSample(std::shared_ptr< MediaSample > sample)
Definition: ts_segmenter.cc:48
TsSegmenter(const MuxerOptions &options, MuxerListener *listener)
Definition: ts_segmenter.cc:23
void InjectPesPacketGeneratorForTesting(std::unique_ptr< PesPacketGenerator > generator)
Only for testing.
Definition: ts_segmenter.cc:66
@@ -234,13 +234,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
void InjectTsWriterForTesting(std::unique_ptr< TsWriter > writer)
Only for testing.
Definition: ts_segmenter.cc:62
Status FinalizeSegment(uint64_t start_timestamp, uint64_t duration)
- + - + diff --git a/docs/d6/ded/ts__packet_8h_source.html b/docs/d6/ded/ts__packet_8h_source.html index e4d243eb2b..f47025792a 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 602074f13c..a43ad592b4 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 007ed23b40..f9ca04c6ef 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 1bfdd41ac5..7e42a0c003 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 c9e1780db9..fd8c5a2d74 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 48fec37aae..f8cc0a8cf4 100644 --- a/docs/d7/d0b/muxer__listener__test__helper_8h_source.html +++ b/docs/d7/d0b/muxer__listener__test__helper_8h_source.html @@ -181,7 +181,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
92 std::vector<ProtectionSystemSpecificInfo> GetDefaultKeySystemInfo();
93 
94 // Sets "default" values for muxer_options for testing.
-
95 void SetDefaultMuxerOptionsValues(MuxerOptions* muxer_options);
+
95 void SetDefaultMuxerOptions(MuxerOptions* muxer_options);
96 
97 // Expect that expect and actual are equal.
98 void ExpectMediaInfoEqual(const MediaInfo& expect, const MediaInfo& actual);
@@ -194,14 +194,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
105 } // namespace shaka
106 
107 #endif // MEDIA_EVENT_MUXER_LISTENER_TEST_HELPER_H_
-
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
diff --git a/docs/d7/d12/media__parser_8h_source.html b/docs/d7/d12/media__parser_8h_source.html index 6c132349d6..1c22e63391 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 0759d05cdc..1b1b4cbb41 100644 --- a/docs/d7/d15/mpd__notifier_8h_source.html +++ b/docs/d7/d15/mpd__notifier_8h_source.html @@ -165,11 +165,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
virtual bool NotifyEncryptionUpdate(uint32_t container_id, const std::string &drm_uuid, const std::vector< uint8_t > &new_key_id, const std::vector< uint8_t > &new_pssh)=0
DashProfile dash_profile() const
Definition: mpd_notifier.h:104
-
Defines Mpd Options.
Definition: mpd_options.h:23
+
Defines Mpd Options.
Definition: mpd_options.h:25
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 ac6bb6ed99..a0e08ed533 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 9be0082fd7..694766da8e 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 0ab15daaae..5c19f80a6d 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 a0b7d20111..3dc84f7d84 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 7dbe8ac113..e1435b46ad 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 dc7dc38727..cf17525191 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 21bf8be6c3..61f7a7cfda 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 2b7b4494be..8721643936 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 418b1fbb35..bd6c61c254 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 99882073d6..14bf9da405 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 ca44056a16..abb8ef193e 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 c2f9b8005a..14769169ff 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 705d69dcd4..1c9d2cd3f3 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 10d875fba5..1428e1bb7f 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 3b6bd83617..db08d0c790 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/d6d/structshaka_1_1EncryptionParams_1_1EncryptedStreamAttributes.html b/docs/d7/d6d/structshaka_1_1EncryptionParams_1_1EncryptedStreamAttributes.html index 712a6483c2..270b981554 100644 --- a/docs/d7/d6d/structshaka_1_1EncryptionParams_1_1EncryptedStreamAttributes.html +++ b/docs/d7/d6d/structshaka_1_1EncryptionParams_1_1EncryptedStreamAttributes.html @@ -134,7 +134,7 @@ union
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 63626fc6de..a8f8bd8ed7 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 e93904bf8d..070c8983e5 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 fc164da3ec..abaef75c4d 100644 --- a/docs/d7/d79/chunking__handler_8h_source.html +++ b/docs/d7/d79/chunking__handler_8h_source.html @@ -99,96 +99,83 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
10 #include <atomic>
11 
12 #include "packager/media/base/media_handler.h"
-
13 
-
14 namespace shaka {
-
15 namespace media {
-
16 
- - -
20 
- -
24 
-
27  bool segment_sap_aligned = true;
-
28 
- -
33 };
-
34 
-
61 class ChunkingHandler : public MediaHandler {
-
62  public:
-
63  explicit ChunkingHandler(const ChunkingOptions& chunking_options);
-
64  ~ChunkingHandler() override;
+
13 #include "packager/media/public/chunking_params.h"
+
14 
+
15 namespace shaka {
+
16 namespace media {
+
17 
+
44 class ChunkingHandler : public MediaHandler {
+
45  public:
+
46  explicit ChunkingHandler(const ChunkingParams& chunking_params);
+
47  ~ChunkingHandler() override;
+
48 
+
49  protected:
+
52  Status InitializeInternal() override;
+
53  Status Process(std::unique_ptr<StreamData> stream_data) override;
+
54  Status OnFlushRequest(size_t input_stream_index) override;
+
56 
+
57  private:
+
58  friend class ChunkingHandlerTest;
+
59 
+
60  ChunkingHandler(const ChunkingHandler&) = delete;
+
61  ChunkingHandler& operator=(const ChunkingHandler&) = delete;
+
62 
+
63  // Processes media sample and apply chunking if needed.
+
64  Status ProcessMediaSample(const MediaSample* sample);
65 
-
66  protected:
-
69  Status InitializeInternal() override;
-
70  Status Process(std::unique_ptr<StreamData> stream_data) override;
-
71  Status OnFlushRequest(size_t input_stream_index) override;
-
73 
-
74  private:
-
75  friend class ChunkingHandlerTest;
-
76 
-
77  ChunkingHandler(const ChunkingHandler&) = delete;
-
78  ChunkingHandler& operator=(const ChunkingHandler&) = delete;
-
79 
-
80  // Processes media sample and apply chunking if needed.
-
81  Status ProcessMediaSample(const MediaSample* sample);
-
82 
-
83  // Dispatch cached non main stream samples before |timestamp_threshold|.
-
84  Status DispatchNonMainSamples(int64_t timestamp_threshold);
+
66  // Dispatch cached non main stream samples before |timestamp_threshold|.
+
67  Status DispatchNonMainSamples(int64_t timestamp_threshold);
+
68 
+
69  // The (sub)segments are aligned and dispatched together.
+
70  Status DispatchSegmentInfoForAllStreams();
+
71  Status DispatchSubsegmentInfoForAllStreams();
+
72 
+
73  const ChunkingParams chunking_params_;
+
74 
+
75  // The inputs are expected to come from the same thread.
+
76  std::atomic<int64_t> thread_id_;
+
77 
+
78  // The video stream is the main stream; if there is only one stream, it is the
+
79  // main stream. The chunking is based on the main stream.
+
80  const size_t kInvalidStreamIndex = static_cast<size_t>(-1);
+
81  size_t main_stream_index_ = kInvalidStreamIndex;
+
82  // Segment and subsegment duration in main stream's time scale.
+
83  int64_t segment_duration_ = 0;
+
84  int64_t subsegment_duration_ = 0;
85 
-
86  // The (sub)segments are aligned and dispatched together.
-
87  Status DispatchSegmentInfoForAllStreams();
-
88  Status DispatchSubsegmentInfoForAllStreams();
-
89 
-
90  const ChunkingOptions chunking_options_;
+
86  // The streams are expected to be synchronized. Cache non main (video) stream
+
87  // samples so we can determine whether the next segment should include these
+
88  // samples. The samples will be dispatched after seeing the next main stream
+
89  // sample.
+
90  std::deque<std::unique_ptr<StreamData>> non_main_samples_;
91 
-
92  // The inputs are expected to come from the same thread.
-
93  std::atomic<int64_t> thread_id_;
-
94 
-
95  // The video stream is the main stream; if there is only one stream, it is the
-
96  // main stream. The chunking is based on the main stream.
-
97  const size_t kInvalidStreamIndex = static_cast<size_t>(-1);
-
98  size_t main_stream_index_ = kInvalidStreamIndex;
-
99  // Segment and subsegment duration in main stream's time scale.
-
100  int64_t segment_duration_ = 0;
-
101  int64_t subsegment_duration_ = 0;
-
102 
-
103  // The streams are expected to be synchronized. Cache non main (video) stream
-
104  // samples so we can determine whether the next segment should include these
-
105  // samples. The samples will be dispatched after seeing the next main stream
-
106  // sample.
-
107  std::deque<std::unique_ptr<StreamData>> non_main_samples_;
-
108 
-
109  // Current segment index, useful to determine where to do chunking.
-
110  int64_t current_segment_index_ = -1;
-
111  // Current subsegment index, useful to determine where to do chunking.
-
112  int64_t current_subsegment_index_ = -1;
-
113 
-
114  std::vector<std::shared_ptr<SegmentInfo>> segment_info_;
-
115  std::vector<std::shared_ptr<SegmentInfo>> subsegment_info_;
-
116  std::vector<uint32_t> time_scales_;
-
117  // The end timestamp of the last dispatched sample.
-
118  std::vector<int64_t> last_sample_end_timestamps_;
-
119 };
-
120 
-
121 } // namespace media
-
122 } // namespace shaka
-
123 
-
124 #endif // PACKAGER_MEDIA_CHUNKING_CHUNKING_HANDLER_
+
92  // Current segment index, useful to determine where to do chunking.
+
93  int64_t current_segment_index_ = -1;
+
94  // Current subsegment index, useful to determine where to do chunking.
+
95  int64_t current_subsegment_index_ = -1;
+
96 
+
97  std::vector<std::shared_ptr<SegmentInfo>> segment_info_;
+
98  std::vector<std::shared_ptr<SegmentInfo>> subsegment_info_;
+
99  std::vector<uint32_t> time_scales_;
+
100  // The end timestamp of the last dispatched sample.
+
101  std::vector<int64_t> last_sample_end_timestamps_;
+
102 };
+
103 
+
104 } // namespace media
+
105 } // namespace shaka
+
106 
+
107 #endif // PACKAGER_MEDIA_CHUNKING_CHUNKING_HANDLER_
Status Process(std::unique_ptr< StreamData > stream_data) override
-
Status InitializeInternal() override
Status OnFlushRequest(size_t input_stream_index) override
Event handler for flush request at the specific input stream index.
- +
Chunking (segmentation) related parameters.
Class to hold a media sample.
Definition: media_sample.h:22
- -
double segment_duration_in_seconds
Segment duration in seconds.
- - + diff --git a/docs/d7/d7c/vlog__flags_8h_source.html b/docs/d7/d7c/vlog__flags_8h_source.html index 389d5db8a4..f6aca1f3fb 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 1dafaed637..6c90cbb4f7 100644 --- a/docs/d7/d87/video__stream__info_8h_source.html +++ b/docs/d7/d87/video__stream__info_8h_source.html @@ -210,7 +210,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 b544681c82..08b22099cb 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 9d05e82f32..09fa42638f 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 cf4b684aae..b17d7a99b7 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 276fc7f820..344b5e1bc0 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 92e1d13f7b..12a864c2b0 100644 --- a/docs/d7/db0/mpd__writer_8h_source.html +++ b/docs/d7/db0/mpd__writer_8h_source.html @@ -121,68 +121,66 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
35  virtual ~MpdNotifierFactory() {}
36 
37  virtual std::unique_ptr<MpdNotifier> Create(
-
38  const MpdOptions& mpd_options,
-
39  const std::vector<std::string>& base_urls,
-
40  const std::string& output_path) = 0;
-
41 };
-
42 
-
43 // An instance of this class takes a set of MediaInfo files and generates an
-
44 // MPD when one of WriteMpd* methods are called. This generates an MPD with one
-
45 // <Period> element and at most three <AdaptationSet> elements, each for video,
-
46 // audio, and text. Information in MediaInfo will be put into one of the
-
47 // AdaptationSets by checking the video_info, audio_info, and text_info fields.
-
48 // Therefore, this cannot handle an instance of MediaInfo with video, audio, and
-
49 // text combination.
-
50 class MpdWriter {
-
51  public:
-
52  MpdWriter();
-
53  ~MpdWriter();
-
54 
-
55  // Add |media_info_path| for MPD generation.
-
56  // The content of |media_info_path| should be a string representation of
-
57  // MediaInfo, i.e. the content should be a result of using
-
58  // google::protobuf::TestFormat::Print*() methods.
-
59  // If necessary, this method can be called after WriteMpd*() methods.
-
60  bool AddFile(const std::string& media_info_path,
-
61  const std::string& mpd_path);
-
62 
-
63  // |base_url| will be used for <BaseURL> element for the MPD. The BaseURL
-
64  // element will be a direct child element of the <MPD> element.
-
65  void AddBaseUrl(const std::string& base_url);
-
66 
-
67  // Write the MPD to |file_name|. |file_name| should not be NULL.
-
68  // This opens the file in write mode, IOW if the
-
69  // file exists this will over write whatever is in the file.
-
70  // AddFile() should be called before calling this function to generate an MPD.
-
71  // On success, the MPD gets written to |file| and returns true, otherwise
-
72  // returns false.
-
73  // This method can be called multiple times, if necessary.
-
74  bool WriteMpdToFile(const char* file_name);
-
75 
-
76  private:
-
77  friend class MpdWriterTest;
-
78 
-
79  void SetMpdNotifierFactoryForTest(
-
80  std::unique_ptr<MpdNotifierFactory> factory);
-
81 
-
82  std::list<MediaInfo> media_infos_;
-
83  std::vector<std::string> base_urls_;
+
38  const MpdOptions& mpd_options) = 0;
+
39 };
+
40 
+
41 // An instance of this class takes a set of MediaInfo files and generates an
+
42 // MPD when one of WriteMpd* methods are called. This generates an MPD with one
+
43 // <Period> element and at most three <AdaptationSet> elements, each for video,
+
44 // audio, and text. Information in MediaInfo will be put into one of the
+
45 // AdaptationSets by checking the video_info, audio_info, and text_info fields.
+
46 // Therefore, this cannot handle an instance of MediaInfo with video, audio, and
+
47 // text combination.
+
48 class MpdWriter {
+
49  public:
+
50  MpdWriter();
+
51  ~MpdWriter();
+
52 
+
53  // Add |media_info_path| for MPD generation.
+
54  // The content of |media_info_path| should be a string representation of
+
55  // MediaInfo, i.e. the content should be a result of using
+
56  // google::protobuf::TestFormat::Print*() methods.
+
57  // If necessary, this method can be called after WriteMpd*() methods.
+
58  bool AddFile(const std::string& media_info_path,
+
59  const std::string& mpd_path);
+
60 
+
61  // |base_url| will be used for <BaseURL> element for the MPD. The BaseURL
+
62  // element will be a direct child element of the <MPD> element.
+
63  void AddBaseUrl(const std::string& base_url);
+
64 
+
65  // Write the MPD to |file_name|. |file_name| should not be NULL.
+
66  // This opens the file in write mode, IOW if the
+
67  // file exists this will over write whatever is in the file.
+
68  // AddFile() should be called before calling this function to generate an MPD.
+
69  // On success, the MPD gets written to |file| and returns true, otherwise
+
70  // returns false.
+
71  // This method can be called multiple times, if necessary.
+
72  bool WriteMpdToFile(const char* file_name);
+
73 
+
74  private:
+
75  friend class MpdWriterTest;
+
76 
+
77  void SetMpdNotifierFactoryForTest(
+
78  std::unique_ptr<MpdNotifierFactory> factory);
+
79 
+
80  std::list<MediaInfo> media_infos_;
+
81  std::vector<std::string> base_urls_;
+
82 
+
83  std::unique_ptr<MpdNotifierFactory> notifier_factory_;
84 
-
85  std::unique_ptr<MpdNotifierFactory> notifier_factory_;
-
86 
-
87  DISALLOW_COPY_AND_ASSIGN(MpdWriter);
-
88 };
+
85  DISALLOW_COPY_AND_ASSIGN(MpdWriter);
+
86 };
+
87 
+
88 } // namespace shaka
89 
-
90 } // namespace shaka
-
91 
-
92 #endif // MPD_UTIL_MPD_WRITER_H_
- +
90 #endif // MPD_UTIL_MPD_WRITER_H_
+ -
Defines Mpd Options.
Definition: mpd_options.h:23
+
Defines Mpd Options.
Definition: mpd_options.h:25
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 59cc392667..e499c1a67e 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 9a9ec91fbc..27e5049cb8 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 f72d18540a..14273a6e30 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 1c84d640df..5590b52f6b 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 55a281d887..7633f016ce 100644 --- a/docs/d7/dd4/request__signer_8h_source.html +++ b/docs/d7/dd4/request__signer_8h_source.html @@ -180,7 +180,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 99fac36382..9d4a5264c0 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 4af8296cf3..50ed946cd4 100644 --- a/docs/d7/dd6/key__source_8cc_source.html +++ b/docs/d7/dd6/key__source_8cc_source.html @@ -113,7 +113,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 a05433dbd5..3ff10bfdc9 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 c51ca79a76..a650bc59d1 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 bb3eede923..9272999a04 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 8bfcdee242..5a2fceb4d1 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 7acf0126a1..d28f14cd30 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 16ac2e0e78..0bd8bf7846 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 c0ee3b93d8..f021fef72a 100644 --- a/docs/d7/def/mp4__media__parser_8cc_source.html +++ b/docs/d7/def/mp4__media__parser_8cc_source.html @@ -885,7 +885,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 259afcc4f3..c64e36efb0 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/d7/df9/structshaka_1_1PlayreadyEncryptionParams-members.html b/docs/d7/df9/structshaka_1_1PlayreadyEncryptionParams-members.html index 30817e9774..74a99865c1 100644 --- a/docs/d7/df9/structshaka_1_1PlayreadyEncryptionParams-members.html +++ b/docs/d7/df9/structshaka_1_1PlayreadyEncryptionParams-members.html @@ -104,7 +104,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 ba860b5e5a..3a7d4d92bf 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 d661e481ca..42495e0936 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 4f2fb30b62..2774883ee2 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 0b0e88aad8..1c1362071c 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 395f688c06..1e87fa1a10 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 fdbc80a617..f67c05d069 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 b2011304d4..f19f827c5b 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 5382b89083..2e01cd8c92 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 ac19a352bb..829be2e1d0 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 ad897f1066..d290a47aaf 100644 --- a/docs/d8/d16/structshaka_1_1media_1_1MuxerOptions-members.html +++ b/docs/d8/d16/structshaka_1_1media_1_1MuxerOptions-members.html @@ -94,10 +94,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');

This is the complete list of members for shaka::media::MuxerOptions, including all inherited members.

- - - - + + @@ -105,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
bandwidthshaka::media::MuxerOptions
mp4_include_pssh_in_stream (defined in shaka::media::MuxerOptions)shaka::media::MuxerOptions
mp4_use_decoding_timestamp_in_timelineshaka::media::MuxerOptions
MuxerOptions() (defined in shaka::media::MuxerOptions)shaka::media::MuxerOptions
num_subsegments_per_sidxshaka::media::MuxerOptions
mp4_paramsshaka::media::MuxerOptions
MuxerOptions() (defined in shaka::media::MuxerOptions)shaka::media::MuxerOptions
output_file_nameshaka::media::MuxerOptions
segment_templateshaka::media::MuxerOptions
temp_dirshaka::media::MuxerOptions
diff --git a/docs/d8/d19/bandwidth__estimator_8h_source.html b/docs/d8/d19/bandwidth__estimator_8h_source.html index ec94171ae6..09ce5485a0 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/d1c/crypto__flags_8cc_source.html b/docs/d8/d1c/crypto__flags_8cc_source.html index 4500b3a18f..264f8df221 100644 --- a/docs/d8/d1c/crypto__flags_8cc_source.html +++ b/docs/d8/d1c/crypto__flags_8cc_source.html @@ -105,7 +105,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 c284542fa9..dee356b8f6 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 b24fee1729..eef1f68ef7 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 4f70e4dc08..732d9b1095 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 26b0b946d0..b305f4f970 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/d48/structshaka_1_1WidevineDecryptionParams.html b/docs/d8/d48/structshaka_1_1WidevineDecryptionParams.html index 5c5e650a36..7c15df80b8 100644 --- a/docs/d8/d48/structshaka_1_1WidevineDecryptionParams.html +++ b/docs/d8/d48/structshaka_1_1WidevineDecryptionParams.html @@ -120,7 +120,7 @@ std::string  diff --git a/docs/d8/d4d/aes__decryptor_8h_source.html b/docs/d8/d4d/aes__decryptor_8h_source.html index 1346164d3c..d11dd2c1c0 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/d4f/classshaka_1_1media_1_1TextSample-members.html b/docs/d8/d4f/classshaka_1_1media_1_1TextSample-members.html index c0aa78778d..4e261aab60 100644 --- a/docs/d8/d4f/classshaka_1_1media_1_1TextSample-members.html +++ b/docs/d8/d4f/classshaka_1_1media_1_1TextSample-members.html @@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/d53/crypto__flags_8h_source.html b/docs/d8/d53/crypto__flags_8h_source.html index 464c63b75d..c61464a829 100644 --- a/docs/d8/d53/crypto__flags_8h_source.html +++ b/docs/d8/d53/crypto__flags_8h_source.html @@ -108,7 +108,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 dfcb52060c..aff9bd5c10 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 cebcfadee7..99229cc977 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 c97944affd..c5d0946f12 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/d6f/origin__handler_8h_source.html b/docs/d8/d6f/origin__handler_8h_source.html index c403f6d4b7..2a5f3aaa86 100644 --- a/docs/d8/d6f/origin__handler_8h_source.html +++ b/docs/d8/d6f/origin__handler_8h_source.html @@ -136,7 +136,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); 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 39db1943fb..c2147191bb 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 207ab4369f..d24cabf06f 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/d7c/structshaka_1_1RawKeyEncryptionParams_1_1KeyPair-members.html b/docs/d8/d7c/structshaka_1_1RawKeyEncryptionParams_1_1KeyPair-members.html index fd01b98629..c43ec02d44 100644 --- a/docs/d8/d7c/structshaka_1_1RawKeyEncryptionParams_1_1KeyPair-members.html +++ b/docs/d8/d7c/structshaka_1_1RawKeyEncryptionParams_1_1KeyPair-members.html @@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/d86/classshaka_1_1media_1_1WebMTracksParser.html b/docs/d8/d86/classshaka_1_1media_1_1WebMTracksParser.html index 1e1bd68421..9695002a0c 100644 --- a/docs/d8/d86/classshaka_1_1media_1_1WebMTracksParser.html +++ b/docs/d8/d86/classshaka_1_1media_1_1WebMTracksParser.html @@ -228,7 +228,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 556b3583f5..25e4e43fcc 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/d8b/structshaka_1_1RawKeyDecryptionParams_1_1KeyPair.html b/docs/d8/d8b/structshaka_1_1RawKeyDecryptionParams_1_1KeyPair.html index c40fb5113d..881929a8f8 100644 --- a/docs/d8/d8b/structshaka_1_1RawKeyDecryptionParams_1_1KeyPair.html +++ b/docs/d8/d8b/structshaka_1_1RawKeyDecryptionParams_1_1KeyPair.html @@ -112,7 +112,7 @@ std::vector< uint8_t >  diff --git a/docs/d8/d8e/classshaka_1_1AdaptationSet.html b/docs/d8/d8e/classshaka_1_1AdaptationSet.html index cd3a6aa089..d5d20ff0c3 100644 --- a/docs/d8/d8e/classshaka_1_1AdaptationSet.html +++ b/docs/d8/d8e/classshaka_1_1AdaptationSet.html @@ -225,7 +225,7 @@ template<DashProfile profile> -

Definition at line 648 of file mpd_builder.cc.

+

Definition at line 649 of file mpd_builder.cc.

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

Definition at line 836 of file mpd_builder.cc.

+

Definition at line 837 of file mpd_builder.cc.

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

Definition at line 709 of file mpd_builder.cc.

+

Definition at line 710 of file mpd_builder.cc.

@@ -344,7 +344,7 @@ template<DashProfile profile>
Returns
On success, returns a pointer to Representation. Otherwise returns NULL. The returned pointer is owned by the AdaptationSet instance.
-

Definition at line 663 of file mpd_builder.cc.

+

Definition at line 664 of file mpd_builder.cc.

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

Definition at line 721 of file mpd_builder.cc.

+

Definition at line 722 of file mpd_builder.cc.

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

Definition at line 865 of file mpd_builder.cc.

+

Definition at line 866 of file mpd_builder.cc.

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

Definition at line 830 of file mpd_builder.cc.

+

Definition at line 831 of file mpd_builder.cc.

@@ -462,7 +462,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 731 of file mpd_builder.cc.

+

Definition at line 732 of file mpd_builder.cc.

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

Definition at line 847 of file mpd_builder.cc.

+

Definition at line 848 of file mpd_builder.cc.

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

Definition at line 858 of file mpd_builder.cc.

+

Definition at line 859 of file mpd_builder.cc.

@@ -592,7 +592,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 715 of file mpd_builder.cc.

+

Definition at line 716 of file mpd_builder.cc.

@@ -603,7 +603,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 7fcec4b705..babb663779 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 3c20c8d615..4a1d85e16e 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 66bd537a13..696b9efbfd 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 c7c7cd2c21..c350e59718 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 26514da95b..1a66c84081 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 276b5b5a3d..898b851f81 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 c6f9f5100f..0628e36274 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 7e7f8caa5e..469bf14315 100644 --- a/docs/d8/d9a/fragmenter_8cc_source.html +++ b/docs/d8/d9a/fragmenter_8cc_source.html @@ -389,7 +389,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 39b0989b59..05d9817d35 100644 --- a/docs/d8/d9c/webm__tracks__parser_8cc_source.html +++ b/docs/d8/d9c/webm__tracks__parser_8cc_source.html @@ -441,7 +441,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 dc8087c1ff..e09c0f78af 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 c15ee05202..3c62c6389f 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 db59c33989..0e9a1de5dd 100644 --- a/docs/d8/da6/classshaka_1_1media_1_1NaluReader-members.html +++ b/docs/d8/da6/classshaka_1_1media_1_1NaluReader-members.html @@ -107,7 +107,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 d15c0558bf..a96afeff94 100644 --- a/docs/d8/daa/stream__info_8h_source.html +++ b/docs/d8/daa/stream__info_8h_source.html @@ -224,7 +224,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/daf/namespaceshaka.html b/docs/d8/daf/namespaceshaka.html index b7883ea1a0..e001bde770 100644 --- a/docs/d8/daf/namespaceshaka.html +++ b/docs/d8/daf/namespaceshaka.html @@ -93,6 +93,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); + + + @@ -116,6 +119,9 @@ Classes + + + @@ -148,6 +154,9 @@ Classes + + + @@ -684,7 +693,7 @@ template<class FlagType > 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 ea0ccb6875..9d5302b98e 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 @@ -264,7 +264,7 @@ void 

Classes

struct  ChunkingParams
 Chunking (segmentation) related parameters. More...
 
struct  WidevineSigner
 Signer credential for Widevine license server. More...
 
struct  DecryptionParams
 Decryption parameters. More...
 
struct  Mp4OutputParams
 MP4 (ISO-BMFF) output related parameters. More...
 
struct  Element
 
struct  ContentProtectionElement
 
class  SimpleMpdNotifier
 
struct  MpdParams
 DASH MPD related parameters. More...
 
class  MpdNotifierFactory
 
class  MpdWriter
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 73612b538a..4ffa8afb9a 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 e94200f547..1d8a8eb312 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 420994967b..78abe4980d 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 00a1a535a9..a0a6143892 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 86d73e1bce..bb10be4e6d 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 167d79a238..7bb0880314 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 feebefd4df..270277ef1e 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 c666746c82..452f862328 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 09991147c8..d5d563ae1a 100644 --- a/docs/d8/de1/classshaka_1_1SimpleMpdNotifier.html +++ b/docs/d8/de1/classshaka_1_1SimpleMpdNotifier.html @@ -108,9 +108,9 @@ Inheritance diagram for shaka::SimpleMpdNotifier: - - + + @@ -189,7 +189,7 @@ class 

Public Member Functions

SimpleMpdNotifier (const MpdOptions &mpd_options, const std::vector< std::string > &base_urls, const std::string &output_path)
 
SimpleMpdNotifier (const MpdOptions &mpd_options)
 
MpdNotifier implemetation overrides.
bool Init () override
 
SimpleMpdNotifierTes

Implements shaka::MpdNotifier.

-

Definition at line 111 of file simple_mpd_notifier.cc.

+

Definition at line 109 of file simple_mpd_notifier.cc.

@@ -217,7 +217,7 @@ class 
SimpleMpdNotifierTes

Implements shaka::MpdNotifier.

-

Definition at line 124 of file simple_mpd_notifier.cc.

+

Definition at line 122 of file simple_mpd_notifier.cc.

@@ -246,7 +246,7 @@ class 
SimpleMpdNotifierTes

Implements shaka::MpdNotifier.

-

Definition at line 30 of file simple_mpd_notifier.cc.

+

Definition at line 28 of file simple_mpd_notifier.cc.

@@ -307,7 +307,7 @@ class 
SimpleMpdNotifierTes

Implements shaka::MpdNotifier.

-

Definition at line 95 of file simple_mpd_notifier.cc.

+

Definition at line 93 of file simple_mpd_notifier.cc.

@@ -354,7 +354,7 @@ class 
SimpleMpdNotifierTes

Implements shaka::MpdNotifier.

-

Definition at line 34 of file simple_mpd_notifier.cc.

+

Definition at line 32 of file simple_mpd_notifier.cc.

@@ -415,7 +415,7 @@ class 
SimpleMpdNotifierTes

Implements shaka::MpdNotifier.

-

Definition at line 81 of file simple_mpd_notifier.cc.

+

Definition at line 79 of file simple_mpd_notifier.cc.

@@ -462,7 +462,7 @@ class 
SimpleMpdNotifierTes

Implements shaka::MpdNotifier.

-

Definition at line 69 of file simple_mpd_notifier.cc.

+

Definition at line 67 of file simple_mpd_notifier.cc.

@@ -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 5acff5d56b..497676fda8 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 d23d2c07fd..eacedcd54a 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 5f0eb926da..57c9bf4bb1 100644 --- a/docs/d8/deb/retired__flags_8cc_source.html +++ b/docs/d8/deb/retired__flags_8cc_source.html @@ -139,7 +139,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 b41d309fe3..13d590b486 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 2ee4c5e51f..d24023fa3e 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 ccbbde5988..9e4a9909b4 100644 --- a/docs/d8/df0/webm_2single__segment__segmenter_8cc_source.html +++ b/docs/d8/df0/webm_2single__segment__segmenter_8cc_source.html @@ -220,7 +220,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 3fa617f7bc..961b48b1fe 100644 --- a/docs/d8/df7/classshaka_1_1media_1_1SegmentTestBase-members.html +++ b/docs/d8/df7/classshaka_1_1media_1_1SegmentTestBase-members.html @@ -116,7 +116,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 3cbc45091d..57a6506e14 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 b0f1ee84f1..86813287bc 100644 --- a/docs/d9/d00/structshaka_1_1media_1_1OnMediaEndParameters-members.html +++ b/docs/d9/d00/structshaka_1_1media_1_1OnMediaEndParameters-members.html @@ -98,7 +98,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 0b38015ac5..f04a690d5b 100644 --- a/docs/d9/d01/mp4_2single__segment__segmenter_8h_source.html +++ b/docs/d9/d01/mp4_2single__segment__segmenter_8h_source.html @@ -134,14 +134,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
59 
60 #endif // MEDIA_FORMATS_MP4_SINGLE_SEGMENT_SEGMENTER_H_
bool GetIndexRange(size_t *offset, size_t *size) override
-
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
bool GetInitRange(size_t *offset, size_t *size) override
diff --git a/docs/d9/d08/mock__mpd__builder_8h_source.html b/docs/d9/d08/mock__mpd__builder_8h_source.html index 212b8f6b4c..c8682209a2 100644 --- a/docs/d9/d08/mock__mpd__builder_8h_source.html +++ b/docs/d9/d08/mock__mpd__builder_8h_source.html @@ -152,29 +152,29 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
63 } // namespace shaka
64 
65 #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 Representation * AddRepresentation(const MediaInfo &media_info)
Definition: mpd_builder.cc:663
+
virtual void SetSampleDuration(uint32_t sample_duration)
+
virtual Representation * AddRepresentation(const MediaInfo &media_info)
Definition: mpd_builder.cc:664
This class generates DASH MPDs (Media Presentation Descriptions).
Definition: mpd_builder.h:54
-
virtual void AddContentProtectionElement(const ContentProtectionElement &element)
Definition: mpd_builder.cc:709
+
virtual void AddContentProtectionElement(const ContentProtectionElement &element)
Definition: mpd_builder.cc:710
-
virtual void AddTrickPlayReferenceId(uint32_t id)
Definition: mpd_builder.cc:865
-
virtual void AddRole(Role role)
Definition: mpd_builder.cc:721
-
virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
Definition: mpd_builder.cc:715
+
virtual void AddTrickPlayReferenceId(uint32_t id)
Definition: mpd_builder.cc:866
+
virtual void AddRole(Role role)
Definition: mpd_builder.cc:722
+
virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
Definition: mpd_builder.cc:716
virtual bool ToString(std::string *output)
Definition: mpd_builder.cc:396
-
virtual void ForceSetSegmentAlignment(bool segment_alignment)
Definition: mpd_builder.cc:830
-
virtual void AddContentProtectionElement(const ContentProtectionElement &element)
+
virtual void ForceSetSegmentAlignment(bool segment_alignment)
Definition: mpd_builder.cc:831
+
virtual void AddContentProtectionElement(const ContentProtectionElement &element)
virtual AdaptationSet * AddAdaptationSet(const std::string &lang)
Definition: mpd_builder.cc:382
-
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 2f8dfec122..1a86d32023 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 30aa486f80..ac2e4e5bd6 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 593e80228c..bc405fc65f 100644 --- a/docs/d9/d12/chunking__handler_8cc_source.html +++ b/docs/d9/d12/chunking__handler_8cc_source.html @@ -107,9 +107,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
18 namespace shaka {
19 namespace media {
20 
-
21 ChunkingHandler::ChunkingHandler(const ChunkingOptions& chunking_options)
-
22  : chunking_options_(chunking_options), thread_id_(kThreadIdUnset) {
-
23  CHECK_NE(chunking_options.segment_duration_in_seconds, 0u);
+
21 ChunkingHandler::ChunkingHandler(const ChunkingParams& chunking_params)
+
22  : chunking_params_(chunking_params), thread_id_(kThreadIdUnset) {
+
23  CHECK_NE(chunking_params.segment_duration_in_seconds, 0u);
24 }
25 
26 ChunkingHandler::~ChunkingHandler() {}
@@ -145,9 +145,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
56  if (is_main_stream) {
57  main_stream_index_ = stream_data->stream_index;
58  segment_duration_ =
-
59  chunking_options_.segment_duration_in_seconds * time_scale;
+
59  chunking_params_.segment_duration_in_seconds * time_scale;
60  subsegment_duration_ =
-
61  chunking_options_.subsegment_duration_in_seconds * time_scale;
+
61  chunking_params_.subsegment_duration_in_seconds * time_scale;
62  } else if (stream_data->stream_info->stream_type() == kStreamVideo) {
63  return Status(error::CHUNKING_ERROR,
64  "Only one video stream is allowed per chunking handler.");
@@ -227,7 +227,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
138  // Check if we need to terminate the current (sub)segment.
139  bool new_segment = false;
140  bool new_subsegment = false;
-
141  if (is_key_frame || !chunking_options_.segment_sap_aligned) {
+
141  if (is_key_frame || !chunking_params_.segment_sap_aligned) {
142  const int64_t segment_index = timestamp / segment_duration_;
143  if (segment_index != current_segment_index_) {
144  current_segment_index_ = segment_index;
@@ -237,7 +237,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
148  }
149  }
150  if (!new_segment && subsegment_duration_ > 0 &&
-
151  (is_key_frame || !chunking_options_.subsegment_sap_aligned)) {
+
151  (is_key_frame || !chunking_params_.subsegment_sap_aligned)) {
152  const int64_t subsegment_index =
153  (timestamp - segment_info_[main_stream_index_]->start_timestamp) /
154  subsegment_duration_;
@@ -343,20 +343,20 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
254 } // namespace media
255 } // namespace shaka
Status Process(std::unique_ptr< StreamData > stream_data) override
-
Status Dispatch(std::unique_ptr< StreamData > stream_data)
Status InitializeInternal() override
+
Status OnFlushRequest(size_t input_stream_index) override
Event handler for flush request at the specific input stream index.
Status FlushDownstream(size_t output_stream_index)
Flush the downstream connected at the specified output stream index.
-
Class to hold a media sample.
Definition: media_sample.h:22
-
double segment_duration_in_seconds
Segment duration in seconds.
+
Status DispatchSegmentInfo(size_t stream_index, std::shared_ptr< SegmentInfo > segment_info)
Dispatch the segment info to downstream handlers.
- +
double segment_duration_in_seconds
Segment duration in seconds.
+
double subsegment_duration_in_seconds
diff --git a/docs/d9/d13/classshaka_1_1media_1_1BufferReader.html b/docs/d9/d13/classshaka_1_1media_1_1BufferReader.html index 64a4764379..d31ef79785 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 650a56f30a..168c875754 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 f988d4ffc9..ea569fa9ee 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 5008e08070..897bd9b618 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 @@ -437,7 +437,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 9fb0df95ab..7c7d23486e 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/d3b/webm__content__encodings_8h_source.html b/docs/d9/d3b/webm__content__encodings_8h_source.html index 2b87711f8c..a790cc3af0 100644 --- a/docs/d9/d3b/webm__content__encodings_8h_source.html +++ b/docs/d9/d3b/webm__content__encodings_8h_source.html @@ -179,7 +179,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/d3c/structshaka_1_1media_1_1mp4_1_1VTTEmptyCueBox.html b/docs/d9/d3c/structshaka_1_1media_1_1mp4_1_1VTTEmptyCueBox.html index b302573651..b943a89147 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 116632aabe..8feab56b5e 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 a8ec6d817d..be07e48902 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/d65/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges-members.html b/docs/d9/d65/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges-members.html index b73f078f14..df34732094 100644 --- a/docs/d9/d65/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges-members.html +++ b/docs/d9/d65/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges-members.html @@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); 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 09d72e5fdd..48a0d7b8d8 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 04262d422a..cf8fda9a0e 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 6cf470c796..1781014cf7 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 b06763dc5d..3a021e3106 100644 --- a/docs/d9/d76/ts__muxer_8cc_source.html +++ b/docs/d9/d76/ts__muxer_8cc_source.html @@ -161,7 +161,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 956e995153..d8ebe4af88 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 8fb817883f..c0b83d9179 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 c807aa702f..80ac9bf826 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 8dc6d3e742..14b82571e2 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 94d6fc2960..7eee0e1a01 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 fed592bba2..ad176ea1b4 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 72660a276b..17351b0a94 100644 --- a/docs/d9/da4/stream__descriptor_8h_source.html +++ b/docs/d9/da4/stream__descriptor_8h_source.html @@ -113,7 +113,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 6703c5f91c..8d1806a85b 100644 --- a/docs/d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html +++ b/docs/d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html @@ -471,7 +471,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 d804abbcd3..f416217a43 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 94ee79afb8..0595d13ea8 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 @@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/da8/structshaka_1_1RawKeyDecryptionParams.html b/docs/d9/da8/structshaka_1_1RawKeyDecryptionParams.html index 430182535f..6b63742527 100644 --- a/docs/d9/da8/structshaka_1_1RawKeyDecryptionParams.html +++ b/docs/d9/da8/structshaka_1_1RawKeyDecryptionParams.html @@ -143,7 +143,7 @@ Public Attributes 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 ed844604cc..0e006cf357 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 4bfb0f42f4..6ee7a0acb9 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 125b77ed79..26a1c365b3 100644 --- a/docs/d9/db9/muxer_8cc_source.html +++ b/docs/d9/db9/muxer_8cc_source.html @@ -181,7 +181,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); 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 b34e5f5adb..f826064e02 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 97a49e6c5d..2b29c45e24 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 6da17078db..63e8fc6413 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 47baf06f4d..52311b35c1 100644 --- a/docs/d9/dcc/webm__video__client_8h_source.html +++ b/docs/d9/dcc/webm__video__client_8h_source.html @@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/dd2/structshaka_1_1WidevineEncryptionParams.html b/docs/d9/dd2/structshaka_1_1WidevineEncryptionParams.html index 89584c4364..bf633008ec 100644 --- a/docs/d9/dd2/structshaka_1_1WidevineEncryptionParams.html +++ b/docs/d9/dd2/structshaka_1_1WidevineEncryptionParams.html @@ -150,7 +150,7 @@ std::vector< uint8_t >  diff --git a/docs/d9/de0/structshaka_1_1media_1_1Range.html b/docs/d9/de0/structshaka_1_1media_1_1Range.html index 20a2302acb..a9e3562ff7 100644 --- a/docs/d9/de0/structshaka_1_1media_1_1Range.html +++ b/docs/d9/de0/structshaka_1_1media_1_1Range.html @@ -115,7 +115,7 @@ uint64_t end diff --git a/docs/d9/de3/muxer__listener__internal_8cc_source.html b/docs/d9/de3/muxer__listener__internal_8cc_source.html index 811a3cae65..29bec97990 100644 --- a/docs/d9/de3/muxer__listener__internal_8cc_source.html +++ b/docs/d9/de3/muxer__listener__internal_8cc_source.html @@ -364,7 +364,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); 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 9efc1ebd20..1125829e21 100644 --- a/docs/d9/dea/classshaka_1_1media_1_1FixedKeySource-members.html +++ b/docs/d9/dea/classshaka_1_1media_1_1FixedKeySource-members.html @@ -105,7 +105,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 5df3e8c2e5..51f2b8d61f 100644 --- a/docs/d9/ded/aac__audio__specific__config_8cc_source.html +++ b/docs/d9/ded/aac__audio__specific__config_8cc_source.html @@ -363,7 +363,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 d145644e6b..8cb2df5d71 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 e6ced850d8..a8c41a4d0a 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 4ef80ea221..82ff1043e5 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 6d953e22db..e48918afc3 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 217e062185..bcd37e0fa5 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 17dd481767..1f52576c76 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 a850efb420..6f602f6f8b 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/d23/classshaka_1_1media_1_1mp2t_1_1EsParserH26x.html b/docs/da/d23/classshaka_1_1media_1_1mp2t_1_1EsParserH26x.html index c60e8437aa..ebcf61d1e8 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 4c071445f8..2cf6d11a1f 100644 --- a/docs/da/d23/ts__muxer_8h_source.html +++ b/docs/da/d23/ts__muxer_8h_source.html @@ -131,13 +131,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
44 } // namespace shaka
45 
46 #endif // PACKAGER_MEDIA_FORMATS_MP2T_TS_MUXER_H_
-
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
diff --git a/docs/da/d24/h265__parser_8h_source.html b/docs/da/d24/h265__parser_8h_source.html index a4ed9e0733..fe7e46b6ca 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 7b0f5f8888..9265d532d1 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 f1e5d6dbe0..ad25cc9e5e 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 @@ -132,7 +132,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 a1e8919d62..fffaf79fef 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 04ef83981e..8d9b6cc482 100644 --- a/docs/da/d41/mp4_2multi__segment__segmenter_8h_source.html +++ b/docs/da/d41/mp4_2multi__segment__segmenter_8h_source.html @@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
62 } // namespace shaka
63 
64 #endif // MEDIA_FORMATS_MP4_MULTI_SEGMENT_SEGMENTER_H_
-
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
bool GetInitRange(size_t *offset, size_t *size) override
bool GetIndexRange(size_t *offset, size_t *size) override
@@ -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 7d53124ee7..f9ea464d6f 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 b8ef04945b..57b50dcdc4 100644 --- a/docs/da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html +++ b/docs/da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html @@ -328,7 +328,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 2197accc7b..7e4e4a55b7 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 38357a8dee..cf79efdb19 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 e048eff90e..f34b03fa40 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 7d2bf0de98..e87f633e01 100644 --- a/docs/da/d5c/widevine__key__source_8h_source.html +++ b/docs/da/d5c/widevine__key__source_8h_source.html @@ -229,7 +229,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 3a6055c26d..238e3acabf 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 224d89104e..0d180e8cda 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 @@ -120,7 +120,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 e89dd03e62..f669b0bd8d 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 ad56c25f83..763fb769f5 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 652324aafc..facf82dd11 100644 --- a/docs/da/d7a/fixed__key__encryption__flags_8h_source.html +++ b/docs/da/d7a/fixed__key__encryption__flags_8h_source.html @@ -121,7 +121,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 c903988f65..2f2436590c 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 9340270a1f..7702c72979 100644 --- a/docs/da/d88/mp4__muxer_8cc_source.html +++ b/docs/da/d88/mp4__muxer_8cc_source.html @@ -260,327 +260,328 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
171  << streams()[i]->stream_type();
172  }
173 
-
174  if (streams()[i]->is_encrypted() && options().mp4_include_pssh_in_stream) {
-
175  const auto& key_system_info =
-
176  streams()[i]->encryption_config().key_system_info;
-
177  moov->pssh.resize(key_system_info.size());
-
178  for (size_t j = 0; j < key_system_info.size(); j++)
-
179  moov->pssh[j].raw_box = key_system_info[j].CreateBox();
-
180  }
-
181  }
-
182 
-
183  if (options().segment_template.empty()) {
-
184  segmenter_.reset(new SingleSegmentSegmenter(options(), std::move(ftyp),
-
185  std::move(moov)));
-
186  } else {
-
187  segmenter_.reset(
-
188  new MultiSegmentSegmenter(options(), std::move(ftyp), std::move(moov)));
-
189  }
-
190 
-
191  const Status segmenter_initialized =
-
192  segmenter_->Initialize(streams(), muxer_listener(), progress_listener());
-
193  if (!segmenter_initialized.ok())
-
194  return segmenter_initialized;
-
195 
-
196  FireOnMediaStartEvent();
-
197  return Status::OK;
-
198 }
-
199 
-
200 Status MP4Muxer::Finalize() {
-
201  DCHECK(segmenter_);
-
202  Status segmenter_finalized = segmenter_->Finalize();
-
203 
-
204  if (!segmenter_finalized.ok())
-
205  return segmenter_finalized;
-
206 
-
207  FireOnMediaEndEvent();
-
208  LOG(INFO) << "MP4 file '" << options().output_file_name << "' finalized.";
-
209  return Status::OK;
-
210 }
-
211 
-
212 Status MP4Muxer::AddSample(size_t stream_id,
-
213  std::shared_ptr<MediaSample> sample) {
-
214  DCHECK(segmenter_);
-
215  return segmenter_->AddSample(stream_id, sample);
-
216 }
-
217 
-
218 Status MP4Muxer::FinalizeSegment(size_t stream_id,
-
219  std::shared_ptr<SegmentInfo> segment_info) {
-
220  DCHECK(segmenter_);
-
221  VLOG(3) << "Finalize " << (segment_info->is_subsegment ? "sub" : "")
-
222  << "segment " << segment_info->start_timestamp << " duration "
-
223  << segment_info->duration;
-
224  return segmenter_->FinalizeSegment(stream_id, std::move(segment_info));
-
225 }
-
226 
-
227 void MP4Muxer::InitializeTrak(const StreamInfo* info, Track* trak) {
-
228  int64_t now = IsoTimeNow();
-
229  trak->header.creation_time = now;
-
230  trak->header.modification_time = now;
-
231  trak->header.duration = 0;
-
232  trak->media.header.creation_time = now;
-
233  trak->media.header.modification_time = now;
-
234  trak->media.header.timescale = info->time_scale();
-
235  trak->media.header.duration = 0;
-
236  if (!info->language().empty()) {
-
237  // Strip off the subtag, if any.
-
238  std::string main_language = info->language();
-
239  size_t dash = main_language.find('-');
-
240  if (dash != std::string::npos) {
-
241  main_language.erase(dash);
-
242  }
-
243 
-
244  // ISO-639-2/T main language code should be 3 characters.
-
245  if (main_language.size() != 3) {
-
246  LOG(WARNING) << "'" << main_language << "' is not a valid ISO-639-2 "
-
247  << "language code, ignoring.";
-
248  } else {
-
249  trak->media.header.language.code = main_language;
-
250  }
-
251  }
-
252 }
-
253 
-
254 void MP4Muxer::GenerateVideoTrak(const VideoStreamInfo* video_info,
-
255  Track* trak,
-
256  uint32_t track_id) {
-
257  InitializeTrak(video_info, trak);
-
258 
-
259  // width and height specify the track's visual presentation size as
-
260  // fixed-point 16.16 values.
-
261  uint32_t pixel_width = video_info->pixel_width();
-
262  uint32_t pixel_height = video_info->pixel_height();
-
263  if (pixel_width == 0 || pixel_height == 0) {
-
264  LOG(WARNING) << "pixel width/height are not set. Assuming 1:1.";
-
265  pixel_width = 1;
-
266  pixel_height = 1;
-
267  }
-
268  const double sample_aspect_ratio =
-
269  static_cast<double>(pixel_width) / pixel_height;
-
270  trak->header.width = video_info->width() * sample_aspect_ratio * 0x10000;
-
271  trak->header.height = video_info->height() * 0x10000;
-
272 
-
273  VideoSampleEntry video;
-
274  video.format =
-
275  CodecToFourCC(video_info->codec(), video_info->h26x_stream_format());
-
276  video.width = video_info->width();
-
277  video.height = video_info->height();
-
278  video.codec_configuration.data = video_info->codec_config();
-
279  if (pixel_width != 1 || pixel_height != 1) {
-
280  video.pixel_aspect.h_spacing = pixel_width;
-
281  video.pixel_aspect.v_spacing = pixel_height;
-
282  }
-
283 
-
284  SampleDescription& sample_description =
-
285  trak->media.information.sample_table.description;
-
286  sample_description.type = kVideo;
-
287  sample_description.video_entries.push_back(video);
-
288 
-
289  if (video_info->is_encrypted()) {
-
290  if (video_info->has_clear_lead()) {
-
291  // Add a second entry for clear content.
-
292  sample_description.video_entries.push_back(video);
-
293  }
-
294  // Convert the first entry to an encrypted entry.
-
295  VideoSampleEntry& entry = sample_description.video_entries[0];
-
296  GenerateSinf(entry.format, video_info->encryption_config(), &entry.sinf);
-
297  entry.format = FOURCC_encv;
-
298  }
-
299 }
-
300 
-
301 void MP4Muxer::GenerateAudioTrak(const AudioStreamInfo* audio_info,
-
302  Track* trak,
-
303  uint32_t track_id) {
-
304  InitializeTrak(audio_info, trak);
-
305 
-
306  trak->header.volume = 0x100;
-
307 
-
308  AudioSampleEntry audio;
-
309  audio.format =
-
310  CodecToFourCC(audio_info->codec(), H26xStreamFormat::kUnSpecified);
-
311  switch(audio_info->codec()){
-
312  case kCodecAAC:
-
313  audio.esds.es_descriptor.set_object_type(kISO_14496_3); // MPEG4 AAC.
-
314  audio.esds.es_descriptor.set_esid(track_id);
-
315  audio.esds.es_descriptor.set_decoder_specific_info(
-
316  audio_info->codec_config());
-
317  audio.esds.es_descriptor.set_max_bitrate(audio_info->max_bitrate());
-
318  audio.esds.es_descriptor.set_avg_bitrate(audio_info->avg_bitrate());
-
319  break;
-
320  case kCodecDTSC:
-
321  case kCodecDTSH:
-
322  case kCodecDTSL:
-
323  case kCodecDTSE:
-
324  case kCodecDTSM:
-
325  audio.ddts.extra_data = audio_info->codec_config();
-
326  audio.ddts.max_bitrate = audio_info->max_bitrate();
-
327  audio.ddts.avg_bitrate = audio_info->avg_bitrate();
-
328  audio.ddts.sampling_frequency = audio_info->sampling_frequency();
-
329  audio.ddts.pcm_sample_depth = audio_info->sample_bits();
-
330  break;
-
331  case kCodecAC3:
-
332  audio.dac3.data = audio_info->codec_config();
-
333  break;
-
334  case kCodecEAC3:
-
335  audio.dec3.data = audio_info->codec_config();
-
336  break;
-
337  case kCodecOpus:
-
338  audio.dops.opus_identification_header = audio_info->codec_config();
-
339  break;
-
340  default:
-
341  NOTIMPLEMENTED();
-
342  break;
-
343  }
-
344 
-
345  audio.channelcount = audio_info->num_channels();
-
346  audio.samplesize = audio_info->sample_bits();
-
347  audio.samplerate = audio_info->sampling_frequency();
-
348  SampleTable& sample_table = trak->media.information.sample_table;
-
349  SampleDescription& sample_description = sample_table.description;
-
350  sample_description.type = kAudio;
-
351  sample_description.audio_entries.push_back(audio);
-
352 
-
353  if (audio_info->is_encrypted()) {
-
354  if (audio_info->has_clear_lead()) {
-
355  // Add a second entry for clear content.
-
356  sample_description.audio_entries.push_back(audio);
-
357  }
-
358  // Convert the first entry to an encrypted entry.
-
359  AudioSampleEntry& entry = sample_description.audio_entries[0];
-
360  GenerateSinf(entry.format, audio_info->encryption_config(), &entry.sinf);
-
361  entry.format = FOURCC_enca;
-
362  }
-
363 
-
364  // Opus requires at least one sample group description box and at least one
-
365  // sample to group box with grouping type 'roll' within sample table box.
-
366  if (audio_info->codec() == kCodecOpus) {
-
367  sample_table.sample_group_descriptions.resize(1);
-
368  SampleGroupDescription& sample_group_description =
-
369  sample_table.sample_group_descriptions.back();
-
370  sample_group_description.grouping_type = FOURCC_roll;
-
371  sample_group_description.audio_roll_recovery_entries.resize(1);
-
372  // The roll distance is expressed in sample units and always takes negative
-
373  // values.
-
374  const uint64_t kNanosecondsPerSecond = 1000000000ull;
-
375  sample_group_description.audio_roll_recovery_entries[0].roll_distance =
-
376  (0 - (audio_info->seek_preroll_ns() * audio.samplerate +
-
377  kNanosecondsPerSecond / 2)) /
-
378  kNanosecondsPerSecond;
-
379 
-
380  sample_table.sample_to_groups.resize(1);
-
381  SampleToGroup& sample_to_group = sample_table.sample_to_groups.back();
-
382  sample_to_group.grouping_type = FOURCC_roll;
-
383 
-
384  sample_to_group.entries.resize(1);
-
385  SampleToGroupEntry& sample_to_group_entry = sample_to_group.entries.back();
-
386  // All samples are in track fragments.
-
387  sample_to_group_entry.sample_count = 0;
-
388  sample_to_group_entry.group_description_index =
-
389  SampleToGroupEntry::kTrackGroupDescriptionIndexBase + 1;
-
390  } else if (audio_info->seek_preroll_ns() != 0) {
-
391  LOG(WARNING) << "Unexpected seek preroll for codec " << audio_info->codec();
-
392  return;
-
393  }
-
394 }
-
395 
-
396 void MP4Muxer::GenerateTextTrak(const TextStreamInfo* text_info,
-
397  Track* trak,
-
398  uint32_t track_id) {
-
399  InitializeTrak(text_info, trak);
-
400 
-
401  if (text_info->codec_string() == "wvtt") {
-
402  // Handle WebVTT.
-
403  TextSampleEntry webvtt;
-
404  webvtt.format = FOURCC_wvtt;
-
405  webvtt.config.config.assign(text_info->codec_config().begin(),
-
406  text_info->codec_config().end());
-
407  // TODO(rkuroiwa): This should be the source file URI(s). Putting bogus
-
408  // string for now so that the box will be there for samples with overlapping
-
409  // cues.
-
410  webvtt.label.source_label = "source_label";
-
411  SampleDescription& sample_description =
-
412  trak->media.information.sample_table.description;
-
413  sample_description.type = kText;
-
414  sample_description.text_entries.push_back(webvtt);
-
415  return;
-
416  }
-
417  NOTIMPLEMENTED() << text_info->codec_string()
-
418  << " handling not implemented yet.";
-
419 }
-
420 
-
421 base::Optional<Range> MP4Muxer::GetInitRangeStartAndEnd() {
-
422  size_t range_offset = 0;
-
423  size_t range_size = 0;
-
424  const bool has_range = segmenter_->GetInitRange(&range_offset, &range_size);
-
425 
-
426  if (!has_range)
-
427  return base::nullopt;
-
428 
-
429  Range range;
-
430  SetStartAndEndFromOffsetAndSize(range_offset, range_size, &range);
-
431  return range;
-
432 }
-
433 
-
434 base::Optional<Range> MP4Muxer::GetIndexRangeStartAndEnd() {
-
435  size_t range_offset = 0;
-
436  size_t range_size = 0;
-
437  const bool has_range = segmenter_->GetIndexRange(&range_offset, &range_size);
-
438 
-
439  if (!has_range)
-
440  return base::nullopt;
-
441 
-
442  Range range;
-
443  SetStartAndEndFromOffsetAndSize(range_offset, range_size, &range);
-
444  return range;
-
445 }
-
446 
-
447 void MP4Muxer::FireOnMediaStartEvent() {
-
448  if (!muxer_listener())
-
449  return;
-
450 
-
451  if (streams().size() > 1) {
-
452  LOG(ERROR) << "MuxerListener cannot take more than 1 stream.";
-
453  return;
-
454  }
-
455  DCHECK(!streams().empty()) << "Media started without a stream.";
-
456 
-
457  const uint32_t timescale = segmenter_->GetReferenceTimeScale();
-
458  muxer_listener()->OnMediaStart(options(), *streams().front(), timescale,
-
459  MuxerListener::kContainerMp4);
-
460 }
-
461 
-
462 void MP4Muxer::FireOnMediaEndEvent() {
-
463  if (!muxer_listener())
-
464  return;
-
465 
-
466  MuxerListener::MediaRanges media_range;
-
467  media_range.init_range = GetInitRangeStartAndEnd();
-
468  media_range.index_range = GetIndexRangeStartAndEnd();
-
469  media_range.subsegment_ranges = segmenter_->GetSegmentRanges();
-
470 
-
471  const float duration_seconds = static_cast<float>(segmenter_->GetDuration());
-
472  muxer_listener()->OnMediaEnd(media_range, duration_seconds);
-
473 }
-
474 
-
475 uint64_t MP4Muxer::IsoTimeNow() {
-
476  // Time in seconds from Jan. 1, 1904 to epoch time, i.e. Jan. 1, 1970.
-
477  const uint64_t kIsomTimeOffset = 2082844800l;
-
478  return kIsomTimeOffset +
-
479  (clock() ? clock()->Now() : base::Time::Now()).ToDoubleT();
-
480 }
-
481 
-
482 } // namespace mp4
-
483 } // namespace media
-
484 } // namespace shaka
- +
174  if (streams()[i]->is_encrypted() &&
+
175  options().mp4_params.include_pssh_in_stream) {
+
176  const auto& key_system_info =
+
177  streams()[i]->encryption_config().key_system_info;
+
178  moov->pssh.resize(key_system_info.size());
+
179  for (size_t j = 0; j < key_system_info.size(); j++)
+
180  moov->pssh[j].raw_box = key_system_info[j].CreateBox();
+
181  }
+
182  }
+
183 
+
184  if (options().segment_template.empty()) {
+
185  segmenter_.reset(new SingleSegmentSegmenter(options(), std::move(ftyp),
+
186  std::move(moov)));
+
187  } else {
+
188  segmenter_.reset(
+
189  new MultiSegmentSegmenter(options(), std::move(ftyp), std::move(moov)));
+
190  }
+
191 
+
192  const Status segmenter_initialized =
+
193  segmenter_->Initialize(streams(), muxer_listener(), progress_listener());
+
194  if (!segmenter_initialized.ok())
+
195  return segmenter_initialized;
+
196 
+
197  FireOnMediaStartEvent();
+
198  return Status::OK;
+
199 }
+
200 
+
201 Status MP4Muxer::Finalize() {
+
202  DCHECK(segmenter_);
+
203  Status segmenter_finalized = segmenter_->Finalize();
+
204 
+
205  if (!segmenter_finalized.ok())
+
206  return segmenter_finalized;
+
207 
+
208  FireOnMediaEndEvent();
+
209  LOG(INFO) << "MP4 file '" << options().output_file_name << "' finalized.";
+
210  return Status::OK;
+
211 }
+
212 
+
213 Status MP4Muxer::AddSample(size_t stream_id,
+
214  std::shared_ptr<MediaSample> sample) {
+
215  DCHECK(segmenter_);
+
216  return segmenter_->AddSample(stream_id, sample);
+
217 }
+
218 
+
219 Status MP4Muxer::FinalizeSegment(size_t stream_id,
+
220  std::shared_ptr<SegmentInfo> segment_info) {
+
221  DCHECK(segmenter_);
+
222  VLOG(3) << "Finalize " << (segment_info->is_subsegment ? "sub" : "")
+
223  << "segment " << segment_info->start_timestamp << " duration "
+
224  << segment_info->duration;
+
225  return segmenter_->FinalizeSegment(stream_id, std::move(segment_info));
+
226 }
+
227 
+
228 void MP4Muxer::InitializeTrak(const StreamInfo* info, Track* trak) {
+
229  int64_t now = IsoTimeNow();
+
230  trak->header.creation_time = now;
+
231  trak->header.modification_time = now;
+
232  trak->header.duration = 0;
+
233  trak->media.header.creation_time = now;
+
234  trak->media.header.modification_time = now;
+
235  trak->media.header.timescale = info->time_scale();
+
236  trak->media.header.duration = 0;
+
237  if (!info->language().empty()) {
+
238  // Strip off the subtag, if any.
+
239  std::string main_language = info->language();
+
240  size_t dash = main_language.find('-');
+
241  if (dash != std::string::npos) {
+
242  main_language.erase(dash);
+
243  }
+
244 
+
245  // ISO-639-2/T main language code should be 3 characters.
+
246  if (main_language.size() != 3) {
+
247  LOG(WARNING) << "'" << main_language << "' is not a valid ISO-639-2 "
+
248  << "language code, ignoring.";
+
249  } else {
+
250  trak->media.header.language.code = main_language;
+
251  }
+
252  }
+
253 }
+
254 
+
255 void MP4Muxer::GenerateVideoTrak(const VideoStreamInfo* video_info,
+
256  Track* trak,
+
257  uint32_t track_id) {
+
258  InitializeTrak(video_info, trak);
+
259 
+
260  // width and height specify the track's visual presentation size as
+
261  // fixed-point 16.16 values.
+
262  uint32_t pixel_width = video_info->pixel_width();
+
263  uint32_t pixel_height = video_info->pixel_height();
+
264  if (pixel_width == 0 || pixel_height == 0) {
+
265  LOG(WARNING) << "pixel width/height are not set. Assuming 1:1.";
+
266  pixel_width = 1;
+
267  pixel_height = 1;
+
268  }
+
269  const double sample_aspect_ratio =
+
270  static_cast<double>(pixel_width) / pixel_height;
+
271  trak->header.width = video_info->width() * sample_aspect_ratio * 0x10000;
+
272  trak->header.height = video_info->height() * 0x10000;
+
273 
+
274  VideoSampleEntry video;
+
275  video.format =
+
276  CodecToFourCC(video_info->codec(), video_info->h26x_stream_format());
+
277  video.width = video_info->width();
+
278  video.height = video_info->height();
+
279  video.codec_configuration.data = video_info->codec_config();
+
280  if (pixel_width != 1 || pixel_height != 1) {
+
281  video.pixel_aspect.h_spacing = pixel_width;
+
282  video.pixel_aspect.v_spacing = pixel_height;
+
283  }
+
284 
+
285  SampleDescription& sample_description =
+
286  trak->media.information.sample_table.description;
+
287  sample_description.type = kVideo;
+
288  sample_description.video_entries.push_back(video);
+
289 
+
290  if (video_info->is_encrypted()) {
+
291  if (video_info->has_clear_lead()) {
+
292  // Add a second entry for clear content.
+
293  sample_description.video_entries.push_back(video);
+
294  }
+
295  // Convert the first entry to an encrypted entry.
+
296  VideoSampleEntry& entry = sample_description.video_entries[0];
+
297  GenerateSinf(entry.format, video_info->encryption_config(), &entry.sinf);
+
298  entry.format = FOURCC_encv;
+
299  }
+
300 }
+
301 
+
302 void MP4Muxer::GenerateAudioTrak(const AudioStreamInfo* audio_info,
+
303  Track* trak,
+
304  uint32_t track_id) {
+
305  InitializeTrak(audio_info, trak);
+
306 
+
307  trak->header.volume = 0x100;
+
308 
+
309  AudioSampleEntry audio;
+
310  audio.format =
+
311  CodecToFourCC(audio_info->codec(), H26xStreamFormat::kUnSpecified);
+
312  switch(audio_info->codec()){
+
313  case kCodecAAC:
+
314  audio.esds.es_descriptor.set_object_type(kISO_14496_3); // MPEG4 AAC.
+
315  audio.esds.es_descriptor.set_esid(track_id);
+
316  audio.esds.es_descriptor.set_decoder_specific_info(
+
317  audio_info->codec_config());
+
318  audio.esds.es_descriptor.set_max_bitrate(audio_info->max_bitrate());
+
319  audio.esds.es_descriptor.set_avg_bitrate(audio_info->avg_bitrate());
+
320  break;
+
321  case kCodecDTSC:
+
322  case kCodecDTSH:
+
323  case kCodecDTSL:
+
324  case kCodecDTSE:
+
325  case kCodecDTSM:
+
326  audio.ddts.extra_data = audio_info->codec_config();
+
327  audio.ddts.max_bitrate = audio_info->max_bitrate();
+
328  audio.ddts.avg_bitrate = audio_info->avg_bitrate();
+
329  audio.ddts.sampling_frequency = audio_info->sampling_frequency();
+
330  audio.ddts.pcm_sample_depth = audio_info->sample_bits();
+
331  break;
+
332  case kCodecAC3:
+
333  audio.dac3.data = audio_info->codec_config();
+
334  break;
+
335  case kCodecEAC3:
+
336  audio.dec3.data = audio_info->codec_config();
+
337  break;
+
338  case kCodecOpus:
+
339  audio.dops.opus_identification_header = audio_info->codec_config();
+
340  break;
+
341  default:
+
342  NOTIMPLEMENTED();
+
343  break;
+
344  }
+
345 
+
346  audio.channelcount = audio_info->num_channels();
+
347  audio.samplesize = audio_info->sample_bits();
+
348  audio.samplerate = audio_info->sampling_frequency();
+
349  SampleTable& sample_table = trak->media.information.sample_table;
+
350  SampleDescription& sample_description = sample_table.description;
+
351  sample_description.type = kAudio;
+
352  sample_description.audio_entries.push_back(audio);
+
353 
+
354  if (audio_info->is_encrypted()) {
+
355  if (audio_info->has_clear_lead()) {
+
356  // Add a second entry for clear content.
+
357  sample_description.audio_entries.push_back(audio);
+
358  }
+
359  // Convert the first entry to an encrypted entry.
+
360  AudioSampleEntry& entry = sample_description.audio_entries[0];
+
361  GenerateSinf(entry.format, audio_info->encryption_config(), &entry.sinf);
+
362  entry.format = FOURCC_enca;
+
363  }
+
364 
+
365  // Opus requires at least one sample group description box and at least one
+
366  // sample to group box with grouping type 'roll' within sample table box.
+
367  if (audio_info->codec() == kCodecOpus) {
+
368  sample_table.sample_group_descriptions.resize(1);
+
369  SampleGroupDescription& sample_group_description =
+
370  sample_table.sample_group_descriptions.back();
+
371  sample_group_description.grouping_type = FOURCC_roll;
+
372  sample_group_description.audio_roll_recovery_entries.resize(1);
+
373  // The roll distance is expressed in sample units and always takes negative
+
374  // values.
+
375  const uint64_t kNanosecondsPerSecond = 1000000000ull;
+
376  sample_group_description.audio_roll_recovery_entries[0].roll_distance =
+
377  (0 - (audio_info->seek_preroll_ns() * audio.samplerate +
+
378  kNanosecondsPerSecond / 2)) /
+
379  kNanosecondsPerSecond;
+
380 
+
381  sample_table.sample_to_groups.resize(1);
+
382  SampleToGroup& sample_to_group = sample_table.sample_to_groups.back();
+
383  sample_to_group.grouping_type = FOURCC_roll;
+
384 
+
385  sample_to_group.entries.resize(1);
+
386  SampleToGroupEntry& sample_to_group_entry = sample_to_group.entries.back();
+
387  // All samples are in track fragments.
+
388  sample_to_group_entry.sample_count = 0;
+
389  sample_to_group_entry.group_description_index =
+
390  SampleToGroupEntry::kTrackGroupDescriptionIndexBase + 1;
+
391  } else if (audio_info->seek_preroll_ns() != 0) {
+
392  LOG(WARNING) << "Unexpected seek preroll for codec " << audio_info->codec();
+
393  return;
+
394  }
+
395 }
+
396 
+
397 void MP4Muxer::GenerateTextTrak(const TextStreamInfo* text_info,
+
398  Track* trak,
+
399  uint32_t track_id) {
+
400  InitializeTrak(text_info, trak);
+
401 
+
402  if (text_info->codec_string() == "wvtt") {
+
403  // Handle WebVTT.
+
404  TextSampleEntry webvtt;
+
405  webvtt.format = FOURCC_wvtt;
+
406  webvtt.config.config.assign(text_info->codec_config().begin(),
+
407  text_info->codec_config().end());
+
408  // TODO(rkuroiwa): This should be the source file URI(s). Putting bogus
+
409  // string for now so that the box will be there for samples with overlapping
+
410  // cues.
+
411  webvtt.label.source_label = "source_label";
+
412  SampleDescription& sample_description =
+
413  trak->media.information.sample_table.description;
+
414  sample_description.type = kText;
+
415  sample_description.text_entries.push_back(webvtt);
+
416  return;
+
417  }
+
418  NOTIMPLEMENTED() << text_info->codec_string()
+
419  << " handling not implemented yet.";
+
420 }
+
421 
+
422 base::Optional<Range> MP4Muxer::GetInitRangeStartAndEnd() {
+
423  size_t range_offset = 0;
+
424  size_t range_size = 0;
+
425  const bool has_range = segmenter_->GetInitRange(&range_offset, &range_size);
+
426 
+
427  if (!has_range)
+
428  return base::nullopt;
+
429 
+
430  Range range;
+
431  SetStartAndEndFromOffsetAndSize(range_offset, range_size, &range);
+
432  return range;
+
433 }
+
434 
+
435 base::Optional<Range> MP4Muxer::GetIndexRangeStartAndEnd() {
+
436  size_t range_offset = 0;
+
437  size_t range_size = 0;
+
438  const bool has_range = segmenter_->GetIndexRange(&range_offset, &range_size);
+
439 
+
440  if (!has_range)
+
441  return base::nullopt;
+
442 
+
443  Range range;
+
444  SetStartAndEndFromOffsetAndSize(range_offset, range_size, &range);
+
445  return range;
+
446 }
+
447 
+
448 void MP4Muxer::FireOnMediaStartEvent() {
+
449  if (!muxer_listener())
+
450  return;
+
451 
+
452  if (streams().size() > 1) {
+
453  LOG(ERROR) << "MuxerListener cannot take more than 1 stream.";
+
454  return;
+
455  }
+
456  DCHECK(!streams().empty()) << "Media started without a stream.";
+
457 
+
458  const uint32_t timescale = segmenter_->GetReferenceTimeScale();
+
459  muxer_listener()->OnMediaStart(options(), *streams().front(), timescale,
+
460  MuxerListener::kContainerMp4);
+
461 }
+
462 
+
463 void MP4Muxer::FireOnMediaEndEvent() {
+
464  if (!muxer_listener())
+
465  return;
+
466 
+
467  MuxerListener::MediaRanges media_range;
+
468  media_range.init_range = GetInitRangeStartAndEnd();
+
469  media_range.index_range = GetIndexRangeStartAndEnd();
+
470  media_range.subsegment_ranges = segmenter_->GetSegmentRanges();
+
471 
+
472  const float duration_seconds = static_cast<float>(segmenter_->GetDuration());
+
473  muxer_listener()->OnMediaEnd(media_range, duration_seconds);
+
474 }
+
475 
+
476 uint64_t MP4Muxer::IsoTimeNow() {
+
477  // Time in seconds from Jan. 1, 1904 to epoch time, i.e. Jan. 1, 1970.
+
478  const uint64_t kIsomTimeOffset = 2082844800l;
+
479  return kIsomTimeOffset +
+
480  (clock() ? clock()->Now() : base::Time::Now()).ToDoubleT();
+
481 }
+
482 
+
483 } // namespace mp4
+
484 } // namespace media
+
485 } // namespace shaka
+
MP4Muxer(const MuxerOptions &options)
Create a MP4Muxer object from MuxerOptions.
Definition: mp4_muxer.cc:108
-
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
virtual void OnMediaEnd(const MediaRanges &media_ranges, float duration_seconds)=0
virtual void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)=0
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 c061697c15..e73a59c7fe 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 46697366d7..97c54edd8c 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/d93/origin__handler_8cc_source.html b/docs/da/d93/origin__handler_8cc_source.html index cc036d2664..1863decbc4 100644 --- a/docs/da/d93/origin__handler_8cc_source.html +++ b/docs/da/d93/origin__handler_8cc_source.html @@ -110,7 +110,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 168df71a7f..3d9d569988 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 2100230998..dabfd3ee7e 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 478989134d..8e9298a43b 100644 --- a/docs/da/d9f/classshaka_1_1MpdNotifierFactory-members.html +++ b/docs/da/d9f/classshaka_1_1MpdNotifierFactory-members.html @@ -93,13 +93,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');

This is the complete list of members for shaka::MpdNotifierFactory, including all inherited members.

- +
Create(const MpdOptions &mpd_options, const std::vector< std::string > &base_urls, const std::string &output_path)=0 (defined in shaka::MpdNotifierFactory)shaka::MpdNotifierFactorypure virtual
Create(const MpdOptions &mpd_options)=0 (defined in shaka::MpdNotifierFactory)shaka::MpdNotifierFactorypure virtual
MpdNotifierFactory() (defined in shaka::MpdNotifierFactory)shaka::MpdNotifierFactoryinline
~MpdNotifierFactory() (defined in shaka::MpdNotifierFactory)shaka::MpdNotifierFactoryinlinevirtual
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 dfd0e29967..a55beaa9cf 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 4fa5028507..a6ddb9d4ab 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 35cd92854f..9843664229 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 e4355746da..173d55ae7a 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/dc4/structshaka_1_1media_1_1mp4_1_1TrackHeader.html b/docs/da/dc4/structshaka_1_1media_1_1mp4_1_1TrackHeader.html index a562668887..6fdf743f79 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/dca/classshaka_1_1media_1_1OriginHandler-members.html b/docs/da/dca/classshaka_1_1media_1_1OriginHandler-members.html index 171979cc5e..2ca645134b 100644 --- a/docs/da/dca/classshaka_1_1media_1_1OriginHandler-members.html +++ b/docs/da/dca/classshaka_1_1media_1_1OriginHandler-members.html @@ -121,7 +121,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/dcb/es__descriptor_8h_source.html b/docs/da/dcb/es__descriptor_8h_source.html index b6a595efaa..97c67fadd7 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 6cda4d097a..d6ab468f1f 100644 --- a/docs/da/dd0/playready__key__source_8cc_source.html +++ b/docs/da/dd0/playready__key__source_8cc_source.html @@ -440,7 +440,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 bc8039441f..f318640980 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 392b987369..ff9bdb6d91 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 cdc999d7e4..96e73daf10 100644 --- a/docs/da/dd1/fragmenter_8h_source.html +++ b/docs/da/dd1/fragmenter_8h_source.html @@ -207,7 +207,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 c0fe12932a..0753f77f08 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 2f1bd0115d..ff1593c1c2 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 dc96167ef3..3a61e0dc0e 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 a2c934aa08..331bd83c55 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 c5b3f0a0b2..ffe8e7eea4 100644 --- a/docs/da/ddd/classshaka_1_1media_1_1WidevineKeySource.html +++ b/docs/da/ddd/classshaka_1_1media_1_1WidevineKeySource.html @@ -461,7 +461,7 @@ void set_group_id (con 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 a237284247..35af22a033 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 09f2f07be3..d46b046585 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 9a93be5be0..13314876af 100644 --- a/docs/da/de4/classshaka_1_1media_1_1WebMClusterParser.html +++ b/docs/da/de4/classshaka_1_1media_1_1WebMClusterParser.html @@ -372,7 +372,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 58d2d1c290..d9a3805c4c 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 636f8d3378..4746266a01 100644 --- a/docs/da/de8/classshaka_1_1media_1_1AudioStreamInfo-members.html +++ b/docs/da/de8/classshaka_1_1media_1_1AudioStreamInfo-members.html @@ -133,7 +133,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 cca15950b5..11e8e2571c 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 2ce91c61a1..90e51e0ef0 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 10c62053bb..cbecf56a5f 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 3e745a7a18..3603f27336 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 db07df4723..eecc2c879d 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 c22a1acfe5..d946030d44 100644 --- a/docs/da/dfd/classshaka_1_1media_1_1MediaHandler.html +++ b/docs/da/dfd/classshaka_1_1media_1_1MediaHandler.html @@ -267,7 +267,7 @@ std::pair< std::shared_ptr
@@ -294,7 +294,7 @@ std::pair< std::shared_ptr

Process the incoming stream data. Note that (1) stream_data.stream_index should be the input stream index; (2) The implementation needs to call DispatchXxx to dispatch the processed stream data to the downstream handlers after finishing processing if needed.

-

Implemented in shaka::media::FakeMediaHandler, shaka::media::Demuxer, shaka::media::ChunkingHandler, shaka::media::Muxer, shaka::media::TrickPlayHandler, and shaka::media::EncryptionHandler.

+

Implemented in shaka::media::FakeMediaHandler, shaka::media::Demuxer, shaka::media::Muxer, shaka::media::ChunkingHandler, shaka::media::TrickPlayHandler, and shaka::media::EncryptionHandler.

@@ -305,7 +305,7 @@ std::pair< std::shared_ptr
diff --git a/docs/db/d05/structshaka_1_1media_1_1H265SliceHeader.html b/docs/db/d05/structshaka_1_1media_1_1H265SliceHeader.html index 2dfe610285..7e54ae2335 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 93396fdaec..cc8f4796c9 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 47d685045a..ed6dd30d19 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 f0603245b2..3eca1abbf4 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 69cc94ff0a..dd215a348e 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/d1f/classshaka_1_1media_1_1TextSample.html b/docs/db/d1f/classshaka_1_1media_1_1TextSample.html index dfeaf46b8d..b023ad57a2 100644 --- a/docs/db/d1f/classshaka_1_1media_1_1TextSample.html +++ b/docs/db/d1f/classshaka_1_1media_1_1TextSample.html @@ -137,7 +137,7 @@ void AppendPayload (co 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 cd6777129d..17e1d982e6 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 3a0715bb3a..5d82539f3e 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 @@ -232,7 +232,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 edc76b5ee3..58a2fd3389 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 6117a78b5e..a792cb46fc 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 59356aa224..2ddfcae134 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 fcd814ff1a..aa81692d83 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 6a96cc6fcb..0817004819 100644 --- a/docs/db/d45/mpd__notify__muxer__listener_8h_source.html +++ b/docs/db/d45/mpd__notify__muxer__listener_8h_source.html @@ -171,7 +171,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
Abstract class holds stream information.
Definition: stream_info.h:57
-
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
void OnEncryptionInfoReady(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info) override
void OnSampleDurationReady(uint32_t sample_duration) override
@@ -184,7 +184,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 722895cff5..2573bcfa90 100644 --- a/docs/db/d4b/classshaka_1_1MockAdaptationSet.html +++ b/docs/db/d4b/classshaka_1_1MockAdaptationSet.html @@ -182,7 +182,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 4b8260b024..fad6658c90 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 5be5517405..35047368a8 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 bc7e36f818..a94a5c34eb 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 @@ -135,13 +135,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
52 
53 #endif // MEDIA_FORMATS_WEBM_TWO_PASS_SINGLE_SEGMENT_SEGMENTER_H_
-
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
An implementation of IMkvWriter using our File type.
Definition: mkv_writer.h:21
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 56c449b174..47f7d07e82 100644 --- a/docs/db/d59/media__handler__test__base_8h_source.html +++ b/docs/db/d59/media__handler__test__base_8h_source.html @@ -259,7 +259,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 c6f55477bb..bd3d1448ea 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 ef4e320baf..0cb2e4c643 100644 --- a/docs/db/d60/mpd__options_8h_source.html +++ b/docs/db/d60/mpd__options_8h_source.html @@ -98,35 +98,33 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
9 
10 #include <string>
11 
-
12 namespace shaka {
+
12 #include "packager/mpd/public/mpd_params.h"
13 
-
14 enum class DashProfile {
-
15  kUnknown,
-
16  kOnDemand,
-
17  kLive,
-
18 };
-
19 
-
20 enum class MpdType { kStatic, kDynamic };
+
14 namespace shaka {
+
15 
+
16 enum class DashProfile {
+
17  kUnknown,
+
18  kOnDemand,
+
19  kLive,
+
20 };
21 
-
23 struct MpdOptions {
-
24  DashProfile dash_profile = DashProfile::kOnDemand;
-
25  MpdType mpd_type = MpdType::kStatic;
-
26  double minimum_update_period = 0;
-
27  // TODO(tinskip): Set min_buffer_time in unit tests rather than here.
-
28  double min_buffer_time = 2.0;
-
29  double time_shift_buffer_depth = 0;
-
30  double suggested_presentation_delay = 0;
-
31  std::string default_language;
-
32 };
-
33 
-
34 } // namespace shaka
-
35 
-
36 #endif // MPD_BASE_MPD_OPTIONS_H_
-
Defines Mpd Options.
Definition: mpd_options.h:23
+
22 enum class MpdType { kStatic, kDynamic };
+
23 
+
25 struct MpdOptions {
+
26  DashProfile dash_profile = DashProfile::kOnDemand;
+
27  MpdType mpd_type = MpdType::kStatic;
+
28  MpdParams mpd_params;
+
29 };
+
30 
+
31 } // namespace shaka
+
32 
+
33 #endif // MPD_BASE_MPD_OPTIONS_H_
+
DASH MPD related parameters.
Definition: mpd_params.h:16
+
Defines Mpd Options.
Definition: mpd_options.h:25
diff --git a/docs/db/d64/webvtt__media__parser_8h_source.html b/docs/db/d64/webvtt__media__parser_8h_source.html index eefed05ede..a956762b8b 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 bd1da464c4..973b45131e 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/d6b/structshaka_1_1MpdParams-members.html b/docs/db/d6b/structshaka_1_1MpdParams-members.html new file mode 100644 index 0000000000..3d37620fab --- /dev/null +++ b/docs/db/d6b/structshaka_1_1MpdParams-members.html @@ -0,0 +1,114 @@ + + + + + + +DASH Media Packaging SDK: Member List + + + + + + + + + +
+
+ + + + + + +
+
DASH Media Packaging SDK +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
shaka::MpdParams Member List
+
+ + + + + diff --git a/docs/db/d71/http__key__fetcher_8h_source.html b/docs/db/d71/http__key__fetcher_8h_source.html index 26b9fcbcc7..dcac6f3531 100644 --- a/docs/db/d71/http__key__fetcher_8h_source.html +++ b/docs/db/d71/http__key__fetcher_8h_source.html @@ -166,7 +166,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 7ac6e7f211..8fb777d2ce 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 74039256d8..079d3b9a39 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 @@ -132,7 +132,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 1561518c12..0e4c8d9686 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/d79/chunking__params_8h_source.html b/docs/db/d79/chunking__params_8h_source.html new file mode 100644 index 0000000000..426ce692d7 --- /dev/null +++ b/docs/db/d79/chunking__params_8h_source.html @@ -0,0 +1,125 @@ + + + + + + +DASH Media Packaging SDK: media/public/chunking_params.h Source File + + + + + + + + + +
+
+ + + + + + +
+
DASH Media Packaging SDK +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
chunking_params.h
+
+
+
1 // Copyright 2017 Google Inc. All rights reserved.
+
2 //
+
3 // Use of this source code is governed by a BSD-style
+
4 // license that can be found in the LICENSE file or at
+
5 // https://developers.google.com/open-source/licenses/bsd
+
6 
+
7 #ifndef PACKAGER_MEDIA_PUBLIC_CHUNKING_PARAMS_H_
+
8 #define PACKAGER_MEDIA_PUBLIC_CHUNKING_PARAMS_H_
+
9 
+
10 namespace shaka {
+
11 
+ + + +
19 
+
22  bool segment_sap_aligned = true;
+ +
28 };
+
29 
+
30 } // namespace shaka
+
31 
+
32 #endif // PACKAGER_MEDIA_PUBLIC_CHUNKING_PARAMS_H_
+ +
Chunking (segmentation) related parameters.
+ +
double segment_duration_in_seconds
Segment duration in seconds.
+
double subsegment_duration_in_seconds
+
+ + + + diff --git a/docs/db/d7e/muxer__options_8cc_source.html b/docs/db/d7e/muxer__options_8cc_source.html index e8cfdb75ca..bd329bf303 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 d86b3db7fa..177b0685cb 100644 --- a/docs/db/d84/classshaka_1_1media_1_1AACAudioSpecificConfig-members.html +++ b/docs/db/d84/classshaka_1_1media_1_1AACAudioSpecificConfig-members.html @@ -150,7 +150,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 4d212bc6f4..76772a3119 100644 --- a/docs/db/d86/classshaka_1_1media_1_1NaluReader.html +++ b/docs/db/d86/classshaka_1_1media_1_1NaluReader.html @@ -350,7 +350,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 e9c96f70e7..a1735addc2 100644 --- a/docs/db/d8f/mp4__muxer_8h_source.html +++ b/docs/db/d8f/mp4__muxer_8h_source.html @@ -169,7 +169,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
83 #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
-
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
@@ -179,7 +179,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d94/classshaka_1_1media_1_1ClusterBuilder.html b/docs/db/d94/classshaka_1_1media_1_1ClusterBuilder.html index 3e7af04123..e7959221e5 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 ff12f89f8d..ec9038f08f 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 f9ea8eeb40..da1c579048 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 fca7a6c97b..2aff8390b1 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 1a865b802c..f55e223e33 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/da9/classshaka_1_1media_1_1WebVttSampleConverter-members.html b/docs/db/da9/classshaka_1_1media_1_1WebVttSampleConverter-members.html index 30dccd3a5e..9c0f1ab971 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 34660fe5f7..9fc516a86a 100644 --- a/docs/db/dab/classshaka_1_1media_1_1TextStreamInfo.html +++ b/docs/db/dab/classshaka_1_1media_1_1TextStreamInfo.html @@ -304,7 +304,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 022e09f776..c14ff99f64 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 ecc5a6d0a5..f171b76549 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 8c38697287..0c7cb5c282 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 86fbb65a13..17753134b3 100644 --- a/docs/db/db8/structshaka_1_1media_1_1OnMediaEndParameters.html +++ b/docs/db/db8/structshaka_1_1media_1_1OnMediaEndParameters.html @@ -112,7 +112,7 @@ float duration_seconds 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 8813a592cc..020d1d6df1 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 2f35b90fdd..f92cd40014 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 55ca823155..13ad24af12 100644 --- a/docs/db/dcd/classshaka_1_1MpdWriter.html +++ b/docs/db/dcd/classshaka_1_1MpdWriter.html @@ -115,7 +115,7 @@ class MpdWriterTest

Detailed Description

-

Definition at line 50 of file mpd_writer.h.

+

Definition at line 48 of file mpd_writer.h.


The documentation for this class was generated from the following files:
  • mpd/util/mpd_writer.h
  • mpd/util/mpd_writer.cc
  • @@ -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 9299e1646a..1bb3041c9a 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 7215c955fb..1c5aa5c9ec 100644 --- a/docs/db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html +++ b/docs/db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html @@ -489,7 +489,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 0f5b2c0163..ce7579b32a 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 b7ec3d60b0..92a1f702b8 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 af7fa276ee..ad4ee04a65 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 d2e9643401..5aa828879a 100644 --- a/docs/db/dea/classshaka_1_1media_1_1TrickPlayHandler.html +++ b/docs/db/dea/classshaka_1_1media_1_1TrickPlayHandler.html @@ -270,7 +270,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 ac247748bd..90de76621f 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 67e9c7f3c2..f8e425d0b7 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 813d27a7c5..6ec03f5a73 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 6ec1f60961..a00bab86af 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 eae8871b67..ed2244fbb0 100644 --- a/docs/db/df6/muxer_8h_source.html +++ b/docs/db/df6/muxer_8h_source.html @@ -178,7 +178,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    Status OnFlushRequest(size_t input_stream_index) override
    Event handler for flush request at the specific input stream index.
    Definition: muxer.h:66
    -
    This structure contains the list of configuration options for Muxer.
    Definition: muxer_options.h:18
    +
    This structure contains the list of configuration options for Muxer.
    Definition: muxer_options.h:20
    void SetProgressListener(std::unique_ptr< ProgressListener > progress_listener)
    Definition: muxer.cc:32
    Status InitializeInternal() override
    Definition: muxer.h:64
    @@ -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 badef7d5b4..e43a81c3ea 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 99da90aea8..7f69f41692 100644 --- a/docs/db/dfb/mpd__utils_8cc_source.html +++ b/docs/db/dfb/mpd__utils_8cc_source.html @@ -462,7 +462,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/dfc/mpd__notify__muxer__listener_8cc_source.html b/docs/db/dfc/mpd__notify__muxer__listener_8cc_source.html index 3ac16342eb..bdbaeb7acd 100644 --- a/docs/db/dfc/mpd__notify__muxer__listener_8cc_source.html +++ b/docs/db/dfc/mpd__notify__muxer__listener_8cc_source.html @@ -254,7 +254,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    virtual bool NotifyNewSegment(uint32_t container_id, uint64_t start_time, uint64_t duration, uint64_t size)=0
    virtual bool NotifySampleDuration(uint32_t container_id, uint32_t sample_duration)=0
    MpdType mpd_type() const
    Definition: mpd_notifier.h:107
    -
    This structure contains the list of configuration options for Muxer.
    Definition: muxer_options.h:18
    +
    This structure contains the list of configuration options for Muxer.
    Definition: muxer_options.h:20
    void OnEncryptionInfoReady(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info) override
    void OnSampleDurationReady(uint32_t sample_duration) override
    @@ -270,7 +270,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 d1746b0bf4..46bb0789f2 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/d03/classshaka_1_1media_1_1mp2t_1_1ProgramMapTableWriter.html b/docs/dc/d03/classshaka_1_1media_1_1mp2t_1_1ProgramMapTableWriter.html index 4beb14b12a..0d0de66058 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 d504ff67d2..79336195ac 100644 --- a/docs/dc/d06/classshaka_1_1media_1_1StreamInfo-members.html +++ b/docs/dc/d06/classshaka_1_1media_1_1StreamInfo-members.html @@ -120,7 +120,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 19904a76a5..0dbb53eaed 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 966e38edf7..4ceb069c6c 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 e01d257f06..bd7f98fdda 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 37d66594d3..3d305e2c6c 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 3fd7a235e0..439abcfb24 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 a8a74eb677..c10a2ab708 100644 --- a/docs/dc/d22/dash__iop__mpd__notifier_8cc_source.html +++ b/docs/dc/d22/dash__iop__mpd__notifier_8cc_source.html @@ -127,305 +127,302 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    38 
    39 } // namespace
    40 
    -
    41 DashIopMpdNotifier::DashIopMpdNotifier(
    -
    42  const MpdOptions& mpd_options,
    -
    43  const std::vector<std::string>& base_urls,
    -
    44  const std::string& output_path)
    -
    45  : MpdNotifier(mpd_options),
    -
    46  output_path_(output_path),
    -
    47  mpd_builder_(new MpdBuilder(mpd_options)) {
    -
    48  for (size_t i = 0; i < base_urls.size(); ++i)
    -
    49  mpd_builder_->AddBaseUrl(base_urls[i]);
    -
    50 }
    -
    51 
    -
    52 DashIopMpdNotifier::~DashIopMpdNotifier() {}
    -
    53 
    - -
    55  return true;
    -
    56 }
    -
    57 
    -
    58 bool DashIopMpdNotifier::NotifyNewContainer(const MediaInfo& media_info,
    -
    59  uint32_t* container_id) {
    -
    60  DCHECK(container_id);
    -
    61 
    -
    62  ContentType content_type = GetContentType(media_info);
    -
    63  if (content_type == kContentTypeUnknown)
    -
    64  return false;
    -
    65 
    -
    66  base::AutoLock auto_lock(lock_);
    -
    67  const std::string key = GetAdaptationSetKey(media_info);
    -
    68  AdaptationSet* adaptation_set = GetAdaptationSetForMediaInfo(key, media_info);
    -
    69  DCHECK(adaptation_set);
    -
    70  if (media_info.has_text_info()) {
    -
    71  // IOP requires all AdaptationSets to have (sub)segmentAlignment set to
    -
    72  // true, so carelessly set it to true.
    -
    73  // In practice it doesn't really make sense to adapt between text tracks.
    -
    74  adaptation_set->ForceSetSegmentAlignment(true);
    -
    75  }
    -
    76 
    -
    77  MediaInfo adjusted_media_info(media_info);
    -
    78  MpdBuilder::MakePathsRelativeToMpd(output_path_, &adjusted_media_info);
    -
    79  Representation* representation =
    -
    80  adaptation_set->AddRepresentation(adjusted_media_info);
    -
    81  if (!representation)
    -
    82  return false;
    -
    83 
    -
    84  representation_id_to_adaptation_set_[representation->id()] = adaptation_set;
    -
    85 
    -
    86  SetAdaptationSetSwitching(key, adaptation_set);
    -
    87 
    -
    88  *container_id = representation->id();
    -
    89  DCHECK(!ContainsKey(representation_map_, representation->id()));
    -
    90  representation_map_[representation->id()] = representation;
    -
    91  return true;
    -
    92 }
    -
    93 
    -
    94 bool DashIopMpdNotifier::NotifySampleDuration(uint32_t container_id,
    -
    95  uint32_t sample_duration) {
    -
    96  base::AutoLock auto_lock(lock_);
    -
    97  RepresentationMap::iterator it = representation_map_.find(container_id);
    -
    98  if (it == representation_map_.end()) {
    -
    99  LOG(ERROR) << "Unexpected container_id: " << container_id;
    -
    100  return false;
    -
    101  }
    -
    102  it->second->SetSampleDuration(sample_duration);
    -
    103  return true;
    -
    104 }
    -
    105 
    -
    106 bool DashIopMpdNotifier::NotifyNewSegment(uint32_t container_id,
    -
    107  uint64_t start_time,
    -
    108  uint64_t duration,
    -
    109  uint64_t size) {
    -
    110  base::AutoLock auto_lock(lock_);
    -
    111  RepresentationMap::iterator it = representation_map_.find(container_id);
    -
    112  if (it == representation_map_.end()) {
    -
    113  LOG(ERROR) << "Unexpected container_id: " << container_id;
    -
    114  return false;
    -
    115  }
    -
    116  it->second->AddNewSegment(start_time, duration, size);
    -
    117  return true;
    -
    118 }
    -
    119 
    - -
    121  uint32_t container_id,
    -
    122  const std::string& drm_uuid,
    -
    123  const std::vector<uint8_t>& new_key_id,
    -
    124  const std::vector<uint8_t>& new_pssh) {
    -
    125  base::AutoLock auto_lock(lock_);
    -
    126  RepresentationMap::iterator it = representation_map_.find(container_id);
    -
    127  if (it == representation_map_.end()) {
    -
    128  LOG(ERROR) << "Unexpected container_id: " << container_id;
    -
    129  return false;
    -
    130  }
    -
    131 
    -
    132  AdaptationSet* adaptation_set_for_representation =
    -
    133  representation_id_to_adaptation_set_[it->second->id()];
    -
    134  adaptation_set_for_representation->UpdateContentProtectionPssh(
    -
    135  drm_uuid, Uint8VectorToBase64(new_pssh));
    -
    136  return true;
    -
    137 }
    -
    138 
    - -
    140  uint32_t container_id,
    -
    141  const ContentProtectionElement& content_protection_element) {
    -
    142  // Intentionally not implemented because if a Representation gets a new
    -
    143  // <ContentProtection> element, then it might require moving the
    -
    144  // Representation out of the AdaptationSet. There's no logic to do that
    -
    145  // yet.
    -
    146  return false;
    -
    147 }
    -
    148 
    - -
    150  base::AutoLock auto_lock(lock_);
    -
    151  return WriteMpdToFile(output_path_, mpd_builder_.get());
    -
    152 }
    -
    153 
    -
    154 AdaptationSet* DashIopMpdNotifier::ReuseAdaptationSet(
    -
    155  const std::list<AdaptationSet*>& adaptation_sets,
    -
    156  const MediaInfo& media_info) {
    -
    157  const bool has_protected_content = media_info.has_protected_content();
    -
    158  for (AdaptationSet* adaptation_set : adaptation_sets) {
    -
    159  ProtectedContentMap::const_iterator protected_content_it =
    -
    160  protected_content_map_.find(adaptation_set->id());
    -
    161 
    -
    162  // If the AdaptationSet ID is not registered in the map, then it is clear
    -
    163  // content.
    -
    164  if (protected_content_it == protected_content_map_.end()) {
    -
    165  // Can reuse the AdaptationSet without content protection.
    -
    166  if (!has_protected_content) {
    -
    167  return adaptation_set;
    -
    168  }
    -
    169  continue;
    -
    170  }
    -
    171 
    -
    172  if (ProtectedContentEq(protected_content_it->second,
    -
    173  media_info.protected_content())) {
    -
    174  // Content protection info matches. Reuse the AdaptationSet.
    -
    175  return adaptation_set;
    -
    176  }
    -
    177  }
    +
    41 DashIopMpdNotifier::DashIopMpdNotifier(const MpdOptions& mpd_options)
    +
    42  : MpdNotifier(mpd_options),
    +
    43  output_path_(mpd_options.mpd_params.mpd_output),
    +
    44  mpd_builder_(new MpdBuilder(mpd_options)) {
    +
    45  for (const std::string& base_url : mpd_options.mpd_params.base_urls)
    +
    46  mpd_builder_->AddBaseUrl(base_url);
    +
    47 }
    +
    48 
    +
    49 DashIopMpdNotifier::~DashIopMpdNotifier() {}
    +
    50 
    + +
    52  return true;
    +
    53 }
    +
    54 
    +
    55 bool DashIopMpdNotifier::NotifyNewContainer(const MediaInfo& media_info,
    +
    56  uint32_t* container_id) {
    +
    57  DCHECK(container_id);
    +
    58 
    +
    59  ContentType content_type = GetContentType(media_info);
    +
    60  if (content_type == kContentTypeUnknown)
    +
    61  return false;
    +
    62 
    +
    63  base::AutoLock auto_lock(lock_);
    +
    64  const std::string key = GetAdaptationSetKey(media_info);
    +
    65  AdaptationSet* adaptation_set = GetAdaptationSetForMediaInfo(key, media_info);
    +
    66  DCHECK(adaptation_set);
    +
    67  if (media_info.has_text_info()) {
    +
    68  // IOP requires all AdaptationSets to have (sub)segmentAlignment set to
    +
    69  // true, so carelessly set it to true.
    +
    70  // In practice it doesn't really make sense to adapt between text tracks.
    +
    71  adaptation_set->ForceSetSegmentAlignment(true);
    +
    72  }
    +
    73 
    +
    74  MediaInfo adjusted_media_info(media_info);
    +
    75  MpdBuilder::MakePathsRelativeToMpd(output_path_, &adjusted_media_info);
    +
    76  Representation* representation =
    +
    77  adaptation_set->AddRepresentation(adjusted_media_info);
    +
    78  if (!representation)
    +
    79  return false;
    +
    80 
    +
    81  representation_id_to_adaptation_set_[representation->id()] = adaptation_set;
    +
    82 
    +
    83  SetAdaptationSetSwitching(key, adaptation_set);
    +
    84 
    +
    85  *container_id = representation->id();
    +
    86  DCHECK(!ContainsKey(representation_map_, representation->id()));
    +
    87  representation_map_[representation->id()] = representation;
    +
    88  return true;
    +
    89 }
    +
    90 
    +
    91 bool DashIopMpdNotifier::NotifySampleDuration(uint32_t container_id,
    +
    92  uint32_t sample_duration) {
    +
    93  base::AutoLock auto_lock(lock_);
    +
    94  RepresentationMap::iterator it = representation_map_.find(container_id);
    +
    95  if (it == representation_map_.end()) {
    +
    96  LOG(ERROR) << "Unexpected container_id: " << container_id;
    +
    97  return false;
    +
    98  }
    +
    99  it->second->SetSampleDuration(sample_duration);
    +
    100  return true;
    +
    101 }
    +
    102 
    +
    103 bool DashIopMpdNotifier::NotifyNewSegment(uint32_t container_id,
    +
    104  uint64_t start_time,
    +
    105  uint64_t duration,
    +
    106  uint64_t size) {
    +
    107  base::AutoLock auto_lock(lock_);
    +
    108  RepresentationMap::iterator it = representation_map_.find(container_id);
    +
    109  if (it == representation_map_.end()) {
    +
    110  LOG(ERROR) << "Unexpected container_id: " << container_id;
    +
    111  return false;
    +
    112  }
    +
    113  it->second->AddNewSegment(start_time, duration, size);
    +
    114  return true;
    +
    115 }
    +
    116 
    + +
    118  uint32_t container_id,
    +
    119  const std::string& drm_uuid,
    +
    120  const std::vector<uint8_t>& new_key_id,
    +
    121  const std::vector<uint8_t>& new_pssh) {
    +
    122  base::AutoLock auto_lock(lock_);
    +
    123  RepresentationMap::iterator it = representation_map_.find(container_id);
    +
    124  if (it == representation_map_.end()) {
    +
    125  LOG(ERROR) << "Unexpected container_id: " << container_id;
    +
    126  return false;
    +
    127  }
    +
    128 
    +
    129  AdaptationSet* adaptation_set_for_representation =
    +
    130  representation_id_to_adaptation_set_[it->second->id()];
    +
    131  adaptation_set_for_representation->UpdateContentProtectionPssh(
    +
    132  drm_uuid, Uint8VectorToBase64(new_pssh));
    +
    133  return true;
    +
    134 }
    +
    135 
    + +
    137  uint32_t container_id,
    +
    138  const ContentProtectionElement& content_protection_element) {
    +
    139  // Intentionally not implemented because if a Representation gets a new
    +
    140  // <ContentProtection> element, then it might require moving the
    +
    141  // Representation out of the AdaptationSet. There's no logic to do that
    +
    142  // yet.
    +
    143  return false;
    +
    144 }
    +
    145 
    + +
    147  base::AutoLock auto_lock(lock_);
    +
    148  return WriteMpdToFile(output_path_, mpd_builder_.get());
    +
    149 }
    +
    150 
    +
    151 AdaptationSet* DashIopMpdNotifier::ReuseAdaptationSet(
    +
    152  const std::list<AdaptationSet*>& adaptation_sets,
    +
    153  const MediaInfo& media_info) {
    +
    154  const bool has_protected_content = media_info.has_protected_content();
    +
    155  for (AdaptationSet* adaptation_set : adaptation_sets) {
    +
    156  ProtectedContentMap::const_iterator protected_content_it =
    +
    157  protected_content_map_.find(adaptation_set->id());
    +
    158 
    +
    159  // If the AdaptationSet ID is not registered in the map, then it is clear
    +
    160  // content.
    +
    161  if (protected_content_it == protected_content_map_.end()) {
    +
    162  // Can reuse the AdaptationSet without content protection.
    +
    163  if (!has_protected_content) {
    +
    164  return adaptation_set;
    +
    165  }
    +
    166  continue;
    +
    167  }
    +
    168 
    +
    169  if (ProtectedContentEq(protected_content_it->second,
    +
    170  media_info.protected_content())) {
    +
    171  // Content protection info matches. Reuse the AdaptationSet.
    +
    172  return adaptation_set;
    +
    173  }
    +
    174  }
    +
    175 
    +
    176  return nullptr;
    +
    177 }
    178 
    -
    179  return nullptr;
    -
    180 }
    -
    181 
    -
    182 AdaptationSet* DashIopMpdNotifier::GetAdaptationSetForMediaInfo(
    -
    183  const std::string& key,
    -
    184  const MediaInfo& media_info) {
    -
    185  std::list<AdaptationSet*>& adaptation_sets = adaptation_set_list_map_[key];
    -
    186  if (adaptation_sets.empty())
    -
    187  return NewAdaptationSet(media_info, &adaptation_sets);
    -
    188 
    -
    189  AdaptationSet* reuse_adaptation_set =
    -
    190  ReuseAdaptationSet(adaptation_sets, media_info);
    -
    191  if (reuse_adaptation_set)
    -
    192  return reuse_adaptation_set;
    -
    193 
    -
    194  // None of the adaptation sets match with the new content protection.
    -
    195  // Need a new one.
    -
    196  return NewAdaptationSet(media_info, &adaptation_sets);
    -
    197 }
    -
    198 
    -
    199 // Get all the UUIDs of the AdaptationSet. If another AdaptationSet has the
    -
    200 // same UUIDs then those are switchable.
    -
    201 void DashIopMpdNotifier::SetAdaptationSetSwitching(
    -
    202  const std::string& key,
    -
    203  AdaptationSet* adaptation_set) {
    -
    204  // This adaptation set is already visited.
    -
    205  if (!adaptation_set->adaptation_set_switching_ids().empty())
    -
    206  return;
    -
    207 
    -
    208  ProtectedContentMap::const_iterator protected_content_it =
    -
    209  protected_content_map_.find(adaptation_set->id());
    -
    210  // Clear contents should be in one AdaptationSet and may not be switchable
    -
    211  // with encrypted contents.
    -
    212  if (protected_content_it == protected_content_map_.end()) {
    -
    213  DVLOG(1) << "No content protection set for AdaptationSet@id="
    -
    214  << adaptation_set->id();
    -
    215  return;
    -
    216  }
    -
    217 
    -
    218  // Get all the UUIDs of the ContentProtections in AdaptationSet.
    -
    219  std::set<std::string> adaptation_set_uuids =
    -
    220  GetUUIDs(protected_content_it->second);
    -
    221 
    -
    222  std::list<AdaptationSet*>& same_type_adapatation_sets =
    -
    223  adaptation_set_list_map_[key];
    -
    224  DCHECK(!same_type_adapatation_sets.empty())
    -
    225  << "same_type_adapatation_sets should not be null, it should at least "
    -
    226  "contain adaptation_set";
    -
    227 
    -
    228  for (std::list<AdaptationSet*>::iterator adaptation_set_it =
    -
    229  same_type_adapatation_sets.begin();
    -
    230  adaptation_set_it != same_type_adapatation_sets.end();
    -
    231  ++adaptation_set_it) {
    -
    232  const uint32_t loop_adaptation_set_id = (*adaptation_set_it)->id();
    -
    233  if (loop_adaptation_set_id == adaptation_set->id() ||
    -
    234  !ContainsKey(protected_content_map_, loop_adaptation_set_id)) {
    -
    235  continue;
    -
    236  }
    -
    237 
    -
    238  const MediaInfo::ProtectedContent& loop_protected_content =
    -
    239  protected_content_map_[loop_adaptation_set_id];
    -
    240  if (static_cast<int>(adaptation_set_uuids.size()) !=
    -
    241  loop_protected_content.content_protection_entry().size()) {
    -
    242  // Different number of UUIDs, may not be switchable.
    -
    243  continue;
    -
    244  }
    -
    245 
    -
    246  if (adaptation_set_uuids == GetUUIDs(loop_protected_content)) {
    -
    247  AdaptationSet& uuid_match_adaptation_set = **adaptation_set_it;
    -
    248  // They match. These AdaptationSets are switchable.
    -
    249  uuid_match_adaptation_set.AddAdaptationSetSwitching(adaptation_set->id());
    -
    250  adaptation_set->AddAdaptationSetSwitching(uuid_match_adaptation_set.id());
    -
    251  }
    -
    252  }
    -
    253 }
    -
    254 
    -
    255 AdaptationSet* DashIopMpdNotifier::NewAdaptationSet(
    -
    256  const MediaInfo& media_info,
    -
    257  std::list<AdaptationSet*>* adaptation_sets) {
    -
    258  std::string language = GetLanguage(media_info);
    -
    259  AdaptationSet* new_adaptation_set = mpd_builder_->AddAdaptationSet(language);
    -
    260  if (media_info.has_protected_content()) {
    -
    261  DCHECK(!ContainsKey(protected_content_map_, new_adaptation_set->id()));
    -
    262  protected_content_map_[new_adaptation_set->id()] =
    -
    263  media_info.protected_content();
    -
    264  AddContentProtectionElements(media_info, new_adaptation_set);
    -
    265  }
    -
    266  adaptation_sets->push_back(new_adaptation_set);
    -
    267 
    -
    268  if (media_info.has_video_info()) {
    -
    269  // Because 'lang' is ignored for videos, |adaptation_sets| must have
    -
    270  // all the video AdaptationSets.
    -
    271  if (adaptation_sets->size() > 2) {
    -
    272  new_adaptation_set->AddRole(AdaptationSet::kRoleMain);
    -
    273  } else if (adaptation_sets->size() == 2) {
    -
    274  // Set "main" Role for both AdaptatoinSets.
    -
    275  (*adaptation_sets->begin())->AddRole(AdaptationSet::kRoleMain);
    -
    276  new_adaptation_set->AddRole(AdaptationSet::kRoleMain);
    -
    277  }
    -
    278 
    -
    279  if (media_info.video_info().has_playback_rate()) {
    -
    280  uint32_t trick_play_reference_id = 0;
    -
    281  if (!FindOriginalAdaptationSetForTrickPlay(media_info,
    -
    282  &trick_play_reference_id)) {
    -
    283  LOG(ERROR) << "Failed to find main adaptation set for trick play.";
    -
    284  return nullptr;
    -
    285  }
    -
    286  DCHECK_NE(new_adaptation_set->id(), trick_play_reference_id);
    -
    287  new_adaptation_set->AddTrickPlayReferenceId(trick_play_reference_id);
    -
    288  }
    -
    289  }
    -
    290  return new_adaptation_set;
    -
    291 }
    -
    292 
    -
    293 bool DashIopMpdNotifier::FindOriginalAdaptationSetForTrickPlay(
    -
    294  const MediaInfo& media_info,
    -
    295  uint32_t* main_adaptation_set_id) {
    -
    296  MediaInfo media_info_no_trickplay = media_info;
    -
    297  media_info_no_trickplay.mutable_video_info()->clear_playback_rate();
    -
    298  std::string key = GetAdaptationSetKey(media_info_no_trickplay);
    -
    299  const std::list<AdaptationSet*>& adaptation_sets =
    -
    300  adaptation_set_list_map_[key];
    -
    301  if (adaptation_sets.empty()) {
    -
    302  return false;
    -
    303  }
    -
    304 
    -
    305  AdaptationSet* reuse_adaptation_set =
    -
    306  ReuseAdaptationSet(adaptation_sets, media_info);
    -
    307  if (!reuse_adaptation_set) {
    -
    308  return false;
    -
    309  }
    -
    310 
    -
    311  *main_adaptation_set_id = reuse_adaptation_set->id();
    +
    179 AdaptationSet* DashIopMpdNotifier::GetAdaptationSetForMediaInfo(
    +
    180  const std::string& key,
    +
    181  const MediaInfo& media_info) {
    +
    182  std::list<AdaptationSet*>& adaptation_sets = adaptation_set_list_map_[key];
    +
    183  if (adaptation_sets.empty())
    +
    184  return NewAdaptationSet(media_info, &adaptation_sets);
    +
    185 
    +
    186  AdaptationSet* reuse_adaptation_set =
    +
    187  ReuseAdaptationSet(adaptation_sets, media_info);
    +
    188  if (reuse_adaptation_set)
    +
    189  return reuse_adaptation_set;
    +
    190 
    +
    191  // None of the adaptation sets match with the new content protection.
    +
    192  // Need a new one.
    +
    193  return NewAdaptationSet(media_info, &adaptation_sets);
    +
    194 }
    +
    195 
    +
    196 // Get all the UUIDs of the AdaptationSet. If another AdaptationSet has the
    +
    197 // same UUIDs then those are switchable.
    +
    198 void DashIopMpdNotifier::SetAdaptationSetSwitching(
    +
    199  const std::string& key,
    +
    200  AdaptationSet* adaptation_set) {
    +
    201  // This adaptation set is already visited.
    +
    202  if (!adaptation_set->adaptation_set_switching_ids().empty())
    +
    203  return;
    +
    204 
    +
    205  ProtectedContentMap::const_iterator protected_content_it =
    +
    206  protected_content_map_.find(adaptation_set->id());
    +
    207  // Clear contents should be in one AdaptationSet and may not be switchable
    +
    208  // with encrypted contents.
    +
    209  if (protected_content_it == protected_content_map_.end()) {
    +
    210  DVLOG(1) << "No content protection set for AdaptationSet@id="
    +
    211  << adaptation_set->id();
    +
    212  return;
    +
    213  }
    +
    214 
    +
    215  // Get all the UUIDs of the ContentProtections in AdaptationSet.
    +
    216  std::set<std::string> adaptation_set_uuids =
    +
    217  GetUUIDs(protected_content_it->second);
    +
    218 
    +
    219  std::list<AdaptationSet*>& same_type_adapatation_sets =
    +
    220  adaptation_set_list_map_[key];
    +
    221  DCHECK(!same_type_adapatation_sets.empty())
    +
    222  << "same_type_adapatation_sets should not be null, it should at least "
    +
    223  "contain adaptation_set";
    +
    224 
    +
    225  for (std::list<AdaptationSet*>::iterator adaptation_set_it =
    +
    226  same_type_adapatation_sets.begin();
    +
    227  adaptation_set_it != same_type_adapatation_sets.end();
    +
    228  ++adaptation_set_it) {
    +
    229  const uint32_t loop_adaptation_set_id = (*adaptation_set_it)->id();
    +
    230  if (loop_adaptation_set_id == adaptation_set->id() ||
    +
    231  !ContainsKey(protected_content_map_, loop_adaptation_set_id)) {
    +
    232  continue;
    +
    233  }
    +
    234 
    +
    235  const MediaInfo::ProtectedContent& loop_protected_content =
    +
    236  protected_content_map_[loop_adaptation_set_id];
    +
    237  if (static_cast<int>(adaptation_set_uuids.size()) !=
    +
    238  loop_protected_content.content_protection_entry().size()) {
    +
    239  // Different number of UUIDs, may not be switchable.
    +
    240  continue;
    +
    241  }
    +
    242 
    +
    243  if (adaptation_set_uuids == GetUUIDs(loop_protected_content)) {
    +
    244  AdaptationSet& uuid_match_adaptation_set = **adaptation_set_it;
    +
    245  // They match. These AdaptationSets are switchable.
    +
    246  uuid_match_adaptation_set.AddAdaptationSetSwitching(adaptation_set->id());
    +
    247  adaptation_set->AddAdaptationSetSwitching(uuid_match_adaptation_set.id());
    +
    248  }
    +
    249  }
    +
    250 }
    +
    251 
    +
    252 AdaptationSet* DashIopMpdNotifier::NewAdaptationSet(
    +
    253  const MediaInfo& media_info,
    +
    254  std::list<AdaptationSet*>* adaptation_sets) {
    +
    255  std::string language = GetLanguage(media_info);
    +
    256  AdaptationSet* new_adaptation_set = mpd_builder_->AddAdaptationSet(language);
    +
    257  if (media_info.has_protected_content()) {
    +
    258  DCHECK(!ContainsKey(protected_content_map_, new_adaptation_set->id()));
    +
    259  protected_content_map_[new_adaptation_set->id()] =
    +
    260  media_info.protected_content();
    +
    261  AddContentProtectionElements(media_info, new_adaptation_set);
    +
    262  }
    +
    263  adaptation_sets->push_back(new_adaptation_set);
    +
    264 
    +
    265  if (media_info.has_video_info()) {
    +
    266  // Because 'lang' is ignored for videos, |adaptation_sets| must have
    +
    267  // all the video AdaptationSets.
    +
    268  if (adaptation_sets->size() > 2) {
    +
    269  new_adaptation_set->AddRole(AdaptationSet::kRoleMain);
    +
    270  } else if (adaptation_sets->size() == 2) {
    +
    271  // Set "main" Role for both AdaptatoinSets.
    +
    272  (*adaptation_sets->begin())->AddRole(AdaptationSet::kRoleMain);
    +
    273  new_adaptation_set->AddRole(AdaptationSet::kRoleMain);
    +
    274  }
    +
    275 
    +
    276  if (media_info.video_info().has_playback_rate()) {
    +
    277  uint32_t trick_play_reference_id = 0;
    +
    278  if (!FindOriginalAdaptationSetForTrickPlay(media_info,
    +
    279  &trick_play_reference_id)) {
    +
    280  LOG(ERROR) << "Failed to find main adaptation set for trick play.";
    +
    281  return nullptr;
    +
    282  }
    +
    283  DCHECK_NE(new_adaptation_set->id(), trick_play_reference_id);
    +
    284  new_adaptation_set->AddTrickPlayReferenceId(trick_play_reference_id);
    +
    285  }
    +
    286  }
    +
    287  return new_adaptation_set;
    +
    288 }
    +
    289 
    +
    290 bool DashIopMpdNotifier::FindOriginalAdaptationSetForTrickPlay(
    +
    291  const MediaInfo& media_info,
    +
    292  uint32_t* main_adaptation_set_id) {
    +
    293  MediaInfo media_info_no_trickplay = media_info;
    +
    294  media_info_no_trickplay.mutable_video_info()->clear_playback_rate();
    +
    295  std::string key = GetAdaptationSetKey(media_info_no_trickplay);
    +
    296  const std::list<AdaptationSet*>& adaptation_sets =
    +
    297  adaptation_set_list_map_[key];
    +
    298  if (adaptation_sets.empty()) {
    +
    299  return false;
    +
    300  }
    +
    301 
    +
    302  AdaptationSet* reuse_adaptation_set =
    +
    303  ReuseAdaptationSet(adaptation_sets, media_info);
    +
    304  if (!reuse_adaptation_set) {
    +
    305  return false;
    +
    306  }
    +
    307 
    +
    308  *main_adaptation_set_id = reuse_adaptation_set->id();
    +
    309 
    +
    310  return true;
    +
    311 }
    312 
    -
    313  return true;
    -
    314 }
    -
    315 
    -
    316 } // namespace shaka
    - -
    bool NotifyNewSegment(uint32_t id, uint64_t start_time, uint64_t duration, uint64_t size) override
    -
    bool NotifyEncryptionUpdate(uint32_t container_id, const std::string &drm_uuid, const std::vector< uint8_t > &new_key_id, const std::vector< uint8_t > &new_pssh) override
    +
    313 } // namespace shaka
    + +
    bool NotifyNewSegment(uint32_t id, uint64_t start_time, uint64_t duration, uint64_t size) override
    +
    bool NotifyEncryptionUpdate(uint32_t container_id, const std::string &drm_uuid, const std::vector< uint8_t > &new_key_id, const std::vector< uint8_t > &new_pssh) override
    -
    virtual Representation * AddRepresentation(const MediaInfo &media_info)
    Definition: mpd_builder.cc:663
    +
    virtual Representation * AddRepresentation(const MediaInfo &media_info)
    Definition: mpd_builder.cc:664
    uint32_t id() const
    Definition: mpd_builder.h:483
    -
    bool NotifySampleDuration(uint32_t container_id, uint32_t sample_duration) override
    +
    bool NotifySampleDuration(uint32_t container_id, uint32_t sample_duration) override
    void AddContentProtectionElements(const MediaInfo &media_info, Representation *parent)
    Definition: mpd_utils.cc:356
    -
    virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
    Definition: mpd_builder.cc:715
    +
    virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
    Definition: mpd_builder.cc:716
    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:830
    -
    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:620
    +
    virtual void ForceSetSegmentAlignment(bool segment_alignment)
    Definition: mpd_builder.cc:831
    +
    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:621
    ContentType GetContentType(const MediaInfo &media_info)
    - +
    bool WriteMpdToFile(const std::string &output_path, MpdBuilder *mpd_builder)
    -
    bool NotifyNewContainer(const MediaInfo &media_info, uint32_t *id) override
    +
    bool NotifyNewContainer(const MediaInfo &media_info, uint32_t *id) override
    diff --git a/docs/dc/d35/structshaka_1_1EncryptionParams-members.html b/docs/dc/d35/structshaka_1_1EncryptionParams-members.html index 9013a0d710..2a05d0b7c7 100644 --- a/docs/dc/d35/structshaka_1_1EncryptionParams-members.html +++ b/docs/dc/d35/structshaka_1_1EncryptionParams-members.html @@ -110,7 +110,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 f44159aa85..16d0dfa638 100644 --- a/docs/dc/d3b/fixed__key__encryption__flags_8cc_source.html +++ b/docs/dc/d3b/fixed__key__encryption__flags_8cc_source.html @@ -165,7 +165,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 39bde9ec35..1a42f728b3 100644 --- a/docs/dc/d3c/webm__cluster__parser_8h_source.html +++ b/docs/dc/d3c/webm__cluster__parser_8h_source.html @@ -304,7 +304,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 8c7b3b5f63..b69f7d9b55 100644 --- a/docs/dc/d3f/key__source_8h_source.html +++ b/docs/dc/d3f/key__source_8h_source.html @@ -158,7 +158,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 ccdefa97da..dc71bd1350 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 3a4f36ae25..a0a50cd5bc 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 3555315e98..c800ba2f57 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 16c425e8bc..39fcd046d8 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 cee8be4b73..f75109dad2 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 769584fc06..23937440b2 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 c4b64d6844..3c534c2d09 100644 --- a/docs/dc/d53/webm_2segmenter_8cc_source.html +++ b/docs/dc/d53/webm_2segmenter_8cc_source.html @@ -537,7 +537,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 db56366d83..4ab12c86ea 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 72171886a0..9c992e4258 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 416386a227..ed38f3f4a5 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 55f1b5b6db..51914b1f89 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 db795268fc..aec0c9c67d 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 @@ -122,7 +122,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 9d26a1efde..dc8098b2dc 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 de8e916656..361844fd92 100644 --- a/docs/dc/d73/classshaka_1_1media_1_1MockMuxerListener.html +++ b/docs/dc/d73/classshaka_1_1media_1_1MockMuxerListener.html @@ -204,7 +204,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 46f17ad719..af3749e0ae 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 966e9152f2..434f2abfda 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 b5a10146c3..789ac80a70 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 9bf7b25525..52ed22614e 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/d9a/structshaka_1_1media_1_1Range-members.html b/docs/dc/d9a/structshaka_1_1media_1_1Range-members.html index 3d49845be9..892bee9876 100644 --- a/docs/dc/d9a/structshaka_1_1media_1_1Range-members.html +++ b/docs/dc/d9a/structshaka_1_1media_1_1Range-members.html @@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/da0/structshaka_1_1EncryptionParams.html b/docs/dc/da0/structshaka_1_1EncryptionParams.html index 80c2a78185..c8f78d8c4c 100644 --- a/docs/dc/da0/structshaka_1_1EncryptionParams.html +++ b/docs/dc/da0/structshaka_1_1EncryptionParams.html @@ -221,7 +221,7 @@ static constexpr uint32_t  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 a93ca2f90c..7f380a09d6 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 14dce7f016..9635058dce 100644 --- a/docs/dc/da1/classshaka_1_1MpdBuilder.html +++ b/docs/dc/da1/classshaka_1_1MpdBuilder.html @@ -278,7 +278,7 @@ template<DashProfile profile> -

    Definition at line 620 of file mpd_builder.cc.

    +

    Definition at line 621 of file mpd_builder.cc.

    @@ -323,7 +323,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 70a6292ee7..7259a9eb79 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/dbf/box__buffer_8h_source.html b/docs/dc/dbf/box__buffer_8h_source.html index 6c5b845685..774f1c1788 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 db0450e0dd..ea501a8031 100644 --- a/docs/dc/dc1/classshaka_1_1xml_1_1RepresentationXmlNode-members.html +++ b/docs/dc/dc1/classshaka_1_1xml_1_1RepresentationXmlNode-members.html @@ -119,7 +119,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 2a8c17fb79..d86ab40691 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/dd6/structshaka_1_1RawKeyDecryptionParams_1_1KeyPair-members.html b/docs/dc/dd6/structshaka_1_1RawKeyDecryptionParams_1_1KeyPair-members.html index 5530ca7678..5ce5725bc2 100644 --- a/docs/dc/dd6/structshaka_1_1RawKeyDecryptionParams_1_1KeyPair-members.html +++ b/docs/dc/dd6/structshaka_1_1RawKeyDecryptionParams_1_1KeyPair-members.html @@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/dd9/rsa__key_8cc_source.html b/docs/dc/dd9/rsa__key_8cc_source.html index cc9e6913a3..9446fa021b 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 43da9e2b2f..ba967cec7c 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 56d07242f7..adeb4cca59 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 61bfca2ac5..bd1da2c231 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 84de39fba4..755bfbbcae 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 b60f1e9797..bc5530675b 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 4beb217385..37d8629ab6 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 ea28ed3692..f4f3a1f66f 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 c61a647403..28b74b460b 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 @@ -130,7 +130,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 51e37e8a37..b3134f55d1 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 8935087da2..48e0c08a8e 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 50201bc0cf..96bc1dc967 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 e573dc6e74..3c3613e717 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 5516b00d88..c8331bfa95 100644 --- a/docs/dd/d11/mpd__builder_8cc_source.html +++ b/docs/dd/d11/mpd__builder_8cc_source.html @@ -474,7 +474,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    385  &representation_counter_));
    386  DCHECK(adaptation_set);
    387 
    -
    388  if (!lang.empty() && lang == mpd_options_.default_language) {
    +
    388  if (!lang.empty() && lang == mpd_options_.mpd_params.default_language) {
    389  adaptation_set->AddRole(AdaptationSet::kRoleMain);
    390  }
    391 
    @@ -592,926 +592,930 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    503 }
    504 
    505 void MpdBuilder::AddCommonMpdInfo(XmlNode* mpd_node) {
    -
    506  if (Positive(mpd_options_.min_buffer_time)) {
    +
    506  if (Positive(mpd_options_.mpd_params.min_buffer_time)) {
    507  mpd_node->SetStringAttribute(
    -
    508  "minBufferTime", SecondsToXmlDuration(mpd_options_.min_buffer_time));
    -
    509  } else {
    -
    510  LOG(ERROR) << "minBufferTime value not specified.";
    -
    511  // TODO(tinskip): Propagate error.
    -
    512  }
    -
    513 }
    -
    514 
    -
    515 void MpdBuilder::AddStaticMpdInfo(XmlNode* mpd_node) {
    -
    516  DCHECK(mpd_node);
    -
    517  DCHECK_EQ(MpdType::kStatic, mpd_options_.mpd_type);
    -
    518 
    -
    519  static const char kStaticMpdType[] = "static";
    -
    520  mpd_node->SetStringAttribute("type", kStaticMpdType);
    -
    521  mpd_node->SetStringAttribute(
    -
    522  "mediaPresentationDuration",
    -
    523  SecondsToXmlDuration(GetStaticMpdDuration(mpd_node)));
    -
    524 }
    -
    525 
    -
    526 void MpdBuilder::AddDynamicMpdInfo(XmlNode* mpd_node) {
    -
    527  DCHECK(mpd_node);
    -
    528  DCHECK_EQ(MpdType::kDynamic, mpd_options_.mpd_type);
    -
    529 
    -
    530  static const char kDynamicMpdType[] = "dynamic";
    -
    531  mpd_node->SetStringAttribute("type", kDynamicMpdType);
    -
    532 
    -
    533  // No offset from NOW.
    -
    534  mpd_node->SetStringAttribute("publishTime",
    -
    535  XmlDateTimeNowWithOffset(0, clock_.get()));
    -
    536 
    -
    537  // 'availabilityStartTime' is required for dynamic profile. Calculate if
    -
    538  // not already calculated.
    -
    539  if (availability_start_time_.empty()) {
    -
    540  double earliest_presentation_time;
    -
    541  if (GetEarliestTimestamp(&earliest_presentation_time)) {
    -
    542  availability_start_time_ = XmlDateTimeNowWithOffset(
    -
    543  -std::ceil(earliest_presentation_time), clock_.get());
    -
    544  } else {
    -
    545  LOG(ERROR) << "Could not determine the earliest segment presentation "
    -
    546  "time for availabilityStartTime calculation.";
    -
    547  // TODO(tinskip). Propagate an error.
    -
    548  }
    -
    549  }
    -
    550  if (!availability_start_time_.empty())
    -
    551  mpd_node->SetStringAttribute("availabilityStartTime",
    -
    552  availability_start_time_);
    -
    553 
    -
    554  if (Positive(mpd_options_.minimum_update_period)) {
    -
    555  mpd_node->SetStringAttribute(
    -
    556  "minimumUpdatePeriod",
    -
    557  SecondsToXmlDuration(mpd_options_.minimum_update_period));
    -
    558  } else {
    -
    559  LOG(WARNING) << "The profile is dynamic but no minimumUpdatePeriod "
    -
    560  "specified.";
    -
    561  }
    -
    562 
    -
    563  SetIfPositive("timeShiftBufferDepth", mpd_options_.time_shift_buffer_depth,
    -
    564  mpd_node);
    -
    565  SetIfPositive("suggestedPresentationDelay",
    -
    566  mpd_options_.suggested_presentation_delay, mpd_node);
    -
    567 }
    -
    568 
    -
    569 float MpdBuilder::GetStaticMpdDuration(XmlNode* mpd_node) {
    -
    570  DCHECK(mpd_node);
    -
    571  DCHECK_EQ(MpdType::kStatic, mpd_options_.mpd_type);
    -
    572 
    -
    573  xmlNodePtr period_node = FindPeriodNode(mpd_node);
    -
    574  DCHECK(period_node) << "Period element must be a child of mpd_node.";
    -
    575  DCHECK(IsPeriodNode(period_node));
    -
    576 
    -
    577  // TODO(kqyang): Verify if this works for static + live profile.
    -
    578  // Attribute mediaPresentationDuration must be present for 'static' MPD. So
    -
    579  // setting "PT0S" is required even if none of the representaions have duration
    -
    580  // attribute.
    -
    581  float max_duration = 0.0f;
    -
    582  for (xmlNodePtr adaptation_set = xmlFirstElementChild(period_node);
    -
    583  adaptation_set; adaptation_set = xmlNextElementSibling(adaptation_set)) {
    -
    584  for (xmlNodePtr representation = xmlFirstElementChild(adaptation_set);
    -
    585  representation;
    -
    586  representation = xmlNextElementSibling(representation)) {
    -
    587  float duration = 0.0f;
    -
    588  if (GetDurationAttribute(representation, &duration)) {
    -
    589  max_duration = max_duration > duration ? max_duration : duration;
    -
    590 
    -
    591  // 'duration' attribute is there only to help generate MPD, not
    -
    592  // necessary for MPD, remove the attribute.
    -
    593  xmlUnsetProp(representation, BAD_CAST "duration");
    -
    594  }
    -
    595  }
    -
    596  }
    -
    597 
    -
    598  return max_duration;
    -
    599 }
    -
    600 
    -
    601 bool MpdBuilder::GetEarliestTimestamp(double* timestamp_seconds) {
    -
    602  DCHECK(timestamp_seconds);
    -
    603 
    -
    604  double earliest_timestamp(-1);
    -
    605  for (const std::unique_ptr<AdaptationSet>& adaptation_set :
    -
    606  adaptation_sets_) {
    -
    607  double timestamp;
    -
    608  if (adaptation_set->GetEarliestTimestamp(&timestamp) &&
    -
    609  ((earliest_timestamp < 0) || (timestamp < earliest_timestamp))) {
    -
    610  earliest_timestamp = timestamp;
    -
    611  }
    -
    612  }
    -
    613  if (earliest_timestamp < 0)
    -
    614  return false;
    -
    615 
    -
    616  *timestamp_seconds = earliest_timestamp;
    -
    617  return true;
    -
    618 }
    -
    619 
    -
    620 void MpdBuilder::MakePathsRelativeToMpd(const std::string& mpd_path,
    -
    621  MediaInfo* media_info) {
    -
    622  DCHECK(media_info);
    -
    623  const std::string kFileProtocol("file://");
    -
    624  std::string mpd_file_path = (mpd_path.find(kFileProtocol) == 0)
    -
    625  ? mpd_path.substr(kFileProtocol.size())
    -
    626  : mpd_path;
    -
    627 
    -
    628  if (!mpd_file_path.empty()) {
    -
    629  std::string mpd_dir(FilePath::FromUTF8Unsafe(mpd_file_path)
    -
    630  .DirName().AsEndingWithSeparator().AsUTF8Unsafe());
    -
    631  if (!mpd_dir.empty()) {
    -
    632  if (media_info->has_media_file_name()) {
    -
    633  media_info->set_media_file_name(
    -
    634  MakePathRelative(media_info->media_file_name(), mpd_dir));
    -
    635  }
    -
    636  if (media_info->has_init_segment_name()) {
    -
    637  media_info->set_init_segment_name(
    -
    638  MakePathRelative(media_info->init_segment_name(), mpd_dir));
    -
    639  }
    -
    640  if (media_info->has_segment_template()) {
    -
    641  media_info->set_segment_template(
    -
    642  MakePathRelative(media_info->segment_template(), mpd_dir));
    -
    643  }
    -
    644  }
    -
    645  }
    -
    646 }
    -
    647 
    -
    648 AdaptationSet::AdaptationSet(uint32_t adaptation_set_id,
    -
    649  const std::string& lang,
    -
    650  const MpdOptions& mpd_options,
    -
    651  base::AtomicSequenceNumber* counter)
    -
    652  : representation_counter_(counter),
    -
    653  id_(adaptation_set_id),
    -
    654  lang_(lang),
    -
    655  mpd_options_(mpd_options),
    -
    656  segments_aligned_(kSegmentAlignmentUnknown),
    -
    657  force_set_segment_alignment_(false) {
    -
    658  DCHECK(counter);
    -
    659 }
    -
    660 
    -
    661 AdaptationSet::~AdaptationSet() {}
    -
    662 
    -
    663 Representation* AdaptationSet::AddRepresentation(const MediaInfo& media_info) {
    -
    664  const uint32_t representation_id = representation_counter_->GetNext();
    -
    665  // Note that AdaptationSet outlive Representation, so this object
    -
    666  // will die before AdaptationSet.
    -
    667  std::unique_ptr<RepresentationStateChangeListener> listener(
    -
    668  new RepresentationStateChangeListenerImpl(representation_id, this));
    -
    669  std::unique_ptr<Representation> representation(new Representation(
    -
    670  media_info, mpd_options_, representation_id, std::move(listener)));
    -
    671 
    -
    672  if (!representation->Init()) {
    -
    673  LOG(ERROR) << "Failed to initialize Representation.";
    -
    674  return NULL;
    -
    675  }
    -
    676 
    -
    677  // For videos, record the width, height, and the frame rate to calculate the
    -
    678  // max {width,height,framerate} required for DASH IOP.
    -
    679  if (media_info.has_video_info()) {
    -
    680  const MediaInfo::VideoInfo& video_info = media_info.video_info();
    -
    681  DCHECK(video_info.has_width());
    -
    682  DCHECK(video_info.has_height());
    -
    683  video_widths_.insert(video_info.width());
    -
    684  video_heights_.insert(video_info.height());
    -
    685 
    -
    686  if (video_info.has_time_scale() && video_info.has_frame_duration())
    -
    687  RecordFrameRate(video_info.frame_duration(), video_info.time_scale());
    -
    688 
    -
    689  AddPictureAspectRatio(video_info, &picture_aspect_ratio_);
    -
    690  }
    -
    691 
    -
    692  if (media_info.has_video_info()) {
    -
    693  content_type_ = "video";
    -
    694  } else if (media_info.has_audio_info()) {
    -
    695  content_type_ = "audio";
    -
    696  } else if (media_info.has_text_info()) {
    -
    697  content_type_ = "text";
    -
    698 
    -
    699  if (media_info.text_info().has_type() &&
    -
    700  (media_info.text_info().type() != MediaInfo::TextInfo::UNKNOWN)) {
    -
    701  roles_.insert(MediaInfoTextTypeToRole(media_info.text_info().type()));
    -
    702  }
    -
    703  }
    -
    704 
    -
    705  representations_.push_back(std::move(representation));
    -
    706  return representations_.back().get();
    -
    707 }
    -
    708 
    - -
    710  const ContentProtectionElement& content_protection_element) {
    -
    711  content_protection_elements_.push_back(content_protection_element);
    -
    712  RemoveDuplicateAttributes(&content_protection_elements_.back());
    -
    713 }
    -
    714 
    -
    715 void AdaptationSet::UpdateContentProtectionPssh(const std::string& drm_uuid,
    -
    716  const std::string& pssh) {
    -
    717  UpdateContentProtectionPsshHelper(drm_uuid, pssh,
    -
    718  &content_protection_elements_);
    -
    719 }
    -
    720 
    -
    721 void AdaptationSet::AddRole(Role role) {
    -
    722  roles_.insert(role);
    -
    723 }
    -
    724 
    -
    725 // Creates a copy of <AdaptationSet> xml element, iterate thru all the
    -
    726 // <Representation> (child) elements and add them to the copy.
    -
    727 // Set all the attributes first and then add the children elements so that flags
    -
    728 // can be passed to Representation to avoid setting redundant attributes. For
    -
    729 // example, if AdaptationSet@width is set, then Representation@width is
    -
    730 // redundant and should not be set.
    -
    731 xml::scoped_xml_ptr<xmlNode> AdaptationSet::GetXml() {
    -
    732  AdaptationSetXmlNode adaptation_set;
    -
    733 
    -
    734  bool suppress_representation_width = false;
    -
    735  bool suppress_representation_height = false;
    -
    736  bool suppress_representation_frame_rate = false;
    -
    737 
    -
    738  adaptation_set.SetId(id_);
    -
    739  adaptation_set.SetStringAttribute("contentType", content_type_);
    -
    740  if (!lang_.empty() && lang_ != "und") {
    -
    741  adaptation_set.SetStringAttribute("lang", LanguageToShortestForm(lang_));
    -
    742  }
    -
    743 
    -
    744  // Note that std::{set,map} are ordered, so the last element is the max value.
    -
    745  if (video_widths_.size() == 1) {
    -
    746  suppress_representation_width = true;
    -
    747  adaptation_set.SetIntegerAttribute("width", *video_widths_.begin());
    -
    748  } else if (video_widths_.size() > 1) {
    -
    749  adaptation_set.SetIntegerAttribute("maxWidth", *video_widths_.rbegin());
    -
    750  }
    -
    751  if (video_heights_.size() == 1) {
    -
    752  suppress_representation_height = true;
    -
    753  adaptation_set.SetIntegerAttribute("height", *video_heights_.begin());
    -
    754  } else if (video_heights_.size() > 1) {
    -
    755  adaptation_set.SetIntegerAttribute("maxHeight", *video_heights_.rbegin());
    -
    756  }
    -
    757 
    -
    758  if (video_frame_rates_.size() == 1) {
    -
    759  suppress_representation_frame_rate = true;
    -
    760  adaptation_set.SetStringAttribute("frameRate",
    -
    761  video_frame_rates_.begin()->second);
    -
    762  } else if (video_frame_rates_.size() > 1) {
    -
    763  adaptation_set.SetStringAttribute("maxFrameRate",
    -
    764  video_frame_rates_.rbegin()->second);
    -
    765  }
    -
    766 
    -
    767  // Note: must be checked before checking segments_aligned_ (below). So that
    -
    768  // segments_aligned_ is set before checking below.
    -
    769  if (mpd_options_.dash_profile == DashProfile::kOnDemand) {
    -
    770  CheckVodSegmentAlignment();
    -
    771  }
    -
    772 
    -
    773  if (segments_aligned_ == kSegmentAlignmentTrue) {
    -
    774  adaptation_set.SetStringAttribute(
    -
    775  mpd_options_.dash_profile == DashProfile::kOnDemand
    -
    776  ? "subsegmentAlignment"
    -
    777  : "segmentAlignment",
    -
    778  "true");
    -
    779  }
    -
    780 
    -
    781  if (picture_aspect_ratio_.size() == 1)
    -
    782  adaptation_set.SetStringAttribute("par", *picture_aspect_ratio_.begin());
    -
    783 
    -
    784  if (!adaptation_set.AddContentProtectionElements(
    -
    785  content_protection_elements_)) {
    -
    786  return xml::scoped_xml_ptr<xmlNode>();
    -
    787  }
    -
    788 
    -
    789  if (!trick_play_reference_ids_.empty()) {
    -
    790  std::string id_string;
    -
    791  for (uint32_t id : trick_play_reference_ids_) {
    -
    792  id_string += std::to_string(id) + ",";
    -
    793  }
    -
    794  DCHECK(!id_string.empty());
    -
    795  id_string.resize(id_string.size() - 1);
    -
    796  adaptation_set.AddEssentialProperty(
    -
    797  "http://dashif.org/guidelines/trickmode", id_string);
    -
    798  }
    -
    799 
    -
    800  std::string switching_ids;
    -
    801  for (uint32_t id : adaptation_set_switching_ids_) {
    -
    802  if (!switching_ids.empty())
    -
    803  switching_ids += ',';
    -
    804  switching_ids += base::UintToString(id);
    -
    805  }
    -
    806  if (!switching_ids.empty()) {
    -
    807  adaptation_set.AddSupplementalProperty(
    -
    808  "urn:mpeg:dash:adaptation-set-switching:2016", switching_ids);
    -
    809  }
    -
    810 
    -
    811  for (AdaptationSet::Role role : roles_)
    -
    812  adaptation_set.AddRoleElement("urn:mpeg:dash:role:2011", RoleToText(role));
    -
    813 
    -
    814  for (const std::unique_ptr<Representation>& representation :
    -
    815  representations_) {
    -
    816  if (suppress_representation_width)
    -
    817  representation->SuppressOnce(Representation::kSuppressWidth);
    -
    818  if (suppress_representation_height)
    -
    819  representation->SuppressOnce(Representation::kSuppressHeight);
    -
    820  if (suppress_representation_frame_rate)
    -
    821  representation->SuppressOnce(Representation::kSuppressFrameRate);
    -
    822  xml::scoped_xml_ptr<xmlNode> child(representation->GetXml());
    -
    823  if (!child || !adaptation_set.AddChild(std::move(child)))
    -
    824  return xml::scoped_xml_ptr<xmlNode>();
    -
    825  }
    -
    826 
    -
    827  return adaptation_set.PassScopedPtr();
    -
    828 }
    -
    829 
    -
    830 void AdaptationSet::ForceSetSegmentAlignment(bool segment_alignment) {
    -
    831  segments_aligned_ =
    -
    832  segment_alignment ? kSegmentAlignmentTrue : kSegmentAlignmentFalse;
    -
    833  force_set_segment_alignment_ = true;
    -
    834 }
    -
    835 
    -
    836 void AdaptationSet::AddAdaptationSetSwitching(uint32_t adaptation_set_id) {
    -
    837  adaptation_set_switching_ids_.push_back(adaptation_set_id);
    -
    838 }
    -
    839 
    -
    840 // Check segmentAlignment for Live here. Storing all start_time and duration
    -
    841 // will out-of-memory because there's no way of knowing when it will end.
    -
    842 // VOD subsegmentAlignment check is *not* done here because it is possible
    -
    843 // that some Representations might not have been added yet (e.g. a thread is
    -
    844 // assigned per muxer so one might run faster than others).
    -
    845 // To be clear, for Live, all Representations should be added before a
    -
    846 // segment is added.
    -
    847 void AdaptationSet::OnNewSegmentForRepresentation(uint32_t representation_id,
    -
    848  uint64_t start_time,
    -
    849  uint64_t duration) {
    -
    850  if (mpd_options_.dash_profile == DashProfile::kLive) {
    -
    851  CheckLiveSegmentAlignment(representation_id, start_time, duration);
    -
    852  } else {
    -
    853  representation_segment_start_times_[representation_id].push_back(
    -
    854  start_time);
    -
    855  }
    -
    856 }
    -
    857 
    - -
    859  uint32_t representation_id,
    -
    860  uint32_t frame_duration,
    -
    861  uint32_t timescale) {
    -
    862  RecordFrameRate(frame_duration, timescale);
    -
    863 }
    -
    864 
    - -
    866  trick_play_reference_ids_.insert(id);
    -
    867 }
    -
    868 
    -
    869 bool AdaptationSet::GetEarliestTimestamp(double* timestamp_seconds) {
    -
    870  DCHECK(timestamp_seconds);
    -
    871 
    -
    872  double earliest_timestamp(-1);
    -
    873  for (const std::unique_ptr<Representation>& representation :
    -
    874  representations_) {
    -
    875  double timestamp;
    -
    876  if (representation->GetEarliestTimestamp(&timestamp) &&
    -
    877  ((earliest_timestamp < 0) || (timestamp < earliest_timestamp))) {
    -
    878  earliest_timestamp = timestamp;
    -
    879  }
    -
    880  }
    -
    881  if (earliest_timestamp < 0)
    -
    882  return false;
    -
    883 
    -
    884  *timestamp_seconds = earliest_timestamp;
    -
    885  return true;
    -
    886 }
    -
    887 
    -
    888 // This implementation assumes that each representations' segments' are
    -
    889 // contiguous.
    -
    890 // Also assumes that all Representations are added before this is called.
    -
    891 // This checks whether the first elements of the lists in
    -
    892 // representation_segment_start_times_ are aligned.
    -
    893 // For example, suppose this method was just called with args rep_id=2
    -
    894 // start_time=1.
    -
    895 // 1 -> [1, 100, 200]
    -
    896 // 2 -> [1]
    -
    897 // The timestamps of the first elements match, so this flags
    -
    898 // segments_aligned_=true.
    -
    899 // Also since the first segment start times match, the first element of all the
    -
    900 // lists are removed, so the map of lists becomes:
    -
    901 // 1 -> [100, 200]
    -
    902 // 2 -> []
    -
    903 // Note that there could be false positives.
    -
    904 // e.g. just got rep_id=3 start_time=1 duration=300, and the duration of the
    -
    905 // whole AdaptationSet is 300.
    -
    906 // 1 -> [1, 100, 200]
    -
    907 // 2 -> [1, 90, 100]
    -
    908 // 3 -> [1]
    -
    909 // They are not aligned but this will be marked as aligned.
    -
    910 // But since this is unlikely to happen in the packager (and to save
    -
    911 // computation), this isn't handled at the moment.
    -
    912 void AdaptationSet::CheckLiveSegmentAlignment(uint32_t representation_id,
    -
    913  uint64_t start_time,
    -
    914  uint64_t /* duration */) {
    -
    915  if (segments_aligned_ == kSegmentAlignmentFalse ||
    -
    916  force_set_segment_alignment_) {
    -
    917  return;
    -
    918  }
    -
    919 
    -
    920  std::list<uint64_t>& representation_start_times =
    -
    921  representation_segment_start_times_[representation_id];
    -
    922  representation_start_times.push_back(start_time);
    -
    923  // There's no way to detemine whether the segments are aligned if some
    -
    924  // representations do not have any segments.
    -
    925  if (representation_segment_start_times_.size() != representations_.size())
    -
    926  return;
    -
    927 
    -
    928  DCHECK(!representation_start_times.empty());
    -
    929  const uint64_t expected_start_time = representation_start_times.front();
    -
    930  for (RepresentationTimeline::const_iterator it =
    -
    931  representation_segment_start_times_.begin();
    -
    932  it != representation_segment_start_times_.end(); ++it) {
    -
    933  // If there are no entries in a list, then there is no way for the
    -
    934  // segment alignment status to change.
    -
    935  // Note that it can be empty because entries get deleted below.
    -
    936  if (it->second.empty())
    -
    937  return;
    -
    938 
    -
    939  if (expected_start_time != it->second.front()) {
    -
    940  // Flag as false and clear the start times data, no need to keep it
    -
    941  // around.
    -
    942  segments_aligned_ = kSegmentAlignmentFalse;
    -
    943  representation_segment_start_times_.clear();
    -
    944  return;
    -
    945  }
    -
    946  }
    -
    947  segments_aligned_ = kSegmentAlignmentTrue;
    -
    948 
    -
    949  for (RepresentationTimeline::iterator it =
    -
    950  representation_segment_start_times_.begin();
    -
    951  it != representation_segment_start_times_.end(); ++it) {
    -
    952  it->second.pop_front();
    -
    953  }
    -
    954 }
    -
    955 
    -
    956 // Make sure all segements start times match for all Representations.
    -
    957 // This assumes that the segments are contiguous.
    -
    958 void AdaptationSet::CheckVodSegmentAlignment() {
    -
    959  if (segments_aligned_ == kSegmentAlignmentFalse ||
    -
    960  force_set_segment_alignment_) {
    -
    961  return;
    -
    962  }
    -
    963  if (representation_segment_start_times_.empty())
    -
    964  return;
    -
    965  if (representation_segment_start_times_.size() == 1) {
    -
    966  segments_aligned_ = kSegmentAlignmentTrue;
    -
    967  return;
    -
    968  }
    -
    969 
    -
    970  // This is not the most efficient implementation to compare the values
    -
    971  // because expected_time_line is compared against all other time lines, but
    -
    972  // probably the most readable.
    -
    973  const std::list<uint64_t>& expected_time_line =
    -
    974  representation_segment_start_times_.begin()->second;
    -
    975 
    -
    976  bool all_segment_time_line_same_length = true;
    -
    977  // Note that the first entry is skipped because it is expected_time_line.
    -
    978  RepresentationTimeline::const_iterator it =
    -
    979  representation_segment_start_times_.begin();
    -
    980  for (++it; it != representation_segment_start_times_.end(); ++it) {
    -
    981  const std::list<uint64_t>& other_time_line = it->second;
    -
    982  if (expected_time_line.size() != other_time_line.size()) {
    -
    983  all_segment_time_line_same_length = false;
    -
    984  }
    -
    985 
    -
    986  const std::list<uint64_t>* longer_list = &other_time_line;
    -
    987  const std::list<uint64_t>* shorter_list = &expected_time_line;
    -
    988  if (expected_time_line.size() > other_time_line.size()) {
    -
    989  shorter_list = &other_time_line;
    -
    990  longer_list = &expected_time_line;
    -
    991  }
    -
    992 
    -
    993  if (!std::equal(shorter_list->begin(), shorter_list->end(),
    -
    994  longer_list->begin())) {
    -
    995  // Some segments are definitely unaligned.
    -
    996  segments_aligned_ = kSegmentAlignmentFalse;
    -
    997  representation_segment_start_times_.clear();
    -
    998  return;
    -
    999  }
    -
    1000  }
    -
    1001 
    -
    1002  // TODO(rkuroiwa): The right way to do this is to also check the durations.
    -
    1003  // For example:
    -
    1004  // (a) 3 4 5
    -
    1005  // (b) 3 4 5 6
    -
    1006  // could be true or false depending on the length of the third segment of (a).
    -
    1007  // i.e. if length of the third segment is 2, then this is not aligned.
    -
    1008  if (!all_segment_time_line_same_length) {
    -
    1009  segments_aligned_ = kSegmentAlignmentUnknown;
    -
    1010  return;
    -
    1011  }
    -
    1012 
    -
    1013  segments_aligned_ = kSegmentAlignmentTrue;
    -
    1014 }
    -
    1015 
    -
    1016 // Since all AdaptationSet cares about is the maxFrameRate, representation_id
    -
    1017 // is not passed to this method.
    -
    1018 void AdaptationSet::RecordFrameRate(uint32_t frame_duration,
    -
    1019  uint32_t timescale) {
    -
    1020  if (frame_duration == 0) {
    -
    1021  LOG(ERROR) << "Frame duration is 0 and cannot be set.";
    -
    1022  return;
    -
    1023  }
    -
    1024  video_frame_rates_[static_cast<double>(timescale) / frame_duration] =
    -
    1025  base::IntToString(timescale) + "/" + base::IntToString(frame_duration);
    -
    1026 }
    -
    1027 
    - -
    1029  const MediaInfo& media_info,
    -
    1030  const MpdOptions& mpd_options,
    -
    1031  uint32_t id,
    -
    1032  std::unique_ptr<RepresentationStateChangeListener> state_change_listener)
    -
    1033  : media_info_(media_info),
    -
    1034  id_(id),
    -
    1035  bandwidth_estimator_(BandwidthEstimator::kUseAllBlocks),
    -
    1036  mpd_options_(mpd_options),
    -
    1037  start_number_(1),
    -
    1038  state_change_listener_(std::move(state_change_listener)),
    -
    1039  output_suppression_flags_(0) {}
    -
    1040 
    -
    1041 Representation::~Representation() {}
    -
    1042 
    - -
    1044  if (!AtLeastOneTrue(media_info_.has_video_info(),
    -
    1045  media_info_.has_audio_info(),
    -
    1046  media_info_.has_text_info())) {
    -
    1047  // This is an error. Segment information can be in AdaptationSet, Period, or
    -
    1048  // MPD but the interface does not provide a way to set them.
    -
    1049  // See 5.3.9.1 ISO 23009-1:2012 for segment info.
    -
    1050  LOG(ERROR) << "Representation needs one of video, audio, or text.";
    -
    1051  return false;
    -
    1052  }
    -
    1053 
    -
    1054  if (MoreThanOneTrue(media_info_.has_video_info(),
    -
    1055  media_info_.has_audio_info(),
    -
    1056  media_info_.has_text_info())) {
    -
    1057  LOG(ERROR) << "Only one of VideoInfo, AudioInfo, or TextInfo can be set.";
    -
    1058  return false;
    -
    1059  }
    -
    1060 
    -
    1061  if (media_info_.container_type() == MediaInfo::CONTAINER_UNKNOWN) {
    -
    1062  LOG(ERROR) << "'container_type' in MediaInfo cannot be CONTAINER_UNKNOWN.";
    -
    1063  return false;
    -
    1064  }
    -
    1065 
    -
    1066  if (media_info_.has_video_info()) {
    -
    1067  mime_type_ = GetVideoMimeType();
    -
    1068  if (!HasRequiredVideoFields(media_info_.video_info())) {
    -
    1069  LOG(ERROR) << "Missing required fields to create a video Representation.";
    -
    1070  return false;
    -
    1071  }
    -
    1072  } else if (media_info_.has_audio_info()) {
    -
    1073  mime_type_ = GetAudioMimeType();
    -
    1074  } else if (media_info_.has_text_info()) {
    -
    1075  mime_type_ = GetTextMimeType();
    -
    1076  }
    -
    1077 
    -
    1078  if (mime_type_.empty())
    -
    1079  return false;
    -
    1080 
    -
    1081  codecs_ = GetCodecs(media_info_);
    -
    1082  return true;
    -
    1083 }
    -
    1084 
    - -
    1086  const ContentProtectionElement& content_protection_element) {
    -
    1087  content_protection_elements_.push_back(content_protection_element);
    -
    1088  RemoveDuplicateAttributes(&content_protection_elements_.back());
    -
    1089 }
    -
    1090 
    -
    1091 void Representation::UpdateContentProtectionPssh(const std::string& drm_uuid,
    -
    1092  const std::string& pssh) {
    -
    1093  UpdateContentProtectionPsshHelper(drm_uuid, pssh,
    -
    1094  &content_protection_elements_);
    -
    1095 }
    -
    1096 
    -
    1097 void Representation::AddNewSegment(uint64_t start_time,
    -
    1098  uint64_t duration,
    -
    1099  uint64_t size) {
    -
    1100  if (start_time == 0 && duration == 0) {
    -
    1101  LOG(WARNING) << "Got segment with start_time and duration == 0. Ignoring.";
    -
    1102  return;
    -
    1103  }
    -
    1104 
    -
    1105  if (state_change_listener_)
    -
    1106  state_change_listener_->OnNewSegmentForRepresentation(start_time, duration);
    -
    1107  if (IsContiguous(start_time, duration, size)) {
    -
    1108  ++segment_infos_.back().repeat;
    -
    1109  } else {
    -
    1110  SegmentInfo s = {start_time, duration, /* Not repeat. */ 0};
    -
    1111  segment_infos_.push_back(s);
    -
    1112  }
    -
    1113 
    -
    1114  bandwidth_estimator_.AddBlock(
    -
    1115  size, static_cast<double>(duration) / media_info_.reference_time_scale());
    -
    1116 
    -
    1117  SlideWindow();
    -
    1118  DCHECK_GE(segment_infos_.size(), 1u);
    -
    1119 }
    -
    1120 
    -
    1121 void Representation::SetSampleDuration(uint32_t sample_duration) {
    -
    1122  if (media_info_.has_video_info()) {
    -
    1123  media_info_.mutable_video_info()->set_frame_duration(sample_duration);
    -
    1124  if (state_change_listener_) {
    -
    1125  state_change_listener_->OnSetFrameRateForRepresentation(
    -
    1126  sample_duration, media_info_.video_info().time_scale());
    -
    1127  }
    -
    1128  }
    -
    1129 }
    -
    1130 
    -
    1131 // Uses info in |media_info_| and |content_protection_elements_| to create a
    -
    1132 // "Representation" node.
    -
    1133 // MPD schema has strict ordering. The following must be done in order.
    -
    1134 // AddVideoInfo() (possibly adds FramePacking elements), AddAudioInfo() (Adds
    -
    1135 // AudioChannelConfig elements), AddContentProtectionElements*(), and
    -
    1136 // AddVODOnlyInfo() (Adds segment info).
    -
    1137 xml::scoped_xml_ptr<xmlNode> Representation::GetXml() {
    -
    1138  if (!HasRequiredMediaInfoFields()) {
    -
    1139  LOG(ERROR) << "MediaInfo missing required fields.";
    -
    1140  return xml::scoped_xml_ptr<xmlNode>();
    -
    1141  }
    -
    1142 
    -
    1143  const uint64_t bandwidth = media_info_.has_bandwidth()
    -
    1144  ? media_info_.bandwidth()
    -
    1145  : bandwidth_estimator_.Estimate();
    -
    1146 
    -
    1147  DCHECK(!(HasVODOnlyFields(media_info_) && HasLiveOnlyFields(media_info_)));
    -
    1148 
    -
    1149  RepresentationXmlNode representation;
    -
    1150  // Mandatory fields for Representation.
    -
    1151  representation.SetId(id_);
    -
    1152  representation.SetIntegerAttribute("bandwidth", bandwidth);
    -
    1153  if (!codecs_.empty())
    -
    1154  representation.SetStringAttribute("codecs", codecs_);
    -
    1155  representation.SetStringAttribute("mimeType", mime_type_);
    -
    1156 
    -
    1157  const bool has_video_info = media_info_.has_video_info();
    -
    1158  const bool has_audio_info = media_info_.has_audio_info();
    -
    1159 
    -
    1160  if (has_video_info &&
    -
    1161  !representation.AddVideoInfo(
    -
    1162  media_info_.video_info(),
    -
    1163  !(output_suppression_flags_ & kSuppressWidth),
    -
    1164  !(output_suppression_flags_ & kSuppressHeight),
    -
    1165  !(output_suppression_flags_ & kSuppressFrameRate))) {
    -
    1166  LOG(ERROR) << "Failed to add video info to Representation XML.";
    -
    1167  return xml::scoped_xml_ptr<xmlNode>();
    -
    1168  }
    -
    1169 
    -
    1170  if (has_audio_info &&
    -
    1171  !representation.AddAudioInfo(media_info_.audio_info())) {
    -
    1172  LOG(ERROR) << "Failed to add audio info to Representation XML.";
    -
    1173  return xml::scoped_xml_ptr<xmlNode>();
    -
    1174  }
    -
    1175 
    -
    1176  if (!representation.AddContentProtectionElements(
    -
    1177  content_protection_elements_)) {
    -
    1178  return xml::scoped_xml_ptr<xmlNode>();
    -
    1179  }
    -
    1180 
    -
    1181  // Set media duration for static mpd.
    -
    1182  if (mpd_options_.mpd_type == MpdType::kStatic &&
    -
    1183  media_info_.has_media_duration_seconds()) {
    -
    1184  // Adding 'duration' attribute, so that this information can be used when
    -
    1185  // generating one MPD file. This should be removed from the final MPD.
    -
    1186  representation.SetFloatingPointAttribute(
    -
    1187  "duration", media_info_.media_duration_seconds());
    -
    1188  }
    -
    1189 
    -
    1190  if (HasVODOnlyFields(media_info_) &&
    -
    1191  !representation.AddVODOnlyInfo(media_info_)) {
    -
    1192  LOG(ERROR) << "Failed to add VOD segment info.";
    -
    1193  return xml::scoped_xml_ptr<xmlNode>();
    -
    1194  }
    -
    1195 
    -
    1196  if (HasLiveOnlyFields(media_info_) &&
    -
    1197  !representation.AddLiveOnlyInfo(media_info_, segment_infos_,
    -
    1198  start_number_)) {
    -
    1199  LOG(ERROR) << "Failed to add Live info.";
    -
    1200  return xml::scoped_xml_ptr<xmlNode>();
    -
    1201  }
    -
    1202  // TODO(rkuroiwa): It is likely that all representations have the exact same
    -
    1203  // SegmentTemplate. Optimize and propagate the tag up to AdaptationSet level.
    -
    1204 
    -
    1205  output_suppression_flags_ = 0;
    -
    1206  return representation.PassScopedPtr();
    -
    1207 }
    -
    1208 
    -
    1209 void Representation::SuppressOnce(SuppressFlag flag) {
    -
    1210  output_suppression_flags_ |= flag;
    -
    1211 }
    -
    1212 
    -
    1213 bool Representation::HasRequiredMediaInfoFields() {
    -
    1214  if (HasVODOnlyFields(media_info_) && HasLiveOnlyFields(media_info_)) {
    -
    1215  LOG(ERROR) << "MediaInfo cannot have both VOD and Live fields.";
    -
    1216  return false;
    -
    1217  }
    -
    1218 
    -
    1219  if (!media_info_.has_container_type()) {
    -
    1220  LOG(ERROR) << "MediaInfo missing required field: container_type.";
    -
    1221  return false;
    -
    1222  }
    -
    1223 
    -
    1224  if (HasVODOnlyFields(media_info_) && !media_info_.has_bandwidth()) {
    -
    1225  LOG(ERROR) << "Missing 'bandwidth' field. MediaInfo requires bandwidth for "
    -
    1226  "static profile for generating a valid MPD.";
    -
    1227  return false;
    -
    1228  }
    -
    1229 
    -
    1230  VLOG_IF(3, HasLiveOnlyFields(media_info_) && !media_info_.has_bandwidth())
    -
    1231  << "MediaInfo missing field 'bandwidth'. Using estimated from "
    -
    1232  "segment size.";
    -
    1233 
    -
    1234  return true;
    -
    1235 }
    -
    1236 
    -
    1237 bool Representation::IsContiguous(uint64_t start_time,
    -
    1238  uint64_t duration,
    -
    1239  uint64_t size) const {
    -
    1240  if (segment_infos_.empty())
    -
    1241  return false;
    -
    1242 
    -
    1243  // Contiguous segment.
    -
    1244  const SegmentInfo& previous = segment_infos_.back();
    -
    1245  const uint64_t previous_segment_end_time =
    -
    1246  previous.start_time + previous.duration * (previous.repeat + 1);
    -
    1247  if (previous_segment_end_time == start_time &&
    -
    1248  segment_infos_.back().duration == duration) {
    -
    1249  return true;
    -
    1250  }
    -
    1251 
    -
    1252  // No out of order segments.
    -
    1253  const uint64_t previous_segment_start_time =
    -
    1254  previous.start_time + previous.duration * previous.repeat;
    -
    1255  if (previous_segment_start_time >= start_time) {
    -
    1256  LOG(ERROR) << "Segments should not be out of order segment. Adding segment "
    -
    1257  "with start_time == "
    -
    1258  << start_time << " but the previous segment starts at "
    -
    1259  << previous_segment_start_time << ".";
    -
    1260  return false;
    -
    1261  }
    -
    1262 
    -
    1263  // A gap since previous.
    -
    1264  const uint64_t kRoundingErrorGrace = 5;
    -
    1265  if (previous_segment_end_time + kRoundingErrorGrace < start_time) {
    -
    1266  LOG(WARNING) << "Found a gap of size "
    -
    1267  << (start_time - previous_segment_end_time)
    -
    1268  << " > kRoundingErrorGrace (" << kRoundingErrorGrace
    -
    1269  << "). The new segment starts at " << start_time
    -
    1270  << " but the previous segment ends at "
    -
    1271  << previous_segment_end_time << ".";
    -
    1272  return false;
    -
    1273  }
    -
    1274 
    -
    1275  // No overlapping segments.
    -
    1276  if (start_time < previous_segment_end_time - kRoundingErrorGrace) {
    -
    1277  LOG(WARNING)
    -
    1278  << "Segments should not be overlapping. The new segment starts at "
    -
    1279  << start_time << " but the previous segment ends at "
    -
    1280  << previous_segment_end_time << ".";
    -
    1281  return false;
    -
    1282  }
    -
    1283 
    -
    1284  // Within rounding error grace but technically not contiguous in terms of MPD.
    -
    1285  return false;
    -
    1286 }
    -
    1287 
    -
    1288 void Representation::SlideWindow() {
    -
    1289  DCHECK(!segment_infos_.empty());
    -
    1290  if (mpd_options_.time_shift_buffer_depth <= 0.0 ||
    -
    1291  mpd_options_.mpd_type == MpdType::kStatic)
    -
    1292  return;
    -
    1293 
    -
    1294  const uint32_t time_scale = GetTimeScale(media_info_);
    -
    1295  DCHECK_GT(time_scale, 0u);
    -
    1296 
    -
    1297  uint64_t time_shift_buffer_depth =
    -
    1298  static_cast<uint64_t>(mpd_options_.time_shift_buffer_depth * time_scale);
    -
    1299 
    -
    1300  // The start time of the latest segment is considered the current_play_time,
    -
    1301  // and this should guarantee that the latest segment will stay in the list.
    -
    1302  const uint64_t current_play_time = LatestSegmentStartTime(segment_infos_);
    -
    1303  if (current_play_time <= time_shift_buffer_depth)
    -
    1304  return;
    -
    1305 
    -
    1306  const uint64_t timeshift_limit = current_play_time - time_shift_buffer_depth;
    -
    1307 
    -
    1308  // First remove all the SegmentInfos that are completely out of range, by
    -
    1309  // looking at the very last segment's end time.
    -
    1310  std::list<SegmentInfo>::iterator first = segment_infos_.begin();
    -
    1311  std::list<SegmentInfo>::iterator last = first;
    -
    1312  size_t num_segments_removed = 0;
    -
    1313  for (; last != segment_infos_.end(); ++last) {
    -
    1314  const uint64_t last_segment_end_time = LastSegmentEndTime(*last);
    -
    1315  if (timeshift_limit < last_segment_end_time)
    -
    1316  break;
    -
    1317  num_segments_removed += last->repeat + 1;
    -
    1318  }
    -
    1319  segment_infos_.erase(first, last);
    -
    1320  start_number_ += num_segments_removed;
    -
    1321 
    -
    1322  // Now some segment in the first SegmentInfo should be left in the list.
    -
    1323  SegmentInfo* first_segment_info = &segment_infos_.front();
    -
    1324  DCHECK_LE(timeshift_limit, LastSegmentEndTime(*first_segment_info));
    -
    1325 
    -
    1326  // Identify which segments should still be in the SegmentInfo.
    -
    1327  const int repeat_index =
    -
    1328  SearchTimedOutRepeatIndex(timeshift_limit, *first_segment_info);
    -
    1329  CHECK_GE(repeat_index, 0);
    -
    1330  if (repeat_index == 0)
    -
    1331  return;
    -
    1332 
    -
    1333  first_segment_info->start_time = first_segment_info->start_time +
    -
    1334  first_segment_info->duration * repeat_index;
    -
    1335 
    -
    1336  first_segment_info->repeat = first_segment_info->repeat - repeat_index;
    -
    1337  start_number_ += repeat_index;
    -
    1338 }
    -
    1339 
    -
    1340 std::string Representation::GetVideoMimeType() const {
    -
    1341  return GetMimeType("video", media_info_.container_type());
    -
    1342 }
    -
    1343 
    -
    1344 std::string Representation::GetAudioMimeType() const {
    -
    1345  return GetMimeType("audio", media_info_.container_type());
    -
    1346 }
    -
    1347 
    -
    1348 std::string Representation::GetTextMimeType() const {
    -
    1349  CHECK(media_info_.has_text_info());
    -
    1350  if (media_info_.text_info().format() == "ttml") {
    -
    1351  switch (media_info_.container_type()) {
    -
    1352  case MediaInfo::CONTAINER_TEXT:
    -
    1353  return "application/ttml+xml";
    -
    1354  case MediaInfo::CONTAINER_MP4:
    -
    1355  return "application/mp4";
    -
    1356  default:
    -
    1357  LOG(ERROR) << "Failed to determine MIME type for TTML container: "
    -
    1358  << media_info_.container_type();
    -
    1359  return "";
    -
    1360  }
    -
    1361  }
    -
    1362  if (media_info_.text_info().format() == "vtt") {
    -
    1363  if (media_info_.container_type() == MediaInfo::CONTAINER_TEXT) {
    -
    1364  return "text/vtt";
    -
    1365  } else if (media_info_.container_type() == MediaInfo::CONTAINER_MP4) {
    -
    1366  return "application/mp4";
    -
    1367  }
    -
    1368  LOG(ERROR) << "Failed to determine MIME type for VTT container: "
    -
    1369  << media_info_.container_type();
    -
    1370  return "";
    -
    1371  }
    -
    1372 
    -
    1373  LOG(ERROR) << "Cannot determine MIME type for format: "
    -
    1374  << media_info_.text_info().format()
    -
    1375  << " container: " << media_info_.container_type();
    -
    1376  return "";
    -
    1377 }
    -
    1378 
    -
    1379 bool Representation::GetEarliestTimestamp(double* timestamp_seconds) {
    -
    1380  DCHECK(timestamp_seconds);
    -
    1381 
    -
    1382  if (segment_infos_.empty())
    -
    1383  return false;
    -
    1384 
    -
    1385  *timestamp_seconds = static_cast<double>(segment_infos_.begin()->start_time) /
    -
    1386  GetTimeScale(media_info_);
    -
    1387  return true;
    -
    1388 }
    -
    1389 
    -
    1390 } // namespace shaka
    -
    void OnSetFrameRateForRepresentation(uint32_t representation_id, uint32_t frame_duration, uint32_t timescale)
    Definition: mpd_builder.cc:858
    -
    virtual void AddNewSegment(uint64_t start_time, uint64_t duration, uint64_t size)
    - -
    Representation(const MediaInfo &media_info, const MpdOptions &mpd_options, uint32_t representation_id, std::unique_ptr< RepresentationStateChangeListener > state_change_listener)
    +
    508  "minBufferTime",
    +
    509  SecondsToXmlDuration(mpd_options_.mpd_params.min_buffer_time));
    +
    510  } else {
    +
    511  LOG(ERROR) << "minBufferTime value not specified.";
    +
    512  // TODO(tinskip): Propagate error.
    +
    513  }
    +
    514 }
    +
    515 
    +
    516 void MpdBuilder::AddStaticMpdInfo(XmlNode* mpd_node) {
    +
    517  DCHECK(mpd_node);
    +
    518  DCHECK_EQ(MpdType::kStatic, mpd_options_.mpd_type);
    +
    519 
    +
    520  static const char kStaticMpdType[] = "static";
    +
    521  mpd_node->SetStringAttribute("type", kStaticMpdType);
    +
    522  mpd_node->SetStringAttribute(
    +
    523  "mediaPresentationDuration",
    +
    524  SecondsToXmlDuration(GetStaticMpdDuration(mpd_node)));
    +
    525 }
    +
    526 
    +
    527 void MpdBuilder::AddDynamicMpdInfo(XmlNode* mpd_node) {
    +
    528  DCHECK(mpd_node);
    +
    529  DCHECK_EQ(MpdType::kDynamic, mpd_options_.mpd_type);
    +
    530 
    +
    531  static const char kDynamicMpdType[] = "dynamic";
    +
    532  mpd_node->SetStringAttribute("type", kDynamicMpdType);
    +
    533 
    +
    534  // No offset from NOW.
    +
    535  mpd_node->SetStringAttribute("publishTime",
    +
    536  XmlDateTimeNowWithOffset(0, clock_.get()));
    +
    537 
    +
    538  // 'availabilityStartTime' is required for dynamic profile. Calculate if
    +
    539  // not already calculated.
    +
    540  if (availability_start_time_.empty()) {
    +
    541  double earliest_presentation_time;
    +
    542  if (GetEarliestTimestamp(&earliest_presentation_time)) {
    +
    543  availability_start_time_ = XmlDateTimeNowWithOffset(
    +
    544  -std::ceil(earliest_presentation_time), clock_.get());
    +
    545  } else {
    +
    546  LOG(ERROR) << "Could not determine the earliest segment presentation "
    +
    547  "time for availabilityStartTime calculation.";
    +
    548  // TODO(tinskip). Propagate an error.
    +
    549  }
    +
    550  }
    +
    551  if (!availability_start_time_.empty())
    +
    552  mpd_node->SetStringAttribute("availabilityStartTime",
    +
    553  availability_start_time_);
    +
    554 
    +
    555  if (Positive(mpd_options_.mpd_params.minimum_update_period)) {
    +
    556  mpd_node->SetStringAttribute(
    +
    557  "minimumUpdatePeriod",
    +
    558  SecondsToXmlDuration(mpd_options_.mpd_params.minimum_update_period));
    +
    559  } else {
    +
    560  LOG(WARNING) << "The profile is dynamic but no minimumUpdatePeriod "
    +
    561  "specified.";
    +
    562  }
    +
    563 
    +
    564  SetIfPositive("timeShiftBufferDepth",
    +
    565  mpd_options_.mpd_params.time_shift_buffer_depth, mpd_node);
    +
    566  SetIfPositive("suggestedPresentationDelay",
    +
    567  mpd_options_.mpd_params.suggested_presentation_delay, mpd_node);
    +
    568 }
    +
    569 
    +
    570 float MpdBuilder::GetStaticMpdDuration(XmlNode* mpd_node) {
    +
    571  DCHECK(mpd_node);
    +
    572  DCHECK_EQ(MpdType::kStatic, mpd_options_.mpd_type);
    +
    573 
    +
    574  xmlNodePtr period_node = FindPeriodNode(mpd_node);
    +
    575  DCHECK(period_node) << "Period element must be a child of mpd_node.";
    +
    576  DCHECK(IsPeriodNode(period_node));
    +
    577 
    +
    578  // TODO(kqyang): Verify if this works for static + live profile.
    +
    579  // Attribute mediaPresentationDuration must be present for 'static' MPD. So
    +
    580  // setting "PT0S" is required even if none of the representaions have duration
    +
    581  // attribute.
    +
    582  float max_duration = 0.0f;
    +
    583  for (xmlNodePtr adaptation_set = xmlFirstElementChild(period_node);
    +
    584  adaptation_set; adaptation_set = xmlNextElementSibling(adaptation_set)) {
    +
    585  for (xmlNodePtr representation = xmlFirstElementChild(adaptation_set);
    +
    586  representation;
    +
    587  representation = xmlNextElementSibling(representation)) {
    +
    588  float duration = 0.0f;
    +
    589  if (GetDurationAttribute(representation, &duration)) {
    +
    590  max_duration = max_duration > duration ? max_duration : duration;
    +
    591 
    +
    592  // 'duration' attribute is there only to help generate MPD, not
    +
    593  // necessary for MPD, remove the attribute.
    +
    594  xmlUnsetProp(representation, BAD_CAST "duration");
    +
    595  }
    +
    596  }
    +
    597  }
    +
    598 
    +
    599  return max_duration;
    +
    600 }
    +
    601 
    +
    602 bool MpdBuilder::GetEarliestTimestamp(double* timestamp_seconds) {
    +
    603  DCHECK(timestamp_seconds);
    +
    604 
    +
    605  double earliest_timestamp(-1);
    +
    606  for (const std::unique_ptr<AdaptationSet>& adaptation_set :
    +
    607  adaptation_sets_) {
    +
    608  double timestamp;
    +
    609  if (adaptation_set->GetEarliestTimestamp(&timestamp) &&
    +
    610  ((earliest_timestamp < 0) || (timestamp < earliest_timestamp))) {
    +
    611  earliest_timestamp = timestamp;
    +
    612  }
    +
    613  }
    +
    614  if (earliest_timestamp < 0)
    +
    615  return false;
    +
    616 
    +
    617  *timestamp_seconds = earliest_timestamp;
    +
    618  return true;
    +
    619 }
    +
    620 
    +
    621 void MpdBuilder::MakePathsRelativeToMpd(const std::string& mpd_path,
    +
    622  MediaInfo* media_info) {
    +
    623  DCHECK(media_info);
    +
    624  const std::string kFileProtocol("file://");
    +
    625  std::string mpd_file_path = (mpd_path.find(kFileProtocol) == 0)
    +
    626  ? mpd_path.substr(kFileProtocol.size())
    +
    627  : mpd_path;
    +
    628 
    +
    629  if (!mpd_file_path.empty()) {
    +
    630  std::string mpd_dir(FilePath::FromUTF8Unsafe(mpd_file_path)
    +
    631  .DirName().AsEndingWithSeparator().AsUTF8Unsafe());
    +
    632  if (!mpd_dir.empty()) {
    +
    633  if (media_info->has_media_file_name()) {
    +
    634  media_info->set_media_file_name(
    +
    635  MakePathRelative(media_info->media_file_name(), mpd_dir));
    +
    636  }
    +
    637  if (media_info->has_init_segment_name()) {
    +
    638  media_info->set_init_segment_name(
    +
    639  MakePathRelative(media_info->init_segment_name(), mpd_dir));
    +
    640  }
    +
    641  if (media_info->has_segment_template()) {
    +
    642  media_info->set_segment_template(
    +
    643  MakePathRelative(media_info->segment_template(), mpd_dir));
    +
    644  }
    +
    645  }
    +
    646  }
    +
    647 }
    +
    648 
    +
    649 AdaptationSet::AdaptationSet(uint32_t adaptation_set_id,
    +
    650  const std::string& lang,
    +
    651  const MpdOptions& mpd_options,
    +
    652  base::AtomicSequenceNumber* counter)
    +
    653  : representation_counter_(counter),
    +
    654  id_(adaptation_set_id),
    +
    655  lang_(lang),
    +
    656  mpd_options_(mpd_options),
    +
    657  segments_aligned_(kSegmentAlignmentUnknown),
    +
    658  force_set_segment_alignment_(false) {
    +
    659  DCHECK(counter);
    +
    660 }
    +
    661 
    +
    662 AdaptationSet::~AdaptationSet() {}
    +
    663 
    +
    664 Representation* AdaptationSet::AddRepresentation(const MediaInfo& media_info) {
    +
    665  const uint32_t representation_id = representation_counter_->GetNext();
    +
    666  // Note that AdaptationSet outlive Representation, so this object
    +
    667  // will die before AdaptationSet.
    +
    668  std::unique_ptr<RepresentationStateChangeListener> listener(
    +
    669  new RepresentationStateChangeListenerImpl(representation_id, this));
    +
    670  std::unique_ptr<Representation> representation(new Representation(
    +
    671  media_info, mpd_options_, representation_id, std::move(listener)));
    +
    672 
    +
    673  if (!representation->Init()) {
    +
    674  LOG(ERROR) << "Failed to initialize Representation.";
    +
    675  return NULL;
    +
    676  }
    +
    677 
    +
    678  // For videos, record the width, height, and the frame rate to calculate the
    +
    679  // max {width,height,framerate} required for DASH IOP.
    +
    680  if (media_info.has_video_info()) {
    +
    681  const MediaInfo::VideoInfo& video_info = media_info.video_info();
    +
    682  DCHECK(video_info.has_width());
    +
    683  DCHECK(video_info.has_height());
    +
    684  video_widths_.insert(video_info.width());
    +
    685  video_heights_.insert(video_info.height());
    +
    686 
    +
    687  if (video_info.has_time_scale() && video_info.has_frame_duration())
    +
    688  RecordFrameRate(video_info.frame_duration(), video_info.time_scale());
    +
    689 
    +
    690  AddPictureAspectRatio(video_info, &picture_aspect_ratio_);
    +
    691  }
    +
    692 
    +
    693  if (media_info.has_video_info()) {
    +
    694  content_type_ = "video";
    +
    695  } else if (media_info.has_audio_info()) {
    +
    696  content_type_ = "audio";
    +
    697  } else if (media_info.has_text_info()) {
    +
    698  content_type_ = "text";
    +
    699 
    +
    700  if (media_info.text_info().has_type() &&
    +
    701  (media_info.text_info().type() != MediaInfo::TextInfo::UNKNOWN)) {
    +
    702  roles_.insert(MediaInfoTextTypeToRole(media_info.text_info().type()));
    +
    703  }
    +
    704  }
    +
    705 
    +
    706  representations_.push_back(std::move(representation));
    +
    707  return representations_.back().get();
    +
    708 }
    +
    709 
    + +
    711  const ContentProtectionElement& content_protection_element) {
    +
    712  content_protection_elements_.push_back(content_protection_element);
    +
    713  RemoveDuplicateAttributes(&content_protection_elements_.back());
    +
    714 }
    +
    715 
    +
    716 void AdaptationSet::UpdateContentProtectionPssh(const std::string& drm_uuid,
    +
    717  const std::string& pssh) {
    +
    718  UpdateContentProtectionPsshHelper(drm_uuid, pssh,
    +
    719  &content_protection_elements_);
    +
    720 }
    +
    721 
    +
    722 void AdaptationSet::AddRole(Role role) {
    +
    723  roles_.insert(role);
    +
    724 }
    +
    725 
    +
    726 // Creates a copy of <AdaptationSet> xml element, iterate thru all the
    +
    727 // <Representation> (child) elements and add them to the copy.
    +
    728 // Set all the attributes first and then add the children elements so that flags
    +
    729 // can be passed to Representation to avoid setting redundant attributes. For
    +
    730 // example, if AdaptationSet@width is set, then Representation@width is
    +
    731 // redundant and should not be set.
    +
    732 xml::scoped_xml_ptr<xmlNode> AdaptationSet::GetXml() {
    +
    733  AdaptationSetXmlNode adaptation_set;
    +
    734 
    +
    735  bool suppress_representation_width = false;
    +
    736  bool suppress_representation_height = false;
    +
    737  bool suppress_representation_frame_rate = false;
    +
    738 
    +
    739  adaptation_set.SetId(id_);
    +
    740  adaptation_set.SetStringAttribute("contentType", content_type_);
    +
    741  if (!lang_.empty() && lang_ != "und") {
    +
    742  adaptation_set.SetStringAttribute("lang", LanguageToShortestForm(lang_));
    +
    743  }
    +
    744 
    +
    745  // Note that std::{set,map} are ordered, so the last element is the max value.
    +
    746  if (video_widths_.size() == 1) {
    +
    747  suppress_representation_width = true;
    +
    748  adaptation_set.SetIntegerAttribute("width", *video_widths_.begin());
    +
    749  } else if (video_widths_.size() > 1) {
    +
    750  adaptation_set.SetIntegerAttribute("maxWidth", *video_widths_.rbegin());
    +
    751  }
    +
    752  if (video_heights_.size() == 1) {
    +
    753  suppress_representation_height = true;
    +
    754  adaptation_set.SetIntegerAttribute("height", *video_heights_.begin());
    +
    755  } else if (video_heights_.size() > 1) {
    +
    756  adaptation_set.SetIntegerAttribute("maxHeight", *video_heights_.rbegin());
    +
    757  }
    +
    758 
    +
    759  if (video_frame_rates_.size() == 1) {
    +
    760  suppress_representation_frame_rate = true;
    +
    761  adaptation_set.SetStringAttribute("frameRate",
    +
    762  video_frame_rates_.begin()->second);
    +
    763  } else if (video_frame_rates_.size() > 1) {
    +
    764  adaptation_set.SetStringAttribute("maxFrameRate",
    +
    765  video_frame_rates_.rbegin()->second);
    +
    766  }
    +
    767 
    +
    768  // Note: must be checked before checking segments_aligned_ (below). So that
    +
    769  // segments_aligned_ is set before checking below.
    +
    770  if (mpd_options_.dash_profile == DashProfile::kOnDemand) {
    +
    771  CheckVodSegmentAlignment();
    +
    772  }
    +
    773 
    +
    774  if (segments_aligned_ == kSegmentAlignmentTrue) {
    +
    775  adaptation_set.SetStringAttribute(
    +
    776  mpd_options_.dash_profile == DashProfile::kOnDemand
    +
    777  ? "subsegmentAlignment"
    +
    778  : "segmentAlignment",
    +
    779  "true");
    +
    780  }
    +
    781 
    +
    782  if (picture_aspect_ratio_.size() == 1)
    +
    783  adaptation_set.SetStringAttribute("par", *picture_aspect_ratio_.begin());
    +
    784 
    +
    785  if (!adaptation_set.AddContentProtectionElements(
    +
    786  content_protection_elements_)) {
    +
    787  return xml::scoped_xml_ptr<xmlNode>();
    +
    788  }
    +
    789 
    +
    790  if (!trick_play_reference_ids_.empty()) {
    +
    791  std::string id_string;
    +
    792  for (uint32_t id : trick_play_reference_ids_) {
    +
    793  id_string += std::to_string(id) + ",";
    +
    794  }
    +
    795  DCHECK(!id_string.empty());
    +
    796  id_string.resize(id_string.size() - 1);
    +
    797  adaptation_set.AddEssentialProperty(
    +
    798  "http://dashif.org/guidelines/trickmode", id_string);
    +
    799  }
    +
    800 
    +
    801  std::string switching_ids;
    +
    802  for (uint32_t id : adaptation_set_switching_ids_) {
    +
    803  if (!switching_ids.empty())
    +
    804  switching_ids += ',';
    +
    805  switching_ids += base::UintToString(id);
    +
    806  }
    +
    807  if (!switching_ids.empty()) {
    +
    808  adaptation_set.AddSupplementalProperty(
    +
    809  "urn:mpeg:dash:adaptation-set-switching:2016", switching_ids);
    +
    810  }
    +
    811 
    +
    812  for (AdaptationSet::Role role : roles_)
    +
    813  adaptation_set.AddRoleElement("urn:mpeg:dash:role:2011", RoleToText(role));
    +
    814 
    +
    815  for (const std::unique_ptr<Representation>& representation :
    +
    816  representations_) {
    +
    817  if (suppress_representation_width)
    +
    818  representation->SuppressOnce(Representation::kSuppressWidth);
    +
    819  if (suppress_representation_height)
    +
    820  representation->SuppressOnce(Representation::kSuppressHeight);
    +
    821  if (suppress_representation_frame_rate)
    +
    822  representation->SuppressOnce(Representation::kSuppressFrameRate);
    +
    823  xml::scoped_xml_ptr<xmlNode> child(representation->GetXml());
    +
    824  if (!child || !adaptation_set.AddChild(std::move(child)))
    +
    825  return xml::scoped_xml_ptr<xmlNode>();
    +
    826  }
    +
    827 
    +
    828  return adaptation_set.PassScopedPtr();
    +
    829 }
    +
    830 
    +
    831 void AdaptationSet::ForceSetSegmentAlignment(bool segment_alignment) {
    +
    832  segments_aligned_ =
    +
    833  segment_alignment ? kSegmentAlignmentTrue : kSegmentAlignmentFalse;
    +
    834  force_set_segment_alignment_ = true;
    +
    835 }
    +
    836 
    +
    837 void AdaptationSet::AddAdaptationSetSwitching(uint32_t adaptation_set_id) {
    +
    838  adaptation_set_switching_ids_.push_back(adaptation_set_id);
    +
    839 }
    +
    840 
    +
    841 // Check segmentAlignment for Live here. Storing all start_time and duration
    +
    842 // will out-of-memory because there's no way of knowing when it will end.
    +
    843 // VOD subsegmentAlignment check is *not* done here because it is possible
    +
    844 // that some Representations might not have been added yet (e.g. a thread is
    +
    845 // assigned per muxer so one might run faster than others).
    +
    846 // To be clear, for Live, all Representations should be added before a
    +
    847 // segment is added.
    +
    848 void AdaptationSet::OnNewSegmentForRepresentation(uint32_t representation_id,
    +
    849  uint64_t start_time,
    +
    850  uint64_t duration) {
    +
    851  if (mpd_options_.dash_profile == DashProfile::kLive) {
    +
    852  CheckLiveSegmentAlignment(representation_id, start_time, duration);
    +
    853  } else {
    +
    854  representation_segment_start_times_[representation_id].push_back(
    +
    855  start_time);
    +
    856  }
    +
    857 }
    +
    858 
    + +
    860  uint32_t representation_id,
    +
    861  uint32_t frame_duration,
    +
    862  uint32_t timescale) {
    +
    863  RecordFrameRate(frame_duration, timescale);
    +
    864 }
    +
    865 
    + +
    867  trick_play_reference_ids_.insert(id);
    +
    868 }
    +
    869 
    +
    870 bool AdaptationSet::GetEarliestTimestamp(double* timestamp_seconds) {
    +
    871  DCHECK(timestamp_seconds);
    +
    872 
    +
    873  double earliest_timestamp(-1);
    +
    874  for (const std::unique_ptr<Representation>& representation :
    +
    875  representations_) {
    +
    876  double timestamp;
    +
    877  if (representation->GetEarliestTimestamp(&timestamp) &&
    +
    878  ((earliest_timestamp < 0) || (timestamp < earliest_timestamp))) {
    +
    879  earliest_timestamp = timestamp;
    +
    880  }
    +
    881  }
    +
    882  if (earliest_timestamp < 0)
    +
    883  return false;
    +
    884 
    +
    885  *timestamp_seconds = earliest_timestamp;
    +
    886  return true;
    +
    887 }
    +
    888 
    +
    889 // This implementation assumes that each representations' segments' are
    +
    890 // contiguous.
    +
    891 // Also assumes that all Representations are added before this is called.
    +
    892 // This checks whether the first elements of the lists in
    +
    893 // representation_segment_start_times_ are aligned.
    +
    894 // For example, suppose this method was just called with args rep_id=2
    +
    895 // start_time=1.
    +
    896 // 1 -> [1, 100, 200]
    +
    897 // 2 -> [1]
    +
    898 // The timestamps of the first elements match, so this flags
    +
    899 // segments_aligned_=true.
    +
    900 // Also since the first segment start times match, the first element of all the
    +
    901 // lists are removed, so the map of lists becomes:
    +
    902 // 1 -> [100, 200]
    +
    903 // 2 -> []
    +
    904 // Note that there could be false positives.
    +
    905 // e.g. just got rep_id=3 start_time=1 duration=300, and the duration of the
    +
    906 // whole AdaptationSet is 300.
    +
    907 // 1 -> [1, 100, 200]
    +
    908 // 2 -> [1, 90, 100]
    +
    909 // 3 -> [1]
    +
    910 // They are not aligned but this will be marked as aligned.
    +
    911 // But since this is unlikely to happen in the packager (and to save
    +
    912 // computation), this isn't handled at the moment.
    +
    913 void AdaptationSet::CheckLiveSegmentAlignment(uint32_t representation_id,
    +
    914  uint64_t start_time,
    +
    915  uint64_t /* duration */) {
    +
    916  if (segments_aligned_ == kSegmentAlignmentFalse ||
    +
    917  force_set_segment_alignment_) {
    +
    918  return;
    +
    919  }
    +
    920 
    +
    921  std::list<uint64_t>& representation_start_times =
    +
    922  representation_segment_start_times_[representation_id];
    +
    923  representation_start_times.push_back(start_time);
    +
    924  // There's no way to detemine whether the segments are aligned if some
    +
    925  // representations do not have any segments.
    +
    926  if (representation_segment_start_times_.size() != representations_.size())
    +
    927  return;
    +
    928 
    +
    929  DCHECK(!representation_start_times.empty());
    +
    930  const uint64_t expected_start_time = representation_start_times.front();
    +
    931  for (RepresentationTimeline::const_iterator it =
    +
    932  representation_segment_start_times_.begin();
    +
    933  it != representation_segment_start_times_.end(); ++it) {
    +
    934  // If there are no entries in a list, then there is no way for the
    +
    935  // segment alignment status to change.
    +
    936  // Note that it can be empty because entries get deleted below.
    +
    937  if (it->second.empty())
    +
    938  return;
    +
    939 
    +
    940  if (expected_start_time != it->second.front()) {
    +
    941  // Flag as false and clear the start times data, no need to keep it
    +
    942  // around.
    +
    943  segments_aligned_ = kSegmentAlignmentFalse;
    +
    944  representation_segment_start_times_.clear();
    +
    945  return;
    +
    946  }
    +
    947  }
    +
    948  segments_aligned_ = kSegmentAlignmentTrue;
    +
    949 
    +
    950  for (RepresentationTimeline::iterator it =
    +
    951  representation_segment_start_times_.begin();
    +
    952  it != representation_segment_start_times_.end(); ++it) {
    +
    953  it->second.pop_front();
    +
    954  }
    +
    955 }
    +
    956 
    +
    957 // Make sure all segements start times match for all Representations.
    +
    958 // This assumes that the segments are contiguous.
    +
    959 void AdaptationSet::CheckVodSegmentAlignment() {
    +
    960  if (segments_aligned_ == kSegmentAlignmentFalse ||
    +
    961  force_set_segment_alignment_) {
    +
    962  return;
    +
    963  }
    +
    964  if (representation_segment_start_times_.empty())
    +
    965  return;
    +
    966  if (representation_segment_start_times_.size() == 1) {
    +
    967  segments_aligned_ = kSegmentAlignmentTrue;
    +
    968  return;
    +
    969  }
    +
    970 
    +
    971  // This is not the most efficient implementation to compare the values
    +
    972  // because expected_time_line is compared against all other time lines, but
    +
    973  // probably the most readable.
    +
    974  const std::list<uint64_t>& expected_time_line =
    +
    975  representation_segment_start_times_.begin()->second;
    +
    976 
    +
    977  bool all_segment_time_line_same_length = true;
    +
    978  // Note that the first entry is skipped because it is expected_time_line.
    +
    979  RepresentationTimeline::const_iterator it =
    +
    980  representation_segment_start_times_.begin();
    +
    981  for (++it; it != representation_segment_start_times_.end(); ++it) {
    +
    982  const std::list<uint64_t>& other_time_line = it->second;
    +
    983  if (expected_time_line.size() != other_time_line.size()) {
    +
    984  all_segment_time_line_same_length = false;
    +
    985  }
    +
    986 
    +
    987  const std::list<uint64_t>* longer_list = &other_time_line;
    +
    988  const std::list<uint64_t>* shorter_list = &expected_time_line;
    +
    989  if (expected_time_line.size() > other_time_line.size()) {
    +
    990  shorter_list = &other_time_line;
    +
    991  longer_list = &expected_time_line;
    +
    992  }
    +
    993 
    +
    994  if (!std::equal(shorter_list->begin(), shorter_list->end(),
    +
    995  longer_list->begin())) {
    +
    996  // Some segments are definitely unaligned.
    +
    997  segments_aligned_ = kSegmentAlignmentFalse;
    +
    998  representation_segment_start_times_.clear();
    +
    999  return;
    +
    1000  }
    +
    1001  }
    +
    1002 
    +
    1003  // TODO(rkuroiwa): The right way to do this is to also check the durations.
    +
    1004  // For example:
    +
    1005  // (a) 3 4 5
    +
    1006  // (b) 3 4 5 6
    +
    1007  // could be true or false depending on the length of the third segment of (a).
    +
    1008  // i.e. if length of the third segment is 2, then this is not aligned.
    +
    1009  if (!all_segment_time_line_same_length) {
    +
    1010  segments_aligned_ = kSegmentAlignmentUnknown;
    +
    1011  return;
    +
    1012  }
    +
    1013 
    +
    1014  segments_aligned_ = kSegmentAlignmentTrue;
    +
    1015 }
    +
    1016 
    +
    1017 // Since all AdaptationSet cares about is the maxFrameRate, representation_id
    +
    1018 // is not passed to this method.
    +
    1019 void AdaptationSet::RecordFrameRate(uint32_t frame_duration,
    +
    1020  uint32_t timescale) {
    +
    1021  if (frame_duration == 0) {
    +
    1022  LOG(ERROR) << "Frame duration is 0 and cannot be set.";
    +
    1023  return;
    +
    1024  }
    +
    1025  video_frame_rates_[static_cast<double>(timescale) / frame_duration] =
    +
    1026  base::IntToString(timescale) + "/" + base::IntToString(frame_duration);
    +
    1027 }
    +
    1028 
    + +
    1030  const MediaInfo& media_info,
    +
    1031  const MpdOptions& mpd_options,
    +
    1032  uint32_t id,
    +
    1033  std::unique_ptr<RepresentationStateChangeListener> state_change_listener)
    +
    1034  : media_info_(media_info),
    +
    1035  id_(id),
    +
    1036  bandwidth_estimator_(BandwidthEstimator::kUseAllBlocks),
    +
    1037  mpd_options_(mpd_options),
    +
    1038  start_number_(1),
    +
    1039  state_change_listener_(std::move(state_change_listener)),
    +
    1040  output_suppression_flags_(0) {}
    +
    1041 
    +
    1042 Representation::~Representation() {}
    +
    1043 
    + +
    1045  if (!AtLeastOneTrue(media_info_.has_video_info(),
    +
    1046  media_info_.has_audio_info(),
    +
    1047  media_info_.has_text_info())) {
    +
    1048  // This is an error. Segment information can be in AdaptationSet, Period, or
    +
    1049  // MPD but the interface does not provide a way to set them.
    +
    1050  // See 5.3.9.1 ISO 23009-1:2012 for segment info.
    +
    1051  LOG(ERROR) << "Representation needs one of video, audio, or text.";
    +
    1052  return false;
    +
    1053  }
    +
    1054 
    +
    1055  if (MoreThanOneTrue(media_info_.has_video_info(),
    +
    1056  media_info_.has_audio_info(),
    +
    1057  media_info_.has_text_info())) {
    +
    1058  LOG(ERROR) << "Only one of VideoInfo, AudioInfo, or TextInfo can be set.";
    +
    1059  return false;
    +
    1060  }
    +
    1061 
    +
    1062  if (media_info_.container_type() == MediaInfo::CONTAINER_UNKNOWN) {
    +
    1063  LOG(ERROR) << "'container_type' in MediaInfo cannot be CONTAINER_UNKNOWN.";
    +
    1064  return false;
    +
    1065  }
    +
    1066 
    +
    1067  if (media_info_.has_video_info()) {
    +
    1068  mime_type_ = GetVideoMimeType();
    +
    1069  if (!HasRequiredVideoFields(media_info_.video_info())) {
    +
    1070  LOG(ERROR) << "Missing required fields to create a video Representation.";
    +
    1071  return false;
    +
    1072  }
    +
    1073  } else if (media_info_.has_audio_info()) {
    +
    1074  mime_type_ = GetAudioMimeType();
    +
    1075  } else if (media_info_.has_text_info()) {
    +
    1076  mime_type_ = GetTextMimeType();
    +
    1077  }
    +
    1078 
    +
    1079  if (mime_type_.empty())
    +
    1080  return false;
    +
    1081 
    +
    1082  codecs_ = GetCodecs(media_info_);
    +
    1083  return true;
    +
    1084 }
    +
    1085 
    + +
    1087  const ContentProtectionElement& content_protection_element) {
    +
    1088  content_protection_elements_.push_back(content_protection_element);
    +
    1089  RemoveDuplicateAttributes(&content_protection_elements_.back());
    +
    1090 }
    +
    1091 
    +
    1092 void Representation::UpdateContentProtectionPssh(const std::string& drm_uuid,
    +
    1093  const std::string& pssh) {
    +
    1094  UpdateContentProtectionPsshHelper(drm_uuid, pssh,
    +
    1095  &content_protection_elements_);
    +
    1096 }
    +
    1097 
    +
    1098 void Representation::AddNewSegment(uint64_t start_time,
    +
    1099  uint64_t duration,
    +
    1100  uint64_t size) {
    +
    1101  if (start_time == 0 && duration == 0) {
    +
    1102  LOG(WARNING) << "Got segment with start_time and duration == 0. Ignoring.";
    +
    1103  return;
    +
    1104  }
    +
    1105 
    +
    1106  if (state_change_listener_)
    +
    1107  state_change_listener_->OnNewSegmentForRepresentation(start_time, duration);
    +
    1108  if (IsContiguous(start_time, duration, size)) {
    +
    1109  ++segment_infos_.back().repeat;
    +
    1110  } else {
    +
    1111  SegmentInfo s = {start_time, duration, /* Not repeat. */ 0};
    +
    1112  segment_infos_.push_back(s);
    +
    1113  }
    +
    1114 
    +
    1115  bandwidth_estimator_.AddBlock(
    +
    1116  size, static_cast<double>(duration) / media_info_.reference_time_scale());
    +
    1117 
    +
    1118  SlideWindow();
    +
    1119  DCHECK_GE(segment_infos_.size(), 1u);
    +
    1120 }
    +
    1121 
    +
    1122 void Representation::SetSampleDuration(uint32_t sample_duration) {
    +
    1123  if (media_info_.has_video_info()) {
    +
    1124  media_info_.mutable_video_info()->set_frame_duration(sample_duration);
    +
    1125  if (state_change_listener_) {
    +
    1126  state_change_listener_->OnSetFrameRateForRepresentation(
    +
    1127  sample_duration, media_info_.video_info().time_scale());
    +
    1128  }
    +
    1129  }
    +
    1130 }
    +
    1131 
    +
    1132 // Uses info in |media_info_| and |content_protection_elements_| to create a
    +
    1133 // "Representation" node.
    +
    1134 // MPD schema has strict ordering. The following must be done in order.
    +
    1135 // AddVideoInfo() (possibly adds FramePacking elements), AddAudioInfo() (Adds
    +
    1136 // AudioChannelConfig elements), AddContentProtectionElements*(), and
    +
    1137 // AddVODOnlyInfo() (Adds segment info).
    +
    1138 xml::scoped_xml_ptr<xmlNode> Representation::GetXml() {
    +
    1139  if (!HasRequiredMediaInfoFields()) {
    +
    1140  LOG(ERROR) << "MediaInfo missing required fields.";
    +
    1141  return xml::scoped_xml_ptr<xmlNode>();
    +
    1142  }
    +
    1143 
    +
    1144  const uint64_t bandwidth = media_info_.has_bandwidth()
    +
    1145  ? media_info_.bandwidth()
    +
    1146  : bandwidth_estimator_.Estimate();
    +
    1147 
    +
    1148  DCHECK(!(HasVODOnlyFields(media_info_) && HasLiveOnlyFields(media_info_)));
    +
    1149 
    +
    1150  RepresentationXmlNode representation;
    +
    1151  // Mandatory fields for Representation.
    +
    1152  representation.SetId(id_);
    +
    1153  representation.SetIntegerAttribute("bandwidth", bandwidth);
    +
    1154  if (!codecs_.empty())
    +
    1155  representation.SetStringAttribute("codecs", codecs_);
    +
    1156  representation.SetStringAttribute("mimeType", mime_type_);
    +
    1157 
    +
    1158  const bool has_video_info = media_info_.has_video_info();
    +
    1159  const bool has_audio_info = media_info_.has_audio_info();
    +
    1160 
    +
    1161  if (has_video_info &&
    +
    1162  !representation.AddVideoInfo(
    +
    1163  media_info_.video_info(),
    +
    1164  !(output_suppression_flags_ & kSuppressWidth),
    +
    1165  !(output_suppression_flags_ & kSuppressHeight),
    +
    1166  !(output_suppression_flags_ & kSuppressFrameRate))) {
    +
    1167  LOG(ERROR) << "Failed to add video info to Representation XML.";
    +
    1168  return xml::scoped_xml_ptr<xmlNode>();
    +
    1169  }
    +
    1170 
    +
    1171  if (has_audio_info &&
    +
    1172  !representation.AddAudioInfo(media_info_.audio_info())) {
    +
    1173  LOG(ERROR) << "Failed to add audio info to Representation XML.";
    +
    1174  return xml::scoped_xml_ptr<xmlNode>();
    +
    1175  }
    +
    1176 
    +
    1177  if (!representation.AddContentProtectionElements(
    +
    1178  content_protection_elements_)) {
    +
    1179  return xml::scoped_xml_ptr<xmlNode>();
    +
    1180  }
    +
    1181 
    +
    1182  // Set media duration for static mpd.
    +
    1183  if (mpd_options_.mpd_type == MpdType::kStatic &&
    +
    1184  media_info_.has_media_duration_seconds()) {
    +
    1185  // Adding 'duration' attribute, so that this information can be used when
    +
    1186  // generating one MPD file. This should be removed from the final MPD.
    +
    1187  representation.SetFloatingPointAttribute(
    +
    1188  "duration", media_info_.media_duration_seconds());
    +
    1189  }
    +
    1190 
    +
    1191  if (HasVODOnlyFields(media_info_) &&
    +
    1192  !representation.AddVODOnlyInfo(media_info_)) {
    +
    1193  LOG(ERROR) << "Failed to add VOD segment info.";
    +
    1194  return xml::scoped_xml_ptr<xmlNode>();
    +
    1195  }
    +
    1196 
    +
    1197  if (HasLiveOnlyFields(media_info_) &&
    +
    1198  !representation.AddLiveOnlyInfo(media_info_, segment_infos_,
    +
    1199  start_number_)) {
    +
    1200  LOG(ERROR) << "Failed to add Live info.";
    +
    1201  return xml::scoped_xml_ptr<xmlNode>();
    +
    1202  }
    +
    1203  // TODO(rkuroiwa): It is likely that all representations have the exact same
    +
    1204  // SegmentTemplate. Optimize and propagate the tag up to AdaptationSet level.
    +
    1205 
    +
    1206  output_suppression_flags_ = 0;
    +
    1207  return representation.PassScopedPtr();
    +
    1208 }
    +
    1209 
    +
    1210 void Representation::SuppressOnce(SuppressFlag flag) {
    +
    1211  output_suppression_flags_ |= flag;
    +
    1212 }
    +
    1213 
    +
    1214 bool Representation::HasRequiredMediaInfoFields() {
    +
    1215  if (HasVODOnlyFields(media_info_) && HasLiveOnlyFields(media_info_)) {
    +
    1216  LOG(ERROR) << "MediaInfo cannot have both VOD and Live fields.";
    +
    1217  return false;
    +
    1218  }
    +
    1219 
    +
    1220  if (!media_info_.has_container_type()) {
    +
    1221  LOG(ERROR) << "MediaInfo missing required field: container_type.";
    +
    1222  return false;
    +
    1223  }
    +
    1224 
    +
    1225  if (HasVODOnlyFields(media_info_) && !media_info_.has_bandwidth()) {
    +
    1226  LOG(ERROR) << "Missing 'bandwidth' field. MediaInfo requires bandwidth for "
    +
    1227  "static profile for generating a valid MPD.";
    +
    1228  return false;
    +
    1229  }
    +
    1230 
    +
    1231  VLOG_IF(3, HasLiveOnlyFields(media_info_) && !media_info_.has_bandwidth())
    +
    1232  << "MediaInfo missing field 'bandwidth'. Using estimated from "
    +
    1233  "segment size.";
    +
    1234 
    +
    1235  return true;
    +
    1236 }
    +
    1237 
    +
    1238 bool Representation::IsContiguous(uint64_t start_time,
    +
    1239  uint64_t duration,
    +
    1240  uint64_t size) const {
    +
    1241  if (segment_infos_.empty())
    +
    1242  return false;
    +
    1243 
    +
    1244  // Contiguous segment.
    +
    1245  const SegmentInfo& previous = segment_infos_.back();
    +
    1246  const uint64_t previous_segment_end_time =
    +
    1247  previous.start_time + previous.duration * (previous.repeat + 1);
    +
    1248  if (previous_segment_end_time == start_time &&
    +
    1249  segment_infos_.back().duration == duration) {
    +
    1250  return true;
    +
    1251  }
    +
    1252 
    +
    1253  // No out of order segments.
    +
    1254  const uint64_t previous_segment_start_time =
    +
    1255  previous.start_time + previous.duration * previous.repeat;
    +
    1256  if (previous_segment_start_time >= start_time) {
    +
    1257  LOG(ERROR) << "Segments should not be out of order segment. Adding segment "
    +
    1258  "with start_time == "
    +
    1259  << start_time << " but the previous segment starts at "
    +
    1260  << previous_segment_start_time << ".";
    +
    1261  return false;
    +
    1262  }
    +
    1263 
    +
    1264  // A gap since previous.
    +
    1265  const uint64_t kRoundingErrorGrace = 5;
    +
    1266  if (previous_segment_end_time + kRoundingErrorGrace < start_time) {
    +
    1267  LOG(WARNING) << "Found a gap of size "
    +
    1268  << (start_time - previous_segment_end_time)
    +
    1269  << " > kRoundingErrorGrace (" << kRoundingErrorGrace
    +
    1270  << "). The new segment starts at " << start_time
    +
    1271  << " but the previous segment ends at "
    +
    1272  << previous_segment_end_time << ".";
    +
    1273  return false;
    +
    1274  }
    +
    1275 
    +
    1276  // No overlapping segments.
    +
    1277  if (start_time < previous_segment_end_time - kRoundingErrorGrace) {
    +
    1278  LOG(WARNING)
    +
    1279  << "Segments should not be overlapping. The new segment starts at "
    +
    1280  << start_time << " but the previous segment ends at "
    +
    1281  << previous_segment_end_time << ".";
    +
    1282  return false;
    +
    1283  }
    +
    1284 
    +
    1285  // Within rounding error grace but technically not contiguous in terms of MPD.
    +
    1286  return false;
    +
    1287 }
    +
    1288 
    +
    1289 void Representation::SlideWindow() {
    +
    1290  DCHECK(!segment_infos_.empty());
    +
    1291  if (mpd_options_.mpd_params.time_shift_buffer_depth <= 0.0 ||
    +
    1292  mpd_options_.mpd_type == MpdType::kStatic)
    +
    1293  return;
    +
    1294 
    +
    1295  const uint32_t time_scale = GetTimeScale(media_info_);
    +
    1296  DCHECK_GT(time_scale, 0u);
    +
    1297 
    +
    1298  uint64_t time_shift_buffer_depth = static_cast<uint64_t>(
    +
    1299  mpd_options_.mpd_params.time_shift_buffer_depth * time_scale);
    +
    1300 
    +
    1301  // The start time of the latest segment is considered the current_play_time,
    +
    1302  // and this should guarantee that the latest segment will stay in the list.
    +
    1303  const uint64_t current_play_time = LatestSegmentStartTime(segment_infos_);
    +
    1304  if (current_play_time <= time_shift_buffer_depth)
    +
    1305  return;
    +
    1306 
    +
    1307  const uint64_t timeshift_limit = current_play_time - time_shift_buffer_depth;
    +
    1308 
    +
    1309  // First remove all the SegmentInfos that are completely out of range, by
    +
    1310  // looking at the very last segment's end time.
    +
    1311  std::list<SegmentInfo>::iterator first = segment_infos_.begin();
    +
    1312  std::list<SegmentInfo>::iterator last = first;
    +
    1313  size_t num_segments_removed = 0;
    +
    1314  for (; last != segment_infos_.end(); ++last) {
    +
    1315  const uint64_t last_segment_end_time = LastSegmentEndTime(*last);
    +
    1316  if (timeshift_limit < last_segment_end_time)
    +
    1317  break;
    +
    1318  num_segments_removed += last->repeat + 1;
    +
    1319  }
    +
    1320  segment_infos_.erase(first, last);
    +
    1321  start_number_ += num_segments_removed;
    +
    1322 
    +
    1323  // Now some segment in the first SegmentInfo should be left in the list.
    +
    1324  SegmentInfo* first_segment_info = &segment_infos_.front();
    +
    1325  DCHECK_LE(timeshift_limit, LastSegmentEndTime(*first_segment_info));
    +
    1326 
    +
    1327  // Identify which segments should still be in the SegmentInfo.
    +
    1328  const int repeat_index =
    +
    1329  SearchTimedOutRepeatIndex(timeshift_limit, *first_segment_info);
    +
    1330  CHECK_GE(repeat_index, 0);
    +
    1331  if (repeat_index == 0)
    +
    1332  return;
    +
    1333 
    +
    1334  first_segment_info->start_time = first_segment_info->start_time +
    +
    1335  first_segment_info->duration * repeat_index;
    +
    1336 
    +
    1337  first_segment_info->repeat = first_segment_info->repeat - repeat_index;
    +
    1338  start_number_ += repeat_index;
    +
    1339 }
    +
    1340 
    +
    1341 std::string Representation::GetVideoMimeType() const {
    +
    1342  return GetMimeType("video", media_info_.container_type());
    +
    1343 }
    +
    1344 
    +
    1345 std::string Representation::GetAudioMimeType() const {
    +
    1346  return GetMimeType("audio", media_info_.container_type());
    +
    1347 }
    +
    1348 
    +
    1349 std::string Representation::GetTextMimeType() const {
    +
    1350  CHECK(media_info_.has_text_info());
    +
    1351  if (media_info_.text_info().format() == "ttml") {
    +
    1352  switch (media_info_.container_type()) {
    +
    1353  case MediaInfo::CONTAINER_TEXT:
    +
    1354  return "application/ttml+xml";
    +
    1355  case MediaInfo::CONTAINER_MP4:
    +
    1356  return "application/mp4";
    +
    1357  default:
    +
    1358  LOG(ERROR) << "Failed to determine MIME type for TTML container: "
    +
    1359  << media_info_.container_type();
    +
    1360  return "";
    +
    1361  }
    +
    1362  }
    +
    1363  if (media_info_.text_info().format() == "vtt") {
    +
    1364  if (media_info_.container_type() == MediaInfo::CONTAINER_TEXT) {
    +
    1365  return "text/vtt";
    +
    1366  } else if (media_info_.container_type() == MediaInfo::CONTAINER_MP4) {
    +
    1367  return "application/mp4";
    +
    1368  }
    +
    1369  LOG(ERROR) << "Failed to determine MIME type for VTT container: "
    +
    1370  << media_info_.container_type();
    +
    1371  return "";
    +
    1372  }
    +
    1373 
    +
    1374  LOG(ERROR) << "Cannot determine MIME type for format: "
    +
    1375  << media_info_.text_info().format()
    +
    1376  << " container: " << media_info_.container_type();
    +
    1377  return "";
    +
    1378 }
    +
    1379 
    +
    1380 bool Representation::GetEarliestTimestamp(double* timestamp_seconds) {
    +
    1381  DCHECK(timestamp_seconds);
    +
    1382 
    +
    1383  if (segment_infos_.empty())
    +
    1384  return false;
    +
    1385 
    +
    1386  *timestamp_seconds = static_cast<double>(segment_infos_.begin()->start_time) /
    +
    1387  GetTimeScale(media_info_);
    +
    1388  return true;
    +
    1389 }
    +
    1390 
    +
    1391 } // namespace shaka
    +
    void OnSetFrameRateForRepresentation(uint32_t representation_id, uint32_t frame_duration, uint32_t timescale)
    Definition: mpd_builder.cc:859
    +
    double min_buffer_time
    Definition: mpd_params.h:27
    +
    virtual void AddNewSegment(uint64_t start_time, uint64_t duration, uint64_t size)
    + +
    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 Representation * AddRepresentation(const MediaInfo &media_info)
    Definition: mpd_builder.cc:663
    +
    virtual void SetSampleDuration(uint32_t sample_duration)
    +
    virtual Representation * AddRepresentation(const MediaInfo &media_info)
    Definition: mpd_builder.cc:664
    std::string LanguageToShortestForm(const std::string &language)
    -
    virtual void AddContentProtectionElement(const ContentProtectionElement &element)
    Definition: mpd_builder.cc:709
    +
    virtual void AddContentProtectionElement(const ContentProtectionElement &element)
    Definition: mpd_builder.cc:710
    -
    virtual void AddTrickPlayReferenceId(uint32_t id)
    Definition: mpd_builder.cc:865
    +
    virtual void AddTrickPlayReferenceId(uint32_t id)
    Definition: mpd_builder.cc:866
    MpdBuilder(const MpdOptions &mpd_options)
    Definition: mpd_builder.cc:373
    -
    virtual void AddRole(Role role)
    Definition: mpd_builder.cc:721
    +
    virtual void AddRole(Role role)
    Definition: mpd_builder.cc:722
    void AddBaseUrl(const std::string &base_url)
    Definition: mpd_builder.cc:378
    -
    virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
    Definition: mpd_builder.cc:715
    -
    AdaptationSet(uint32_t adaptation_set_id, const std::string &lang, const MpdOptions &mpd_options, base::AtomicSequenceNumber *representation_counter)
    Definition: mpd_builder.cc:648
    -
    xml::scoped_xml_ptr< xmlNode > GetXml()
    +
    virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
    Definition: mpd_builder.cc:716
    +
    AdaptationSet(uint32_t adaptation_set_id, const std::string &lang, const MpdOptions &mpd_options, base::AtomicSequenceNumber *representation_counter)
    Definition: mpd_builder.cc:649
    +
    xml::scoped_xml_ptr< xmlNode > GetXml()
    virtual bool ToString(std::string *output)
    Definition: mpd_builder.cc:396
    -
    void AddAdaptationSetSwitching(uint32_t adaptation_set_id)
    Definition: mpd_builder.cc:836
    -
    virtual void ForceSetSegmentAlignment(bool segment_alignment)
    Definition: mpd_builder.cc:830
    -
    static void MakePathsRelativeToMpd(const std::string &mpd_path, MediaInfo *media_info)
    Definition: mpd_builder.cc:620
    -
    xml::scoped_xml_ptr< xmlNode > GetXml()
    Definition: mpd_builder.cc:731
    -
    virtual void AddContentProtectionElement(const ContentProtectionElement &element)
    +
    void AddAdaptationSetSwitching(uint32_t adaptation_set_id)
    Definition: mpd_builder.cc:837
    +
    virtual void ForceSetSegmentAlignment(bool segment_alignment)
    Definition: mpd_builder.cc:831
    +
    static void MakePathsRelativeToMpd(const std::string &mpd_path, MediaInfo *media_info)
    Definition: mpd_builder.cc:621
    +
    double minimum_update_period
    Definition: mpd_params.h:42
    +
    xml::scoped_xml_ptr< xmlNode > GetXml()
    Definition: mpd_builder.cc:732
    +
    virtual void AddContentProtectionElement(const ContentProtectionElement &element)
    virtual AdaptationSet * AddAdaptationSet(const std::string &lang)
    Definition: mpd_builder.cc:382
    -
    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:847
    -
    virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
    +
    Defines Mpd Options.
    Definition: mpd_options.h:25
    +
    void OnNewSegmentForRepresentation(uint32_t representation_id, uint64_t start_time, uint64_t duration)
    Definition: mpd_builder.cc:848
    +
    virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
    -
    void SuppressOnce(SuppressFlag flag)
    +
    double time_shift_buffer_depth
    Definition: mpd_params.h:33
    +
    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 c82d854dda..d5ddb7cfe6 100644 --- a/docs/dd/d12/mpd__writer_8cc_source.html +++ b/docs/dd/d12/mpd__writer_8cc_source.html @@ -124,100 +124,97 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    35  DashIopMpdNotifierFactory() {}
    36  ~DashIopMpdNotifierFactory() override {}
    37 
    -
    38  std::unique_ptr<MpdNotifier> Create(const MpdOptions& mpd_options,
    -
    39  const std::vector<std::string>& base_urls,
    -
    40  const std::string& output_path) override {
    -
    41  return std::unique_ptr<MpdNotifier>(
    -
    42  new DashIopMpdNotifier(mpd_options, base_urls, output_path));
    -
    43  }
    -
    44 };
    -
    45 
    -
    46 // Factory that creates SimpleMpdNotifier instances.
    -
    47 class SimpleMpdNotifierFactory : public MpdNotifierFactory {
    -
    48  public:
    -
    49  SimpleMpdNotifierFactory() {}
    -
    50  ~SimpleMpdNotifierFactory() override {}
    -
    51 
    -
    52  std::unique_ptr<MpdNotifier> Create(const MpdOptions& mpd_options,
    -
    53  const std::vector<std::string>& base_urls,
    -
    54  const std::string& output_path) override {
    -
    55  return std::unique_ptr<MpdNotifier>(
    -
    56  new SimpleMpdNotifier(mpd_options, base_urls, output_path));
    -
    57  }
    -
    58 };
    -
    59 
    -
    60 } // namespace
    -
    61 
    -
    62 MpdWriter::MpdWriter()
    -
    63  : notifier_factory_(FLAGS_generate_dash_if_iop_compliant_mpd
    -
    64  ? static_cast<MpdNotifierFactory*>(
    -
    65  new DashIopMpdNotifierFactory())
    -
    66  : static_cast<MpdNotifierFactory*>(
    -
    67  new SimpleMpdNotifierFactory())) {}
    -
    68 MpdWriter::~MpdWriter() {}
    -
    69 
    -
    70 bool MpdWriter::AddFile(const std::string& media_info_path,
    -
    71  const std::string& mpd_path) {
    -
    72  std::string file_content;
    -
    73  if (!File::ReadFileToString(media_info_path.c_str(), &file_content)) {
    -
    74  LOG(ERROR) << "Failed to read " << media_info_path << " to string.";
    -
    75  return false;
    -
    76  }
    -
    77 
    -
    78  MediaInfo media_info;
    -
    79  if (!::google::protobuf::TextFormat::ParseFromString(file_content,
    -
    80  &media_info)) {
    -
    81  LOG(ERROR) << "Failed to parse " << file_content << " to MediaInfo.";
    -
    82  return false;
    -
    83  }
    -
    84 
    -
    85  MpdBuilder::MakePathsRelativeToMpd(mpd_path, &media_info);
    -
    86  media_infos_.push_back(media_info);
    -
    87  return true;
    -
    88 }
    -
    89 
    -
    90 void MpdWriter::AddBaseUrl(const std::string& base_url) {
    -
    91  base_urls_.push_back(base_url);
    -
    92 }
    -
    93 
    -
    94 bool MpdWriter::WriteMpdToFile(const char* file_name) {
    -
    95  CHECK(file_name);
    -
    96  std::unique_ptr<MpdNotifier> notifier =
    -
    97  notifier_factory_->Create(MpdOptions(), base_urls_, file_name);
    -
    98  if (!notifier->Init()) {
    -
    99  LOG(ERROR) << "failed to initialize MpdNotifier.";
    -
    100  return false;
    -
    101  }
    -
    102 
    -
    103  for (std::list<MediaInfo>::const_iterator it = media_infos_.begin();
    -
    104  it != media_infos_.end();
    -
    105  ++it) {
    -
    106  uint32_t unused_conatiner_id;
    -
    107  if (!notifier->NotifyNewContainer(*it, &unused_conatiner_id)) {
    -
    108  LOG(ERROR) << "Failed to add MediaInfo for media file: "
    -
    109  << it->media_file_name();
    -
    110  return false;
    -
    111  }
    -
    112  }
    -
    113 
    -
    114  if (!notifier->Flush()) {
    -
    115  LOG(ERROR) << "Failed to flush MPD notifier.";
    -
    116  return false;
    -
    117  }
    -
    118  return true;
    -
    119 }
    -
    120 
    -
    121 void MpdWriter::SetMpdNotifierFactoryForTest(
    -
    122  std::unique_ptr<MpdNotifierFactory> factory) {
    -
    123  notifier_factory_ = std::move(factory);
    -
    124 }
    -
    125 
    -
    126 } // namespace shaka
    -
    static void MakePathsRelativeToMpd(const std::string &mpd_path, MediaInfo *media_info)
    Definition: mpd_builder.cc:620
    +
    38  std::unique_ptr<MpdNotifier> Create(const MpdOptions& mpd_options) override {
    +
    39  return std::unique_ptr<MpdNotifier>(new DashIopMpdNotifier(mpd_options));
    +
    40  }
    +
    41 };
    +
    42 
    +
    43 // Factory that creates SimpleMpdNotifier instances.
    +
    44 class SimpleMpdNotifierFactory : public MpdNotifierFactory {
    +
    45  public:
    +
    46  SimpleMpdNotifierFactory() {}
    +
    47  ~SimpleMpdNotifierFactory() override {}
    +
    48 
    +
    49  std::unique_ptr<MpdNotifier> Create(const MpdOptions& mpd_options) override {
    +
    50  return std::unique_ptr<MpdNotifier>(new SimpleMpdNotifier(mpd_options));
    +
    51  }
    +
    52 };
    +
    53 
    +
    54 } // namespace
    +
    55 
    +
    56 MpdWriter::MpdWriter()
    +
    57  : notifier_factory_(FLAGS_generate_dash_if_iop_compliant_mpd
    +
    58  ? static_cast<MpdNotifierFactory*>(
    +
    59  new DashIopMpdNotifierFactory())
    +
    60  : static_cast<MpdNotifierFactory*>(
    +
    61  new SimpleMpdNotifierFactory())) {}
    +
    62 MpdWriter::~MpdWriter() {}
    +
    63 
    +
    64 bool MpdWriter::AddFile(const std::string& media_info_path,
    +
    65  const std::string& mpd_path) {
    +
    66  std::string file_content;
    +
    67  if (!File::ReadFileToString(media_info_path.c_str(), &file_content)) {
    +
    68  LOG(ERROR) << "Failed to read " << media_info_path << " to string.";
    +
    69  return false;
    +
    70  }
    +
    71 
    +
    72  MediaInfo media_info;
    +
    73  if (!::google::protobuf::TextFormat::ParseFromString(file_content,
    +
    74  &media_info)) {
    +
    75  LOG(ERROR) << "Failed to parse " << file_content << " to MediaInfo.";
    +
    76  return false;
    +
    77  }
    +
    78 
    +
    79  MpdBuilder::MakePathsRelativeToMpd(mpd_path, &media_info);
    +
    80  media_infos_.push_back(media_info);
    +
    81  return true;
    +
    82 }
    +
    83 
    +
    84 void MpdWriter::AddBaseUrl(const std::string& base_url) {
    +
    85  base_urls_.push_back(base_url);
    +
    86 }
    +
    87 
    +
    88 bool MpdWriter::WriteMpdToFile(const char* file_name) {
    +
    89  CHECK(file_name);
    +
    90  MpdOptions mpd_options;
    +
    91  mpd_options.mpd_params.base_urls = base_urls_;
    +
    92  mpd_options.mpd_params.mpd_output = file_name;
    +
    93  std::unique_ptr<MpdNotifier> notifier =
    +
    94  notifier_factory_->Create(mpd_options);
    +
    95  if (!notifier->Init()) {
    +
    96  LOG(ERROR) << "failed to initialize MpdNotifier.";
    +
    97  return false;
    +
    98  }
    +
    99 
    +
    100  for (std::list<MediaInfo>::const_iterator it = media_infos_.begin();
    +
    101  it != media_infos_.end();
    +
    102  ++it) {
    +
    103  uint32_t unused_conatiner_id;
    +
    104  if (!notifier->NotifyNewContainer(*it, &unused_conatiner_id)) {
    +
    105  LOG(ERROR) << "Failed to add MediaInfo for media file: "
    +
    106  << it->media_file_name();
    +
    107  return false;
    +
    108  }
    +
    109  }
    +
    110 
    +
    111  if (!notifier->Flush()) {
    +
    112  LOG(ERROR) << "Failed to flush MPD notifier.";
    +
    113  return false;
    +
    114  }
    +
    115  return true;
    +
    116 }
    +
    117 
    +
    118 void MpdWriter::SetMpdNotifierFactoryForTest(
    +
    119  std::unique_ptr<MpdNotifierFactory> factory) {
    +
    120  notifier_factory_ = std::move(factory);
    +
    121 }
    +
    122 
    +
    123 } // namespace shaka
    +
    static void MakePathsRelativeToMpd(const std::string &mpd_path, MediaInfo *media_info)
    Definition: mpd_builder.cc:621
    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 97a44869e2..4e75cf2795 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 ed05d8841d..a9506da8e0 100644 --- a/docs/dd/d17/classshaka_1_1media_1_1Demuxer.html +++ b/docs/dd/d17/classshaka_1_1media_1_1Demuxer.html @@ -488,7 +488,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 e97330de4a..0aa31049d9 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 c60d0471ce..d0f0e280ee 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 cf9bc5d2f3..c1bc4a05e6 100644 --- a/docs/dd/d30/wvm__media__parser_8cc_source.html +++ b/docs/dd/d30/wvm__media__parser_8cc_source.html @@ -1272,7 +1272,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d3a/gflags__hex__bytes_8h_source.html b/docs/dd/d3a/gflags__hex__bytes_8h_source.html index 5c7236b857..488456bd22 100644 --- a/docs/dd/d3a/gflags__hex__bytes_8h_source.html +++ b/docs/dd/d3a/gflags__hex__bytes_8h_source.html @@ -140,7 +140,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 301c01fa38..ed5d88d8c3 100644 --- a/docs/dd/d3b/mp4_2segmenter_8h_source.html +++ b/docs/dd/d3b/mp4_2segmenter_8h_source.html @@ -213,7 +213,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    virtual bool GetInitRange(size_t *offset, size_t *size)=0
    Status Initialize(const std::vector< std::shared_ptr< StreamInfo >> &streams, MuxerListener *muxer_listener, ProgressListener *progress_listener)
    Definition: segmenter.cc:49
    Status AddSample(size_t stream_id, std::shared_ptr< MediaSample > sample)
    Definition: segmenter.cc:115
    -
    This structure contains the list of configuration options for Muxer.
    Definition: muxer_options.h:18
    +
    This structure contains the list of configuration options for Muxer.
    Definition: muxer_options.h:20
    uint32_t sample_duration() const
    Definition: segmenter.h:100
    This class listens to progress updates events.
    @@ -225,7 +225,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 85b6151da7..d8fe9dee73 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 23a4b81a66..b89f642bb8 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 43960fa063..1b35aaa81f 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 abc8673470..b5bdec3171 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 c18702dd7c..2889cda00a 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 d13311129e..a496df8d36 100644 --- a/docs/dd/d54/widevine__encryption__flags_8h_source.html +++ b/docs/dd/d54/widevine__encryption__flags_8h_source.html @@ -129,7 +129,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d58/crypto__params_8h_source.html b/docs/dd/d58/crypto__params_8h_source.html index 12928ffbaf..6a96b91388 100644 --- a/docs/dd/d58/crypto__params_8h_source.html +++ b/docs/dd/d58/crypto__params_8h_source.html @@ -280,7 +280,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 0538c6044d..ca48266c9c 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 825c788900..ad5cbb13f6 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 cddc1d9c2c..22f191757e 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 ae62b303f2..1892047a27 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 7c58f319de..f31dd0175e 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 90f456fef4..dba4cbfe29 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 4b9991592d..63f553fef4 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 61311baa48..7ff4bb80ed 100644 --- a/docs/dd/d7a/classshaka_1_1media_1_1MuxerListener.html +++ b/docs/dd/d7a/classshaka_1_1media_1_1MuxerListener.html @@ -433,7 +433,7 @@ Public Member Functions diff --git a/docs/dd/d80/media__sample_8h_source.html b/docs/dd/d80/media__sample_8h_source.html index c4675615e3..2dd48f33b5 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/d88/pes__packet__generator_8h_source.html b/docs/dd/d88/pes__packet__generator_8h_source.html index de5e80de60..739f33ed0e 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/d8d/structshaka_1_1media_1_1mp4_1_1SegmentIndex-members.html b/docs/dd/d8d/structshaka_1_1media_1_1mp4_1_1SegmentIndex-members.html index aa085b01c1..c136681c71 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 8073453038..a16e162c9c 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 8798ea7856..cb57677f30 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 b7e5a64bb4..d88e9d54f6 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 9da87e989a..8b0a56386f 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 8a481e09cf..dd58f617d5 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 45d8953436..8f2d876957 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 @@ -226,7 +226,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 6c85528dcc..8bd2a01de2 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 @@ -165,7 +165,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
    -
    This structure contains the list of configuration options for Muxer.
    Definition: muxer_options.h:18
    +
    This structure contains the list of configuration options for Muxer.
    Definition: muxer_options.h:20
    void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) override
    static bool WriteMediaInfoToFile(const MediaInfo &media_info, const std::string &output_file_path)
    @@ -175,7 +175,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 302d73c3e3..e012256b44 100644 --- a/docs/dd/dab/webm__muxer_8h_source.html +++ b/docs/dd/dab/webm__muxer_8h_source.html @@ -131,14 +131,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    44 } // namespace shaka
    45 
    46 #endif // MEDIA_FORMATS_WEBM_WEBM_MUXER_H_
    -
    This structure contains the list of configuration options for Muxer.
    Definition: muxer_options.h:18
    +
    This structure contains the list of configuration options for Muxer.
    Definition: muxer_options.h:20
    Implements WebM Muxer.
    Definition: webm_muxer.h:19
    WebMMuxer(const MuxerOptions &options)
    Create a WebMMuxer object from MuxerOptions.
    Definition: webm_muxer.cc:21
    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 982b4a29ff..7af6c2a183 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 4770119d10..d66dca8d8e 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 761b81081f..4240bb7edd 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 65d26b5cc7..3a45a407e4 100644 --- a/docs/dd/db9/classshaka_1_1xml_1_1RepresentationBaseXmlNode.html +++ b/docs/dd/db9/classshaka_1_1xml_1_1RepresentationBaseXmlNode.html @@ -231,7 +231,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 bd1128e346..88bfc43ef9 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 69b6d13c47..0701a82dd4 100644 --- a/docs/dd/dbc/encryption__handler_8h_source.html +++ b/docs/dd/dbc/encryption__handler_8h_source.html @@ -194,7 +194,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 b3f7fd8b82..9831b20860 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 4689000530..492bd6b635 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 ed18cdee0f..eebac9097b 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 0062a0668b..a57074d742 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 066423bb42..876d5c3ac3 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 e69d125c38..ec1afb93b9 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 @@ -378,7 +378,7 @@ virtual Status DoFinalize< 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 733b505642..390c0be808 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 8897631f0e..390c1f16c5 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 7e439eee5d..44cc5e5634 100644 --- a/docs/dd/dd2/buffer__writer_8h_source.html +++ b/docs/dd/dd2/buffer__writer_8h_source.html @@ -158,7 +158,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 f1eaa031a9..b6eba23ed8 100644 --- a/docs/dd/dd3/buffer__writer_8cc_source.html +++ b/docs/dd/dd3/buffer__writer_8cc_source.html @@ -184,7 +184,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 c8a69b408a..3a8f6f7997 100644 --- a/docs/dd/dd6/classshaka_1_1media_1_1WebMVideoClient-members.html +++ b/docs/dd/dd6/classshaka_1_1media_1_1WebMVideoClient-members.html @@ -105,7 +105,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 4cdff8d67d..06ec10f16e 100644 --- a/docs/dd/dd8/mock__muxer__listener_8cc_source.html +++ b/docs/dd/dd8/mock__muxer__listener_8cc_source.html @@ -131,7 +131,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 83424fa284..9861dff014 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 b36bde613a..d0602c9f99 100644 --- a/docs/dd/ddc/trick__play__handler_8h_source.html +++ b/docs/dd/ddc/trick__play__handler_8h_source.html @@ -191,7 +191,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 e0a5160437..b46179cbbd 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 df322166db..64e06fd23e 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 28ef60a5fe..a53b33e5be 100644 --- a/docs/dd/de7/xml__node_8h_source.html +++ b/docs/dd/de7/xml__node_8h_source.html @@ -239,7 +239,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 cec6b7a31f..8ada78aabd 100644 --- a/docs/dd/de9/classshaka_1_1media_1_1MediaHandler-members.html +++ b/docs/dd/de9/classshaka_1_1media_1_1MediaHandler-members.html @@ -119,7 +119,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/dce/structshaka_1_1media_1_1ChunkingOptions-members.html b/docs/dd/de9/structshaka_1_1ChunkingParams-members.html similarity index 75% rename from docs/d2/dce/structshaka_1_1media_1_1ChunkingOptions-members.html rename to docs/dd/de9/structshaka_1_1ChunkingParams-members.html index 38b60b5ad7..7dd158ccdf 100644 --- a/docs/d2/dce/structshaka_1_1media_1_1ChunkingOptions-members.html +++ b/docs/dd/de9/structshaka_1_1ChunkingParams-members.html @@ -82,25 +82,25 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
-
shaka::media::ChunkingOptions Member List
+
shaka::ChunkingParams Member List
diff --git a/docs/dd/dee/box__definitions_8cc_source.html b/docs/dd/dee/box__definitions_8cc_source.html index a28dcdb610..d867945490 100644 --- a/docs/dd/dee/box__definitions_8cc_source.html +++ b/docs/dd/dee/box__definitions_8cc_source.html @@ -2968,7 +2968,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 a6e79ba258..c65a9c5cf4 100644 --- a/docs/dd/df2/webm_2multi__segment__segmenter_8h_source.html +++ b/docs/dd/df2/webm_2multi__segment__segmenter_8h_source.html @@ -142,14 +142,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
58 #endif // MEDIA_FORMATS_WEBM_MULTI_SEGMENT_SEGMENTER_H_
bool GetIndexRangeStartAndEnd(uint64_t *start, uint64_t *end) override
bool GetInitRangeStartAndEnd(uint64_t *start, uint64_t *end) override
-
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
Status FinalizeSegment(uint64_t start_timestamp, uint64_t duration_timestamp, bool is_subsegment) override
Finalize the (sub)segment.
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 8cf1fb4536..a85dbd53d1 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 558e32de39..a9e6cd9060 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/d12/container__names_8h_source.html b/docs/de/d12/container__names_8h_source.html index 0092c0263a..0c0e9d1690 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 c2f3792e15..1a5bec53ca 100644 --- a/docs/de/d13/ts__writer_8cc_source.html +++ b/docs/de/d13/ts__writer_8cc_source.html @@ -359,7 +359,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 5f3a750ba6..b8a1f18444 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 97ad637878..cf9e26d508 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 a1a4e989a9..3c527a093b 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 ae4aa9b45a..5f7468d4e1 100644 --- a/docs/de/d1e/mp4_2single__segment__segmenter_8cc_source.html +++ b/docs/de/d1e/mp4_2single__segment__segmenter_8cc_source.html @@ -315,13 +315,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
virtual void OnNewSegment(const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)=0
virtual void OnSampleDurationReady(uint32_t sample_duration)=0
- +
void UpdateProgress(uint64_t progress)
Update segmentation progress using ProgressListener.
Definition: segmenter.cc:265
diff --git a/docs/de/d22/aes__pattern__cryptor_8cc_source.html b/docs/de/d22/aes__pattern__cryptor_8cc_source.html index b18ff80092..33d74f3444 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 9046c54c71..e01a69a6d3 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 dbbdf44cba..f171e98f87 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 b804908424..257322180c 100644 --- a/docs/de/d33/classshaka_1_1media_1_1WebMTracksParser-members.html +++ b/docs/de/d33/classshaka_1_1media_1_1WebMTracksParser-members.html @@ -114,7 +114,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 0fe3d65e4a..dfc01b8c48 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 6b817f00cf..033a4a2c25 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 1de3c8325d..887f4b0662 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 @@ -201,7 +201,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 49ba17c8c4..8193073d0c 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 3e789e3c29..5570c29445 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 73c8f67a35..5ffa910bbf 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 434ce43dae..7b384f3fb4 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 a3c5da5c52..012b1f6004 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 3d0c6c1f20..aa5cfb0248 100644 --- a/docs/de/d4a/muxer__listener__internal_8h_source.html +++ b/docs/de/d4a/muxer__listener__internal_8h_source.html @@ -139,7 +139,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 4117a7c0c1..5f6ee060a6 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 1028 of file mpd_builder.cc.

+

Definition at line 1029 of file mpd_builder.cc.

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

Definition at line 1085 of file mpd_builder.cc.

+

Definition at line 1086 of file mpd_builder.cc.

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

Definition at line 1097 of file mpd_builder.cc.

+

Definition at line 1098 of file mpd_builder.cc.

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

Definition at line 1137 of file mpd_builder.cc.

+

Definition at line 1138 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 1043 of file mpd_builder.cc.

+

Definition at line 1044 of file mpd_builder.cc.

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

Definition at line 1121 of file mpd_builder.cc.

+

Definition at line 1122 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 1209 of file mpd_builder.cc.

+

Definition at line 1210 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 1091 of file mpd_builder.cc.

+

Definition at line 1092 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 a8a18db692..54aae70908 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 eb491c542a..c4c75d18b7 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 6acb0b613a..9b55d7d2a7 100644 --- a/docs/de/d5c/mpd__flags_8h_source.html +++ b/docs/de/d5c/mpd__flags_8h_source.html @@ -115,7 +115,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 961f57b7e1..3b57d26e4d 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 100f57de51..f71afec107 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 5f44f3a46c..6e46d1fc5c 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 a4f74e1277..b7e11ebe42 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 66154eb44b..1b9871cede 100644 --- a/docs/de/d70/http__key__fetcher_8cc_source.html +++ b/docs/de/d70/http__key__fetcher_8cc_source.html @@ -265,7 +265,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 a41b7cd612..2692d96295 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 b1bdd0cc79..16dacb16eb 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 6dbd297692..fb8696348d 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/d7f/unionshaka_1_1EncryptionParams_1_1EncryptedStreamAttributes_1_1OneOf-members.html b/docs/de/d7f/unionshaka_1_1EncryptionParams_1_1EncryptedStreamAttributes_1_1OneOf-members.html index 7c6f5e7ce9..28891ddb49 100644 --- a/docs/de/d7f/unionshaka_1_1EncryptionParams_1_1EncryptedStreamAttributes_1_1OneOf-members.html +++ b/docs/de/d7f/unionshaka_1_1EncryptionParams_1_1EncryptedStreamAttributes_1_1OneOf-members.html @@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/d83/box__definitions__comparison_8h_source.html b/docs/de/d83/box__definitions__comparison_8h_source.html index e53698f206..013263621c 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/d84/structshaka_1_1RawKeyEncryptionParams-members.html b/docs/de/d84/structshaka_1_1RawKeyEncryptionParams-members.html index 8216131fca..9e558e1ca4 100644 --- a/docs/de/d84/structshaka_1_1RawKeyEncryptionParams-members.html +++ b/docs/de/d84/structshaka_1_1RawKeyEncryptionParams-members.html @@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/d85/classshaka_1_1media_1_1OriginHandler.html b/docs/de/d85/classshaka_1_1media_1_1OriginHandler.html index a728b1e594..07f6eacf5c 100644 --- a/docs/de/d85/classshaka_1_1media_1_1OriginHandler.html +++ b/docs/de/d85/classshaka_1_1media_1_1OriginHandler.html @@ -200,7 +200,7 @@ std::pair< std::shared_ptr
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 ef0978765c..24ca5c272d 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 108a54d028..2d113b9147 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 e82d5fa4ac..322fc896dc 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 984d91de6a..3fff1d7e12 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 92d715a713..697b3e06a5 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 1c8f78c907..e9b3f42238 100644 --- a/docs/de/dad/validate__flag_8cc_source.html +++ b/docs/de/dad/validate__flag_8cc_source.html @@ -110,7 +110,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 460755a764..89599ff3ab 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 4daeea778c..dc30309861 100644 --- a/docs/de/db4/classshaka_1_1media_1_1H26xBitReader.html +++ b/docs/de/db4/classshaka_1_1media_1_1H26xBitReader.html @@ -134,7 +134,7 @@ size_t NumEmulationPrevent diff --git a/docs/de/dc1/demuxer_8h_source.html b/docs/de/dc1/demuxer_8h_source.html index 6664cf026d..d4a04b0995 100644 --- a/docs/de/dc1/demuxer_8h_source.html +++ b/docs/de/dc1/demuxer_8h_source.html @@ -226,7 +226,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/dc2/classshaka_1_1media_1_1H265Parser.html b/docs/de/dc2/classshaka_1_1media_1_1H265Parser.html index 533a752446..07325231a0 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 1bea9f0df9..4e7122e61b 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 bf1210792f..87c0714b93 100644 --- a/docs/de/dcb/ts__segmenter_8h_source.html +++ b/docs/de/dcb/ts__segmenter_8h_source.html @@ -176,7 +176,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
Abstract class holds stream information.
Definition: stream_info.h:57
Status Initialize(const StreamInfo &stream_info)
Definition: ts_segmenter.cc:30
-
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
Status AddSample(std::shared_ptr< MediaSample > sample)
Definition: ts_segmenter.cc:48
TsSegmenter(const MuxerOptions &options, MuxerListener *listener)
Definition: ts_segmenter.cc:23
@@ -188,7 +188,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 194561fd9e..a27ddcea57 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/dd6/content__protection__element_8h_source.html b/docs/de/dd6/content__protection__element_8h_source.html index 3797d5f601..c54062d2b6 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 76e5044e9d..e9acf9162a 100644 --- a/docs/de/dd6/muxer__listener__test__helper_8cc_source.html +++ b/docs/de/dd6/muxer__listener__test__helper_8cc_source.html @@ -175,8 +175,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
86  return param;
87 }
88 
-
89 void SetDefaultMuxerOptionsValues(MuxerOptions* muxer_options) {
-
90  muxer_options->num_subsegments_per_sidx = 0;
+
89 void SetDefaultMuxerOptions(MuxerOptions* muxer_options) {
+
90  muxer_options->mp4_params.num_subsegments_per_sidx = 0;
91  muxer_options->output_file_name = "test_output_file_name.mp4";
92  muxer_options->segment_template.clear();
93  muxer_options->temp_dir.clear();
@@ -218,7 +218,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 2c4884b1bb..8481599984 100644 --- a/docs/de/ddd/classshaka_1_1media_1_1Muxer-members.html +++ b/docs/de/ddd/classshaka_1_1media_1_1Muxer-members.html @@ -130,7 +130,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 c1441e0117..f90f48bacc 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 3c994e252b..27535a92af 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 0f3fd5c413..364d1f58dd 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 a6d38ccf06..2e091efe85 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 66f8a69b93..d0b666ca81 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 @@ -132,7 +132,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 09c5558aea..9c2fb34581 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 58d917c244..5ed59eb03c 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 9a90ff9c75..ef30b1a749 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 01ec1574e5..2a0db6fe7e 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 4dd4017ac2..2889d743ec 100644 --- a/docs/de/dfa/muxer__listener_8h_source.html +++ b/docs/de/dfa/muxer__listener_8h_source.html @@ -171,7 +171,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
base::Optional< Range > index_range
Range of the index section of a segment.
virtual void OnEncryptionStart()=0
-
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
virtual void OnMediaEnd(const MediaRanges &media_ranges, float duration_seconds)=0
virtual void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)=0
@@ -179,7 +179,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 bba2cdacb4..a8cd87cea0 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 359a9e0331..a1890e08e8 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 e41b3e8251..b16dd9de68 100644 --- a/docs/df/d00/playready__key__source_8h_source.html +++ b/docs/df/d00/playready__key__source_8h_source.html @@ -166,7 +166,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 5c19dd114b..ddd3c1b119 100644 --- a/docs/df/d05/vp__codec__configuration__record_8cc_source.html +++ b/docs/df/d05/vp__codec__configuration__record_8cc_source.html @@ -418,7 +418,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 4ae1393e20..a6fcc00a21 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 1dea68522f..d8ded44ad6 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 340b610cf1..9df53f0b1b 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 cf7e777f4d..9803ab97af 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 @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d22/structshaka_1_1WidevineSigner.html b/docs/df/d22/structshaka_1_1WidevineSigner.html index a6192476d8..ca7ded1d9b 100644 --- a/docs/df/d22/structshaka_1_1WidevineSigner.html +++ b/docs/df/d22/structshaka_1_1WidevineSigner.html @@ -163,7 +163,7 @@ struct { diff --git a/docs/df/d22/validate__flag_8h_source.html b/docs/df/d22/validate__flag_8h_source.html index abcd28ead9..1d01f1b871 100644 --- a/docs/df/d22/validate__flag_8h_source.html +++ b/docs/df/d22/validate__flag_8h_source.html @@ -136,7 +136,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 83691ba2d2..65b238de92 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 6632a33912..b55b4eff8e 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 81bdeb4a28..ec332ca0a3 100644 --- a/docs/df/d31/muxer__util_8cc_source.html +++ b/docs/df/d31/muxer__util_8cc_source.html @@ -248,7 +248,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 db93d54dd1..748fd8d60b 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 3965b2e49b..a6fe4f3ab5 100644 --- a/docs/df/d33/classshaka_1_1AdaptationSet-members.html +++ b/docs/df/d33/classshaka_1_1AdaptationSet-members.html @@ -120,7 +120,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 367fa64415..eb07199b89 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 456d638290..217418a9d3 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 315eb28b58..11cfa2b594 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 63670c6e22..f0ea9e7d96 100644 --- a/docs/df/d46/classshaka_1_1media_1_1Muxer.html +++ b/docs/df/d46/classshaka_1_1media_1_1Muxer.html @@ -389,7 +389,7 @@ std::pair< std::shared_ptr
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 e564ccc9d4..2aa6f1b984 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 87c4e4dc4d..8880aed2da 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/d5d/structshaka_1_1RawKeyEncryptionParams_1_1KeyPair.html b/docs/df/d5d/structshaka_1_1RawKeyEncryptionParams_1_1KeyPair.html index 232499bbf3..dde1818c75 100644 --- a/docs/df/d5d/structshaka_1_1RawKeyEncryptionParams_1_1KeyPair.html +++ b/docs/df/d5d/structshaka_1_1RawKeyEncryptionParams_1_1KeyPair.html @@ -112,7 +112,7 @@ std::vector< uint8_t >  diff --git a/docs/df/d60/classshaka_1_1MockMpdBuilder.html b/docs/df/d60/classshaka_1_1MockMpdBuilder.html index 88b54140eb..b53ffe39be 100644 --- a/docs/df/d60/classshaka_1_1MockMpdBuilder.html +++ b/docs/df/d60/classshaka_1_1MockMpdBuilder.html @@ -141,7 +141,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 7e9c067471..0120951db2 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 044e9f6472..a638cf8c4b 100644 --- a/docs/df/d66/classshaka_1_1media_1_1KeyFetcher.html +++ b/docs/df/d66/classshaka_1_1media_1_1KeyFetcher.html @@ -177,7 +177,7 @@ Public Member Functions diff --git a/docs/df/d6a/classshaka_1_1MockMpdBuilder-members.html b/docs/df/d6a/classshaka_1_1MockMpdBuilder-members.html index 1dc283937c..2dbf1961d9 100644 --- a/docs/df/d6a/classshaka_1_1MockMpdBuilder-members.html +++ b/docs/df/d6a/classshaka_1_1MockMpdBuilder-members.html @@ -107,7 +107,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 92c1ef6fe2..3f4835b8fd 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 b43a73a977..1c9ebebb31 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 37b80ce715..8dd793d83f 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 2856ef770b..2d12ebb908 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 5c19c48a6c..96be115121 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 1a4840972b..1af5e3e531 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 fc6247e3a6..8c0c087b15 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 8c29141db9..d9cf470dd9 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 eed6b7d382..f45f3bedf3 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 5277138948..834fd40867 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 @@ -120,7 +120,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 971ff3903c..dc56725679 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 dacf2d9fc0..fea048ff52 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 dda3f91392..e547d3bf36 100644 --- a/docs/df/d96/xml__node_8cc_source.html +++ b/docs/df/d96/xml__node_8cc_source.html @@ -513,7 +513,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 dfcec6dc12..51c1a35646 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 f5629cffff..9ae5f42d52 100644 --- a/docs/df/d9e/classshaka_1_1xml_1_1RepresentationXmlNode.html +++ b/docs/df/d9e/classshaka_1_1xml_1_1RepresentationXmlNode.html @@ -315,7 +315,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 606316eeb4..675069eab9 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 c69972f7c8..8ccc09b120 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 ee7c8ff38d..2d9eb1794a 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/dc7/avc__decoder__configuration__record_8h_source.html b/docs/df/dc7/avc__decoder__configuration__record_8h_source.html index c7e72e278d..e21e0dd10d 100644 --- a/docs/df/dc7/avc__decoder__configuration__record_8h_source.html +++ b/docs/df/dc7/avc__decoder__configuration__record_8h_source.html @@ -155,7 +155,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 bc15781eac..569a12917d 100644 --- a/docs/df/dd2/mpd__utils_8h_source.html +++ b/docs/df/dd2/mpd__utils_8h_source.html @@ -177,7 +177,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/dd2/structshaka_1_1media_1_1H264Pps-members.html b/docs/df/dd2/structshaka_1_1media_1_1H264Pps-members.html index ccd35e560f..773affa1c9 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 1466b0c006..2c14166d8e 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/structshaka_1_1MpdParams.html b/docs/df/ddc/structshaka_1_1MpdParams.html new file mode 100644 index 0000000000..91e61f92e3 --- /dev/null +++ b/docs/df/ddc/structshaka_1_1MpdParams.html @@ -0,0 +1,263 @@ + + + + + + +DASH Media Packaging SDK: shaka::MpdParams Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
DASH Media Packaging SDK +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
shaka::MpdParams Struct Reference
+
+
+ +

DASH MPD related parameters. + More...

+ +

#include <mpd_params.h>

+ + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+std::string mpd_output
 MPD output file path.
 
std::vector< std::string > base_urls
 
double min_buffer_time = 2.0
 
bool generate_static_live_mpd = false
 
double time_shift_buffer_depth = 0
 
+double suggested_presentation_delay = kSuggestedPresentationDelayNotSet
 
double minimum_update_period = 0
 
std::string default_language
 
+bool generate_dash_if_iop_compliant_mpd = true
 Try to generate DASH-IF IOP compliant MPD.
 
+ + + +

+Static Public Attributes

static constexpr double kSuggestedPresentationDelayNotSet = 0
 
+

Detailed Description

+

DASH MPD related parameters.

+ +

Definition at line 16 of file mpd_params.h.

+

Member Data Documentation

+ +
+
+ + + + +
std::vector<std::string> shaka::MpdParams::base_urls
+
+

BaseURLs for the MPD. The values will be added as <BaseURL> element(s) under the <MPD> element.

+ +

Definition at line 21 of file mpd_params.h.

+ +
+
+ +
+
+ + + + +
std::string shaka::MpdParams::default_language
+
+

The tracks tagged with this language will have <Role ... value="main" /> in the manifest. This allows the player to choose the correct default language for the content.

+ +

Definition at line 46 of file mpd_params.h.

+ +
+
+ +
+
+ + + + +
bool shaka::MpdParams::generate_static_live_mpd = false
+
+

Generate static MPD for live profile. Note that this flag has no effect for on-demand profile, in which case static MPD is always used.

+ +

Definition at line 30 of file mpd_params.h.

+ +
+
+ +
+
+ + + + + +
+ + + + +
constexpr double shaka::MpdParams::kSuggestedPresentationDelayNotSet = 0
+
+static
+
+

Set MPD attribute. For 'dynamic' media presentations, it specifies a delay, in seconds, to be added to the media presentation time. The attribute is not set if the value is 0; the client is expected to choose a suitable value in this case.

+ +

Definition at line 38 of file mpd_params.h.

+ +
+
+ +
+
+ + + + +
double shaka::MpdParams::min_buffer_time = 2.0
+
+

Set MPD attribute, which specifies, in seconds, a common duration used in the definition of the MPD representation data rate. A client can be assured of having enough data for continous playout providing playout begins at min_buffer_time after the first bit is received.

+ +

Definition at line 27 of file mpd_params.h.

+ +
+
+ +
+
+ + + + +
double shaka::MpdParams::minimum_update_period = 0
+
+

Set MPD attribute, which indicates to the player how often to refresh the MPD in seconds. For dynamic MPD only.

+ +

Definition at line 42 of file mpd_params.h.

+ +
+
+ +
+
+ + + + +
double shaka::MpdParams::time_shift_buffer_depth = 0
+
+

Set MPD attribute, which is the guaranteed duration of the time shifting buffer for 'dynamic' media presentations, in seconds.

+ +

Definition at line 33 of file mpd_params.h.

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/df/ddc/webm_2segmenter_8h_source.html b/docs/df/ddc/webm_2segmenter_8h_source.html index 29a920b7a0..cd02c1f15a 100644 --- a/docs/df/ddc/webm_2segmenter_8h_source.html +++ b/docs/df/ddc/webm_2segmenter_8h_source.html @@ -232,7 +232,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
uint64_t FromBmffTimestamp(uint64_t bmff_timestamp)
Converts the given time in ISO BMFF timestamp to WebM timecode.
Definition: segmenter.cc:206
float GetDurationInSeconds() const
Definition: segmenter.cc:200
-
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:20
virtual Status FinalizeSegment(uint64_t start_timestamp, uint64_t duration_timestamp, bool is_subsegment)=0
Finalize the (sub)segment.
Definition: segmenter.cc:190
Status SetCluster(uint64_t start_webm_timecode, uint64_t position, MkvWriter *writer)
Creates a Cluster object with the given parameters.
Definition: segmenter.cc:256
This class listens to progress updates events.
@@ -250,7 +250,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/dde/ts__section__psi_8cc_source.html b/docs/df/dde/ts__section__psi_8cc_source.html index 09095a8846..5f328589d9 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 5651d356e2..8fae12e77c 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 2b7ad34a31..d754bfe733 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 5288f2536a..9237a487e8 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 03af3b54bf..2d843525da 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/dfc/playready__key__encryption__flags_8cc_source.html b/docs/df/dfc/playready__key__encryption__flags_8cc_source.html index d0bb299429..f34bef45d3 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 22e3441363..d8cce3da30 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 318cd5aa4e..0991516468 100644 --- a/docs/dir_2618cd273dea54f184e42d7a562af818.html +++ b/docs/dir_2618cd273dea54f184e42d7a562af818.html @@ -136,7 +136,7 @@ Files diff --git a/docs/dir_263e692158cf359dd655c259558153d6.html b/docs/dir_263e692158cf359dd655c259558153d6.html index 6790926ce5..cc330f6c0c 100644 --- a/docs/dir_263e692158cf359dd655c259558153d6.html +++ b/docs/dir_263e692158cf359dd655c259558153d6.html @@ -93,7 +93,7 @@ Files diff --git a/docs/dir_2eceb70145328c029a5f43350007537a.html b/docs/dir_2eceb70145328c029a5f43350007537a.html index d2f1467f72..c4e57635d0 100644 --- a/docs/dir_2eceb70145328c029a5f43350007537a.html +++ b/docs/dir_2eceb70145328c029a5f43350007537a.html @@ -105,7 +105,7 @@ Files diff --git a/docs/dir_3702507ddbf3daed2728028eabf9f597.html b/docs/dir_3702507ddbf3daed2728028eabf9f597.html index 948300fbe3..1d48605d05 100644 --- a/docs/dir_3702507ddbf3daed2728028eabf9f597.html +++ b/docs/dir_3702507ddbf3daed2728028eabf9f597.html @@ -85,13 +85,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); + + + +

Files

file  chunking_params.h [code]
 
file  crypto_params.h [code]
 
file  mp4_output_params.h [code]
 
diff --git a/docs/dir_39dc0668bd5a501998f94e8b4e546c71.html b/docs/dir_39dc0668bd5a501998f94e8b4e546c71.html index 8b0c76f0dc..183ed35c1e 100644 --- a/docs/dir_39dc0668bd5a501998f94e8b4e546c71.html +++ b/docs/dir_39dc0668bd5a501998f94e8b4e546c71.html @@ -109,7 +109,7 @@ Directories diff --git a/docs/dir_3e9291fd7a18fdecc763294cb2628910.html b/docs/dir_3e9291fd7a18fdecc763294cb2628910.html index 44549cf948..83a7e101b2 100644 --- a/docs/dir_3e9291fd7a18fdecc763294cb2628910.html +++ b/docs/dir_3e9291fd7a18fdecc763294cb2628910.html @@ -149,7 +149,7 @@ Files diff --git a/docs/dir_40ba5f08173034b639e202b47df1cb13.html b/docs/dir_40ba5f08173034b639e202b47df1cb13.html new file mode 100644 index 0000000000..4734b6aad1 --- /dev/null +++ b/docs/dir_40ba5f08173034b639e202b47df1cb13.html @@ -0,0 +1,99 @@ + + + + + + +DASH Media Packaging SDK: mpd/public Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
DASH Media Packaging SDK +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
public Directory Reference
+
+
+ + + + +

+Files

file  mpd_params.h [code]
 
+
+ + + + diff --git a/docs/dir_49627ef5ef0630f6cf11dd06344c4cf0.html b/docs/dir_49627ef5ef0630f6cf11dd06344c4cf0.html index 711f38ca54..8b291d838e 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 5207b08bd7..0ea6283521 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 32ec0471a8..6e273defcb 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 54318cd579..56e7a7390a 100644 --- a/docs/dir_679a6f4e9fa092b388fc986148018f2a.html +++ b/docs/dir_679a6f4e9fa092b388fc986148018f2a.html @@ -95,7 +95,7 @@ Files diff --git a/docs/dir_6ca5d7200b4f75a249572dffb9651898.html b/docs/dir_6ca5d7200b4f75a249572dffb9651898.html index 990f29ef47..9de27242a8 100644 --- a/docs/dir_6ca5d7200b4f75a249572dffb9651898.html +++ b/docs/dir_6ca5d7200b4f75a249572dffb9651898.html @@ -93,7 +93,7 @@ Files diff --git a/docs/dir_7f5e01ba7faf319a30cabd201b6ef121.html b/docs/dir_7f5e01ba7faf319a30cabd201b6ef121.html index 3750fbed41..b06659056c 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 7e5cfb286d..f6e07b0116 100644 --- a/docs/dir_89dd766eb2df7d7257dbe806a34404af.html +++ b/docs/dir_89dd766eb2df7d7257dbe806a34404af.html @@ -87,13 +87,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); Directories directory  base   +directory  public +  directory  util   diff --git a/docs/dir_aa73376d632f252584a1c0dfbefab2c4.html b/docs/dir_aa73376d632f252584a1c0dfbefab2c4.html index 832dec4c2a..1adeb59055 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 4ba9bbcb1d..2e8d272618 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 71959ba40b..9985e16187 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 c7daaad29f..6844858a47 100644 --- a/docs/dir_c6ada2450b25ab5438a4dba6c9b890af.html +++ b/docs/dir_c6ada2450b25ab5438a4dba6c9b890af.html @@ -257,7 +257,7 @@ Files diff --git a/docs/dir_d422163b96683743ed3963d4aac17747.html b/docs/dir_d422163b96683743ed3963d4aac17747.html index 98fbe2e7f4..3dac3461f6 100644 --- a/docs/dir_d422163b96683743ed3963d4aac17747.html +++ b/docs/dir_d422163b96683743ed3963d4aac17747.html @@ -151,7 +151,7 @@ Files diff --git a/docs/dir_ebd49ab0652c2e9158bbb57c55382729.html b/docs/dir_ebd49ab0652c2e9158bbb57c55382729.html index 34a2163081..ef9158d1d3 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 60a546a970..41146992e5 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 06960b0359..a07e73da1b 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 100d06229f..b442dac50e 100644 --- a/docs/files.html +++ b/docs/files.html @@ -406,7 +406,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ||o*origin_handler.cc ||\*origin_handler.h |o+public -||\*crypto_params.h +||o*chunking_params.h +||o*crypto_params.h +||\*mp4_output_params.h |\+trick_play | o*trick_play_handler.cc | \*trick_play_handler.h @@ -437,15 +439,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');  |o*segment_info.h  |o*simple_mpd_notifier.cc  |\*simple_mpd_notifier.h - \+util -  o*mpd_writer.cc -  \*mpd_writer.h + o+public + |\*mpd_params.h + \+util +  o*mpd_writer.cc +  \*mpd_writer.h diff --git a/docs/functions.html b/docs/functions.html index ebe1b1dcd9..5eada0037a 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -251,7 +251,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_b.html b/docs/functions_b.html index 01781b5103..b5179fd0c6 100644 --- a/docs/functions_b.html +++ b/docs/functions_b.html @@ -128,6 +128,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • BandwidthEstimator() : BandwidthEstimator
  • +
  • base_urls +: shaka::MpdParams +
  • bit_position() : shaka::media::BitReader
  • @@ -141,7 +144,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::media::mp4::Box
  • BoxBuffer() -: shaka::media::mp4::BoxBuffer +: shaka::media::mp4::BoxBuffer
  • BoxType() : shaka::media::mp4::AC3Specific @@ -234,7 +237,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_c.html b/docs/functions_c.html index cce044b8c5..974ab59681 100644 --- a/docs/functions_c.html +++ b/docs/functions_c.html @@ -241,7 +241,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_d.html b/docs/functions_d.html index ec0d99eac0..f37a07b587 100644 --- a/docs/functions_d.html +++ b/docs/functions_d.html @@ -141,6 +141,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • DecryptConfig() : shaka::media::DecryptConfig
  • +
  • default_language +: shaka::MpdParams +
  • Demuxer() : shaka::media::Demuxer
  • @@ -175,7 +178,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_e.html b/docs/functions_e.html index c86324fcac..4f9ece975f 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 3cfcda7e43..0964cdb70e 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 4d839adb37..91843f6c51 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 dfb02438f9..fcb6da5d93 100644 --- a/docs/functions_f.html +++ b/docs/functions_f.html @@ -188,7 +188,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func.html b/docs/functions_func.html index ac3a290a4a..1dab98d670 100644 --- a/docs/functions_func.html +++ b/docs/functions_func.html @@ -250,7 +250,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_b.html b/docs/functions_func_b.html index 41d84a9fde..31c069d6b6 100644 --- a/docs/functions_func_b.html +++ b/docs/functions_func_b.html @@ -230,7 +230,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_c.html b/docs/functions_func_c.html index 039959708d..4eb0c38f5b 100644 --- a/docs/functions_func_c.html +++ b/docs/functions_func_c.html @@ -222,7 +222,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_d.html b/docs/functions_func_d.html index 4e4a5a10e9..abb9a20eb9 100644 --- a/docs/functions_func_d.html +++ b/docs/functions_func_d.html @@ -174,7 +174,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_e.html b/docs/functions_func_e.html index 9af90e4f04..c70ea8f8bc 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 6ad524185a..97bc9e6016 100644 --- a/docs/functions_func_f.html +++ b/docs/functions_func_f.html @@ -187,7 +187,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_g.html b/docs/functions_func_g.html index 5d95069fa7..bcbdcb92e4 100644 --- a/docs/functions_func_g.html +++ b/docs/functions_func_g.html @@ -278,7 +278,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_h.html b/docs/functions_func_h.html index 437cfc0862..fe7e4fcf14 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 1b7e2a2343..c546420351 100644 --- a/docs/functions_func_i.html +++ b/docs/functions_func_i.html @@ -222,7 +222,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_l.html b/docs/functions_func_l.html index 7751ea338f..58722e7877 100644 --- a/docs/functions_func_l.html +++ b/docs/functions_func_l.html @@ -131,7 +131,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_m.html b/docs/functions_func_m.html index d8a2d3a366..6451aa3e20 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 eb0543e65e..0842fb49df 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 89739d160d..d65d6c1bb7 100644 --- a/docs/functions_func_o.html +++ b/docs/functions_func_o.html @@ -192,7 +192,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_p.html b/docs/functions_func_p.html index 0ce6bca111..c9c78c866b 100644 --- a/docs/functions_func_p.html +++ b/docs/functions_func_p.html @@ -236,7 +236,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_r.html b/docs/functions_func_r.html index 6711f97e0e..17feb4c494 100644 --- a/docs/functions_func_r.html +++ b/docs/functions_func_r.html @@ -188,7 +188,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_s.html b/docs/functions_func_s.html index 32821d8df3..d2440d4133 100644 --- a/docs/functions_func_s.html +++ b/docs/functions_func_s.html @@ -282,7 +282,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_t.html b/docs/functions_func_t.html index bedc589d0c..5572098aac 100644 --- a/docs/functions_func_t.html +++ b/docs/functions_func_t.html @@ -165,7 +165,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_u.html b/docs/functions_func_u.html index d5d89abf27..63e5bb975a 100644 --- a/docs/functions_func_u.html +++ b/docs/functions_func_u.html @@ -139,7 +139,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_v.html b/docs/functions_func_v.html index 194c580d77..1a2d99ec92 100644 --- a/docs/functions_func_v.html +++ b/docs/functions_func_v.html @@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_w.html b/docs/functions_func_w.html index cf7194e64e..ffa9c5179b 100644 --- a/docs/functions_func_w.html +++ b/docs/functions_func_w.html @@ -169,7 +169,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_x.html b/docs/functions_func_x.html index 53d0a77191..e28d851090 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 e5e7872d3e..e64041b683 100644 --- a/docs/functions_func_~.html +++ b/docs/functions_func_~.html @@ -128,7 +128,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_g.html b/docs/functions_g.html index 48b5b1de95..c89bb86d5e 100644 --- a/docs/functions_g.html +++ b/docs/functions_g.html @@ -122,6 +122,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
    Here is a list of all documented class members with links to the class documentation for each member:

    - g -

    diff --git a/docs/functions_l.html b/docs/functions_l.html index 568c7dcd2b..a93c8ea7cf 100644 --- a/docs/functions_l.html +++ b/docs/functions_l.html @@ -132,7 +132,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_m.html b/docs/functions_m.html index 6618416b87..5a1ac5df36 100644 --- a/docs/functions_m.html +++ b/docs/functions_m.html @@ -128,12 +128,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • MergeFrom() : shaka::media::VPCodecConfigurationRecord
  • -
  • mp4_use_decoding_timestamp_in_timeline -: shaka::media::MuxerOptions +
  • min_buffer_time +: shaka::MpdParams +
  • +
  • minimum_update_period +: shaka::MpdParams +
  • +
  • mp4_params +: shaka::media::MuxerOptions
  • MP4Muxer() : shaka::media::mp4::MP4Muxer
  • +
  • mpd_output +: shaka::MpdParams +
  • mpd_type() : shaka::MpdNotifier
  • @@ -150,7 +159,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_n.html b/docs/functions_n.html index c8a257d26f..594bdb89a6 100644 --- a/docs/functions_n.html +++ b/docs/functions_n.html @@ -163,9 +163,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , shaka::MpdNotifier , shaka::SimpleMpdNotifier -
  • num_subsegments_per_sidx -: shaka::media::MuxerOptions -
  • NumberOfReadyPesPackets() : shaka::media::mp2t::PesPacketGenerator
  • @@ -178,7 +175,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_o.html b/docs/functions_o.html index 3d578bc6b7..a436e4e249 100644 --- a/docs/functions_o.html +++ b/docs/functions_o.html @@ -196,7 +196,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_p.html b/docs/functions_p.html index c25600bbe4..71dd2d41a0 100644 --- a/docs/functions_p.html +++ b/docs/functions_p.html @@ -252,7 +252,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_r.html b/docs/functions_r.html index 55e49350ae..98da1d309d 100644 --- a/docs/functions_r.html +++ b/docs/functions_r.html @@ -189,7 +189,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_s.html b/docs/functions_s.html index 1aa78d1e9f..4d1127ffdc 100644 --- a/docs/functions_s.html +++ b/docs/functions_s.html @@ -153,10 +153,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::media::MkvWriter
  • segment_duration_in_seconds -: shaka::media::ChunkingOptions +: shaka::ChunkingParams
  • segment_sap_aligned -: shaka::media::ChunkingOptions +: shaka::ChunkingParams
  • segment_template : shaka::media::MuxerOptions @@ -299,13 +299,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::EncryptionParams
  • subsegment_duration_in_seconds -: shaka::media::ChunkingOptions +: shaka::ChunkingParams
  • subsegment_ranges : shaka::media::MuxerListener::MediaRanges
  • subsegment_sap_aligned -: shaka::media::ChunkingOptions +: shaka::ChunkingParams
  • SuppressOnce() : shaka::Representation @@ -317,7 +317,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_t.html b/docs/functions_t.html index f8f235b618..5413e329fb 100644 --- a/docs/functions_t.html +++ b/docs/functions_t.html @@ -137,6 +137,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • TextStreamInfo() : shaka::media::TextStreamInfo
  • +
  • time_shift_buffer_depth +: shaka::MpdParams +
  • ToString() : shaka::media::AudioStreamInfo , shaka::media::MediaSample @@ -169,7 +172,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_type.html b/docs/functions_type.html index 175cb00ee1..7c29fcfd66 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 872fab1174..8ab28fd107 100644 --- a/docs/functions_u.html +++ b/docs/functions_u.html @@ -136,11 +136,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • use_constant_iv() : shaka::media::AesCryptor
  • +
  • use_decoding_timestamp_in_timeline +: shaka::Mp4OutputParams +
  • diff --git a/docs/functions_v.html b/docs/functions_v.html index a01e7e7311..3da2b7e439 100644 --- a/docs/functions_v.html +++ b/docs/functions_v.html @@ -144,7 +144,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_vars.html b/docs/functions_vars.html index 2738388deb..3f85b8dc36 100644 --- a/docs/functions_vars.html +++ b/docs/functions_vars.html @@ -80,15 +80,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); @@ -114,6 +115,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • bandwidth : shaka::media::MuxerOptions
  • +
  • base_urls +: shaka::MpdParams +
  • @@ -139,7 +143,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); +

    - d -

    + +

    - g -

    - - -

    - m -

    -

    - n -

    @@ -281,6 +306,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • temp_dir : shaka::media::MuxerOptions
  • +
  • time_shift_buffer_depth +: shaka::MpdParams +
  • + + + +

    - u -

    @@ -292,7 +327,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_w.html b/docs/functions_w.html index 89a22716ab..b5b51e20c1 100644 --- a/docs/functions_w.html +++ b/docs/functions_w.html @@ -170,7 +170,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_x.html b/docs/functions_x.html index 7cbd220ebb..63dff53b8e 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 525818e3a0..d1f384f4e8 100644 --- a/docs/functions_~.html +++ b/docs/functions_~.html @@ -129,7 +129,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/hierarchy.html b/docs/hierarchy.html index 63a2ec2dbb..2858d74ffd 100644 --- a/docs/hierarchy.html +++ b/docs/hierarchy.html @@ -184,7 +184,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); oCshaka::media::mp4::CencSampleEncryptionInfoEntry oCshaka::media::mp4::ChunkInfo oCshaka::media::mp4::ChunkInfoIterator -oCshaka::media::ChunkingOptions +oCshaka::ChunkingParamsChunking (segmentation) related parameters oCshaka::media::Cluster oCshaka::media::ClusterBuilder oCshaka::media::mp4::CompositionOffset @@ -268,123 +268,125 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); |\Cshaka::media::wvm::WvmMediaParser oCshaka::media::MuxerListener::MediaRanges oCshaka::media::MediaSampleClass to hold a media sample -oCshaka::MpdBuilderThis class generates DASH MPDs (Media Presentation Descriptions) -|\Cshaka::MockMpdBuilder -oCshaka::MpdNotifier -|oCshaka::DashIopMpdNotifier -|oCshaka::MockMpdNotifier -|\Cshaka::SimpleMpdNotifier -oCshaka::MpdNotifierFactory -oCshaka::MpdOptionsDefines Mpd Options -oCshaka::MpdWriter -oCshaka::media::MuxerListener -|oCshaka::media::HlsNotifyMuxerListenerMuxerListener that uses HlsNotifier -|oCshaka::media::MockMuxerListener -|oCshaka::media::MpdNotifyMuxerListener -|\Cshaka::media::VodMediaInfoDumpMuxerListener -oCshaka::media::MuxerOptionsThis structure contains the list of configuration options for Muxer -oCshaka::media::Nalu -oCshaka::media::NalUnitToByteStreamConverter -oCshaka::media::NaluReader -oCshaka::media::OffsetByteQueue -oCshaka::EncryptionParams::EncryptedStreamAttributes::OneOf -oCshaka::media::OnMediaEndParameters -oCshaka::media::PeriodInfo -oCshaka::media::mp2t::PesPacketClass that carries PES packet information -oCshaka::media::mp2t::PesPacketGenerator -oCshaka::PlayreadyEncryptionParams -oCshaka::media::wvm::PrevSampleData -oCshaka::media::mp4::PrivFrameImplemented per http://id3.org/id3v2.4.0-frames -oCshaka::media::ProducerConsumerQueue< T > -oCshaka::media::mp2t::ProgramMapTableWriter -|oCshaka::media::mp2t::AacProgramMapTableWriter -|\Cshaka::media::mp2t::H264ProgramMapTableWriter -oCshaka::media::ProgressListenerThis class listens to progress updates events -oCshaka::media::ProtectionSystemSpecificInfo -oCshaka::media::Range -oCshaka::RawKeyDecryptionParamsRaw key decryption parameters, i.e. with key parameters provided -oCshaka::RawKeyEncryptionParamsRaw key encryption parameters, i.e. with key parameters provided -oCshaka::Representation -|\Cshaka::MockRepresentation -oCshaka::RepresentationStateChangeListener -oCshaka::media::RequestSignerAbstract class used for signature generation -|oCshaka::media::AesRequestSignerAesRequestSigner uses AES-CBC signing -|\Cshaka::media::RsaRequestSignerRsaRequestSigner uses RSA-PSS signing -oCshaka::media::RsaPrivateKeyRsa private key, used for message signing and decryption -oCshaka::media::RsaPublicKeyRsa public key, used for signature verification and encryption -oCshaka::media::mp4::SampleEncryptionEntry -oCshaka::media::mp4::SampleToGroupEntry -oCshaka::media::SeekHead -oCshaka::media::mp4::Segmenter -|oCshaka::media::mp4::MultiSegmentSegmenter -|\Cshaka::media::mp4::SingleSegmentSegmenter -oCshaka::media::webm::Segmenter -|oCshaka::media::webm::MultiSegmentSegmenter -|\Cshaka::media::webm::SingleSegmentSegmenter -| \Cshaka::media::webm::TwoPassSingleSegmentSegmenter -oCshaka::media::SegmentInfo -oCshaka::SegmentInfo -oCshaka::media::mp4::SegmentReference -oCSimpleThread -|\Cshaka::media::ClosureThread -oCshaka::media::StreamData -oCshaka::media::StreamInfoAbstract class holds stream information -|oCshaka::media::AudioStreamInfoHolds audio stream information -|oCshaka::media::TextStreamInfo -|\Cshaka::media::VideoStreamInfoHolds video stream information -oCshaka::media::SubsampleEntry -oCshaka::media::mp4::SyncSampleIterator -oCTest -|oCshaka::media::MediaHandlerTestBase -|\Cshaka::media::SegmentTestBase -oCshaka::media::TextSample -oCshaka::media::TextTrack -oCshaka::media::TextTrackConfig -oCshaka::media::mp4::TrackRunIterator -oCshaka::media::TracksBuilder -oCshaka::media::mp2t::TsPacket -oCshaka::media::mp2t::TsSection -|oCshaka::media::mp2t::TsSectionPes -|\Cshaka::media::mp2t::TsSectionPsi -| oCshaka::media::mp2t::TsSectionPat -| \Cshaka::media::mp2t::TsSectionPmt -oCshaka::media::mp2t::TsSegmenter -oCshaka::media::mp2t::TsWriter -oCshaka::media::VideoSliceHeaderParser -|oCshaka::media::H264VideoSliceHeaderParser -|\Cshaka::media::H265VideoSliceHeaderParser -oCshaka::media::mp2t::EsParserH26x::VideoSliceInfo -oCshaka::media::VideoStreamInfoParameters -oCshaka::media::VPCodecConfigurationRecordClass for parsing or writing VP codec configuration record -oCshaka::media::VPxFrameInfo -oCshaka::media::VPxParser -|oCshaka::media::VP8Parser -|\Cshaka::media::VP9ParserClass to parse a vp9 bit stream -oCshaka::media::WebMListParser -oCshaka::media::WebMParserClient -|oCshaka::media::SegmentTestBase::ClusterParser -|oCshaka::media::WebMAudioClientHelper class used to parse an Audio element inside a TrackEntry element -|oCshaka::media::WebMClusterParser -|oCshaka::media::WebMContentEncodingsClientParser for WebM ContentEncodings element -|oCshaka::media::WebMInfoParserParser for WebM Info element -|oCshaka::media::WebMTracksParserParser for WebM Tracks element -|\Cshaka::media::WebMVideoClientHelper class used to parse a Video element inside a TrackEntry element -oCshaka::media::WebMWebVTTParser -oCshaka::media::WebVttSampleConverter -oCshaka::WidevineDecryptionParamsWidevine decryption parameters -oCshaka::WidevineEncryptionParamsWidevine encryption parameters -oCshaka::WidevineSignerSigner credential for Widevine license server -oCshaka::xml::XmlDeleter -\Cshaka::xml::XmlNode - \Cshaka::xml::RepresentationBaseXmlNode -  oCshaka::xml::AdaptationSetXmlNodeAdaptationSetType specified in MPD -  \Cshaka::xml::RepresentationXmlNodeRepresentationType in MPD +oCshaka::Mp4OutputParamsMP4 (ISO-BMFF) output related parameters +oCshaka::MpdBuilderThis class generates DASH MPDs (Media Presentation Descriptions) +|\Cshaka::MockMpdBuilder +oCshaka::MpdNotifier +|oCshaka::DashIopMpdNotifier +|oCshaka::MockMpdNotifier +|\Cshaka::SimpleMpdNotifier +oCshaka::MpdNotifierFactory +oCshaka::MpdOptionsDefines Mpd Options +oCshaka::MpdParamsDASH MPD related parameters +oCshaka::MpdWriter +oCshaka::media::MuxerListener +|oCshaka::media::HlsNotifyMuxerListenerMuxerListener that uses HlsNotifier +|oCshaka::media::MockMuxerListener +|oCshaka::media::MpdNotifyMuxerListener +|\Cshaka::media::VodMediaInfoDumpMuxerListener +oCshaka::media::MuxerOptionsThis structure contains the list of configuration options for Muxer +oCshaka::media::Nalu +oCshaka::media::NalUnitToByteStreamConverter +oCshaka::media::NaluReader +oCshaka::media::OffsetByteQueue +oCshaka::EncryptionParams::EncryptedStreamAttributes::OneOf +oCshaka::media::OnMediaEndParameters +oCshaka::media::PeriodInfo +oCshaka::media::mp2t::PesPacketClass that carries PES packet information +oCshaka::media::mp2t::PesPacketGenerator +oCshaka::PlayreadyEncryptionParams +oCshaka::media::wvm::PrevSampleData +oCshaka::media::mp4::PrivFrameImplemented per http://id3.org/id3v2.4.0-frames +oCshaka::media::ProducerConsumerQueue< T > +oCshaka::media::mp2t::ProgramMapTableWriter +|oCshaka::media::mp2t::AacProgramMapTableWriter +|\Cshaka::media::mp2t::H264ProgramMapTableWriter +oCshaka::media::ProgressListenerThis class listens to progress updates events +oCshaka::media::ProtectionSystemSpecificInfo +oCshaka::media::Range +oCshaka::RawKeyDecryptionParamsRaw key decryption parameters, i.e. with key parameters provided +oCshaka::RawKeyEncryptionParamsRaw key encryption parameters, i.e. with key parameters provided +oCshaka::Representation +|\Cshaka::MockRepresentation +oCshaka::RepresentationStateChangeListener +oCshaka::media::RequestSignerAbstract class used for signature generation +|oCshaka::media::AesRequestSignerAesRequestSigner uses AES-CBC signing +|\Cshaka::media::RsaRequestSignerRsaRequestSigner uses RSA-PSS signing +oCshaka::media::RsaPrivateKeyRsa private key, used for message signing and decryption +oCshaka::media::RsaPublicKeyRsa public key, used for signature verification and encryption +oCshaka::media::mp4::SampleEncryptionEntry +oCshaka::media::mp4::SampleToGroupEntry +oCshaka::media::SeekHead +oCshaka::media::mp4::Segmenter +|oCshaka::media::mp4::MultiSegmentSegmenter +|\Cshaka::media::mp4::SingleSegmentSegmenter +oCshaka::media::webm::Segmenter +|oCshaka::media::webm::MultiSegmentSegmenter +|\Cshaka::media::webm::SingleSegmentSegmenter +| \Cshaka::media::webm::TwoPassSingleSegmentSegmenter +oCshaka::media::SegmentInfo +oCshaka::SegmentInfo +oCshaka::media::mp4::SegmentReference +oCSimpleThread +|\Cshaka::media::ClosureThread +oCshaka::media::StreamData +oCshaka::media::StreamInfoAbstract class holds stream information +|oCshaka::media::AudioStreamInfoHolds audio stream information +|oCshaka::media::TextStreamInfo +|\Cshaka::media::VideoStreamInfoHolds video stream information +oCshaka::media::SubsampleEntry +oCshaka::media::mp4::SyncSampleIterator +oCTest +|oCshaka::media::MediaHandlerTestBase +|\Cshaka::media::SegmentTestBase +oCshaka::media::TextSample +oCshaka::media::TextTrack +oCshaka::media::TextTrackConfig +oCshaka::media::mp4::TrackRunIterator +oCshaka::media::TracksBuilder +oCshaka::media::mp2t::TsPacket +oCshaka::media::mp2t::TsSection +|oCshaka::media::mp2t::TsSectionPes +|\Cshaka::media::mp2t::TsSectionPsi +| oCshaka::media::mp2t::TsSectionPat +| \Cshaka::media::mp2t::TsSectionPmt +oCshaka::media::mp2t::TsSegmenter +oCshaka::media::mp2t::TsWriter +oCshaka::media::VideoSliceHeaderParser +|oCshaka::media::H264VideoSliceHeaderParser +|\Cshaka::media::H265VideoSliceHeaderParser +oCshaka::media::mp2t::EsParserH26x::VideoSliceInfo +oCshaka::media::VideoStreamInfoParameters +oCshaka::media::VPCodecConfigurationRecordClass for parsing or writing VP codec configuration record +oCshaka::media::VPxFrameInfo +oCshaka::media::VPxParser +|oCshaka::media::VP8Parser +|\Cshaka::media::VP9ParserClass to parse a vp9 bit stream +oCshaka::media::WebMListParser +oCshaka::media::WebMParserClient +|oCshaka::media::SegmentTestBase::ClusterParser +|oCshaka::media::WebMAudioClientHelper class used to parse an Audio element inside a TrackEntry element +|oCshaka::media::WebMClusterParser +|oCshaka::media::WebMContentEncodingsClientParser for WebM ContentEncodings element +|oCshaka::media::WebMInfoParserParser for WebM Info element +|oCshaka::media::WebMTracksParserParser for WebM Tracks element +|\Cshaka::media::WebMVideoClientHelper class used to parse a Video element inside a TrackEntry element +oCshaka::media::WebMWebVTTParser +oCshaka::media::WebVttSampleConverter +oCshaka::WidevineDecryptionParamsWidevine decryption parameters +oCshaka::WidevineEncryptionParamsWidevine encryption parameters +oCshaka::WidevineSignerSigner credential for Widevine license server +oCshaka::xml::XmlDeleter +\Cshaka::xml::XmlNode + \Cshaka::xml::RepresentationBaseXmlNode +  oCshaka::xml::AdaptationSetXmlNodeAdaptationSetType specified in MPD +  \Cshaka::xml::RepresentationXmlNodeRepresentationType in MPD diff --git a/docs/index.html b/docs/index.html index c1310b1560..31f3b7c12f 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 6bcd2fa537..64e02ab099 100644 --- a/docs/namespacemembers.html +++ b/docs/namespacemembers.html @@ -137,7 +137,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/namespacemembers_enum.html b/docs/namespacemembers_enum.html index 1bbb040cf3..44b577d2be 100644 --- a/docs/namespacemembers_enum.html +++ b/docs/namespacemembers_enum.html @@ -95,7 +95,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/namespacemembers_func.html b/docs/namespacemembers_func.html index b026984d64..eba9ae1ef7 100644 --- a/docs/namespacemembers_func.html +++ b/docs/namespacemembers_func.html @@ -134,7 +134,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/namespaces.html b/docs/namespaces.html index 58a1a3fe01..d8ea8fcef5 100644 --- a/docs/namespaces.html +++ b/docs/namespaces.html @@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/search/all_1.js b/docs/search/all_1.js index 7cb39506ba..50e56e83ed 100644 --- a/docs/search/all_1.js +++ b/docs/search/all_1.js @@ -2,6 +2,7 @@ var searchData= [ ['bandwidth',['bandwidth',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#a930587b1f3a3e38cf1e7974f01d8ce1e',1,'shaka::media::MuxerOptions']]], ['bandwidthestimator',['BandwidthEstimator',['../d2/d6f/classBandwidthEstimator.html',1,'BandwidthEstimator'],['../d2/d6f/classBandwidthEstimator.html#aaae9573785ee9d62e0927f806537ea97',1,'BandwidthEstimator::BandwidthEstimator()']]], + ['base_5furls',['base_urls',['../df/ddc/structshaka_1_1MpdParams.html#a9fe508f9c56a6424fd857d43a4a69e7c',1,'shaka::MpdParams']]], ['bit_5fposition',['bit_position',['../d6/da9/classshaka_1_1media_1_1BitReader.html#a6b7456b84d6b463767127b57cd0dc898',1,'shaka::media::BitReader']]], ['bitreader',['BitReader',['../d6/da9/classshaka_1_1media_1_1BitReader.html',1,'shaka::media']]], ['bitreader',['BitReader',['../d6/da9/classshaka_1_1media_1_1BitReader.html#a264dbe3e94ba76214c1af75ab3877945',1,'shaka::media::BitReader']]], @@ -15,8 +16,8 @@ var searchData= ['buffer',['Buffer',['../dc/d41/classshaka_1_1media_1_1BufferWriter.html#ab3054a98a4ec27764c65511dc17a916d',1,'shaka::media::BufferWriter']]], ['bufferreader',['BufferReader',['../d9/d13/classshaka_1_1media_1_1BufferReader.html#a94771befc54d444630ade726689b7bf7',1,'shaka::media::BufferReader']]], ['bufferreader',['BufferReader',['../d9/d13/classshaka_1_1media_1_1BufferReader.html',1,'shaka::media']]], - ['bufferwriter',['BufferWriter',['../dc/d41/classshaka_1_1media_1_1BufferWriter.html',1,'shaka::media']]], ['bufferwriter',['BufferWriter',['../dc/d41/classshaka_1_1media_1_1BufferWriter.html#a01d91524fd5c5491bafcc1cff16db916',1,'shaka::media::BufferWriter']]], + ['bufferwriter',['BufferWriter',['../dc/d41/classshaka_1_1media_1_1BufferWriter.html',1,'shaka::media']]], ['bytequeue',['ByteQueue',['../d7/dda/classshaka_1_1media_1_1ByteQueue.html',1,'shaka::media']]], ['bytesleft',['BytesLeft',['../d1/da1/classshaka_1_1media_1_1mp4_1_1BoxBuffer.html#acf36e70bcb8c4ee7939835126ae9b98b',1,'shaka::media::mp4::BoxBuffer']]] ]; diff --git a/docs/search/all_10.js b/docs/search/all_10.js index 6ac2f30cbe..9cf18c9126 100644 --- a/docs/search/all_10.js +++ b/docs/search/all_10.js @@ -24,8 +24,8 @@ var searchData= ['schemetype',['SchemeType',['../d3/da2/structshaka_1_1media_1_1mp4_1_1SchemeType.html',1,'shaka::media::mp4']]], ['seekable',['Seekable',['../d1/d0a/classshaka_1_1media_1_1MkvWriter.html#a8d0429e7922752db3f01d43e6340465a',1,'shaka::media::MkvWriter']]], ['seekhead',['SeekHead',['../dc/d16/classshaka_1_1media_1_1SeekHead.html',1,'shaka::media']]], - ['segment_5fduration_5fin_5fseconds',['segment_duration_in_seconds',['../db/d02/structshaka_1_1media_1_1ChunkingOptions.html#a1cdbde61303f629cc9b4cbcd98f2d711',1,'shaka::media::ChunkingOptions']]], - ['segment_5fsap_5faligned',['segment_sap_aligned',['../db/d02/structshaka_1_1media_1_1ChunkingOptions.html#a0ae39a9eef9c4adc63916fa594f0fe64',1,'shaka::media::ChunkingOptions']]], + ['segment_5fduration_5fin_5fseconds',['segment_duration_in_seconds',['../d2/d1f/structshaka_1_1ChunkingParams.html#a01414f1502775576d68e45d172029358',1,'shaka::ChunkingParams']]], + ['segment_5fsap_5faligned',['segment_sap_aligned',['../d2/d1f/structshaka_1_1ChunkingParams.html#a1ab10c82260dc073fb3830efcdabb171',1,'shaka::ChunkingParams']]], ['segment_5ftemplate',['segment_template',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#ab98cfd28046fc5c52ab2a45dba1a339a',1,'shaka::media::MuxerOptions']]], ['segmenter',['Segmenter',['../dd/dc5/classshaka_1_1media_1_1webm_1_1Segmenter.html',1,'shaka::media::webm']]], ['segmenter',['Segmenter',['../d9/d26/classshaka_1_1media_1_1mp4_1_1Segmenter.html',1,'shaka::media::mp4']]], @@ -87,9 +87,9 @@ var searchData= ['streamdata',['StreamData',['../d0/d4c/structshaka_1_1media_1_1StreamData.html',1,'shaka::media']]], ['streaminfo',['StreamInfo',['../d5/db1/classshaka_1_1media_1_1StreamInfo.html',1,'shaka::media']]], ['subsampleentry',['SubsampleEntry',['../d1/d34/structshaka_1_1media_1_1SubsampleEntry.html',1,'shaka::media']]], - ['subsegment_5fduration_5fin_5fseconds',['subsegment_duration_in_seconds',['../db/d02/structshaka_1_1media_1_1ChunkingOptions.html#ac9368f6edb53d9dd90bc128b664a12e5',1,'shaka::media::ChunkingOptions']]], + ['subsegment_5fduration_5fin_5fseconds',['subsegment_duration_in_seconds',['../d2/d1f/structshaka_1_1ChunkingParams.html#ae303f5bf58edbb231b0cfbbf9c4e05d7',1,'shaka::ChunkingParams']]], ['subsegment_5franges',['subsegment_ranges',['../d1/d03/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges.html#a836626da601a9f6ea54502c7e5bdd7c9',1,'shaka::media::MuxerListener::MediaRanges']]], - ['subsegment_5fsap_5faligned',['subsegment_sap_aligned',['../db/d02/structshaka_1_1media_1_1ChunkingOptions.html#a6d9761fdfca7819c94baa23845ce9ad7',1,'shaka::media::ChunkingOptions']]], + ['subsegment_5fsap_5faligned',['subsegment_sap_aligned',['../d2/d1f/structshaka_1_1ChunkingParams.html#afcde8cc6cf9646c78f5bf13181022aa7',1,'shaka::ChunkingParams']]], ['subtitlemediaheader',['SubtitleMediaHeader',['../db/d21/structshaka_1_1media_1_1mp4_1_1SubtitleMediaHeader.html',1,'shaka::media::mp4']]], ['suppressonce',['SuppressOnce',['../de/d52/classshaka_1_1Representation.html#a473e45dbbf64e6ab6ed670ccedac84ed',1,'shaka::Representation']]], ['syncsample',['SyncSample',['../dd/d3f/structshaka_1_1media_1_1mp4_1_1SyncSample.html',1,'shaka::media::mp4']]], diff --git a/docs/search/all_11.js b/docs/search/all_11.js index e96081c095..abdfdb6cd2 100644 --- a/docs/search/all_11.js +++ b/docs/search/all_11.js @@ -10,6 +10,7 @@ var searchData= ['textstreaminfo',['TextStreamInfo',['../db/dab/classshaka_1_1media_1_1TextStreamInfo.html#a3e759066195689154ef2a8cf2825ea4b',1,'shaka::media::TextStreamInfo']]], ['texttrack',['TextTrack',['../d4/d0b/classshaka_1_1media_1_1TextTrack.html',1,'shaka::media']]], ['texttrackconfig',['TextTrackConfig',['../de/db3/classshaka_1_1media_1_1TextTrackConfig.html',1,'shaka::media']]], + ['time_5fshift_5fbuffer_5fdepth',['time_shift_buffer_depth',['../df/ddc/structshaka_1_1MpdParams.html#a95e4824708c8de4b882b86772f680032',1,'shaka::MpdParams']]], ['tostring',['ToString',['../da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html#a7f94e51abcf522ff70e2456a8c8595df',1,'shaka::media::AudioStreamInfo::ToString()'],['../d7/d6d/classshaka_1_1media_1_1MediaSample.html#aa3cbd9fee3a228403c3128be5141a614',1,'shaka::media::MediaSample::ToString()'],['../d5/db1/classshaka_1_1media_1_1StreamInfo.html#aa11d2fe5509ebfdc038aa3f2cdbbe00d',1,'shaka::media::StreamInfo::ToString()'],['../d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html#a9cac8e75d76f1192a48d1dcf61435537',1,'shaka::media::VideoStreamInfo::ToString()'],['../dc/da1/classshaka_1_1MpdBuilder.html#af7eae5cc11141eed2b5451d969e57db6',1,'shaka::MpdBuilder::ToString()']]], ['track',['Track',['../d3/db5/structshaka_1_1media_1_1mp4_1_1Track.html',1,'shaka::media::mp4']]], ['trackencryption',['TrackEncryption',['../db/db8/structshaka_1_1media_1_1mp4_1_1TrackEncryption.html',1,'shaka::media::mp4']]], @@ -34,8 +35,8 @@ var searchData= ['tssectionpes',['TsSectionPes',['../d1/d30/classshaka_1_1media_1_1mp2t_1_1TsSectionPes.html',1,'shaka::media::mp2t']]], ['tssectionpmt',['TsSectionPmt',['../d2/de3/classshaka_1_1media_1_1mp2t_1_1TsSectionPmt.html',1,'shaka::media::mp2t']]], ['tssectionpsi',['TsSectionPsi',['../de/d7e/classshaka_1_1media_1_1mp2t_1_1TsSectionPsi.html',1,'shaka::media::mp2t']]], - ['tssegmenter',['TsSegmenter',['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html#af0e91f691388ecffb8a473554707c917',1,'shaka::media::mp2t::TsSegmenter']]], ['tssegmenter',['TsSegmenter',['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html',1,'shaka::media::mp2t']]], + ['tssegmenter',['TsSegmenter',['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html#af0e91f691388ecffb8a473554707c917',1,'shaka::media::mp2t::TsSegmenter']]], ['tswriter',['TsWriter',['../de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html',1,'shaka::media::mp2t']]], ['twopasssinglesegmentsegmenter',['TwoPassSingleSegmentSegmenter',['../dd/da5/classshaka_1_1media_1_1webm_1_1TwoPassSingleSegmentSegmenter.html',1,'shaka::media::webm']]], ['type',['type',['../d6/dff/classshaka_1_1media_1_1Nalu.html#a86143bb8a31825f06668e97bff66ce2c',1,'shaka::media::Nalu']]] diff --git a/docs/search/all_12.js b/docs/search/all_12.js index 42033a1f6e..7b967a4ccf 100644 --- a/docs/search/all_12.js +++ b/docs/search/all_12.js @@ -4,5 +4,6 @@ var searchData= ['updatecontentprotectionpssh',['UpdateContentProtectionPssh',['../d8/d8e/classshaka_1_1AdaptationSet.html#ae8a28838bf1bbc1ad8f5b80961fe33c2',1,'shaka::AdaptationSet::UpdateContentProtectionPssh()'],['../de/d52/classshaka_1_1Representation.html#a3d17325903aa01f0c8ff7753d94ff330',1,'shaka::Representation::UpdateContentProtectionPssh()']]], ['updateiv',['UpdateIv',['../df/d87/classshaka_1_1media_1_1AesCryptor.html#a812dfc641212f8eb877ab153de7fbb37',1,'shaka::media::AesCryptor']]], ['updateprogress',['UpdateProgress',['../d9/d26/classshaka_1_1media_1_1mp4_1_1Segmenter.html#afd8bb3584c984c711615800ad93642a3',1,'shaka::media::mp4::Segmenter::UpdateProgress()'],['../dd/dc5/classshaka_1_1media_1_1webm_1_1Segmenter.html#a32dc8b7461252b99fe52384b04e3bca2',1,'shaka::media::webm::Segmenter::UpdateProgress()']]], - ['use_5fconstant_5fiv',['use_constant_iv',['../df/d87/classshaka_1_1media_1_1AesCryptor.html#a731765982d899509626b4979322db926',1,'shaka::media::AesCryptor']]] + ['use_5fconstant_5fiv',['use_constant_iv',['../df/d87/classshaka_1_1media_1_1AesCryptor.html#a731765982d899509626b4979322db926',1,'shaka::media::AesCryptor']]], + ['use_5fdecoding_5ftimestamp_5fin_5ftimeline',['use_decoding_timestamp_in_timeline',['../d0/d43/structshaka_1_1Mp4OutputParams.html#a4e0de7f58e0a83896e14e5603e2f965f',1,'shaka::Mp4OutputParams']]] ]; diff --git a/docs/search/all_2.js b/docs/search/all_2.js index 3cf0111342..1bb4fcd046 100644 --- a/docs/search/all_2.js +++ b/docs/search/all_2.js @@ -9,7 +9,7 @@ var searchData= ['chunkinfoiterator',['ChunkInfoIterator',['../d9/d57/classshaka_1_1media_1_1mp4_1_1ChunkInfoIterator.html',1,'shaka::media::mp4']]], ['chunkinfoiterator',['ChunkInfoIterator',['../d9/d57/classshaka_1_1media_1_1mp4_1_1ChunkInfoIterator.html#adae19e8f34f3f962e9858c67f984445d',1,'shaka::media::mp4::ChunkInfoIterator']]], ['chunkinghandler',['ChunkingHandler',['../d4/d43/classshaka_1_1media_1_1ChunkingHandler.html',1,'shaka::media']]], - ['chunkingoptions',['ChunkingOptions',['../db/d02/structshaka_1_1media_1_1ChunkingOptions.html',1,'shaka::media']]], + ['chunkingparams',['ChunkingParams',['../d2/d1f/structshaka_1_1ChunkingParams.html',1,'shaka']]], ['chunklargeoffset',['ChunkLargeOffset',['../db/d95/structshaka_1_1media_1_1mp4_1_1ChunkLargeOffset.html',1,'shaka::media::mp4']]], ['chunkoffset',['ChunkOffset',['../dd/d06/structshaka_1_1media_1_1mp4_1_1ChunkOffset.html',1,'shaka::media::mp4']]], ['clear_5flead_5fin_5fseconds',['clear_lead_in_seconds',['../dc/da0/structshaka_1_1EncryptionParams.html#a1ad46963dc926aa4b72813dccb3f6a45',1,'shaka::EncryptionParams']]], diff --git a/docs/search/all_3.js b/docs/search/all_3.js index 25f4f96e84..c60a29a3dc 100644 --- a/docs/search/all_3.js +++ b/docs/search/all_3.js @@ -17,6 +17,7 @@ var searchData= ['decryptconfig',['DecryptConfig',['../de/d49/classshaka_1_1media_1_1DecryptConfig.html#a24035bb6edcb3aaaa9923bf385376ae5',1,'shaka::media::DecryptConfig::DecryptConfig(const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< SubsampleEntry > &subsamples)'],['../de/d49/classshaka_1_1media_1_1DecryptConfig.html#ab2dfe0a2ee285539843ac55b5f1ac7c7',1,'shaka::media::DecryptConfig::DecryptConfig(const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< SubsampleEntry > &subsamples, FourCC protection_scheme, uint8_t crypt_byte_block, uint8_t skip_byte_block)']]], ['decryptionparams',['DecryptionParams',['../d1/d4f/structshaka_1_1DecryptionParams.html',1,'shaka']]], ['decryptorsource',['DecryptorSource',['../d7/d59/classshaka_1_1media_1_1DecryptorSource.html',1,'shaka::media']]], + ['default_5flanguage',['default_language',['../df/ddc/structshaka_1_1MpdParams.html#a74df80bd74635090e97837f3a5941d73',1,'shaka::MpdParams']]], ['demuxer',['Demuxer',['../dd/d17/classshaka_1_1media_1_1Demuxer.html#ae2fee69f99e5815de4f686b24393402e',1,'shaka::media::Demuxer']]], ['demuxer',['Demuxer',['../dd/d17/classshaka_1_1media_1_1Demuxer.html',1,'shaka::media']]], ['demuxstreamidmediasample',['DemuxStreamIdMediaSample',['../d1/da1/structshaka_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html',1,'shaka::media::wvm']]], diff --git a/docs/search/all_6.js b/docs/search/all_6.js index 9d16a01170..a9abf9bdd4 100644 --- a/docs/search/all_6.js +++ b/docs/search/all_6.js @@ -1,5 +1,7 @@ var searchData= [ + ['generate_5fdash_5fif_5fiop_5fcompliant_5fmpd',['generate_dash_if_iop_compliant_mpd',['../df/ddc/structshaka_1_1MpdParams.html#aa1b2ec6746586d4981655cee62669ba2',1,'shaka::MpdParams']]], + ['generate_5fstatic_5flive_5fmpd',['generate_static_live_mpd',['../df/ddc/structshaka_1_1MpdParams.html#ab5a09b17ee41a0960e813bd0c72bf4f6',1,'shaka::MpdParams']]], ['generaterandomiv',['GenerateRandomIv',['../df/d87/classshaka_1_1media_1_1AesCryptor.html#a40d9a82d274d6fbaee5346328f11dedd',1,'shaka::media::AesCryptor']]], ['generatesegmentreference',['GenerateSegmentReference',['../db/d95/classshaka_1_1media_1_1mp4_1_1Fragmenter.html#af1f1d56215c1e9543bfb516136862fa6',1,'shaka::media::mp4::Fragmenter']]], ['generatesignature',['GenerateSignature',['../df/d3c/classshaka_1_1media_1_1RequestSigner.html#a1c77d503f9ffc3462c1bf45b4f35bf32',1,'shaka::media::RequestSigner::GenerateSignature()'],['../d9/d8c/classshaka_1_1media_1_1AesRequestSigner.html#a3010ad8c4c1588358a8d31a97afd6428',1,'shaka::media::AesRequestSigner::GenerateSignature()'],['../d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html#ac83306b0555581b8ac9591b6e3d3bdbc',1,'shaka::media::RsaRequestSigner::GenerateSignature()'],['../d0/dce/classshaka_1_1media_1_1RsaPrivateKey.html#ad05d8951dfe3a8af754490022e95e5f2',1,'shaka::media::RsaPrivateKey::GenerateSignature()']]], diff --git a/docs/search/all_9.js b/docs/search/all_9.js index 149d481ebf..062b7f7b3d 100644 --- a/docs/search/all_9.js +++ b/docs/search/all_9.js @@ -16,7 +16,9 @@ var searchData= ['keyprovider',['KeyProvider',['../d8/daf/namespaceshaka.html#a539b99ce5c34193e294bc544437e9185',1,'shaka']]], ['keysource',['KeySource',['../d1/d1f/classshaka_1_1media_1_1KeySource.html',1,'shaka::media']]], ['knokeyrotation',['kNoKeyRotation',['../dc/da0/structshaka_1_1EncryptionParams.html#a92ad4ca8e1ccb7d6b5fa2ee0b1b196fa',1,'shaka::EncryptionParams']]], + ['knosidxboxinsegment',['kNoSidxBoxInSegment',['../d0/d43/structshaka_1_1Mp4OutputParams.html#a41ff299070f75fd0dca96d83706d32ff',1,'shaka::Mp4OutputParams']]], ['korderinvalid',['kOrderInvalid',['../dc/da6/classshaka_1_1media_1_1ContentEncoding.html#a3ba32d5ca8b0688b2dc6b2ec8a5be6d2',1,'shaka::media::ContentEncoding']]], ['kprotectionschemecenc',['kProtectionSchemeCenc',['../dc/da0/structshaka_1_1EncryptionParams.html#a1d7a8c6b5e46b51ccadcaef3f9cf9cb0',1,'shaka::EncryptionParams']]], - ['kskipifcryptbyteblockremaining',['kSkipIfCryptByteBlockRemaining',['../d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html#a54fd35d7782d3b4948c7eb68387711f0a09674e418b61763fdc5cf22c248efd4f',1,'shaka::media::AesPatternCryptor']]] + ['kskipifcryptbyteblockremaining',['kSkipIfCryptByteBlockRemaining',['../d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html#a54fd35d7782d3b4948c7eb68387711f0a09674e418b61763fdc5cf22c248efd4f',1,'shaka::media::AesPatternCryptor']]], + ['ksuggestedpresentationdelaynotset',['kSuggestedPresentationDelayNotSet',['../df/ddc/structshaka_1_1MpdParams.html#a13705544aac44c5d2065b8a842744bf0',1,'shaka::MpdParams']]] ]; diff --git a/docs/search/all_b.js b/docs/search/all_b.js index bcb925fbfd..60331c866a 100644 --- a/docs/search/all_b.js +++ b/docs/search/all_b.js @@ -13,6 +13,8 @@ var searchData= ['mediasample',['MediaSample',['../d7/d6d/classshaka_1_1media_1_1MediaSample.html',1,'shaka::media']]], ['mergefrom',['MergeFrom',['../d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html#a36dddd88a09f038adfbf87063786178c',1,'shaka::media::VPCodecConfigurationRecord']]], ['metadata',['Metadata',['../dd/df6/structshaka_1_1media_1_1mp4_1_1Metadata.html',1,'shaka::media::mp4']]], + ['min_5fbuffer_5ftime',['min_buffer_time',['../df/ddc/structshaka_1_1MpdParams.html#aee1510b64b9acbc17b8bfccac2e132a3',1,'shaka::MpdParams']]], + ['minimum_5fupdate_5fperiod',['minimum_update_period',['../df/ddc/structshaka_1_1MpdParams.html#a4a5dafe570fd7e35749ce12d83ca9559',1,'shaka::MpdParams']]], ['mkvwriter',['MkvWriter',['../d1/d0a/classshaka_1_1media_1_1MkvWriter.html',1,'shaka::media']]], ['mockadaptationset',['MockAdaptationSet',['../db/d4b/classshaka_1_1MockAdaptationSet.html',1,'shaka']]], ['mockmpdbuilder',['MockMpdBuilder',['../df/d60/classshaka_1_1MockMpdBuilder.html',1,'shaka']]], @@ -26,18 +28,21 @@ var searchData= ['moviefragmentheader',['MovieFragmentHeader',['../dc/d8f/structshaka_1_1media_1_1mp4_1_1MovieFragmentHeader.html',1,'shaka::media::mp4']]], ['movieheader',['MovieHeader',['../d6/d1a/structshaka_1_1media_1_1mp4_1_1MovieHeader.html',1,'shaka::media::mp4']]], ['mp2tmediaparser',['Mp2tMediaParser',['../d3/dc1/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser.html',1,'shaka::media::mp2t']]], - ['mp4_5fuse_5fdecoding_5ftimestamp_5fin_5ftimeline',['mp4_use_decoding_timestamp_in_timeline',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#a4d3d8c1923a2e0f684c2591cd7f4a890',1,'shaka::media::MuxerOptions']]], + ['mp4_5fparams',['mp4_params',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#aa616f5958ea9df2d70f3fe42ff47ff43',1,'shaka::media::MuxerOptions']]], ['mp4mediaparser',['MP4MediaParser',['../d7/dd5/classshaka_1_1media_1_1mp4_1_1MP4MediaParser.html',1,'shaka::media::mp4']]], - ['mp4muxer',['MP4Muxer',['../db/d30/classshaka_1_1media_1_1mp4_1_1MP4Muxer.html#a5b6a878865250e3e17268c011a361497',1,'shaka::media::mp4::MP4Muxer']]], ['mp4muxer',['MP4Muxer',['../db/d30/classshaka_1_1media_1_1mp4_1_1MP4Muxer.html',1,'shaka::media::mp4']]], + ['mp4muxer',['MP4Muxer',['../db/d30/classshaka_1_1media_1_1mp4_1_1MP4Muxer.html#a5b6a878865250e3e17268c011a361497',1,'shaka::media::mp4::MP4Muxer']]], + ['mp4outputparams',['Mp4OutputParams',['../d0/d43/structshaka_1_1Mp4OutputParams.html',1,'shaka']]], + ['mpd_5foutput',['mpd_output',['../df/ddc/structshaka_1_1MpdParams.html#aa6ca18997bb307d3b5fe1c9ced161ff6',1,'shaka::MpdParams']]], ['mpd_5ftype',['mpd_type',['../d3/dd0/classshaka_1_1MpdNotifier.html#adfb5bc1586cdb7860dd349b3caf25faa',1,'shaka::MpdNotifier']]], - ['mpdbuilder',['MpdBuilder',['../dc/da1/classshaka_1_1MpdBuilder.html',1,'shaka']]], ['mpdbuilder',['MpdBuilder',['../dc/da1/classshaka_1_1MpdBuilder.html#ab364102e01afedd8a4dcc9be4fdcc0ab',1,'shaka::MpdBuilder']]], + ['mpdbuilder',['MpdBuilder',['../dc/da1/classshaka_1_1MpdBuilder.html',1,'shaka']]], ['mpdnotifier',['MpdNotifier',['../d3/dd0/classshaka_1_1MpdNotifier.html',1,'shaka']]], ['mpdnotifierfactory',['MpdNotifierFactory',['../d4/db4/classshaka_1_1MpdNotifierFactory.html',1,'shaka']]], - ['mpdnotifymuxerlistener',['MpdNotifyMuxerListener',['../d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html',1,'shaka::media']]], ['mpdnotifymuxerlistener',['MpdNotifyMuxerListener',['../d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html#a6912e6cfc341c1a768d214ce08bb0f82',1,'shaka::media::MpdNotifyMuxerListener']]], + ['mpdnotifymuxerlistener',['MpdNotifyMuxerListener',['../d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html',1,'shaka::media']]], ['mpdoptions',['MpdOptions',['../d1/df3/structshaka_1_1MpdOptions.html',1,'shaka']]], + ['mpdparams',['MpdParams',['../df/ddc/structshaka_1_1MpdParams.html',1,'shaka']]], ['mpdwriter',['MpdWriter',['../db/dcd/classshaka_1_1MpdWriter.html',1,'shaka']]], ['multisegmentsegmenter',['MultiSegmentSegmenter',['../d8/db7/classshaka_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html',1,'shaka::media::mp4']]], ['multisegmentsegmenter',['MultiSegmentSegmenter',['../d2/dd5/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter.html',1,'shaka::media::webm']]], diff --git a/docs/search/all_c.js b/docs/search/all_c.js index 755022679d..cb5959998b 100644 --- a/docs/search/all_c.js +++ b/docs/search/all_c.js @@ -14,7 +14,6 @@ var searchData= ['notifynewcontainer',['NotifyNewContainer',['../d4/d70/classshaka_1_1DashIopMpdNotifier.html#af86163b8fc680ea659e6ba2d2c5d6db7',1,'shaka::DashIopMpdNotifier::NotifyNewContainer()'],['../d3/dd0/classshaka_1_1MpdNotifier.html#ae10c06fe6022a1020fc889de389be430',1,'shaka::MpdNotifier::NotifyNewContainer()'],['../d8/de1/classshaka_1_1SimpleMpdNotifier.html#a3f4aabd86ec08e5ff427120ed39fda29',1,'shaka::SimpleMpdNotifier::NotifyNewContainer()']]], ['notifynewsegment',['NotifyNewSegment',['../d4/d70/classshaka_1_1DashIopMpdNotifier.html#ad2561d25eb7ace9b919ef8b96d4a06a7',1,'shaka::DashIopMpdNotifier::NotifyNewSegment()'],['../d3/dd0/classshaka_1_1MpdNotifier.html#a100236a249477afcda4f50e4914f0eee',1,'shaka::MpdNotifier::NotifyNewSegment()'],['../d8/de1/classshaka_1_1SimpleMpdNotifier.html#a640f5455a6d64063c364b81a8a6e878a',1,'shaka::SimpleMpdNotifier::NotifyNewSegment()']]], ['notifysampleduration',['NotifySampleDuration',['../d4/d70/classshaka_1_1DashIopMpdNotifier.html#a9ec74194872324aad3838f1047fdbe13',1,'shaka::DashIopMpdNotifier::NotifySampleDuration()'],['../d3/dd0/classshaka_1_1MpdNotifier.html#a721edf600dc9165e96e4b6c154a2d4f6',1,'shaka::MpdNotifier::NotifySampleDuration()'],['../d8/de1/classshaka_1_1SimpleMpdNotifier.html#ad876de8c9909394b6fb47f387066fc83',1,'shaka::SimpleMpdNotifier::NotifySampleDuration()']]], - ['num_5fsubsegments_5fper_5fsidx',['num_subsegments_per_sidx',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#a2db773300dadf681c40bef0b3eca3ece',1,'shaka::media::MuxerOptions']]], ['numberofreadypespackets',['NumberOfReadyPesPackets',['../d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html#a27a700967eb692a8207fd5054263fc3a',1,'shaka::media::mp2t::PesPacketGenerator']]], ['numsamples',['NumSamples',['../d9/d57/classshaka_1_1media_1_1mp4_1_1ChunkInfoIterator.html#ae75b2b3f07ad18b0a5c01b4d0b86770e',1,'shaka::media::mp4::ChunkInfoIterator::NumSamples()'],['../db/d4e/classshaka_1_1media_1_1mp4_1_1CompositionOffsetIterator.html#a7134d367a7966b78bbf04c570b5e7415',1,'shaka::media::mp4::CompositionOffsetIterator::NumSamples()'],['../d1/d20/classshaka_1_1media_1_1mp4_1_1DecodingTimeIterator.html#aaa0ea588fba6267be900cb0dfc787a2a',1,'shaka::media::mp4::DecodingTimeIterator::NumSamples()']]] ]; diff --git a/docs/search/classes_2.js b/docs/search/classes_2.js index 58c5bca148..1af9ed88de 100644 --- a/docs/search/classes_2.js +++ b/docs/search/classes_2.js @@ -4,7 +4,7 @@ var searchData= ['chunkinfo',['ChunkInfo',['../df/d38/structshaka_1_1media_1_1mp4_1_1ChunkInfo.html',1,'shaka::media::mp4']]], ['chunkinfoiterator',['ChunkInfoIterator',['../d9/d57/classshaka_1_1media_1_1mp4_1_1ChunkInfoIterator.html',1,'shaka::media::mp4']]], ['chunkinghandler',['ChunkingHandler',['../d4/d43/classshaka_1_1media_1_1ChunkingHandler.html',1,'shaka::media']]], - ['chunkingoptions',['ChunkingOptions',['../db/d02/structshaka_1_1media_1_1ChunkingOptions.html',1,'shaka::media']]], + ['chunkingparams',['ChunkingParams',['../d2/d1f/structshaka_1_1ChunkingParams.html',1,'shaka']]], ['chunklargeoffset',['ChunkLargeOffset',['../db/d95/structshaka_1_1media_1_1mp4_1_1ChunkLargeOffset.html',1,'shaka::media::mp4']]], ['chunkoffset',['ChunkOffset',['../dd/d06/structshaka_1_1media_1_1mp4_1_1ChunkOffset.html',1,'shaka::media::mp4']]], ['closurethread',['ClosureThread',['../dc/df0/classshaka_1_1media_1_1ClosureThread.html',1,'shaka::media']]], diff --git a/docs/search/classes_a.js b/docs/search/classes_a.js index 004e0dfa61..16266aa96c 100644 --- a/docs/search/classes_a.js +++ b/docs/search/classes_a.js @@ -26,11 +26,13 @@ var searchData= ['mp2tmediaparser',['Mp2tMediaParser',['../d3/dc1/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser.html',1,'shaka::media::mp2t']]], ['mp4mediaparser',['MP4MediaParser',['../d7/dd5/classshaka_1_1media_1_1mp4_1_1MP4MediaParser.html',1,'shaka::media::mp4']]], ['mp4muxer',['MP4Muxer',['../db/d30/classshaka_1_1media_1_1mp4_1_1MP4Muxer.html',1,'shaka::media::mp4']]], + ['mp4outputparams',['Mp4OutputParams',['../d0/d43/structshaka_1_1Mp4OutputParams.html',1,'shaka']]], ['mpdbuilder',['MpdBuilder',['../dc/da1/classshaka_1_1MpdBuilder.html',1,'shaka']]], ['mpdnotifier',['MpdNotifier',['../d3/dd0/classshaka_1_1MpdNotifier.html',1,'shaka']]], ['mpdnotifierfactory',['MpdNotifierFactory',['../d4/db4/classshaka_1_1MpdNotifierFactory.html',1,'shaka']]], ['mpdnotifymuxerlistener',['MpdNotifyMuxerListener',['../d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html',1,'shaka::media']]], ['mpdoptions',['MpdOptions',['../d1/df3/structshaka_1_1MpdOptions.html',1,'shaka']]], + ['mpdparams',['MpdParams',['../df/ddc/structshaka_1_1MpdParams.html',1,'shaka']]], ['mpdwriter',['MpdWriter',['../db/dcd/classshaka_1_1MpdWriter.html',1,'shaka']]], ['multisegmentsegmenter',['MultiSegmentSegmenter',['../d8/db7/classshaka_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html',1,'shaka::media::mp4']]], ['multisegmentsegmenter',['MultiSegmentSegmenter',['../d2/dd5/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter.html',1,'shaka::media::webm']]], diff --git a/docs/search/search.js b/docs/search/search.js index e05955a665..03e16825ee 100644 --- a/docs/search/search.js +++ b/docs/search/search.js @@ -11,7 +11,7 @@ var indexSectionsWithContent = 1: "abcdefhiklmnoprstvwx", 2: "s", 3: "abcdefghilmnoprstuvwx~", - 4: "bcgikmnopstv", + 4: "bcdgikmopstuv", 5: "in", 6: "kp", 7: "k" diff --git a/docs/search/variables_0.js b/docs/search/variables_0.js index 3b7d25476a..4da510a074 100644 --- a/docs/search/variables_0.js +++ b/docs/search/variables_0.js @@ -1,4 +1,5 @@ var searchData= [ - ['bandwidth',['bandwidth',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#a930587b1f3a3e38cf1e7974f01d8ce1e',1,'shaka::media::MuxerOptions']]] + ['bandwidth',['bandwidth',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#a930587b1f3a3e38cf1e7974f01d8ce1e',1,'shaka::media::MuxerOptions']]], + ['base_5furls',['base_urls',['../df/ddc/structshaka_1_1MpdParams.html#a9fe508f9c56a6424fd857d43a4a69e7c',1,'shaka::MpdParams']]] ]; diff --git a/docs/search/variables_2.js b/docs/search/variables_2.js index bde2eaf9a5..1235966231 100644 --- a/docs/search/variables_2.js +++ b/docs/search/variables_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['group_5fid',['group_id',['../d9/dd2/structshaka_1_1WidevineEncryptionParams.html#a6d69402cd4c66d546be180c7800e6d09',1,'shaka::WidevineEncryptionParams']]] + ['default_5flanguage',['default_language',['../df/ddc/structshaka_1_1MpdParams.html#a74df80bd74635090e97837f3a5941d73',1,'shaka::MpdParams']]] ]; diff --git a/docs/search/variables_3.js b/docs/search/variables_3.js index 790b6238d3..4566f0f6ad 100644 --- a/docs/search/variables_3.js +++ b/docs/search/variables_3.js @@ -1,7 +1,6 @@ var searchData= [ - ['include_5fcommon_5fpssh',['include_common_pssh',['../d9/dd2/structshaka_1_1WidevineEncryptionParams.html#a5985f2d6fbe33273654695050757d0b0',1,'shaka::WidevineEncryptionParams']]], - ['index_5frange',['index_range',['../d1/d03/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges.html#aa15231fb064efc4b56800df24b074b29',1,'shaka::media::MuxerListener::MediaRanges']]], - ['init_5frange',['init_range',['../d1/d03/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges.html#a6070da9ce7fab251c82b25a4020373c0',1,'shaka::media::MuxerListener::MediaRanges']]], - ['iv',['iv',['../df/d22/structshaka_1_1WidevineSigner.html#a6db96d4c3f1189bbd09515732bec94d9',1,'shaka::WidevineSigner::iv()'],['../d0/d5d/structshaka_1_1RawKeyEncryptionParams.html#a2b8b36d5dd357a6b354de194bc3fb702',1,'shaka::RawKeyEncryptionParams::iv()']]] + ['generate_5fdash_5fif_5fiop_5fcompliant_5fmpd',['generate_dash_if_iop_compliant_mpd',['../df/ddc/structshaka_1_1MpdParams.html#aa1b2ec6746586d4981655cee62669ba2',1,'shaka::MpdParams']]], + ['generate_5fstatic_5flive_5fmpd',['generate_static_live_mpd',['../df/ddc/structshaka_1_1MpdParams.html#ab5a09b17ee41a0960e813bd0c72bf4f6',1,'shaka::MpdParams']]], + ['group_5fid',['group_id',['../d9/dd2/structshaka_1_1WidevineEncryptionParams.html#a6d69402cd4c66d546be180c7800e6d09',1,'shaka::WidevineEncryptionParams']]] ]; diff --git a/docs/search/variables_4.js b/docs/search/variables_4.js index 64257df9da..790b6238d3 100644 --- a/docs/search/variables_4.js +++ b/docs/search/variables_4.js @@ -1,13 +1,7 @@ var searchData= [ - ['kadtsheadersize',['kADTSHeaderSize',['../d0/da2/classshaka_1_1media_1_1AACAudioSpecificConfig.html#a233ffcb063079b9ca34863c48d4a19e1',1,'shaka::media::AACAudioSpecificConfig']]], - ['kdecryptionkeysize',['kDecryptionKeySize',['../de/d49/classshaka_1_1media_1_1DecryptConfig.html#afa140203b87d3e46d5fd94b231734f53',1,'shaka::media::DecryptConfig']]], - ['key',['key',['../df/d22/structshaka_1_1WidevineSigner.html#ad5c378d29df509280d8697f986163324',1,'shaka::WidevineSigner::key()'],['../df/d22/structshaka_1_1WidevineSigner.html#a25bb558aa06563d24c3d7f9733ff8898',1,'shaka::WidevineSigner::key()'],['../d3/df5/structshaka_1_1PlayreadyEncryptionParams.html#a2ba545b465d64da1ac9458ba45338f76',1,'shaka::PlayreadyEncryptionParams::key()']]], - ['key_5fid',['key_id',['../d3/df5/structshaka_1_1PlayreadyEncryptionParams.html#a872107e40137be5a6c1f932db67c2a9d',1,'shaka::PlayreadyEncryptionParams']]], - ['key_5fmap',['key_map',['../d0/d5d/structshaka_1_1RawKeyEncryptionParams.html#a70893a2ff3b6fc74fd53e9b00f2a023d',1,'shaka::RawKeyEncryptionParams::key_map()'],['../d9/da8/structshaka_1_1RawKeyDecryptionParams.html#a1ed59af3d5fe891e05acb4ee59ff6dc1',1,'shaka::RawKeyDecryptionParams::key_map()']]], - ['key_5fprovider',['key_provider',['../dc/da0/structshaka_1_1EncryptionParams.html#adcf61ebf8d129a5bcf3f159b9b076eed',1,'shaka::EncryptionParams::key_provider()'],['../d1/d4f/structshaka_1_1DecryptionParams.html#ad93d153f9e777cccb6404611d5b4d339',1,'shaka::DecryptionParams::key_provider()']]], - ['key_5fserver_5furl',['key_server_url',['../d9/dd2/structshaka_1_1WidevineEncryptionParams.html#ac222c5bd0620e5a6f9bf5e9fec534fb9',1,'shaka::WidevineEncryptionParams::key_server_url()'],['../d3/df5/structshaka_1_1PlayreadyEncryptionParams.html#a3a31b3002f86834b1799279bf5b5fc11',1,'shaka::PlayreadyEncryptionParams::key_server_url()'],['../d8/d48/structshaka_1_1WidevineDecryptionParams.html#adb765979bcc7f63ce46c9ed6ead1ee5b',1,'shaka::WidevineDecryptionParams::key_server_url()']]], - ['knokeyrotation',['kNoKeyRotation',['../dc/da0/structshaka_1_1EncryptionParams.html#a92ad4ca8e1ccb7d6b5fa2ee0b1b196fa',1,'shaka::EncryptionParams']]], - ['korderinvalid',['kOrderInvalid',['../dc/da6/classshaka_1_1media_1_1ContentEncoding.html#a3ba32d5ca8b0688b2dc6b2ec8a5be6d2',1,'shaka::media::ContentEncoding']]], - ['kprotectionschemecenc',['kProtectionSchemeCenc',['../dc/da0/structshaka_1_1EncryptionParams.html#a1d7a8c6b5e46b51ccadcaef3f9cf9cb0',1,'shaka::EncryptionParams']]] + ['include_5fcommon_5fpssh',['include_common_pssh',['../d9/dd2/structshaka_1_1WidevineEncryptionParams.html#a5985f2d6fbe33273654695050757d0b0',1,'shaka::WidevineEncryptionParams']]], + ['index_5frange',['index_range',['../d1/d03/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges.html#aa15231fb064efc4b56800df24b074b29',1,'shaka::media::MuxerListener::MediaRanges']]], + ['init_5frange',['init_range',['../d1/d03/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges.html#a6070da9ce7fab251c82b25a4020373c0',1,'shaka::media::MuxerListener::MediaRanges']]], + ['iv',['iv',['../df/d22/structshaka_1_1WidevineSigner.html#a6db96d4c3f1189bbd09515732bec94d9',1,'shaka::WidevineSigner::iv()'],['../d0/d5d/structshaka_1_1RawKeyEncryptionParams.html#a2b8b36d5dd357a6b354de194bc3fb702',1,'shaka::RawKeyEncryptionParams::iv()']]] ]; diff --git a/docs/search/variables_5.js b/docs/search/variables_5.js index eb380ea9e5..3a52abdbd0 100644 --- a/docs/search/variables_5.js +++ b/docs/search/variables_5.js @@ -1,4 +1,15 @@ var searchData= [ - ['mp4_5fuse_5fdecoding_5ftimestamp_5fin_5ftimeline',['mp4_use_decoding_timestamp_in_timeline',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#a4d3d8c1923a2e0f684c2591cd7f4a890',1,'shaka::media::MuxerOptions']]] + ['kadtsheadersize',['kADTSHeaderSize',['../d0/da2/classshaka_1_1media_1_1AACAudioSpecificConfig.html#a233ffcb063079b9ca34863c48d4a19e1',1,'shaka::media::AACAudioSpecificConfig']]], + ['kdecryptionkeysize',['kDecryptionKeySize',['../de/d49/classshaka_1_1media_1_1DecryptConfig.html#afa140203b87d3e46d5fd94b231734f53',1,'shaka::media::DecryptConfig']]], + ['key',['key',['../df/d22/structshaka_1_1WidevineSigner.html#ad5c378d29df509280d8697f986163324',1,'shaka::WidevineSigner::key()'],['../df/d22/structshaka_1_1WidevineSigner.html#a25bb558aa06563d24c3d7f9733ff8898',1,'shaka::WidevineSigner::key()'],['../d3/df5/structshaka_1_1PlayreadyEncryptionParams.html#a2ba545b465d64da1ac9458ba45338f76',1,'shaka::PlayreadyEncryptionParams::key()']]], + ['key_5fid',['key_id',['../d3/df5/structshaka_1_1PlayreadyEncryptionParams.html#a872107e40137be5a6c1f932db67c2a9d',1,'shaka::PlayreadyEncryptionParams']]], + ['key_5fmap',['key_map',['../d0/d5d/structshaka_1_1RawKeyEncryptionParams.html#a70893a2ff3b6fc74fd53e9b00f2a023d',1,'shaka::RawKeyEncryptionParams::key_map()'],['../d9/da8/structshaka_1_1RawKeyDecryptionParams.html#a1ed59af3d5fe891e05acb4ee59ff6dc1',1,'shaka::RawKeyDecryptionParams::key_map()']]], + ['key_5fprovider',['key_provider',['../dc/da0/structshaka_1_1EncryptionParams.html#adcf61ebf8d129a5bcf3f159b9b076eed',1,'shaka::EncryptionParams::key_provider()'],['../d1/d4f/structshaka_1_1DecryptionParams.html#ad93d153f9e777cccb6404611d5b4d339',1,'shaka::DecryptionParams::key_provider()']]], + ['key_5fserver_5furl',['key_server_url',['../d9/dd2/structshaka_1_1WidevineEncryptionParams.html#ac222c5bd0620e5a6f9bf5e9fec534fb9',1,'shaka::WidevineEncryptionParams::key_server_url()'],['../d3/df5/structshaka_1_1PlayreadyEncryptionParams.html#a3a31b3002f86834b1799279bf5b5fc11',1,'shaka::PlayreadyEncryptionParams::key_server_url()'],['../d8/d48/structshaka_1_1WidevineDecryptionParams.html#adb765979bcc7f63ce46c9ed6ead1ee5b',1,'shaka::WidevineDecryptionParams::key_server_url()']]], + ['knokeyrotation',['kNoKeyRotation',['../dc/da0/structshaka_1_1EncryptionParams.html#a92ad4ca8e1ccb7d6b5fa2ee0b1b196fa',1,'shaka::EncryptionParams']]], + ['knosidxboxinsegment',['kNoSidxBoxInSegment',['../d0/d43/structshaka_1_1Mp4OutputParams.html#a41ff299070f75fd0dca96d83706d32ff',1,'shaka::Mp4OutputParams']]], + ['korderinvalid',['kOrderInvalid',['../dc/da6/classshaka_1_1media_1_1ContentEncoding.html#a3ba32d5ca8b0688b2dc6b2ec8a5be6d2',1,'shaka::media::ContentEncoding']]], + ['kprotectionschemecenc',['kProtectionSchemeCenc',['../dc/da0/structshaka_1_1EncryptionParams.html#a1d7a8c6b5e46b51ccadcaef3f9cf9cb0',1,'shaka::EncryptionParams']]], + ['ksuggestedpresentationdelaynotset',['kSuggestedPresentationDelayNotSet',['../df/ddc/structshaka_1_1MpdParams.html#a13705544aac44c5d2065b8a842744bf0',1,'shaka::MpdParams']]] ]; diff --git a/docs/search/variables_6.js b/docs/search/variables_6.js index a224fec24b..1aa52f989e 100644 --- a/docs/search/variables_6.js +++ b/docs/search/variables_6.js @@ -1,4 +1,7 @@ var searchData= [ - ['num_5fsubsegments_5fper_5fsidx',['num_subsegments_per_sidx',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#a2db773300dadf681c40bef0b3eca3ece',1,'shaka::media::MuxerOptions']]] + ['min_5fbuffer_5ftime',['min_buffer_time',['../df/ddc/structshaka_1_1MpdParams.html#aee1510b64b9acbc17b8bfccac2e132a3',1,'shaka::MpdParams']]], + ['minimum_5fupdate_5fperiod',['minimum_update_period',['../df/ddc/structshaka_1_1MpdParams.html#a4a5dafe570fd7e35749ce12d83ca9559',1,'shaka::MpdParams']]], + ['mp4_5fparams',['mp4_params',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#aa616f5958ea9df2d70f3fe42ff47ff43',1,'shaka::media::MuxerOptions']]], + ['mpd_5foutput',['mpd_output',['../df/ddc/structshaka_1_1MpdParams.html#aa6ca18997bb307d3b5fe1c9ced161ff6',1,'shaka::MpdParams']]] ]; diff --git a/docs/search/variables_9.js b/docs/search/variables_9.js index d16f75918b..24eb0a6db9 100644 --- a/docs/search/variables_9.js +++ b/docs/search/variables_9.js @@ -1,14 +1,14 @@ var searchData= [ ['sample_5fencryption_5fdata',['sample_encryption_data',['../d4/dad/structshaka_1_1media_1_1mp4_1_1SampleEncryption.html#a621791262888f30b4ee8a8acb37cd5a3',1,'shaka::media::mp4::SampleEncryption']]], - ['segment_5fduration_5fin_5fseconds',['segment_duration_in_seconds',['../db/d02/structshaka_1_1media_1_1ChunkingOptions.html#a1cdbde61303f629cc9b4cbcd98f2d711',1,'shaka::media::ChunkingOptions']]], - ['segment_5fsap_5faligned',['segment_sap_aligned',['../db/d02/structshaka_1_1media_1_1ChunkingOptions.html#a0ae39a9eef9c4adc63916fa594f0fe64',1,'shaka::media::ChunkingOptions']]], + ['segment_5fduration_5fin_5fseconds',['segment_duration_in_seconds',['../d2/d1f/structshaka_1_1ChunkingParams.html#a01414f1502775576d68e45d172029358',1,'shaka::ChunkingParams']]], + ['segment_5fsap_5faligned',['segment_sap_aligned',['../d2/d1f/structshaka_1_1ChunkingParams.html#a1ab10c82260dc073fb3830efcdabb171',1,'shaka::ChunkingParams']]], ['segment_5ftemplate',['segment_template',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#ab98cfd28046fc5c52ab2a45dba1a339a',1,'shaka::media::MuxerOptions']]], ['signer',['signer',['../d9/dd2/structshaka_1_1WidevineEncryptionParams.html#a233141ad4baf2f2afce30f96adf340ae',1,'shaka::WidevineEncryptionParams::signer()'],['../d8/d48/structshaka_1_1WidevineDecryptionParams.html#acf84772bb9787f61110e388490412939',1,'shaka::WidevineDecryptionParams::signer()']]], ['signer_5fname',['signer_name',['../df/d22/structshaka_1_1WidevineSigner.html#a6768d5addb3c90f33ce5f241705c827e',1,'shaka::WidevineSigner']]], ['signing_5fkey_5ftype',['signing_key_type',['../df/d22/structshaka_1_1WidevineSigner.html#a656fbc14799c96fa8b822e3917070cf6',1,'shaka::WidevineSigner']]], ['stream_5flabel_5ffunc',['stream_label_func',['../dc/da0/structshaka_1_1EncryptionParams.html#a7686a6aca6a7c3d077a5d7215c39fc51',1,'shaka::EncryptionParams']]], - ['subsegment_5fduration_5fin_5fseconds',['subsegment_duration_in_seconds',['../db/d02/structshaka_1_1media_1_1ChunkingOptions.html#ac9368f6edb53d9dd90bc128b664a12e5',1,'shaka::media::ChunkingOptions']]], + ['subsegment_5fduration_5fin_5fseconds',['subsegment_duration_in_seconds',['../d2/d1f/structshaka_1_1ChunkingParams.html#ae303f5bf58edbb231b0cfbbf9c4e05d7',1,'shaka::ChunkingParams']]], ['subsegment_5franges',['subsegment_ranges',['../d1/d03/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges.html#a836626da601a9f6ea54502c7e5bdd7c9',1,'shaka::media::MuxerListener::MediaRanges']]], - ['subsegment_5fsap_5faligned',['subsegment_sap_aligned',['../db/d02/structshaka_1_1media_1_1ChunkingOptions.html#a6d9761fdfca7819c94baa23845ce9ad7',1,'shaka::media::ChunkingOptions']]] + ['subsegment_5fsap_5faligned',['subsegment_sap_aligned',['../d2/d1f/structshaka_1_1ChunkingParams.html#afcde8cc6cf9646c78f5bf13181022aa7',1,'shaka::ChunkingParams']]] ]; diff --git a/docs/search/variables_a.js b/docs/search/variables_a.js index 1c19a50ff1..0e9db6f563 100644 --- a/docs/search/variables_a.js +++ b/docs/search/variables_a.js @@ -1,4 +1,5 @@ var searchData= [ - ['temp_5fdir',['temp_dir',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#a872d1150a71d9f0fb5db0ab81334d614',1,'shaka::media::MuxerOptions']]] + ['temp_5fdir',['temp_dir',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#a872d1150a71d9f0fb5db0ab81334d614',1,'shaka::media::MuxerOptions']]], + ['time_5fshift_5fbuffer_5fdepth',['time_shift_buffer_depth',['../df/ddc/structshaka_1_1MpdParams.html#a95e4824708c8de4b882b86772f680032',1,'shaka::MpdParams']]] ]; diff --git a/docs/search/variables_b.js b/docs/search/variables_b.js index c6409a7305..3929deb245 100644 --- a/docs/search/variables_b.js +++ b/docs/search/variables_b.js @@ -1,4 +1,4 @@ var searchData= [ - ['vp9_5fsubsample_5fencryption',['vp9_subsample_encryption',['../dc/da0/structshaka_1_1EncryptionParams.html#a48d415f17d51306ce7e1931fd954c37c',1,'shaka::EncryptionParams']]] + ['use_5fdecoding_5ftimestamp_5fin_5ftimeline',['use_decoding_timestamp_in_timeline',['../d0/d43/structshaka_1_1Mp4OutputParams.html#a4e0de7f58e0a83896e14e5603e2f965f',1,'shaka::Mp4OutputParams']]] ]; diff --git a/docs/search/variables_c.html b/docs/search/variables_c.html new file mode 100644 index 0000000000..b2260e465b --- /dev/null +++ b/docs/search/variables_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/search/variables_c.js b/docs/search/variables_c.js new file mode 100644 index 0000000000..c6409a7305 --- /dev/null +++ b/docs/search/variables_c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['vp9_5fsubsample_5fencryption',['vp9_subsample_encryption',['../dc/da0/structshaka_1_1EncryptionParams.html#a48d415f17d51306ce7e1931fd954c37c',1,'shaka::EncryptionParams']]] +];