From 781d36e5d16782c18543e8d82abba7eb7bf518c9 Mon Sep 17 00:00:00 2001 From: Widevine Buildbot Date: Thu, 13 Jul 2017 00:24:33 +0000 Subject: [PATCH] Generate SDK documents for commit 0dfdace2807c5e9ec719a50b379fb47cb0f0f2c1 --- docs/annotated.html | 188 ++-- docs/classes.html | 148 +-- ...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 | 2 +- ...media_1_1mp2t_1_1TsSectionPmt-members.html | 2 +- .../structshaka_1_1media_1_1VPxFrameInfo.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 | 2 +- .../d0/d30/mock__mpd__notifier_8h_source.html | 2 +- docs/d0/d32/mp2t__common_8h_source.html | 2 +- .../d33/classshaka_1_1MockRepresentation.html | 2 +- docs/d0/d35/es__descriptor_8cc_source.html | 2 +- ...s__notify__muxer__listener_8cc_source.html | 52 +- 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 +- docs/d0/d46/fourccs_8h_source.html | 2 +- ...shaka_1_1media_1_1SegmentInfo-members.html | 2 +- ...nfo__dump__muxer__listener_8cc_source.html | 115 +-- ...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 | 4 +- ...classshaka_1_1media_1_1ThreadedIoFile.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 | 11 +- ...1_1media_1_1EncryptionHandler-members.html | 2 +- ...classshaka_1_1media_1_1FixedKeySource.html | 2 +- docs/d0/dae/file__util_8h_source.html | 2 +- ...webm_1_1MultiSegmentSegmenter-members.html | 33 +- .../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 | 2 +- docs/d0/df3/packager__util_8cc_source.html | 2 +- ...ia_1_1mp4_1_1AudioSampleEntry-members.html | 2 +- ...media_1_1MuxerListener_1_1MediaRanges.html | 143 +++ .../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 | 124 +++ ...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 +- docs/d1/d2b/file__util_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 +- ...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 +- ...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 | 2 +- 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 | 4 +- docs/d2/d17/ts__section__pat_8cc_source.html | 2 +- .../d2/d23/threaded__io__file_8cc_source.html | 2 +- docs/d2/d24/packager__util_8h_source.html | 2 +- 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 +- docs/d2/d4d/file_8h_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 | 2 +- ...a_1_1H264ModificationOfPicNum-members.html | 2 +- .../d62/simple__mpd__notifier_8h_source.html | 2 +- ...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 | 2 +- .../d7b/simple__mpd__notifier_8cc_source.html | 2 +- ...ac__audio__specific__config_8h_source.html | 2 +- ...haka_1_1media_1_1mp4_1_1CuePayloadBox.html | 2 +- ...ls__notify__muxer__listener_8h_source.html | 72 +- ...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/da6/threaded__io__file_8h_source.html | 2 +- docs/d2/da8/mp4_2segmenter_8cc_source.html | 4 +- ...haka_1_1media_1_1BufferWriter-members.html | 2 +- ...assshaka_1_1MockAdaptationSet-members.html | 2 +- docs/d2/dae/webm__muxer_8cc_source.html | 70 +- ...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 | 2 +- ...program__map__table__writer_8h_source.html | 2 +- ...a_1_1media_1_1mp4_1_1EditList-members.html | 2 +- ...a_1_1media_1_1ChunkingOptions-members.html | 2 +- ...edia_1_1webm_1_1MultiSegmentSegmenter.html | 5 +- docs/d2/dd6/mkv__writer_8h_source.html | 2 +- ...a_1_1media_1_1ChunkingHandler-members.html | 2 +- ...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 | 57 +- 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 +- ..._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 +- docs/d3/d19/io__cache_8h_source.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 +- docs/d3/d61/classshaka_1_1media_1_1File.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 +- .../structshaka_1_1media_1_1FileCloser.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 | 7 +- ...ctshaka_1_1media_1_1mp4_1_1SchemeType.html | 2 +- .../structshaka_1_1media_1_1mp4_1_1ID3v2.html | 2 +- ...1_1media_1_1EncryptionOptions-members.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 +- ...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 +- ...ssshaka_1_1media_1_1AesPatternCryptor.html | 2 +- ...2multi__segment__segmenter_8cc_source.html | 314 +++--- ...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 +- docs/d4/d37/io__cache_8cc_source.html | 2 +- ...ructshaka_1_1media_1_1H264Sps-members.html | 2 +- ...lassshaka_1_1media_1_1ChunkingHandler.html | 2 +- ...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 +- ...lassshaka_1_1media_1_1UdpFile-members.html | 2 +- .../d70/classshaka_1_1DashIopMpdNotifier.html | 2 +- .../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 +- .../classshaka_1_1media_1_1UdpOptions.html | 2 +- ...haka_1_1media_1_1MediaHandlerTestBase.html | 2 +- ...sshaka_1_1media_1_1PlayReadyKeySource.html | 2 +- .../da7/segmenter__test__base_8cc_source.html | 2 +- ...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 | 2 +- ...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 +- ...sshaka_1_1media_1_1MemoryFile-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 | 4 +- 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 +- ...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 | 71 +- ...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 | 53 +- ...shaka_1_1media_1_1MediaParser-members.html | 2 +- docs/d5/dfc/file_8cc_source.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 | 4 +- .../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 | 68 +- 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 | 2 +- ...1media_1_1mp4_1_1VTTAdditionalTextBox.html | 2 +- .../d7b/webm__tracks__parser_8h_source.html | 2 +- ..._1media_1_1mp4_1_1AC3Specific-members.html | 2 +- ...ctshaka_1_1media_1_1EncryptionOptions.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 | 2 +- ...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 +- ...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 +- ...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/local__file_8cc_source.html | 2 +- docs/d6/de8/network__util_8h_source.html | 2 +- docs/d6/de9/ts__segmenter_8cc_source.html | 4 +- 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 | 191 ++-- docs/d7/d12/media__parser_8h_source.html | 2 +- docs/d7/d15/mpd__notifier_8h_source.html | 2 +- ...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 +- ..._1media_1_1mp4_1_1MediaHeader-members.html | 2 +- ...ka_1_1media_1_1H264SEIMessage-members.html | 2 +- docs/d7/d79/chunking__handler_8h_source.html | 2 +- .../d7a/classshaka_1_1media_1_1UdpFile.html | 2 +- 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 | 2 +- ...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 +- ...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 | 2 +- .../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 +- 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 +- ...a_1_1media_1_1mp4_1_1Metadata-members.html | 2 +- .../classshaka_1_1media_1_1TracksBuilder.html | 2 +- ...assshaka_1_1media_1_1WebMTracksParser.html | 2 +- ...1media_1_1mp4_1_1MovieExtends-members.html | 2 +- docs/d8/d8e/classshaka_1_1AdaptationSet.html | 2 +- ...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 +- docs/d8/d9f/udp__file_8h_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 | 2 +- ...media_1_1mp4_1_1MultiSegmentSegmenter.html | 5 +- ...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 | 2 +- .../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 | 154 +-- ...a_1_1media_1_1SegmentTestBase-members.html | 2 +- ...to__byte__stream__converter_8h_source.html | 2 +- ...media_1_1OnMediaEndParameters-members.html | 9 +- ...2single__segment__segmenter_8h_source.html | 82 +- docs/d9/d08/mock__mpd__builder_8h_source.html | 2 +- ...dia_1_1HlsNotifyMuxerListener-members.html | 4 +- .../classshaka_1_1media_1_1RsaPublicKey.html | 2 +- docs/d9/d12/chunking__handler_8cc_source.html | 2 +- .../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 | 9 +- ...aka_1_1media_1_1TracksBuilder-members.html | 2 +- .../classshaka_1_1media_1_1File-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 | 107 ++ ...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 | 22 +- ...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 | 53 +- .../structshaka_1_1media_1_1Cue-members.html | 2 +- ..._1_1media_1_1mp4_1_1Segmenter-members.html | 27 +- ..._1_1CompositionOffsetIterator-members.html | 2 +- ...ntent__protection__element_8cc_source.html | 2 +- docs/d9/db9/muxer_8cc_source.html | 2 +- .../classshaka_1_1media_1_1MemoryFile.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 +- .../d9/de0/structshaka_1_1media_1_1Range.html | 123 +++ .../muxer__listener__internal_8cc_source.html | 452 ++++----- .../de6/classshaka_1_1media_1_1LocalFile.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 +- docs/da/d1d/udp__options_8cc_source.html | 2 +- ...haka_1_1media_1_1mp2t_1_1EsParserH26x.html | 2 +- docs/da/d23/ts__muxer_8h_source.html | 2 +- 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 | 47 +- ...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 | 31 +- ..._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 | 935 +++++++++--------- ...a_1_1media_1_1WebMMediaParser-members.html | 2 +- docs/da/d8e/container__names_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 | 2 +- ...1_1media_1_1MockMuxerListener-members.html | 12 +- ...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 +- 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 | 2 +- ...ructshaka_1_1media_1_1ChunkingOptions.html | 2 +- ...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 | 4 +- ...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 | 92 +- .../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 | 2 +- .../media__handler__test__base_8h_source.html | 2 +- .../d5a/classshaka_1_1media_1_1VP9Parser.html | 2 +- docs/db/d60/mpd__options_8h_source.html | 2 +- .../d64/webvtt__media__parser_8h_source.html | 2 +- ..._1media_1_1mp4_1_1SegmentType-members.html | 2 +- docs/db/d66/udp__file_8cc_source.html | 2 +- docs/db/d71/http__key__fetcher_8h_source.html | 2 +- ...EVCDecoderConfigurationRecord-members.html | 2 +- ...TwoPassSingleSegmentSegmenter-members.html | 49 +- ..._1_1mp2t_1_1ContinuityCounter-members.html | 2 +- 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 | 143 +-- ...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 +- docs/db/da6/memory__file_8h_source.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 | 25 +- ...ka_1_1media_1_1mp4_1_1TrackEncryption.html | 2 +- .../dcb/classshaka_1_1media_1_1VPxParser.html | 2 +- docs/db/dcd/classshaka_1_1MpdWriter.html | 2 +- ..._1media_1_1mp4_1_1DTSSpecific-members.html | 2 +- ...edia_1_1VodMediaInfoDumpMuxerListener.html | 55 +- .../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 | 2 +- ...edia_1_1H265ByteToUnitStreamConverter.html | 2 +- docs/db/dfb/mpd__utils_8cc_source.html | 2 +- ...d__notify__muxer__listener_8cc_source.html | 119 ++- ..._1_1media_1_1mp4_1_1ChunkInfo-members.html | 2 +- ...lassshaka_1_1media_1_1IoCache-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 | 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 | 4 +- ...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 | 29 +- ...1_1media_1_1mp2t_1_1TsSection-members.html | 2 +- ...ssshaka_1_1media_1_1MockMuxerListener.html | 68 +- 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 | 106 ++ ...tshaka_1_1media_1_1mp4_1_1DTSSpecific.html | 2 +- docs/dc/da1/classshaka_1_1MpdBuilder.html | 2 +- ...lassshaka_1_1media_1_1ContentEncoding.html | 2 +- ...tshaka_1_1media_1_1FileCloser-members.html | 2 +- docs/dc/dbf/box__buffer_8h_source.html | 2 +- ...1xml_1_1RepresentationXmlNode-members.html | 2 +- ...classshaka_1_1media_1_1WebMListParser.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 | 45 +- ...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 | 2 +- docs/dd/d12/mpd__writer_8cc_source.html | 2 +- ...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 | 205 ++-- ...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 +- ...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 | 59 +- .../d7c/classshaka_1_1media_1_1IoCache.html | 2 +- docs/dd/d80/media__sample_8h_source.html | 2 +- docs/dd/d87/memory__file_8cc_source.html | 2 +- .../d88/pes__packet__generator_8h_source.html | 2 +- docs/dd/d8c/file__test__util_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 | 5 +- ...info__dump__muxer__listener_8h_source.html | 76 +- docs/dd/dab/webm__muxer_8h_source.html | 2 +- ..._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 | 7 +- ...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 | 32 +- ...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 +- docs/dd/dee/box__definitions_8cc_source.html | 2 +- ..._2multi__segment__segmenter_8h_source.html | 47 +- ...a_1_1media_1_1mp4_1_1TrackFragmentRun.html | 2 +- ...ructshaka_1_1media_1_1mp4_1_1Metadata.html | 2 +- docs/de/d0f/local__file_8h_source.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 | 411 ++++---- .../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 | 41 +- docs/de/d52/classshaka_1_1Representation.html | 2 +- ...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 +- ...ox__definitions__comparison_8h_source.html | 2 +- ...ssshaka_1_1media_1_1LocalFile-members.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/dbf/udp__options_8h_source.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 +- docs/de/dcf/file__closer_8h_source.html | 2 +- ...ontent__protection__element_8h_source.html | 2 +- ...er__listener__test__helper_8cc_source.html | 217 ++-- .../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 | 127 +-- ...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 +- 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 +- ...ka_1_1media_1_1ThreadedIoFile-members.html | 2 +- ...t_1_1AacProgramMapTableWriter-members.html | 2 +- ...aka_1_1media_1_1RsaPrivateKey-members.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 | 31 +- 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/webm_2segmenter_8h_source.html | 248 ++--- 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 +- ...sshaka_1_1media_1_1UdpOptions-members.html | 2 +- ...dy__key__encryption__flags_8cc_source.html | 2 +- .../dir_0494b8c96e3190a776d2b97ade9c8ddf.html | 2 +- .../dir_2618cd273dea54f184e42d7a562af818.html | 2 +- .../dir_263e692158cf359dd655c259558153d6.html | 2 +- .../dir_279fd47bebb21302c25cfb685e84c359.html | 2 +- .../dir_2eceb70145328c029a5f43350007537a.html | 2 +- .../dir_39dc0668bd5a501998f94e8b4e546c71.html | 2 +- .../dir_3e9291fd7a18fdecc763294cb2628910.html | 2 +- .../dir_49627ef5ef0630f6cf11dd06344c4cf0.html | 2 +- .../dir_5039d854a18988ed1f1dbebc120ffbf7.html | 2 +- .../dir_65f7acfa8cf3a5f1edc11faa2428b914.html | 2 +- .../dir_679a6f4e9fa092b388fc986148018f2a.html | 2 +- .../dir_7f5e01ba7faf319a30cabd201b6ef121.html | 2 +- .../dir_89dd766eb2df7d7257dbe806a34404af.html | 2 +- .../dir_aa73376d632f252584a1c0dfbefab2c4.html | 2 +- .../dir_b0da65f92a9541ef8f345654d4bd88fd.html | 2 +- .../dir_ba94ecd487194410fd7c4b70c530929c.html | 2 +- .../dir_c6ada2450b25ab5438a4dba6c9b890af.html | 4 +- .../dir_d422163b96683743ed3963d4aac17747.html | 2 +- .../dir_ebd49ab0652c2e9158bbb57c55382729.html | 2 +- .../dir_eeaeb49ac3913fcfb450d3ce9cc0141b.html | 2 +- .../dir_f7dcbe7025bbacfc4b9a7dff6ad41d72.html | 2 +- docs/files.html | 41 +- docs/functions.html | 2 +- docs/functions_b.html | 2 +- docs/functions_c.html | 2 +- docs/functions_d.html | 2 +- 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 | 11 +- 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 | 2 +- docs/functions_h.html | 2 +- docs/functions_i.html | 12 +- docs/functions_k.html | 2 +- docs/functions_l.html | 2 +- docs/functions_m.html | 2 +- docs/functions_n.html | 2 +- docs/functions_o.html | 11 +- docs/functions_p.html | 2 +- docs/functions_r.html | 2 +- docs/functions_s.html | 5 +- docs/functions_t.html | 2 +- docs/functions_type.html | 2 +- docs/functions_u.html | 2 +- docs/functions_v.html | 2 +- docs/functions_vars.html | 11 +- docs/functions_w.html | 2 +- docs/functions_x.html | 2 +- docs/functions_~.html | 2 +- docs/hierarchy.html | 214 ++-- docs/index.html | 2 +- docs/namespacemembers.html | 2 +- docs/namespacemembers_func.html | 2 +- docs/namespaces.html | 2 +- docs/search/all_10.js | 1 + docs/search/all_8.js | 2 + docs/search/all_b.js | 5 +- docs/search/all_d.js | 2 +- docs/search/all_f.js | 1 + docs/search/classes_a.js | 1 + docs/search/classes_e.js | 1 + docs/search/functions_c.js | 2 +- docs/search/search.js | 2 +- docs/search/variables_2.js | 5 +- docs/search/variables_3.js | 4 +- docs/search/variables_4.js | 2 +- docs/search/variables_5.js | 2 +- docs/search/variables_6.js | 3 +- docs/search/variables_7.js | 9 +- docs/search/variables_8.js | 9 +- docs/search/variables_9.js | 2 +- docs/search/variables_a.html | 26 + docs/search/variables_a.js | 4 + 1012 files changed, 4473 insertions(+), 3824 deletions(-) create mode 100644 docs/d1/d03/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges.html create mode 100644 docs/d1/d12/range_8h_source.html create mode 100644 docs/d9/d65/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges-members.html create mode 100644 docs/d9/de0/structshaka_1_1media_1_1Range.html create mode 100644 docs/dc/d9a/structshaka_1_1media_1_1Range-members.html create mode 100644 docs/search/variables_a.html create mode 100644 docs/search/variables_a.js diff --git a/docs/annotated.html b/docs/annotated.html index 43938ed0b6..078a73b02a 100644 --- a/docs/annotated.html +++ b/docs/annotated.html @@ -261,98 +261,100 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ||oCPlayReadyKeySourceA key source that uses playready for encryption ||oCProducerConsumerQueue ||oCProtectionSystemSpecificInfo -||oCRequestSignerAbstract class used for signature generation -||oCAesRequestSignerAesRequestSigner uses AES-CBC signing -||oCRsaRequestSignerRsaRequestSigner uses RSA-PSS signing -||oCRsaPrivateKeyRsa private key, used for message signing and decryption -||oCRsaPublicKeyRsa public key, used for signature verification and encryption -||oCStreamInfoAbstract class holds stream information -||oCTextSample -||oCTextStreamInfo -||oCTextTrack -||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 -||oCEncryptionOptionsThis structure defines encryption options -||oCEncryptionHandler -||oCDemuxer -||oCHlsNotifyMuxerListenerMuxerListener that uses HlsNotifier -||oCMockMuxerListener -||oCMpdNotifyMuxerListener -||oCMuxerListener -||oCVideoStreamInfoParameters -||oCOnMediaEndParameters -||oCProgressListenerThis class listens to progress updates events -||oCVodMediaInfoDumpMuxerListener -||oCFileDefine an abstract file interface -||oCFileCloser -||oCIoCacheDeclaration of class which implements a thread-safe circular buffer -||oCLocalFileImplement LocalFile which deals with local storage -||oCMemoryFile -||oCThreadedIoFileDeclaration of class which implements a thread-safe circular buffer -||oCUdpFileImplements UdpFile, which receives UDP unicast and multicast streams -||oCUdpOptionsOptions parsed from UDP url string of the form: udp://ip:port[?options] -||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 -||\CTrickPlayHandler +||oCRange +||oCRequestSignerAbstract class used for signature generation +||oCAesRequestSignerAesRequestSigner uses AES-CBC signing +||oCRsaRequestSignerRsaRequestSigner uses RSA-PSS signing +||oCRsaPrivateKeyRsa private key, used for message signing and decryption +||oCRsaPublicKeyRsa public key, used for signature verification and encryption +||oCStreamInfoAbstract class holds stream information +||oCTextSample +||oCTextStreamInfo +||oCTextTrack +||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 +||oCEncryptionOptionsThis structure defines encryption options +||oCEncryptionHandler +||oCDemuxer +||oCHlsNotifyMuxerListenerMuxerListener that uses HlsNotifier +||oCMockMuxerListener +||oCMpdNotifyMuxerListener +||oCMuxerListener +|||\CMediaRanges +||oCVideoStreamInfoParameters +||oCOnMediaEndParameters +||oCProgressListenerThis class listens to progress updates events +||oCVodMediaInfoDumpMuxerListener +||oCFileDefine an abstract file interface +||oCFileCloser +||oCIoCacheDeclaration of class which implements a thread-safe circular buffer +||oCLocalFileImplement LocalFile which deals with local storage +||oCMemoryFile +||oCThreadedIoFileDeclaration of class which implements a thread-safe circular buffer +||oCUdpFileImplements UdpFile, which receives UDP unicast and multicast streams +||oCUdpOptionsOptions parsed from UDP url string of the form: udp://ip:port[?options] +||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 +||\CTrickPlayHandler |oNxml ||oCXmlDeleter ||oCXmlNode @@ -382,7 +384,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/classes.html b/docs/classes.html index aee2206af0..1f0aa8ce39 100644 --- a/docs/classes.html +++ b/docs/classes.html @@ -89,99 +89,99 @@ 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 | U | V | W | X
- - - - - + + + - - + - - - - + + + - - - - - - - - + + + + + + + + - - - + + - - - - - - + + + + + + + - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + + - - + - - - - - - + + + + + + +
  A  
-
DecodingTimeIterator (shaka::media::mp4)   IoCache (shaka::media)   PesPacketGenerator (shaka::media::mp2t)   TrackExtends (shaka::media::mp4)   
DecodingTimeToSample (shaka::media::mp4)   
  K  
+
DecodingTimeToSample (shaka::media::mp4)   
  K  
PixelAspectRatio (shaka::media::mp4)   TrackFragment (shaka::media::mp4)   
AACAudioSpecificConfig (shaka::media)   DecryptConfig (shaka::media)   PlayReadyKeySource (shaka::media)   TrackFragmentDecodeTime (shaka::media::mp4)   
AacProgramMapTableWriter (shaka::media::mp2t)   DecryptorSource (shaka::media)   KeyFetcher (shaka::media)   PrevSampleData (shaka::media::wvm)   TrackFragmentHeader (shaka::media::mp4)   
AC3Specific (shaka::media::mp4)   Demuxer (shaka::media)   KeySource (shaka::media)   PrivFrame (shaka::media::mp4)   TrackFragmentRun (shaka::media::mp4)   
AdaptationSet (shaka)   DemuxStreamIdMediaSample (shaka::media::wvm)   
  L  
+
DecryptConfig (shaka::media)   PlayReadyKeySource (shaka::media)   TrackFragmentDecodeTime (shaka::media::mp4)   
AACAudioSpecificConfig (shaka::media)   DecryptorSource (shaka::media)   KeyFetcher (shaka::media)   PrevSampleData (shaka::media::wvm)   TrackFragmentHeader (shaka::media::mp4)   
AacProgramMapTableWriter (shaka::media::mp2t)   Demuxer (shaka::media)   KeySource (shaka::media)   PrivFrame (shaka::media::mp4)   TrackFragmentRun (shaka::media::mp4)   
AC3Specific (shaka::media::mp4)   DemuxStreamIdMediaSample (shaka::media::wvm)   
  L  
ProducerConsumerQueue (shaka::media)   TrackHeader (shaka::media::mp4)   
AdaptationSetXmlNode (shaka::xml)   DTSSpecific (shaka::media::mp4)   ProgramMapTableWriter (shaka::media::mp2t)   TrackRunIterator (shaka::media::mp4)   
AdtsHeader (shaka::media::mp2t)   
  E  
+
AdaptationSet (shaka)   DTSSpecific (shaka::media::mp4)   ProgramMapTableWriter (shaka::media::mp2t)   TrackRunIterator (shaka::media::mp4)   
AdaptationSetXmlNode (shaka::xml)   
  E  
Language (shaka::media::mp4)   ProgressListener (shaka::media)   TracksBuilder (shaka::media)   
AesCbcDecryptor (shaka::media)   LibcryptoThreading (shaka::media)   ProtectionSchemeInfo (shaka::media::mp4)   TrickPlayHandler (shaka::media)   
AesCbcEncryptor (shaka::media)   EC3Specific (shaka::media::mp4)   LocalFile (shaka::media)   ProtectionSystemSpecificHeader (shaka::media::mp4)   TsMuxer (shaka::media::mp2t)   
AesCryptor (shaka::media)   Edit (shaka::media::mp4)   H265SliceHeader::LongTermPicsInfo (shaka::media)   ProtectionSystemSpecificInfo (shaka::media)   TsPacket (shaka::media::mp2t)   
AesCtrEncryptor (shaka::media)   EditList (shaka::media::mp4)   
  M  
+
AdtsHeader (shaka::media::mp2t)   LibcryptoThreading (shaka::media)   ProtectionSchemeInfo (shaka::media::mp4)   TrickPlayHandler (shaka::media)   
AesCbcDecryptor (shaka::media)   EC3Specific (shaka::media::mp4)   LocalFile (shaka::media)   ProtectionSystemSpecificHeader (shaka::media::mp4)   TsMuxer (shaka::media::mp2t)   
AesCbcEncryptor (shaka::media)   Edit (shaka::media::mp4)   H265SliceHeader::LongTermPicsInfo (shaka::media)   ProtectionSystemSpecificInfo (shaka::media)   TsPacket (shaka::media::mp2t)   
AesCryptor (shaka::media)   EditList (shaka::media::mp4)   
  M  
  R  
TsSection (shaka::media::mp2t)   
AesEncryptor (shaka::media)   EditListEntry (shaka::media::mp4)   TsSectionPat (shaka::media::mp2t)   
AesPatternCryptor (shaka::media)   Element (shaka)   Media (shaka::media::mp4)   Representation (shaka)   TsSectionPes (shaka::media::mp2t)   
AesRequestSigner (shaka::media)   ElementaryStreamDescriptor (shaka::media::mp4)   MediaData (shaka::media::mp4)   RepresentationBaseXmlNode (shaka::xml)   TsSectionPmt (shaka::media::mp2t)   
AudioRollRecoveryEntry (shaka::media::mp4)   EncryptionConfig (shaka::media)   MediaEvent (shaka::media)   RepresentationStateChangeListener (shaka)   TsSectionPsi (shaka::media::mp2t)   
AudioSampleEntry (shaka::media::mp4)   EncryptionHandler (shaka::media)   MediaHandler (shaka::media)   RepresentationXmlNode (shaka::xml)   TsSegmenter (shaka::media::mp2t)   
AudioStreamInfo (shaka::media)   EncryptionKey (shaka::media)   MediaHandlerTestBase (shaka::media)   RequestSigner (shaka::media)   TsWriter (shaka::media::mp2t)   
AudioTimestampHelper (shaka::media)   EncryptionOptions (shaka::media)   MediaHeader (shaka::media::mp4)   RsaPrivateKey (shaka::media)   TwoPassSingleSegmentSegmenter (shaka::media::webm)   
AVCDecoderConfigurationRecord (shaka::media)   ESDescriptor (shaka::media)   MediaInformation (shaka::media::mp4)   RsaPublicKey (shaka::media)   
  U  
+
AesCtrEncryptor (shaka::media)   EditListEntry (shaka::media::mp4)   TsSectionPat (shaka::media::mp2t)   
AesEncryptor (shaka::media)   Element (shaka)   Media (shaka::media::mp4)   Range (shaka::media)   TsSectionPes (shaka::media::mp2t)   
AesPatternCryptor (shaka::media)   ElementaryStreamDescriptor (shaka::media::mp4)   MediaData (shaka::media::mp4)   Representation (shaka)   TsSectionPmt (shaka::media::mp2t)   
AesRequestSigner (shaka::media)   EncryptionConfig (shaka::media)   MediaEvent (shaka::media)   RepresentationBaseXmlNode (shaka::xml)   TsSectionPsi (shaka::media::mp2t)   
AudioRollRecoveryEntry (shaka::media::mp4)   EncryptionHandler (shaka::media)   MediaHandler (shaka::media)   RepresentationStateChangeListener (shaka)   TsSegmenter (shaka::media::mp2t)   
AudioSampleEntry (shaka::media::mp4)   EncryptionKey (shaka::media)   MediaHandlerTestBase (shaka::media)   RepresentationXmlNode (shaka::xml)   TsWriter (shaka::media::mp2t)   
AudioStreamInfo (shaka::media)   EncryptionOptions (shaka::media)   MediaHeader (shaka::media::mp4)   RequestSigner (shaka::media)   TwoPassSingleSegmentSegmenter (shaka::media::webm)   
AudioTimestampHelper (shaka::media)   ESDescriptor (shaka::media)   MediaInformation (shaka::media::mp4)   RsaPrivateKey (shaka::media)   
  U  
AVCDecoderConfigurationRecord (shaka::media)   EsParser (shaka::media::mp2t)   MediaParser (shaka::media)   RsaPublicKey (shaka::media)   
  B  
-
EsParser (shaka::media::mp2t)   MediaParser (shaka::media)   RsaRequestSigner (shaka::media)   
EsParserAdts (shaka::media::mp2t)   MediaSample (shaka::media)   
  S  
-
UdpFile (shaka::media)   
BandwidthEstimator   EsParserH264 (shaka::media::mp2t)   MemoryFile (shaka::media)   UdpOptions (shaka::media)   
BitReader (shaka::media)   EsParserH265 (shaka::media::mp2t)   Metadata (shaka::media::mp4)   SampleAuxiliaryInformationOffset (shaka::media::mp4)   
  V  
+
EsParserAdts (shaka::media::mp2t)   MuxerListener::MediaRanges (shaka::media)   RsaRequestSigner (shaka::media)   UdpFile (shaka::media)   
EsParserH264 (shaka::media::mp2t)   MediaSample (shaka::media)   
  S  
+
UdpOptions (shaka::media)   
BandwidthEstimator   EsParserH265 (shaka::media::mp2t)   MemoryFile (shaka::media)   
  V  
Box (shaka::media::mp4)   EsParserH26x (shaka::media::mp2t)   MkvWriter (shaka::media)   SampleAuxiliaryInformationSize (shaka::media::mp4)   
BoxBuffer (shaka::media::mp4)   
  F  
-
MockAdaptationSet (shaka)   SampleDescription (shaka::media::mp4)   VideoMediaHeader (shaka::media::mp4)   
BoxReader (shaka::media::mp4)   MockMpdBuilder (shaka)   SampleEncryption (shaka::media::mp4)   VideoSampleEntry (shaka::media::mp4)   
BufferReader (shaka::media)   FakeMediaHandler (shaka::media)   MockMpdNotifier (shaka)   SampleEncryptionEntry (shaka::media::mp4)   VideoSliceHeaderParser (shaka::media)   
BufferWriter (shaka::media)   File (shaka::media)   MockMuxerListener (shaka::media)   SampleGroupDescription (shaka::media::mp4)   EsParserH26x::VideoSliceInfo (shaka::media::mp2t)   
ByteQueue (shaka::media)   FileCloser (shaka::media)   MockRepresentation (shaka)   SampleSize (shaka::media::mp4)   VideoStreamInfo (shaka::media)   
BitReader (shaka::media)   EsParserH26x (shaka::media::mp2t)   Metadata (shaka::media::mp4)   SampleAuxiliaryInformationOffset (shaka::media::mp4)   
Box (shaka::media::mp4)   
  F  
+
MkvWriter (shaka::media)   SampleAuxiliaryInformationSize (shaka::media::mp4)   VideoMediaHeader (shaka::media::mp4)   
BoxBuffer (shaka::media::mp4)   MockAdaptationSet (shaka)   SampleDescription (shaka::media::mp4)   VideoSampleEntry (shaka::media::mp4)   
BoxReader (shaka::media::mp4)   FakeMediaHandler (shaka::media)   MockMpdBuilder (shaka)   SampleEncryption (shaka::media::mp4)   VideoSliceHeaderParser (shaka::media)   
BufferReader (shaka::media)   File (shaka::media)   MockMpdNotifier (shaka)   SampleEncryptionEntry (shaka::media::mp4)   EsParserH26x::VideoSliceInfo (shaka::media::mp2t)   
BufferWriter (shaka::media)   FileCloser (shaka::media)   MockMuxerListener (shaka::media)   SampleGroupDescription (shaka::media::mp4)   VideoStreamInfo (shaka::media)   
ByteQueue (shaka::media)   FileType (shaka::media::mp4)   MockRepresentation (shaka)   SampleSize (shaka::media::mp4)   VideoStreamInfoParameters (shaka::media)   
  C  
-
FileType (shaka::media::mp4)   Movie (shaka::media::mp4)   SampleTable (shaka::media::mp4)   VideoStreamInfoParameters (shaka::media)   
FixedKeySource (shaka::media)   MovieExtends (shaka::media::mp4)   SampleToChunk (shaka::media::mp4)   VodMediaInfoDumpMuxerListener (shaka::media)   
CencSampleEncryptionInfoEntry (shaka::media::mp4)   Fragmenter (shaka::media::mp4)   MovieExtendsHeader (shaka::media::mp4)   SampleToGroup (shaka::media::mp4)   VP8Parser (shaka::media)   
ChunkInfo (shaka::media::mp4)   FullBox (shaka::media::mp4)   MovieFragment (shaka::media::mp4)   SampleToGroupEntry (shaka::media::mp4)   VP9Parser (shaka::media)   
ChunkInfoIterator (shaka::media::mp4)   
  H  
-
MovieFragmentHeader (shaka::media::mp4)   SchemeInfo (shaka::media::mp4)   VPCodecConfigurationRecord (shaka::media)   
ChunkingHandler (shaka::media)   MovieHeader (shaka::media::mp4)   SchemeType (shaka::media::mp4)   VPxFrameInfo (shaka::media)   
ChunkingOptions (shaka::media)   H264ByteToUnitStreamConverter (shaka::media)   Mp2tMediaParser (shaka::media::mp2t)   SeekHead (shaka::media)   VPxParser (shaka::media)   
ChunkLargeOffset (shaka::media::mp4)   H264DecRefPicMarking (shaka::media)   MP4MediaParser (shaka::media::mp4)   Segmenter (shaka::media::mp4)   VTTAdditionalTextBox (shaka::media::mp4)   
ChunkOffset (shaka::media::mp4)   H264ModificationOfPicNum (shaka::media)   MP4Muxer (shaka::media::mp4)   Segmenter (shaka::media::webm)   VTTCueBox (shaka::media::mp4)   
ClosureThread (shaka::media)   H264Parser (shaka::media)   MpdBuilder (shaka)   SegmentIndex (shaka::media::mp4)   VTTEmptyCueBox (shaka::media::mp4)   
Cluster (shaka::media)   H264Pps (shaka::media)   MpdNotifier (shaka)   SegmentInfo (shaka::media)   
  W  
+
FixedKeySource (shaka::media)   Movie (shaka::media::mp4)   SampleTable (shaka::media::mp4)   VodMediaInfoDumpMuxerListener (shaka::media)   
Fragmenter (shaka::media::mp4)   MovieExtends (shaka::media::mp4)   SampleToChunk (shaka::media::mp4)   VP8Parser (shaka::media)   
CencSampleEncryptionInfoEntry (shaka::media::mp4)   FullBox (shaka::media::mp4)   MovieExtendsHeader (shaka::media::mp4)   SampleToGroup (shaka::media::mp4)   VP9Parser (shaka::media)   
ChunkInfo (shaka::media::mp4)   
  H  
+
MovieFragment (shaka::media::mp4)   SampleToGroupEntry (shaka::media::mp4)   VPCodecConfigurationRecord (shaka::media)   
ChunkInfoIterator (shaka::media::mp4)   MovieFragmentHeader (shaka::media::mp4)   SchemeInfo (shaka::media::mp4)   VPxFrameInfo (shaka::media)   
ChunkingHandler (shaka::media)   H264ByteToUnitStreamConverter (shaka::media)   MovieHeader (shaka::media::mp4)   SchemeType (shaka::media::mp4)   VPxParser (shaka::media)   
ChunkingOptions (shaka::media)   H264DecRefPicMarking (shaka::media)   Mp2tMediaParser (shaka::media::mp2t)   SeekHead (shaka::media)   VTTAdditionalTextBox (shaka::media::mp4)   
ChunkLargeOffset (shaka::media::mp4)   H264ModificationOfPicNum (shaka::media)   MP4MediaParser (shaka::media::mp4)   Segmenter (shaka::media::mp4)   VTTCueBox (shaka::media::mp4)   
ChunkOffset (shaka::media::mp4)   H264Parser (shaka::media)   MP4Muxer (shaka::media::mp4)   Segmenter (shaka::media::webm)   VTTEmptyCueBox (shaka::media::mp4)   
ClosureThread (shaka::media)   H264Pps (shaka::media)   MpdBuilder (shaka)   SegmentIndex (shaka::media::mp4)   
  W  
ClusterBuilder (shaka::media)   H264ProgramMapTableWriter (shaka::media::mp2t)   MpdNotifierFactory (shaka)   SegmentInfo (shaka)   
SegmentTestBase::ClusterParser (shaka::media)   H264SEIMessage (shaka::media)   MpdNotifyMuxerListener (shaka::media)   SegmentReference (shaka::media::mp4)   WebMAudioClient (shaka::media)   
CodecConfiguration (shaka::media::mp4)   H264SEIRecoveryPoint (shaka::media)   MpdOptions (shaka)   SegmentTestBase (shaka::media)   WebMClusterParser (shaka::media)   
CompactSampleSize (shaka::media::mp4)   H264SliceHeader (shaka::media)   MpdWriter (shaka)   SegmentType (shaka::media::mp4)   WebMContentEncodingsClient (shaka::media)   
CompositionOffset (shaka::media::mp4)   H264Sps (shaka::media)   MultiSegmentSegmenter (shaka::media::mp4)   SimpleMpdNotifier (shaka)   WebMInfoParser (shaka::media)   
CompositionOffsetIterator (shaka::media::mp4)   H264VideoSliceHeaderParser (shaka::media)   MultiSegmentSegmenter (shaka::media::webm)   SingleSegmentSegmenter (shaka::media::mp4)   WebMListParser (shaka::media)   
CompositionTimeToSample (shaka::media::mp4)   H264WeightingFactors (shaka::media)   Muxer (shaka::media)   SingleSegmentSegmenter (shaka::media::webm)   WebMMediaParser (shaka::media)   
ContentEncoding (shaka::media)   H265ByteToUnitStreamConverter (shaka::media)   MuxerListener (shaka::media)   SoundMediaHeader (shaka::media::mp4)   WebMMuxer (shaka::media::webm)   
ContentProtectionElement (shaka)   H265Parser (shaka::media)   MuxerOptions (shaka::media)   StreamData (shaka::media)   WebMParserClient (shaka::media)   
ContinuityCounter (shaka::media::mp2t)   H265Pps (shaka::media)   
  N  
-
StreamInfo (shaka::media)   WebMTracksParser (shaka::media)   
Cue (shaka::media)   H265ReferencePictureListModifications (shaka::media)   SubsampleEntry (shaka::media)   WebMVideoClient (shaka::media)   
CueIDBox (shaka::media::mp4)   H265ReferencePictureSet (shaka::media)   Nalu (shaka::media)   SubtitleMediaHeader (shaka::media::mp4)   WebMWebVTTParser (shaka::media)   
CuePayloadBox (shaka::media::mp4)   H265SliceHeader (shaka::media)   NalUnitToByteStreamConverter (shaka::media)   SyncSample (shaka::media::mp4)   WebVTTConfigurationBox (shaka::media::mp4)   
CueSettingsBox (shaka::media::mp4)   H265Sps (shaka::media)   NaluReader (shaka::media)   SyncSampleIterator (shaka::media::mp4)   WebVttMediaParser (shaka::media)   
CueSourceIDBox (shaka::media::mp4)   H265VideoSliceHeaderParser (shaka::media)   
  O  
+
Cluster (shaka::media)   H264ProgramMapTableWriter (shaka::media::mp2t)   MpdNotifier (shaka)   SegmentInfo (shaka::media)   
ClusterBuilder (shaka::media)   H264SEIMessage (shaka::media)   MpdNotifierFactory (shaka)   SegmentInfo (shaka)   WebMAudioClient (shaka::media)   
SegmentTestBase::ClusterParser (shaka::media)   H264SEIRecoveryPoint (shaka::media)   MpdNotifyMuxerListener (shaka::media)   SegmentReference (shaka::media::mp4)   WebMClusterParser (shaka::media)   
CodecConfiguration (shaka::media::mp4)   H264SliceHeader (shaka::media)   MpdOptions (shaka)   SegmentTestBase (shaka::media)   WebMContentEncodingsClient (shaka::media)   
CompactSampleSize (shaka::media::mp4)   H264Sps (shaka::media)   MpdWriter (shaka)   SegmentType (shaka::media::mp4)   WebMInfoParser (shaka::media)   
CompositionOffset (shaka::media::mp4)   H264VideoSliceHeaderParser (shaka::media)   MultiSegmentSegmenter (shaka::media::mp4)   SimpleMpdNotifier (shaka)   WebMListParser (shaka::media)   
CompositionOffsetIterator (shaka::media::mp4)   H264WeightingFactors (shaka::media)   MultiSegmentSegmenter (shaka::media::webm)   SingleSegmentSegmenter (shaka::media::mp4)   WebMMediaParser (shaka::media)   
CompositionTimeToSample (shaka::media::mp4)   H265ByteToUnitStreamConverter (shaka::media)   Muxer (shaka::media)   SingleSegmentSegmenter (shaka::media::webm)   WebMMuxer (shaka::media::webm)   
ContentEncoding (shaka::media)   H265Parser (shaka::media)   MuxerListener (shaka::media)   SoundMediaHeader (shaka::media::mp4)   WebMParserClient (shaka::media)   
ContentProtectionElement (shaka)   H265Pps (shaka::media)   MuxerOptions (shaka::media)   StreamData (shaka::media)   WebMTracksParser (shaka::media)   
ContinuityCounter (shaka::media::mp2t)   H265ReferencePictureListModifications (shaka::media)   
  N  
+
StreamInfo (shaka::media)   WebMVideoClient (shaka::media)   
Cue (shaka::media)   H265ReferencePictureSet (shaka::media)   SubsampleEntry (shaka::media)   WebMWebVTTParser (shaka::media)   
CueIDBox (shaka::media::mp4)   H265SliceHeader (shaka::media)   Nalu (shaka::media)   SubtitleMediaHeader (shaka::media::mp4)   WebVTTConfigurationBox (shaka::media::mp4)   
CuePayloadBox (shaka::media::mp4)   H265Sps (shaka::media)   NalUnitToByteStreamConverter (shaka::media)   SyncSample (shaka::media::mp4)   WebVttMediaParser (shaka::media)   
CueSettingsBox (shaka::media::mp4)   H265VideoSliceHeaderParser (shaka::media)   NaluReader (shaka::media)   SyncSampleIterator (shaka::media::mp4)   WebVttSampleConverter (shaka::media)   
CueSourceIDBox (shaka::media::mp4)   H265VuiParameters (shaka::media)   
  O  
  T  
-
WebVttSampleConverter (shaka::media)   
CueTimeBox (shaka::media::mp4)   H265VuiParameters (shaka::media)   WebVTTSourceLabelBox (shaka::media::mp4)   
WebVTTSourceLabelBox (shaka::media::mp4)   
CueTimeBox (shaka::media::mp4)   H26xBitReader (shaka::media)   WidevineKeySource (shaka::media)   
  D  
-
H26xBitReader (shaka::media)   OffsetByteQueue (shaka::media)   TextSample (shaka::media)   WidevineKeySource (shaka::media)   
H26xByteToUnitStreamConverter (shaka::media)   OnMediaEndParameters (shaka::media)   TextSampleEntry (shaka::media::mp4)   WvmMediaParser (shaka::media::wvm)   
DashIopMpdNotifier (shaka)   HandlerReference (shaka::media::mp4)   OpusSpecific (shaka::media::mp4)   TextStreamInfo (shaka::media)   
  X  
+
H26xByteToUnitStreamConverter (shaka::media)   OffsetByteQueue (shaka::media)   TextSample (shaka::media)   WvmMediaParser (shaka::media::wvm)   
HandlerReference (shaka::media::mp4)   OnMediaEndParameters (shaka::media)   TextSampleEntry (shaka::media::mp4)   
  X  
DataEntryUrl (shaka::media::mp4)   HEVCDecoderConfigurationRecord (shaka::media)   OriginalFormat (shaka::media::mp4)   TextTrack (shaka::media)   
DataInformation (shaka::media::mp4)   HlsNotifyMuxerListener (shaka::media)   
  P  
-
TextTrackConfig (shaka::media)   XmlDeleter (shaka::xml)   
DataReference (shaka::media::mp4)   HttpKeyFetcher (shaka::media)   ThreadedIoFile (shaka::media)   XmlNode (shaka::xml)   
DecoderConfigurationRecord (shaka::media)   
  I  
-
PeriodInfo (shaka::media)   Track (shaka::media::mp4)   
DecodingTime (shaka::media::mp4)   PesPacket (shaka::media::mp2t)   TrackEncryption (shaka::media::mp4)   
ID3v2 (shaka::media::mp4)   
DashIopMpdNotifier (shaka)   HEVCDecoderConfigurationRecord (shaka::media)   OpusSpecific (shaka::media::mp4)   TextStreamInfo (shaka::media)   
DataEntryUrl (shaka::media::mp4)   HlsNotifyMuxerListener (shaka::media)   OriginalFormat (shaka::media::mp4)   TextTrack (shaka::media)   XmlDeleter (shaka::xml)   
DataInformation (shaka::media::mp4)   HttpKeyFetcher (shaka::media)   
  P  
+
TextTrackConfig (shaka::media)   XmlNode (shaka::xml)   
DataReference (shaka::media::mp4)   
  I  
+
ThreadedIoFile (shaka::media)   
DecoderConfigurationRecord (shaka::media)   PeriodInfo (shaka::media)   Track (shaka::media::mp4)   
DecodingTime (shaka::media::mp4)   ID3v2 (shaka::media::mp4)   PesPacket (shaka::media::mp2t)   TrackEncryption (shaka::media::mp4)   
DecodingTimeIterator (shaka::media::mp4)   IoCache (shaka::media)   PesPacketGenerator (shaka::media::mp2t)   TrackExtends (shaka::media::mp4)   
A | B | C | D | E | F | H | I | K | L | M | N | O | P | R | S | T | U | V | W | X
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 53ab8b3898..9819dd4496 100644 --- a/docs/d0/d00/structshaka_1_1media_1_1mp4_1_1HandlerReference-members.html +++ b/docs/d0/d00/structshaka_1_1media_1_1mp4_1_1HandlerReference-members.html @@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d04/classshaka_1_1media_1_1RsaRequestSigner-members.html b/docs/d0/d04/classshaka_1_1media_1_1RsaRequestSigner-members.html index fdb14e0019..310d18bd3a 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 f852b52556..dd6c405254 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 724f7a5bd5..2dd6c2c01c 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 af4e9f0e42..ce0c3d8688 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 41f27d2aa4..1124ef702f 100644 --- a/docs/d0/d0e/muxer__options_8h_source.html +++ b/docs/d0/d0e/muxer__options_8h_source.html @@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d0f/classshaka_1_1media_1_1mp2t_1_1TsSectionPmt-members.html b/docs/d0/d0f/classshaka_1_1media_1_1mp2t_1_1TsSectionPmt-members.html index 54cf11dad1..b5b54f4659 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 128db4983a..bf1ff27781 100644 --- a/docs/d0/d11/structshaka_1_1media_1_1VPxFrameInfo.html +++ b/docs/d0/d11/structshaka_1_1media_1_1VPxFrameInfo.html @@ -121,7 +121,7 @@ uint32_t height diff --git a/docs/d0/d17/structshaka_1_1media_1_1StreamData-members.html b/docs/d0/d17/structshaka_1_1media_1_1StreamData-members.html index 33a9723164..f279354d14 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 00f3a524bf..9c908142a0 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 a75137f9b3..35a16bc3fa 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 7c24cbcea1..b9755176e3 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 faccc16098..faf6e19786 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 84214ad703..c3098423cf 100644 --- a/docs/d0/d27/structshaka_1_1media_1_1MuxerOptions.html +++ b/docs/d0/d27/structshaka_1_1media_1_1MuxerOptions.html @@ -206,7 +206,7 @@ bool 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 92819316ee..3722fcd06e 100644 --- a/docs/d0/d30/mock__mpd__notifier_8h_source.html +++ b/docs/d0/d30/mock__mpd__notifier_8h_source.html @@ -149,7 +149,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d32/mp2t__common_8h_source.html b/docs/d0/d32/mp2t__common_8h_source.html index 7d245e4c6d..b1432e40d2 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 3ed24370bb..b05ce9cc6f 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 c3d888f1a3..c2f021e502 100644 --- a/docs/d0/d35/es__descriptor_8cc_source.html +++ b/docs/d0/d35/es__descriptor_8cc_source.html @@ -285,7 +285,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d3a/hls__notify__muxer__listener_8cc_source.html b/docs/d0/d3a/hls__notify__muxer__listener_8cc_source.html index cea62dacbb..1f9fa79939 100644 --- a/docs/d0/d3a/hls__notify__muxer__listener_8cc_source.html +++ b/docs/d0/d3a/hls__notify__muxer__listener_8cc_source.html @@ -199,45 +199,41 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
110 
111 void HlsNotifyMuxerListener::OnSampleDurationReady(uint32_t sample_duration) {}
112 
-
113 void HlsNotifyMuxerListener::OnMediaEnd(bool has_init_range,
-
114  uint64_t init_range_start,
-
115  uint64_t init_range_end,
-
116  bool has_index_range,
-
117  uint64_t index_range_start,
-
118  uint64_t index_range_end,
-
119  float duration_seconds,
-
120  uint64_t file_size) {
-
121  // TODO(kqyang): Should we just Flush here to avoid calling Flush explicitly?
-
122  // Don't flush the notifier here. Flushing here would write all the playlists
-
123  // before all Media Playlists are read. Which could cause problems
-
124  // setting the correct EXT-X-TARGETDURATION.
-
125 }
-
126 
-
127 void HlsNotifyMuxerListener::OnNewSegment(const std::string& file_name,
-
128  uint64_t start_time,
-
129  uint64_t duration,
-
130  uint64_t segment_file_size) {
-
131  const bool result = hls_notifier_->NotifyNewSegment(
-
132  stream_id_, file_name, start_time, duration, segment_file_size);
-
133  LOG_IF(WARNING, !result) << "Failed to add new segment.";
-
134 }
-
135 
-
136 } // namespace media
-
137 } // namespace shaka
+ +
114  float duration_seconds,
+
115  uint64_t file_size) {
+
116  // TODO(kqyang): Should we just Flush here to avoid calling Flush explicitly?
+
117  // Don't flush the notifier here. Flushing here would write all the playlists
+
118  // before all Media Playlists are read. Which could cause problems
+
119  // setting the correct EXT-X-TARGETDURATION.
+
120 }
+
121 
+
122 void HlsNotifyMuxerListener::OnNewSegment(const std::string& file_name,
+
123  uint64_t start_time,
+
124  uint64_t duration,
+
125  uint64_t segment_file_size) {
+
126  const bool result = hls_notifier_->NotifyNewSegment(
+
127  stream_id_, file_name, start_time, duration, segment_file_size);
+
128  LOG_IF(WARNING, !result) << "Failed to add new segment.";
+
129 }
+
130 
+
131 } // namespace media
+
132 } // namespace shaka
void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) override
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
+
void OnMediaEnd(const MediaRanges &media_ranges, float duration_seconds, uint64_t file_size) override
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
-
void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
-
void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) override
+ +
void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
void OnSampleDurationReady(uint32_t sample_duration) override
HlsNotifyMuxerListener(const std::string &playlist_name, const std::string &ext_x_media_name, const std::string &ext_x_media_group_id, hls::HlsNotifier *hls_notifier)
diff --git a/docs/d0/d3a/webm__constants_8h_source.html b/docs/d0/d3a/webm__constants_8h_source.html index 61728cd8da..99f3925188 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 f679e78085..2c649f3c87 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 b59d1907c8..fe2e6bc800 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 495ed5452a..4f29b153ef 100644 --- a/docs/d0/d42/widevine__encryption__flags_8cc_source.html +++ b/docs/d0/d42/widevine__encryption__flags_8cc_source.html @@ -273,7 +273,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d46/fourccs_8h_source.html b/docs/d0/d46/fourccs_8h_source.html index f1a0a9a240..15d29d57f2 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 2558679895..e6d784a6e0 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 2060bea4da..6504b75ce9 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 @@ -161,83 +161,72 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
72  }
73 }
74 
- -
76  uint64_t init_range_start,
-
77  uint64_t init_range_end,
-
78  bool has_index_range,
-
79  uint64_t index_range_start,
-
80  uint64_t index_range_end,
-
81  float duration_seconds,
-
82  uint64_t file_size) {
-
83  DCHECK(media_info_);
-
84  if (!internal::SetVodInformation(has_init_range,
-
85  init_range_start,
-
86  init_range_end,
-
87  has_index_range,
-
88  index_range_start,
-
89  index_range_end,
-
90  duration_seconds,
-
91  file_size,
-
92  media_info_.get())) {
-
93  LOG(ERROR) << "Failed to generate VOD information from input.";
-
94  return;
-
95  }
-
96  WriteMediaInfoToFile(*media_info_, output_file_name_);
-
97 }
-
98 
-
99 void VodMediaInfoDumpMuxerListener::OnNewSegment(const std::string& file_name,
-
100  uint64_t start_time,
-
101  uint64_t duration,
-
102  uint64_t segment_file_size) {}
-
103 
-
104 // static
- -
106  const MediaInfo& media_info,
-
107  const std::string& output_file_path) {
-
108  std::string output_string;
-
109  if (!google::protobuf::TextFormat::PrintToString(media_info,
-
110  &output_string)) {
-
111  LOG(ERROR) << "Failed to serialize MediaInfo to string.";
-
112  return false;
-
113  }
-
114 
-
115  media::File* file = File::Open(output_file_path.c_str(), "w");
-
116  if (!file) {
-
117  LOG(ERROR) << "Failed to open " << output_file_path;
-
118  return false;
-
119  }
-
120  if (file->Write(output_string.data(), output_string.size()) <= 0) {
-
121  LOG(ERROR) << "Failed to write MediaInfo to file.";
-
122  file->Close();
-
123  return false;
-
124  }
-
125  if (!file->Close()) {
-
126  LOG(ERROR) << "Failed to close " << output_file_path;
-
127  return false;
-
128  }
-
129  return true;
-
130 }
-
131 
-
132 } // namespace media
-
133 } // namespace shaka
+ +
76  float duration_seconds,
+
77  uint64_t file_size) {
+
78  DCHECK(media_info_);
+
79  if (!internal::SetVodInformation(media_ranges, duration_seconds, file_size,
+
80  media_info_.get())) {
+
81  LOG(ERROR) << "Failed to generate VOD information from input.";
+
82  return;
+
83  }
+
84  WriteMediaInfoToFile(*media_info_, output_file_name_);
+
85 }
+
86 
+
87 void VodMediaInfoDumpMuxerListener::OnNewSegment(const std::string& file_name,
+
88  uint64_t start_time,
+
89  uint64_t duration,
+
90  uint64_t segment_file_size) {}
+
91 
+
92 // static
+ +
94  const MediaInfo& media_info,
+
95  const std::string& output_file_path) {
+
96  std::string output_string;
+
97  if (!google::protobuf::TextFormat::PrintToString(media_info,
+
98  &output_string)) {
+
99  LOG(ERROR) << "Failed to serialize MediaInfo to string.";
+
100  return false;
+
101  }
+
102 
+
103  media::File* file = File::Open(output_file_path.c_str(), "w");
+
104  if (!file) {
+
105  LOG(ERROR) << "Failed to open " << output_file_path;
+
106  return false;
+
107  }
+
108  if (file->Write(output_string.data(), output_string.size()) <= 0) {
+
109  LOG(ERROR) << "Failed to write MediaInfo to file.";
+
110  file->Close();
+
111  return false;
+
112  }
+
113  if (!file->Close()) {
+
114  LOG(ERROR) << "Failed to close " << output_file_path;
+
115  return false;
+
116  }
+
117  return true;
+
118 }
+
119 
+
120 } // namespace media
+
121 } // namespace shaka
virtual bool Open()=0
Internal open. Should not be used directly.
Abstract class holds stream information.
Definition: stream_info.h:57
+
void OnMediaEnd(const MediaRanges &media_ranges, float duration_seconds, uint64_t file_size) override
void OnSampleDurationReady(uint32_t sample_duration) override
virtual bool Close()=0
virtual int64_t Write(const void *buffer, uint64_t length)=0
-
void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
+
void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
Define an abstract file interface.
Definition: file.h:24
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
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)
+
static bool WriteMediaInfoToFile(const MediaInfo &media_info, const std::string &output_file_path)
+
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
-
void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) 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 366c8e568e..e8a343d074 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 c5df7f55d9..ef5c01ab82 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 a5fe33e98a..0aa9086e03 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 d1504e6c43..be0282d00b 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 216603b637..18bc81de1e 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 95bb39910e..4bcf06e2ee 100644 --- a/docs/d0/d5b/classshaka_1_1media_1_1MpdNotifyMuxerListener-members.html +++ b/docs/d0/d5b/classshaka_1_1media_1_1MpdNotifyMuxerListener-members.html @@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); MuxerListener() (defined in shaka::media::MuxerListener)shaka::media::MuxerListenerinlineprotected 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) overrideshaka::media::MpdNotifyMuxerListenervirtual OnEncryptionStart() overrideshaka::media::MpdNotifyMuxerListenervirtual - OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) overrideshaka::media::MpdNotifyMuxerListenervirtual + OnMediaEnd(const MediaRanges &media_ranges, float duration_seconds, uint64_t file_size) overrideshaka::media::MpdNotifyMuxerListenervirtual OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) overrideshaka::media::MpdNotifyMuxerListenervirtual OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) overrideshaka::media::MpdNotifyMuxerListenervirtual OnSampleDurationReady(uint32_t sample_duration) overrideshaka::media::MpdNotifyMuxerListenervirtual @@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html b/docs/d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html index 9a2e55741d..f8189499d3 100644 --- a/docs/d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html +++ b/docs/d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html @@ -440,7 +440,7 @@ Additional Inherited Members 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 7d375e9e0a..3c6c8fe2c8 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 4e58fc7270..da8c9175d9 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 17b6fbb6b6..d2116310db 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 4422db736d..8e63865cd1 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 2dc112b32f..d24883c4f3 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 4ed4a8327d..09f31c00f3 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 4f310c6f8f..a795c0fab9 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 3fb01baa9a..0ad3334c4c 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 78415c2e71..9a1ba2b4c9 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 dc7ecfddae..5a0346ef18 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 @@ -115,6 +115,9 @@ Public Member Functions   bool GetIndexRange (size_t *offset, size_t *size) override   + +std::vector< RangeGetSegmentRanges () override +  - Public Member Functions inherited from shaka::media::mp4::Segmenter  Segmenter (const MuxerOptions &options, std::unique_ptr< FileType > ftyp, std::unique_ptr< Movie > moov) @@ -174,7 +177,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.

-

Definition at line 28 of file single_segment_segmenter.h.

+

Definition at line 29 of file single_segment_segmenter.h.

Member Function Documentation

@@ -211,7 +214,7 @@ void set_progress_targetImplements shaka::media::mp4::Segmenter.

-

Definition at line 44 of file single_segment_segmenter.cc.

+

Definition at line 43 of file single_segment_segmenter.cc.

@@ -250,7 +253,7 @@ void set_progress_targetImplements shaka::media::mp4::Segmenter.

-

Definition at line 37 of file single_segment_segmenter.cc.

+

Definition at line 36 of file single_segment_segmenter.cc.

@@ -261,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 77d4995b13..24ae9f3eeb 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 177d14797f..944557fb62 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/dae/file__util_8h_source.html b/docs/d0/dae/file__util_8h_source.html index 41d2cf41cf..57bd274101 100644 --- a/docs/d0/dae/file__util_8h_source.html +++ b/docs/d0/dae/file__util_8h_source.html @@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/dbd/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter-members.html b/docs/d0/dbd/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter-members.html index 81a2000580..cbb0973f2f 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 @@ -105,25 +105,26 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); GetDurationInSeconds() const shaka::media::webm::Segmenter GetIndexRangeStartAndEnd(uint64_t *start, uint64_t *end) overrideshaka::media::webm::MultiSegmentSegmentervirtual GetInitRangeStartAndEnd(uint64_t *start, uint64_t *end) overrideshaka::media::webm::MultiSegmentSegmentervirtual - info() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - Initialize(StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener)shaka::media::webm::Segmenter - MultiSegmentSegmenter(const MuxerOptions &options) (defined in shaka::media::webm::MultiSegmentSegmenter)shaka::media::webm::MultiSegmentSegmenterexplicit - muxer_listener() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - options() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - seek_head() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - segment_payload_pos() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - Segmenter(const MuxerOptions &options) (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterexplicit - set_progress_target(uint64_t target) (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - SetCluster(uint64_t start_webm_timecode, uint64_t position, MkvWriter *writer)shaka::media::webm::Segmenterprotected - track_id() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - UpdateProgress(uint64_t progress)shaka::media::webm::Segmenterprotected - WriteSegmentHeader(uint64_t file_size, MkvWriter *writer)shaka::media::webm::Segmenterprotected - ~MultiSegmentSegmenter() override (defined in shaka::media::webm::MultiSegmentSegmenter)shaka::media::webm::MultiSegmentSegmenter - ~Segmenter() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmentervirtual + GetSegmentRanges() override (defined in shaka::media::webm::MultiSegmentSegmenter)shaka::media::webm::MultiSegmentSegmentervirtual + info() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + Initialize(StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener)shaka::media::webm::Segmenter + MultiSegmentSegmenter(const MuxerOptions &options) (defined in shaka::media::webm::MultiSegmentSegmenter)shaka::media::webm::MultiSegmentSegmenterexplicit + muxer_listener() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + options() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + seek_head() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + segment_payload_pos() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + Segmenter(const MuxerOptions &options) (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterexplicit + set_progress_target(uint64_t target) (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + SetCluster(uint64_t start_webm_timecode, uint64_t position, MkvWriter *writer)shaka::media::webm::Segmenterprotected + track_id() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + UpdateProgress(uint64_t progress)shaka::media::webm::Segmenterprotected + WriteSegmentHeader(uint64_t file_size, MkvWriter *writer)shaka::media::webm::Segmenterprotected + ~MultiSegmentSegmenter() override (defined in shaka::media::webm::MultiSegmentSegmenter)shaka::media::webm::MultiSegmentSegmenter + ~Segmenter() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmentervirtual diff --git a/docs/d0/dc0/structshaka_1_1media_1_1SegmentInfo.html b/docs/d0/dc0/structshaka_1_1media_1_1SegmentInfo.html index 5b9f74eab1..b8fbe7557b 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 3abc17559e..e07b94db1a 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 bf50d8d216..f506020995 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 cf735c6aa6..e81426aa0d 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 8b9e740597..dc4ab85d97 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 ee2136f2b0..6b150f7296 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 9071f773bd..c02b55189b 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 fb2d203151..7f0c2c31b7 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 eac2dd66a6..ac947c9ae8 100644 --- a/docs/d0/dee/segmenter__test__base_8h_source.html +++ b/docs/d0/dee/segmenter__test__base_8h_source.html @@ -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 04857caf28..d7e32fd29f 100644 --- a/docs/d0/df3/packager__util_8cc_source.html +++ b/docs/d0/df3/packager__util_8cc_source.html @@ -351,7 +351,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/dfc/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry-members.html b/docs/d0/dfc/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry-members.html index c02c985c61..cf6136b33a 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 new file mode 100644 index 0000000000..82b9ff6dc9 --- /dev/null +++ b/docs/d1/d03/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges.html @@ -0,0 +1,143 @@ + + + + + + +DASH Media Packaging SDK: shaka::media::MuxerListener::MediaRanges Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
DASH Media Packaging SDK +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
shaka::media::MuxerListener::MediaRanges Struct Reference
+
+
+ +

#include <muxer_listener.h>

+ + + + + + + + + + +

+Public Attributes

+base::Optional< Rangeinit_range
 Range of the initialization section of a segment.
 
+base::Optional< Rangeindex_range
 Range of the index section of a segment.
 
std::vector< Rangesubsegment_ranges
 
+

Detailed Description

+

Structure for specifying ranges within a media file. This is mainly for VOD content where OnMediaEnd() is actually used for finalization e.g. writing out manifests.

+ +

Definition at line 44 of file muxer_listener.h.

+

Member Data Documentation

+ +
+
+ + + + +
std::vector<Range> shaka::media::MuxerListener::MediaRanges::subsegment_ranges
+
+

Ranges of the subsegments (e.g. fragments). The vector is empty if ranges are not specified. For example it may not be a single file.

+ +

Definition at line 52 of file muxer_listener.h.

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/d1/d0a/classshaka_1_1media_1_1MkvWriter.html b/docs/d1/d0a/classshaka_1_1media_1_1MkvWriter.html index 179e5b2729..4e8fa6c7fe 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 @@ Status  diff --git a/docs/d1/d0a/structshaka_1_1media_1_1H264Sps.html b/docs/d1/d0a/structshaka_1_1media_1_1H264Sps.html index 19412d16eb..485d02ff7f 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 5081ee9e5a..669881d4b7 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 36b89578f1..70c8fde04a 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 new file mode 100644 index 0000000000..ca6e9264bc --- /dev/null +++ b/docs/d1/d12/range_8h_source.html @@ -0,0 +1,124 @@ + + + + + + +DASH Media Packaging SDK: media/base/range.h Source File + + + + + + + + + +
+
+ + + + + + +
+
DASH Media Packaging SDK +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
range.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 // Event handler for events fired by Muxer.
+
8 
+
9 #ifndef PACKAGER_MEDIA_BASE_RANGE_H_
+
10 #define PACKAGER_MEDIA_BASE_RANGE_H_
+
11 
+
12 #include <stdint.h>
+
13 
+
14 namespace shaka {
+
15 namespace media {
+
16 
+
19 struct Range {
+
20  uint64_t start;
+
21  uint64_t end;
+
22 };
+
23 
+
24 } // namespace media
+
25 } // namespace shaka
+
26 
+
27 #endif // PACKAGER_MEDIA_BASE_RANGE_H_
+ +
+ + + + 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 b619e27dd7..8dfec02668 100644 --- a/docs/d1/d1c/two__pass__single__segment__segmenter_8cc_source.html +++ b/docs/d1/d1c/two__pass__single__segment__segmenter_8cc_source.html @@ -282,7 +282,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d1d/muxer__flags_8cc_source.html b/docs/d1/d1d/muxer__flags_8cc_source.html index 8f482ae131..331b47803b 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 008c129bb0..8479f8242d 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 8876c4c91c..212f6dd15d 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 d766bdbf5b..d30df1a051 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 a7c6bab216..4bca6c06df 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 9ec4e7da46..6f3777bbcf 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 3d174587bb..6dc66d01b8 100644 --- a/docs/d1/d2a/decryptor__source_8cc_source.html +++ b/docs/d1/d2a/decryptor__source_8cc_source.html @@ -206,7 +206,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d2b/file__util_8cc_source.html b/docs/d1/d2b/file__util_8cc_source.html index 4c661a11fa..c8b4cc8c65 100644 --- a/docs/d1/d2b/file__util_8cc_source.html +++ b/docs/d1/d2b/file__util_8cc_source.html @@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d2c/structshaka_1_1media_1_1mp4_1_1DataReference-members.html b/docs/d1/d2c/structshaka_1_1media_1_1mp4_1_1DataReference-members.html index 962255cd52..4e299ce78b 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 9349723cb6..fe29a5d6a5 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 cf38d9702b..3121d4ad5d 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 dea18e9b79..df96fc610d 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 00a1b5e692..f79cd5fe1d 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 2bbbf0909f..53a00044a6 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 94f4e63f38..e00eca9d74 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 81bee7cfb8..ac9c8c78a2 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 6f7d36384f..858df7fa11 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 28e8cdfe53..9539ddabcf 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 0762559aab..21eb4ecce0 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 028e9b8e2c..4cfde8f908 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 d2adeaeb8f..1c4532ff6c 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 6354442be8..cac3984769 100644 --- a/docs/d1/d4f/classshaka_1_1media_1_1OffsetByteQueue-members.html +++ b/docs/d1/d4f/classshaka_1_1media_1_1OffsetByteQueue-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d5a/structshaka_1_1media_1_1EncryptionKey-members.html b/docs/d1/d5a/structshaka_1_1media_1_1EncryptionKey-members.html index 125a147d81..91cdc71965 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 c701db6d5a..ae1572dffd 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 a2edd28918..c27c363e09 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 792d783115..7da0af59df 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 68b0b7040c..678aa8a1b4 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 d4d08fd282..39f2875487 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 ca35b19c6e..8d522389e5 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 a2e6cd6c84..53dd9e9d41 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 ec02329834..f2ebc429d8 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 bb42894fc5..466059adc9 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 2300dc054b..7d0beb9886 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 fe70b85c46..93ea7e6844 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 50f186b35a..81c4bd49a8 100644 --- a/docs/d1/d91/classshaka_1_1media_1_1H26xBitReader-members.html +++ b/docs/d1/d91/classshaka_1_1media_1_1H26xBitReader-members.html @@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d9d/classshaka_1_1media_1_1ByteQueue-members.html b/docs/d1/d9d/classshaka_1_1media_1_1ByteQueue-members.html index 548b675fd4..729a5753f6 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 a99e6bbf55..247827c9da 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 953b84df50..0bf2de8558 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 eef05ca466..c7e58e9164 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 61c46123a6..6bc72922fa 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 5de43245ca..2097753bd1 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 5868acd988..04284df3a7 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 590f4137e8..08d9406b51 100644 --- a/docs/d1/dad/classshaka_1_1media_1_1Demuxer-members.html +++ b/docs/d1/dad/classshaka_1_1media_1_1Demuxer-members.html @@ -128,7 +128,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 10d60fd742..429c11a0df 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 fbbf68aa11..de0d7ceaea 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 5e99920bf9..74b0eecc39 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 f28cdb4e5f..44ae871bb0 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 5c4dd6759e..2e8ded299b 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 c1e0ff833c..311a2698b2 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 375135e78f..2a5c1317a2 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 8e1d69c943..6d0fb55cff 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 1171ff470a..cacb5ab9d2 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 2163250821..f789da1a41 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 755a4a773f..fc6ef47478 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 2932febc1d..8c9d2704ff 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 fd63710f0a..c1d746becc 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 4fe87ccebd..023f645ba7 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 5f287d22e6..2b4d6ee6fe 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 17da04a505..20de8cc473 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 9d4e17b0d5..3524ea92f1 100644 --- a/docs/d1/df3/structshaka_1_1MpdOptions.html +++ b/docs/d1/df3/structshaka_1_1MpdOptions.html @@ -133,7 +133,7 @@ std::string default_langua diff --git a/docs/d1/df5/nalu__reader_8cc_source.html b/docs/d1/df5/nalu__reader_8cc_source.html index dae0597cbc..c3d0ab5430 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 8390b97435..a80d40c11f 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 2269f9ac74..ea6327a485 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 114646553a..af471232e8 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 6d80cbeb98..7b3a260c42 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 f175f4177e..4b25b84ac0 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 7399a5ed7c..f9fd431ff2 100644 --- a/docs/d2/d11/classshaka_1_1media_1_1MuxerListener-members.html +++ b/docs/d2/d11/classshaka_1_1media_1_1MuxerListener-members.html @@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); MuxerListener() (defined in shaka::media::MuxerListener)shaka::media::MuxerListenerinlineprotected 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)=0shaka::media::MuxerListenerpure virtual OnEncryptionStart()=0shaka::media::MuxerListenerpure virtual - OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size)=0shaka::media::MuxerListenerpure virtual + OnMediaEnd(const MediaRanges &media_ranges, float duration_seconds, uint64_t file_size)=0shaka::media::MuxerListenerpure virtual OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)=0shaka::media::MuxerListenerpure virtual OnNewSegment(const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)=0shaka::media::MuxerListenerpure virtual OnSampleDurationReady(uint32_t sample_duration)=0shaka::media::MuxerListenerpure virtual @@ -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 841b5038fa..e2e4f5e927 100644 --- a/docs/d2/d17/ts__section__pat_8cc_source.html +++ b/docs/d2/d17/ts__section__pat_8cc_source.html @@ -214,7 +214,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d23/threaded__io__file_8cc_source.html b/docs/d2/d23/threaded__io__file_8cc_source.html index 663892e93b..36cf56697e 100644 --- a/docs/d2/d23/threaded__io__file_8cc_source.html +++ b/docs/d2/d23/threaded__io__file_8cc_source.html @@ -317,7 +317,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d24/packager__util_8h_source.html b/docs/d2/d24/packager__util_8h_source.html index da84d0e829..891b3636cb 100644 --- a/docs/d2/d24/packager__util_8h_source.html +++ b/docs/d2/d24/packager__util_8h_source.html @@ -148,7 +148,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d30/tracks__builder_8cc_source.html b/docs/d2/d30/tracks__builder_8cc_source.html index 39eea9ebff..c2e261cd7b 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 22cd07ba20..ddd64551bb 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 418158e842..c29f9ca98b 100644 --- a/docs/d2/d35/classshaka_1_1media_1_1WidevineKeySource-members.html +++ b/docs/d2/d35/classshaka_1_1media_1_1WidevineKeySource-members.html @@ -108,7 +108,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 a7a7ee2bcc..9095441ce6 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 6f470bad05..e39850361d 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 2a8e5785e7..af57530774 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/d4d/file_8h_source.html b/docs/d2/d4d/file_8h_source.html index f67903b94c..f0ddbe6259 100644 --- a/docs/d2/d4d/file_8h_source.html +++ b/docs/d2/d4d/file_8h_source.html @@ -195,7 +195,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 355c998685..7d77871bca 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 411b0f7829..5016e085e5 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 a96f1619f7..bc429bb146 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 75c362a22b..3412ecf328 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 52f500c57a..589036313e 100644 --- a/docs/d2/d5c/classshaka_1_1SimpleMpdNotifier-members.html +++ b/docs/d2/d5c/classshaka_1_1SimpleMpdNotifier-members.html @@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d61/structshaka_1_1media_1_1H264ModificationOfPicNum-members.html b/docs/d2/d61/structshaka_1_1media_1_1H264ModificationOfPicNum-members.html index 0fa3e0dff5..e4f80ecf49 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 e244f18837..1c79979cbc 100644 --- a/docs/d2/d62/simple__mpd__notifier_8h_source.html +++ b/docs/d2/d62/simple__mpd__notifier_8h_source.html @@ -184,7 +184,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d62/structshaka_1_1media_1_1mp4_1_1Movie-members.html b/docs/d2/d62/structshaka_1_1media_1_1mp4_1_1Movie-members.html index ee82e9b85f..8f863e1ef4 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 c0a99697b9..4da888c08a 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 bbd1faf6a3..1c838da1f2 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 d2d386c932..c892e401a7 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 995d2efdbe..36b3c2ac84 100644 --- a/docs/d2/d7b/classshaka_1_1DashIopMpdNotifier-members.html +++ b/docs/d2/d7b/classshaka_1_1DashIopMpdNotifier-members.html @@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d7b/simple__mpd__notifier_8cc_source.html b/docs/d2/d7b/simple__mpd__notifier_8cc_source.html index 98b6e18b0b..b6a24a332a 100644 --- a/docs/d2/d7b/simple__mpd__notifier_8cc_source.html +++ b/docs/d2/d7b/simple__mpd__notifier_8cc_source.html @@ -235,7 +235,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d7e/aac__audio__specific__config_8h_source.html b/docs/d2/d7e/aac__audio__specific__config_8h_source.html index 440016a5fc..2929fc4196 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 2bfddadaec..583540fcb5 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 5aeafa28f7..d6481816a5 100644 --- a/docs/d2/d8a/hls__notify__muxer__listener_8h_source.html +++ b/docs/d2/d8a/hls__notify__muxer__listener_8h_source.html @@ -129,55 +129,51 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
51  uint32_t time_scale,
52  ContainerType container_type) override;
53  void OnSampleDurationReady(uint32_t sample_duration) override;
-
54  void OnMediaEnd(bool has_init_range,
-
55  uint64_t init_range_start,
-
56  uint64_t init_range_end,
-
57  bool has_index_range,
-
58  uint64_t index_range_start,
-
59  uint64_t index_range_end,
-
60  float duration_seconds,
-
61  uint64_t file_size) override;
-
62  void OnNewSegment(const std::string& file_name,
-
63  uint64_t start_time,
-
64  uint64_t duration,
-
65  uint64_t segment_file_size) override;
-
67 
-
68  private:
-
69  const std::string playlist_name_;
-
70  const std::string ext_x_media_name_;
-
71  const std::string ext_x_media_group_id_;
-
72  hls::HlsNotifier* const hls_notifier_;
-
73  uint32_t stream_id_ = 0;
-
74 
-
75  bool media_started_ = false;
-
76  bool must_notify_encryption_start_ = false;
-
77  // Cached encryption info before OnMediaStart() is called.
-
78  std::vector<uint8_t> next_key_id_;
-
79  std::vector<uint8_t> next_iv_;
-
80  std::vector<ProtectionSystemSpecificInfo> next_key_system_infos_;
-
81  FourCC protection_scheme_ = FOURCC_NULL;
-
82 
-
83  DISALLOW_COPY_AND_ASSIGN(HlsNotifyMuxerListener);
-
84 };
-
85 
-
86 } // namespace media
-
87 } // namespace shaka
-
88 #endif // PACKAGER_MEDIA_EVENT_HLS_NOTIFY_MUXER_LISTENER_H_
+
54  void OnMediaEnd(const MediaRanges& media_ranges,
+
55  float duration_seconds,
+
56  uint64_t file_size) override;
+
57  void OnNewSegment(const std::string& file_name,
+
58  uint64_t start_time,
+
59  uint64_t duration,
+
60  uint64_t segment_file_size) override;
+
62 
+
63  private:
+
64  const std::string playlist_name_;
+
65  const std::string ext_x_media_name_;
+
66  const std::string ext_x_media_group_id_;
+
67  hls::HlsNotifier* const hls_notifier_;
+
68  uint32_t stream_id_ = 0;
+
69 
+
70  bool media_started_ = false;
+
71  bool must_notify_encryption_start_ = false;
+
72  // Cached encryption info before OnMediaStart() is called.
+
73  std::vector<uint8_t> next_key_id_;
+
74  std::vector<uint8_t> next_iv_;
+
75  std::vector<ProtectionSystemSpecificInfo> next_key_system_infos_;
+
76  FourCC protection_scheme_ = FOURCC_NULL;
+
77 
+
78  DISALLOW_COPY_AND_ASSIGN(HlsNotifyMuxerListener);
+
79 };
+
80 
+
81 } // namespace media
+
82 } // namespace shaka
+
83 #endif // PACKAGER_MEDIA_EVENT_HLS_NOTIFY_MUXER_LISTENER_H_
void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) override
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
+
void OnMediaEnd(const MediaRanges &media_ranges, float duration_seconds, uint64_t file_size) override
MuxerListener that uses HlsNotifier.
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
-
void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
-
void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) override
+ +
void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
void OnSampleDurationReady(uint32_t sample_duration) override
HlsNotifyMuxerListener(const std::string &playlist_name, const std::string &ext_x_media_name, const std::string &ext_x_media_group_id, hls::HlsNotifier *hls_notifier)
- + 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 661fdae829..09942eeb81 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 4066d3cda4..9a158466c4 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 6ee160bc81..3d3a9bcc29 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 42af2b5ec2..c7c462797a 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/da6/threaded__io__file_8h_source.html b/docs/d2/da6/threaded__io__file_8h_source.html index df2409dbc2..e9232f85fe 100644 --- a/docs/d2/da6/threaded__io__file_8h_source.html +++ b/docs/d2/da6/threaded__io__file_8h_source.html @@ -172,7 +172,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/da8/mp4_2segmenter_8cc_source.html b/docs/d2/da8/mp4_2segmenter_8cc_source.html index 99f1ad22bf..486a53f81e 100644 --- a/docs/d2/da8/mp4_2segmenter_8cc_source.html +++ b/docs/d2/da8/mp4_2segmenter_8cc_source.html @@ -401,11 +401,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
void UpdateProgress(uint64_t progress)
Update segmentation progress using ProgressListener.
Definition: segmenter.cc:265
void WriteHeader(BufferWriter *writer)
Definition: box.cc:38
- + 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 bcf0cc5ab4..33a0c77691 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 6753f1de78..e230840f22 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 5af33a7185..b76c4efdb9 100644 --- a/docs/d2/dae/webm__muxer_8cc_source.html +++ b/docs/d2/dae/webm__muxer_8cc_source.html @@ -184,44 +184,58 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
95  if (!muxer_listener())
96  return;
97 
-
98  uint64_t init_range_start = 0;
-
99  uint64_t init_range_end = 0;
-
100  const bool has_init_range =
-
101  segmenter_->GetInitRangeStartAndEnd(&init_range_start, &init_range_end);
-
102 
-
103  uint64_t index_range_start = 0;
-
104  uint64_t index_range_end = 0;
-
105  const bool has_index_range = segmenter_->GetIndexRangeStartAndEnd(
-
106  &index_range_start, &index_range_end);
-
107 
-
108  const float duration_seconds = segmenter_->GetDurationInSeconds();
-
109 
-
110  const int64_t file_size =
-
111  File::GetFileSize(options().output_file_name.c_str());
-
112  if (file_size <= 0) {
-
113  LOG(ERROR) << "Invalid file size: " << file_size;
-
114  return;
-
115  }
-
116 
-
117  muxer_listener()->OnMediaEnd(has_init_range, init_range_start, init_range_end,
-
118  has_index_range, index_range_start,
-
119  index_range_end, duration_seconds, file_size);
-
120 }
+
98  MuxerListener::MediaRanges media_range;
+
99 
+
100  uint64_t init_range_start = 0;
+
101  uint64_t init_range_end = 0;
+
102  const bool has_init_range =
+
103  segmenter_->GetInitRangeStartAndEnd(&init_range_start, &init_range_end);
+
104  if (has_init_range) {
+
105  Range r;
+
106  r.start = init_range_start;
+
107  r.end = init_range_end;
+
108  media_range.init_range = r;
+
109  }
+
110 
+
111  uint64_t index_range_start = 0;
+
112  uint64_t index_range_end = 0;
+
113  const bool has_index_range = segmenter_->GetIndexRangeStartAndEnd(
+
114  &index_range_start, &index_range_end);
+
115  if (has_index_range) {
+
116  Range r;
+
117  r.start = index_range_start;
+
118  r.end = index_range_end;
+
119  media_range.index_range = r;
+
120  }
121 
-
122 } // namespace webm
-
123 } // namespace media
-
124 } // namespace shaka
-
virtual void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size)=0
+
122  media_range.subsegment_ranges = segmenter_->GetSegmentRanges();
+
123 
+
124  const float duration_seconds = segmenter_->GetDurationInSeconds();
+
125 
+
126  const int64_t file_size =
+
127  File::GetFileSize(options().output_file_name.c_str());
+
128  if (file_size <= 0) {
+
129  LOG(ERROR) << "Invalid file size: " << file_size;
+
130  return;
+
131  }
+
132 
+
133  muxer_listener()->OnMediaEnd(media_range, duration_seconds, file_size);
+
134 }
+
135 
+
136 } // namespace webm
+
137 } // namespace media
+
138 } // namespace shaka
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
static int64_t GetFileSize(const char *file_name)
Definition: file.cc:190
virtual void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)=0
WebMMuxer(const MuxerOptions &options)
Create a WebMMuxer object from MuxerOptions.
Definition: webm_muxer.cc:21
+
virtual void OnMediaEnd(const MediaRanges &media_ranges, float duration_seconds, uint64_t file_size)=0
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 62ca72be88..d32ca1b7e4 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 0d40de4f53..9b63c4585f 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 ef6333731e..20f105b92b 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 3981d5c253..dd712a3edc 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 fb8136dbed..c4123b817b 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 0073fabee9..5633119ddc 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 155ec1cd71..64213a3340 100644 --- a/docs/d2/dc7/structshaka_1_1MpdOptions-members.html +++ b/docs/d2/dc7/structshaka_1_1MpdOptions-members.html @@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/dcd/program__map__table__writer_8h_source.html b/docs/d2/dcd/program__map__table__writer_8h_source.html index ef2cd50012..b6821e7dea 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 c4acbe37df..06e16f33a0 100644 --- a/docs/d2/dcd/structshaka_1_1media_1_1mp4_1_1EditList-members.html +++ b/docs/d2/dcd/structshaka_1_1media_1_1mp4_1_1EditList-members.html @@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/dce/structshaka_1_1media_1_1ChunkingOptions-members.html b/docs/d2/dce/structshaka_1_1media_1_1ChunkingOptions-members.html index 2017daea8e..7289c737d1 100644 --- a/docs/d2/dce/structshaka_1_1media_1_1ChunkingOptions-members.html +++ b/docs/d2/dce/structshaka_1_1media_1_1ChunkingOptions-members.html @@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/dd5/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter.html b/docs/d2/dd5/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter.html index 907978876b..39561dfb66 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 @@ -120,6 +120,9 @@ Status   bool GetIndexRangeStartAndEnd (uint64_t *start, uint64_t *end) override   + +std::vector< RangeGetSegmentRanges () override +  - Public Member Functions inherited from shaka::media::webm::Segmenter  Segmenter (const MuxerOptions &options) @@ -280,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 9b3280de5e..f3d2991147 100644 --- a/docs/d2/dd6/mkv__writer_8h_source.html +++ b/docs/d2/dd6/mkv__writer_8h_source.html @@ -151,7 +151,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 4109b7f40d..37d41469c9 100644 --- a/docs/d2/dd8/classshaka_1_1media_1_1ChunkingHandler-members.html +++ b/docs/d2/dd8/classshaka_1_1media_1_1ChunkingHandler-members.html @@ -122,7 +122,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html b/docs/d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html index 6375e83671..cbecd24b2f 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 9bc4c561d6..6046e8c3d4 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 1832c14c5f..19579cb619 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 35367b5bce..ce141fe44b 100644 --- a/docs/d2/de6/packager__main_8cc_source.html +++ b/docs/d2/de6/packager__main_8cc_source.html @@ -461,7 +461,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 596c100c18..ddb4bef195 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 5f83f19a37..be73c47a1b 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 d8f725761d..8647e70fd2 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 acd9bda1fb..9935988e9b 100644 --- a/docs/d2/de9/mock__muxer__listener_8h_source.html +++ b/docs/d2/de9/mock__muxer__listener_8h_source.html @@ -129,41 +129,50 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
40 
41  MOCK_METHOD1(OnSampleDurationReady, void(uint32_t sample_duration));
42 
-
43  MOCK_METHOD8(OnMediaEnd,
-
44  void(bool has_init_range,
-
45  uint64_t init_range_start,
-
46  uint64_t init_range_end,
-
47  bool has_index_range,
-
48  uint64_t index_range_start,
-
49  uint64_t index_range_end,
-
50  float duration_seconds,
-
51  uint64_t file_size));
-
52 
-
53  MOCK_METHOD4(OnNewSegment,
-
54  void(const std::string& segment_name,
-
55  uint64_t start_time,
-
56  uint64_t duration,
-
57  uint64_t segment_file_size));
-
58 };
-
59 
-
60 } // namespace media
-
61 } // namespace shaka
-
62 
-
63 #endif // PACKAGER_MEDIA_EVENT_MOCK_MUXER_LISTENER_H_
+
43  MOCK_METHOD10(OnMediaEndMock,
+
44  void(bool has_init_range,
+
45  uint64_t init_range_start,
+
46  uint64_t init_range_end,
+
47  bool has_index_range,
+
48  uint64_t index_range_start,
+
49  uint64_t index_range_end,
+
50  bool has_subsegment_ranges,
+
51  const std::vector<Range> subsegment_ranges,
+
52  float duration_seconds,
+
53  uint64_t file_size));
+
54 
+
55  // Windows 32 bit cannot mock MediaRanges because it has Optionals that use
+
56  // memory alignment of 8 bytes. The compiler fails if it is mocked.
+
57  void OnMediaEnd(const MediaRanges& range,
+
58  float duration_seconds,
+
59  uint64_t file_size) override;
+
60 
+
61  MOCK_METHOD4(OnNewSegment,
+
62  void(const std::string& segment_name,
+
63  uint64_t start_time,
+
64  uint64_t duration,
+
65  uint64_t segment_file_size));
+
66 };
+
67 
+
68 } // namespace media
+
69 } // namespace shaka
+
70 
+
71 #endif // PACKAGER_MEDIA_EVENT_MOCK_MUXER_LISTENER_H_
virtual void OnNewSegment(const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)=0
virtual 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)=0
-
virtual void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size)=0
Abstract class holds stream information.
Definition: stream_info.h:57
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
+
void OnMediaEnd(const MediaRanges &range, float duration_seconds, uint64_t file_size) override
+
virtual void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)=0
- + diff --git a/docs/d2/deb/es__parser_8h_source.html b/docs/d2/deb/es__parser_8h_source.html index 6636aab90b..ca78f11bb1 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 2848c627e9..a3980a5ae9 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 ab3aa3b0d5..3c98482869 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 de95f24680..a94991ca7e 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 4c3353f9c7..8e73291316 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 02f3fc5e88..039aca9036 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 ba404f3dbf..76cf10a61a 100644 --- a/docs/d3/d07/classshaka_1_1media_1_1mp4_1_1BoxReader-members.html +++ b/docs/d3/d07/classshaka_1_1media_1_1mp4_1_1BoxReader-members.html @@ -127,7 +127,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/d09/classshaka_1_1media_1_1mp4_1_1SyncSampleIterator-members.html b/docs/d3/d09/classshaka_1_1media_1_1mp4_1_1SyncSampleIterator-members.html index b1ac9d470b..79c44a8d37 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 5b7cbc18b8..64c8b0d3ea 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 a59c795ca1..760dd309c2 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 fed5f738be..e73224c1a1 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 425c23efe1..cece3f5fbf 100644 --- a/docs/d3/d18/classshaka_1_1media_1_1mp2t_1_1TsSectionPat-members.html +++ b/docs/d3/d18/classshaka_1_1media_1_1mp2t_1_1TsSectionPat-members.html @@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/d19/io__cache_8h_source.html b/docs/d3/d19/io__cache_8h_source.html index 16bf640771..7b3249a42d 100644 --- a/docs/d3/d19/io__cache_8h_source.html +++ b/docs/d3/d19/io__cache_8h_source.html @@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/d35/video__slice__header__parser_8cc_source.html b/docs/d3/d35/video__slice__header__parser_8cc_source.html index 4453d93c5f..4458507cd2 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 8970756a89..bd1d5228a6 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 3c5b31b995..57f5691b32 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 1126a13279..3d6c269515 100644 --- a/docs/d3/d56/decrypt__config_8cc_source.html +++ b/docs/d3/d56/decrypt__config_8cc_source.html @@ -136,7 +136,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/d61/classshaka_1_1media_1_1File.html b/docs/d3/d61/classshaka_1_1media_1_1File.html index 36d42b0c96..7bfe01a527 100644 --- a/docs/d3/d61/classshaka_1_1media_1_1File.html +++ b/docs/d3/d61/classshaka_1_1media_1_1File.html @@ -858,7 +858,7 @@ class ThreadedIoFile diff --git a/docs/d3/d62/continuity__counter_8h_source.html b/docs/d3/d62/continuity__counter_8h_source.html index 07591fb1e3..7879ba523a 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 82f8115a67..d84836abee 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 1d748e259b..a94c1082f3 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 fb5ff41008..d8f454ab29 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 22a003fd15..9612475f00 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 789e4ad049..d524b39a1f 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 997036f133..0820b2ec93 100644 --- a/docs/d3/d72/fixed__key__source_8h_source.html +++ b/docs/d3/d72/fixed__key__source_8h_source.html @@ -157,7 +157,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 ee5a24051a..03156eecf8 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 6d70b7a426..94134a03e2 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 8f60a532a9..e6753c2c63 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 b6a2df4355..73d67e9663 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 16a211c1ce..b434eaaa33 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 40e0e85c36..ad2b3528f0 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 9ff5f46043..915ffb1a9f 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 db8042024e..6131d5d040 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 023bef23f9..98bfc6bc30 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 922a9be795..b99a3b2ec2 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/d8b/structshaka_1_1media_1_1FileCloser.html b/docs/d3/d8b/structshaka_1_1media_1_1FileCloser.html index 36fe648483..7f40501370 100644 --- a/docs/d3/d8b/structshaka_1_1media_1_1FileCloser.html +++ b/docs/d3/d8b/structshaka_1_1media_1_1FileCloser.html @@ -112,7 +112,7 @@ void operator() ( diff --git a/docs/d3/d8d/webm__audio__client_8h_source.html b/docs/d3/d8d/webm__audio__client_8h_source.html index e2712b0b7a..b471bb2aa4 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 c445d991f7..86694ca5d1 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 2759112100..e45250133d 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 29edb2a379..20ff5ae5c4 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 0851e453d0..dceb315af4 100644 --- a/docs/d3/d9c/encryption__handler_8cc_source.html +++ b/docs/d3/d9c/encryption__handler_8cc_source.html @@ -619,7 +619,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 68e1625828..8ce4ef6b35 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 664a7a9891..af5ec10f77 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 @@ -121,6 +121,9 @@ Status   bool GetIndexRangeStartAndEnd (uint64_t *start, uint64_t *end) override   + +std::vector< RangeGetSegmentRanges () override +  - Public Member Functions inherited from shaka::media::webm::Segmenter  Segmenter (const MuxerOptions &options) @@ -249,7 +252,7 @@ uint64_t segment_payload_p

Implements shaka::media::webm::Segmenter.

-

Definition at line 46 of file single_segment_segmenter.cc.

+

Definition at line 44 of file single_segment_segmenter.cc.

@@ -299,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 f4efc2c4ed..6c28b66bf3 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 3329506dd6..4f2cc207af 100644 --- a/docs/d3/dad/structshaka_1_1media_1_1mp4_1_1ID3v2.html +++ b/docs/d3/dad/structshaka_1_1media_1_1mp4_1_1ID3v2.html @@ -189,7 +189,7 @@ Additional Inherited Members diff --git a/docs/d3/db3/structshaka_1_1media_1_1EncryptionOptions-members.html b/docs/d3/db3/structshaka_1_1media_1_1EncryptionOptions-members.html index 5fcbc074a9..99abeba4e7 100644 --- a/docs/d3/db3/structshaka_1_1media_1_1EncryptionOptions-members.html +++ b/docs/d3/db3/structshaka_1_1media_1_1EncryptionOptions-members.html @@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/db4/classshaka_1_1media_1_1WebMWebVTTParser-members.html b/docs/d3/db4/classshaka_1_1media_1_1WebMWebVTTParser-members.html index 5ab4ee8001..5abf086b21 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 fd1a2ece30..9191eef437 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 89126baacb..fb46e005da 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 e5a473af6c..9f055e9558 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 2241c02e3b..30c5be46e4 100644 --- a/docs/d3/dbe/demuxer_8cc_source.html +++ b/docs/d3/dbe/demuxer_8cc_source.html @@ -444,7 +444,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 b278c4faf1..c566af9677 100644 --- a/docs/d3/dbe/structshaka_1_1media_1_1mp4_1_1EditList.html +++ b/docs/d3/dbe/structshaka_1_1media_1_1mp4_1_1EditList.html @@ -182,7 +182,7 @@ Additional Inherited Members diff --git a/docs/d3/dc1/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser.html b/docs/d3/dc1/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser.html index 998be604e1..96feb3472b 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 a21e17d50f..d1a4b002d5 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 cdeaee2b5a..0b1580a6ae 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 bd709760ad..da61d19d2c 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 be7e86eca3..0bbfe4a84d 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 95dec8823f..baf8f942b3 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 1dcca5bf26..c7f9e885c7 100644 --- a/docs/d3/df1/box__reader_8cc_source.html +++ b/docs/d3/df1/box__reader_8cc_source.html @@ -259,7 +259,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html b/docs/d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html index 3b613bc1a2..71df0ffb67 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 9806b647c3..92b82658be 100644 --- a/docs/d4/d00/mp4_2multi__segment__segmenter_8cc_source.html +++ b/docs/d4/d00/mp4_2multi__segment__segmenter_8cc_source.html @@ -127,168 +127,173 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
38 MultiSegmentSegmenter::~MultiSegmentSegmenter() {}
39 
40 bool MultiSegmentSegmenter::GetInitRange(size_t* offset, size_t* size) {
-
41  DLOG(INFO) << "MultiSegmentSegmenter outputs init segment: "
-
42  << options().output_file_name;
+
41  VLOG(1) << "MultiSegmentSegmenter outputs init segment: "
+
42  << options().output_file_name;
43  return false;
44 }
45 
46 bool MultiSegmentSegmenter::GetIndexRange(size_t* offset, size_t* size) {
-
47  DLOG(INFO) << "MultiSegmentSegmenter does not have index range.";
+
47  VLOG(1) << "MultiSegmentSegmenter does not have index range.";
48  return false;
49 }
50 
-
51 Status MultiSegmentSegmenter::DoInitialize() {
-
52  DCHECK(ftyp());
-
53  DCHECK(moov());
-
54  // Generate the output file with init segment.
-
55  File* file = File::Open(options().output_file_name.c_str(), "w");
-
56  if (file == NULL) {
-
57  return Status(error::FILE_FAILURE,
-
58  "Cannot open file for write " + options().output_file_name);
-
59  }
-
60  std::unique_ptr<BufferWriter> buffer(new BufferWriter);
-
61  ftyp()->Write(buffer.get());
-
62  moov()->Write(buffer.get());
-
63  Status status = buffer->WriteToFile(file);
-
64  if (!file->Close()) {
-
65  LOG(WARNING) << "Failed to close the file properly: "
-
66  << options().output_file_name;
-
67  }
-
68  return status;
-
69 }
-
70 
-
71 Status MultiSegmentSegmenter::DoFinalize() {
-
72  SetComplete();
-
73  return Status::OK;
+
51 std::vector<Range> MultiSegmentSegmenter::GetSegmentRanges() {
+
52  VLOG(1) << "MultiSegmentSegmenter does not have media segment ranges.";
+
53  return std::vector<Range>();
+
54 }
+
55 
+
56 Status MultiSegmentSegmenter::DoInitialize() {
+
57  DCHECK(ftyp());
+
58  DCHECK(moov());
+
59  // Generate the output file with init segment.
+
60  File* file = File::Open(options().output_file_name.c_str(), "w");
+
61  if (file == NULL) {
+
62  return Status(error::FILE_FAILURE,
+
63  "Cannot open file for write " + options().output_file_name);
+
64  }
+
65  std::unique_ptr<BufferWriter> buffer(new BufferWriter);
+
66  ftyp()->Write(buffer.get());
+
67  moov()->Write(buffer.get());
+
68  Status status = buffer->WriteToFile(file);
+
69  if (!file->Close()) {
+
70  LOG(WARNING) << "Failed to close the file properly: "
+
71  << options().output_file_name;
+
72  }
+
73  return status;
74 }
75 
-
76 Status MultiSegmentSegmenter::DoFinalizeSegment() {
-
77  DCHECK(sidx());
-
78  // earliest_presentation_time is the earliest presentation time of any
-
79  // access unit in the reference stream in the first subsegment.
-
80  // It will be re-calculated later when subsegments are finalized.
-
81  sidx()->earliest_presentation_time =
-
82  sidx()->references[0].earliest_presentation_time;
-
83 
-
84  if (options().num_subsegments_per_sidx <= 0)
-
85  return WriteSegment();
-
86 
-
87  // sidx() contains pre-generated segment references with one reference per
-
88  // fragment. Calculate |num_fragments_per_subsegment| and combine
-
89  // pre-generated references into final subsegment references.
-
90  size_t num_fragments = sidx()->references.size();
-
91  size_t num_fragments_per_subsegment =
-
92  (num_fragments - 1) / options().num_subsegments_per_sidx + 1;
-
93  if (num_fragments_per_subsegment <= 1)
-
94  return WriteSegment();
-
95 
-
96  size_t frag_index = 0;
-
97  size_t subseg_index = 0;
-
98  std::vector<SegmentReference>& refs = sidx()->references;
-
99  uint64_t first_sap_time =
-
100  refs[0].sap_delta_time + refs[0].earliest_presentation_time;
-
101  for (size_t i = 1; i < num_fragments; ++i) {
-
102  refs[subseg_index].referenced_size += refs[i].referenced_size;
-
103  refs[subseg_index].subsegment_duration += refs[i].subsegment_duration;
-
104  refs[subseg_index].earliest_presentation_time =
-
105  std::min(refs[subseg_index].earliest_presentation_time,
-
106  refs[i].earliest_presentation_time);
-
107  if (refs[subseg_index].sap_type == SegmentReference::TypeUnknown &&
-
108  refs[i].sap_type != SegmentReference::TypeUnknown) {
-
109  refs[subseg_index].sap_type = refs[i].sap_type;
-
110  first_sap_time =
-
111  refs[i].sap_delta_time + refs[i].earliest_presentation_time;
-
112  }
-
113  if (++frag_index >= num_fragments_per_subsegment) {
-
114  // Calculate sap delta time w.r.t. sidx_->earliest_presentation_time.
-
115  if (refs[subseg_index].sap_type != SegmentReference::TypeUnknown) {
-
116  refs[subseg_index].sap_delta_time =
-
117  first_sap_time - refs[subseg_index].earliest_presentation_time;
-
118  }
-
119  if (++i >= num_fragments)
-
120  break;
-
121  refs[++subseg_index] = refs[i];
-
122  first_sap_time =
-
123  refs[i].sap_delta_time + refs[i].earliest_presentation_time;
-
124  frag_index = 1;
-
125  }
-
126  }
-
127 
-
128  refs.resize(options().num_subsegments_per_sidx);
-
129 
-
130  // earliest_presentation_time is the earliest presentation time of any
-
131  // access unit in the reference stream in the first subsegment.
-
132  sidx()->earliest_presentation_time = refs[0].earliest_presentation_time;
-
133 
-
134  return WriteSegment();
-
135 }
-
136 
-
137 Status MultiSegmentSegmenter::WriteSegment() {
-
138  DCHECK(sidx());
-
139  DCHECK(fragment_buffer());
-
140  DCHECK(styp_);
+
76 Status MultiSegmentSegmenter::DoFinalize() {
+
77  SetComplete();
+
78  return Status::OK;
+
79 }
+
80 
+
81 Status MultiSegmentSegmenter::DoFinalizeSegment() {
+
82  DCHECK(sidx());
+
83  // earliest_presentation_time is the earliest presentation time of any
+
84  // access unit in the reference stream in the first subsegment.
+
85  // It will be re-calculated later when subsegments are finalized.
+
86  sidx()->earliest_presentation_time =
+
87  sidx()->references[0].earliest_presentation_time;
+
88 
+
89  if (options().num_subsegments_per_sidx <= 0)
+
90  return WriteSegment();
+
91 
+
92  // sidx() contains pre-generated segment references with one reference per
+
93  // fragment. Calculate |num_fragments_per_subsegment| and combine
+
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;
+
98  if (num_fragments_per_subsegment <= 1)
+
99  return WriteSegment();
+
100 
+
101  size_t frag_index = 0;
+
102  size_t subseg_index = 0;
+
103  std::vector<SegmentReference>& refs = sidx()->references;
+
104  uint64_t first_sap_time =
+
105  refs[0].sap_delta_time + refs[0].earliest_presentation_time;
+
106  for (size_t i = 1; i < num_fragments; ++i) {
+
107  refs[subseg_index].referenced_size += refs[i].referenced_size;
+
108  refs[subseg_index].subsegment_duration += refs[i].subsegment_duration;
+
109  refs[subseg_index].earliest_presentation_time =
+
110  std::min(refs[subseg_index].earliest_presentation_time,
+
111  refs[i].earliest_presentation_time);
+
112  if (refs[subseg_index].sap_type == SegmentReference::TypeUnknown &&
+
113  refs[i].sap_type != SegmentReference::TypeUnknown) {
+
114  refs[subseg_index].sap_type = refs[i].sap_type;
+
115  first_sap_time =
+
116  refs[i].sap_delta_time + refs[i].earliest_presentation_time;
+
117  }
+
118  if (++frag_index >= num_fragments_per_subsegment) {
+
119  // Calculate sap delta time w.r.t. sidx_->earliest_presentation_time.
+
120  if (refs[subseg_index].sap_type != SegmentReference::TypeUnknown) {
+
121  refs[subseg_index].sap_delta_time =
+
122  first_sap_time - refs[subseg_index].earliest_presentation_time;
+
123  }
+
124  if (++i >= num_fragments)
+
125  break;
+
126  refs[++subseg_index] = refs[i];
+
127  first_sap_time =
+
128  refs[i].sap_delta_time + refs[i].earliest_presentation_time;
+
129  frag_index = 1;
+
130  }
+
131  }
+
132 
+
133  refs.resize(options().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.
+
137  sidx()->earliest_presentation_time = refs[0].earliest_presentation_time;
+
138 
+
139  return WriteSegment();
+
140 }
141 
-
142  std::unique_ptr<BufferWriter> buffer(new BufferWriter());
-
143  File* file;
-
144  std::string file_name;
-
145  if (options().segment_template.empty()) {
-
146  // Append the segment to output file if segment template is not specified.
-
147  file_name = options().output_file_name.c_str();
-
148  file = File::Open(file_name.c_str(), "a");
-
149  if (file == NULL) {
-
150  return Status(
-
151  error::FILE_FAILURE,
-
152  "Cannot open file for append " + options().output_file_name);
-
153  }
-
154  } else {
-
155  file_name = GetSegmentName(options().segment_template,
-
156  sidx()->earliest_presentation_time,
-
157  num_segments_++, options().bandwidth);
-
158  file = File::Open(file_name.c_str(), "w");
-
159  if (file == NULL) {
-
160  return Status(error::FILE_FAILURE,
-
161  "Cannot open file for write " + file_name);
-
162  }
-
163  styp_->Write(buffer.get());
-
164  }
-
165 
-
166  // If num_subsegments_per_sidx is negative, no SIDX box is generated.
-
167  if (options().num_subsegments_per_sidx >= 0)
-
168  sidx()->Write(buffer.get());
-
169 
-
170  const size_t segment_size = buffer->Size() + fragment_buffer()->Size();
-
171  DCHECK_NE(segment_size, 0u);
-
172 
-
173  Status status = buffer->WriteToFile(file);
-
174  if (status.ok())
-
175  status = fragment_buffer()->WriteToFile(file);
-
176 
-
177  if (!file->Close())
-
178  LOG(WARNING) << "Failed to close the file properly: " << file_name;
-
179 
-
180  if (!status.ok())
-
181  return status;
-
182 
-
183  uint64_t segment_duration = 0;
-
184  // ISO/IEC 23009-1:2012: the value shall be identical to sum of the the
-
185  // values of all Subsegment_duration fields in the first ‘sidx’ box.
-
186  for (size_t i = 0; i < sidx()->references.size(); ++i)
-
187  segment_duration += sidx()->references[i].subsegment_duration;
-
188 
-
189  UpdateProgress(segment_duration);
-
190  if (muxer_listener()) {
-
191  muxer_listener()->OnSampleDurationReady(sample_duration());
-
192  muxer_listener()->OnNewSegment(file_name,
-
193  sidx()->earliest_presentation_time,
-
194  segment_duration, segment_size);
-
195  }
-
196 
-
197  return Status::OK;
-
198 }
-
199 
-
200 } // namespace mp4
-
201 } // namespace media
-
202 } // namespace shaka
+
142 Status MultiSegmentSegmenter::WriteSegment() {
+
143  DCHECK(sidx());
+
144  DCHECK(fragment_buffer());
+
145  DCHECK(styp_);
+
146 
+
147  std::unique_ptr<BufferWriter> buffer(new BufferWriter());
+
148  File* file;
+
149  std::string file_name;
+
150  if (options().segment_template.empty()) {
+
151  // Append the segment to output file if segment template is not specified.
+
152  file_name = options().output_file_name.c_str();
+
153  file = File::Open(file_name.c_str(), "a");
+
154  if (file == NULL) {
+
155  return Status(
+
156  error::FILE_FAILURE,
+
157  "Cannot open file for append " + options().output_file_name);
+
158  }
+
159  } else {
+
160  file_name = GetSegmentName(options().segment_template,
+
161  sidx()->earliest_presentation_time,
+
162  num_segments_++, options().bandwidth);
+
163  file = File::Open(file_name.c_str(), "w");
+
164  if (file == NULL) {
+
165  return Status(error::FILE_FAILURE,
+
166  "Cannot open file for write " + file_name);
+
167  }
+
168  styp_->Write(buffer.get());
+
169  }
+
170 
+
171  // If num_subsegments_per_sidx is negative, no SIDX box is generated.
+
172  if (options().num_subsegments_per_sidx >= 0)
+
173  sidx()->Write(buffer.get());
+
174 
+
175  const size_t segment_size = buffer->Size() + fragment_buffer()->Size();
+
176  DCHECK_NE(segment_size, 0u);
+
177 
+
178  Status status = buffer->WriteToFile(file);
+
179  if (status.ok())
+
180  status = fragment_buffer()->WriteToFile(file);
+
181 
+
182  if (!file->Close())
+
183  LOG(WARNING) << "Failed to close the file properly: " << file_name;
+
184 
+
185  if (!status.ok())
+
186  return status;
+
187 
+
188  uint64_t segment_duration = 0;
+
189  // ISO/IEC 23009-1:2012: the value shall be identical to sum of the the
+
190  // values of all Subsegment_duration fields in the first ‘sidx’ box.
+
191  for (size_t i = 0; i < sidx()->references.size(); ++i)
+
192  segment_duration += sidx()->references[i].subsegment_duration;
+
193 
+
194  UpdateProgress(segment_duration);
+
195  if (muxer_listener()) {
+
196  muxer_listener()->OnSampleDurationReady(sample_duration());
+
197  muxer_listener()->OnNewSegment(file_name,
+
198  sidx()->earliest_presentation_time,
+
199  segment_duration, segment_size);
+
200  }
+
201 
+
202  return Status::OK;
+
203 }
+
204 
+
205 } // namespace mp4
+
206 } // namespace media
+
207 } // namespace shaka
virtual void OnNewSegment(const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)=0
virtual bool Open()=0
Internal open. Should not be used directly.
void UpdateProgress(uint64_t progress)
Update segmentation progress using ProgressListener.
Definition: segmenter.cc:225
@@ -296,8 +301,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
virtual void OnSampleDurationReady(uint32_t sample_duration)=0
virtual bool Close()=0
Define an abstract file interface.
Definition: file.h:24
-
uint32_t sample_duration() const
Definition: segmenter.h:91
- +
uint32_t sample_duration() const
Definition: segmenter.h:100
bool GetInitRange(size_t *offset, size_t *size) override
bool GetIndexRange(size_t *offset, size_t *size) override
void Write(BufferWriter *writer)
Definition: box.cc:25
@@ -305,7 +309,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 047fae5f96..5c75764614 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 def4fd36a7..0cdacebe46 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 7b50035476..2985198241 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 fdd5e17ebb..72873da284 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 f4948a16c8..805d75e824 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 dc6cf7caef..e1f7c3ebc0 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 f09e8528a7..10fbf65ce7 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 6ab0250cb1..743f11d80b 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 b7cb937239..61af8cb121 100644 --- a/docs/d4/d33/structshaka_1_1media_1_1mp4_1_1WebVTTSourceLabelBox.html +++ b/docs/d4/d33/structshaka_1_1media_1_1mp4_1_1WebVTTSourceLabelBox.html @@ -173,7 +173,7 @@ Additional Inherited Members diff --git a/docs/d4/d37/io__cache_8cc_source.html b/docs/d4/d37/io__cache_8cc_source.html index f3285416a1..b3269583e7 100644 --- a/docs/d4/d37/io__cache_8cc_source.html +++ b/docs/d4/d37/io__cache_8cc_source.html @@ -246,7 +246,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/d3a/structshaka_1_1media_1_1H264Sps-members.html b/docs/d4/d3a/structshaka_1_1media_1_1H264Sps-members.html index fb5462c441..af62a0b381 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 728a407251..a451d4998a 100644 --- a/docs/d4/d43/classshaka_1_1media_1_1ChunkingHandler.html +++ b/docs/d4/d43/classshaka_1_1media_1_1ChunkingHandler.html @@ -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 639baeaed2..ea7d1ca3ff 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 c263fd1831..2de5a03909 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 73ad9acea3..3781b7e25e 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 6185506dd8..c4237a3cc8 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 7d44fd501a..85e7cc924a 100644 --- a/docs/d4/d5c/classshaka_1_1media_1_1DecryptConfig-members.html +++ b/docs/d4/d5c/classshaka_1_1media_1_1DecryptConfig-members.html @@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/d5d/classshaka_1_1media_1_1UdpFile-members.html b/docs/d4/d5d/classshaka_1_1media_1_1UdpFile-members.html index 0b22fd8672..a92e2f44d9 100644 --- a/docs/d4/d5d/classshaka_1_1media_1_1UdpFile-members.html +++ b/docs/d4/d5d/classshaka_1_1media_1_1UdpFile-members.html @@ -118,7 +118,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 d844ad1e12..633bb99096 100644 --- a/docs/d4/d70/classshaka_1_1DashIopMpdNotifier.html +++ b/docs/d4/d70/classshaka_1_1DashIopMpdNotifier.html @@ -475,7 +475,7 @@ class DashIopMpdNotifierTe diff --git a/docs/d4/d70/structshaka_1_1SegmentInfo-members.html b/docs/d4/d70/structshaka_1_1SegmentInfo-members.html index 0b47ed39a6..69e4d24eee 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 fb8f6abccf..aefdaf847f 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 3d5be16dce..fbba20cc60 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 d788e526cc..48499eddea 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 ef5135ed37..2d17bea29b 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 eb2407e3fb..3e9b12eaef 100644 --- a/docs/d4/d8d/structshaka_1_1media_1_1mp4_1_1EC3Specific.html +++ b/docs/d4/d8d/structshaka_1_1media_1_1mp4_1_1EC3Specific.html @@ -173,7 +173,7 @@ Additional Inherited Members diff --git a/docs/d4/d8e/classshaka_1_1media_1_1UdpOptions.html b/docs/d4/d8e/classshaka_1_1media_1_1UdpOptions.html index 10fc503505..ea6e298450 100644 --- a/docs/d4/d8e/classshaka_1_1media_1_1UdpOptions.html +++ b/docs/d4/d8e/classshaka_1_1media_1_1UdpOptions.html @@ -170,7 +170,7 @@ Static Public Member Functions diff --git a/docs/d4/d9b/classshaka_1_1media_1_1MediaHandlerTestBase.html b/docs/d4/d9b/classshaka_1_1media_1_1MediaHandlerTestBase.html index b22e313334..44107e75c8 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 e05804e84b..62b83b16b0 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 62059c9d08..8aa99457f6 100644 --- a/docs/d4/da7/segmenter__test__base_8cc_source.html +++ b/docs/d4/da7/segmenter__test__base_8cc_source.html @@ -309,7 +309,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/dad/structshaka_1_1media_1_1mp4_1_1SampleEncryption.html b/docs/d4/dad/structshaka_1_1media_1_1mp4_1_1SampleEncryption.html index b8e18e73e8..ea567db72e 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 2d337198e0..2c95495d81 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 949bbc6e41..9cf6e9d596 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 e4cc271625..8562189f3b 100644 --- a/docs/d4/db4/classshaka_1_1MpdNotifierFactory.html +++ b/docs/d4/db4/classshaka_1_1MpdNotifierFactory.html @@ -113,7 +113,7 @@ virtual std::unique_ptr
diff --git a/docs/d4/db9/structshaka_1_1media_1_1mp4_1_1MediaHeader.html b/docs/d4/db9/structshaka_1_1media_1_1mp4_1_1MediaHeader.html index d86f98d4df..40d6ce6b83 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 315f8f1e0b..6fa04661f8 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 cf4621d7cf..d862c791ab 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 7a6bac0c33..a87775dfbb 100644 --- a/docs/d4/dd4/structshaka_1_1media_1_1mp4_1_1FullBox-members.html +++ b/docs/d4/dd4/structshaka_1_1media_1_1mp4_1_1FullBox-members.html @@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/ddb/classshaka_1_1media_1_1MemoryFile-members.html b/docs/d4/ddb/classshaka_1_1media_1_1MemoryFile-members.html index 050123cc29..84550c2316 100644 --- a/docs/d4/ddb/classshaka_1_1media_1_1MemoryFile-members.html +++ b/docs/d4/ddb/classshaka_1_1media_1_1MemoryFile-members.html @@ -120,7 +120,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 35ce895096..f008c6be58 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 9a746dc953..47d91d8482 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 eb80e95b73..e7445cef26 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 36bbb5741d..fe00a5775d 100644 --- a/docs/d4/de7/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener-members.html +++ b/docs/d4/de7/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener-members.html @@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); MuxerListener() (defined in shaka::media::MuxerListener)shaka::media::MuxerListenerinlineprotected 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) overrideshaka::media::VodMediaInfoDumpMuxerListenervirtual OnEncryptionStart() overrideshaka::media::VodMediaInfoDumpMuxerListenervirtual - OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) overrideshaka::media::VodMediaInfoDumpMuxerListenervirtual + OnMediaEnd(const MediaRanges &media_ranges, float duration_seconds, uint64_t file_size) overrideshaka::media::VodMediaInfoDumpMuxerListenervirtual OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) overrideshaka::media::VodMediaInfoDumpMuxerListenervirtual OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) overrideshaka::media::VodMediaInfoDumpMuxerListenervirtual OnSampleDurationReady(uint32_t sample_duration) overrideshaka::media::VodMediaInfoDumpMuxerListenervirtual @@ -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 b6d1a450e5..9fd5c9f52e 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 805c2154bc..378e7b23b2 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 cc3156e6aa..3b70305c9a 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 3975ce07ee..7852992b39 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 24912002e8..0b87ab64e9 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 ca794c3b62..a6b2cedfc1 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 1402e9cb01..fb55e7a3aa 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 9fc81abf8e..ba63a0df49 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 009e6ce3a2..53572a32bd 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 5c861593c3..7ce27d7b9d 100644 --- a/docs/d5/d09/structshaka_1_1media_1_1mp4_1_1CueIDBox.html +++ b/docs/d5/d09/structshaka_1_1media_1_1mp4_1_1CueIDBox.html @@ -173,7 +173,7 @@ Additional Inherited Members diff --git a/docs/d5/d11/classshaka_1_1media_1_1WebMInfoParser-members.html b/docs/d5/d11/classshaka_1_1media_1_1WebMInfoParser-members.html index 4bd0be4864..17bbc3390c 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 f59035f826..60e5eb4220 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 b6f4daeef2..773f6d9581 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 087cf6312d..fa4ccd22d3 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 7c603f2579..1686ab2675 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 90e6ee39de..a07c785c98 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 a92971ee1e..900b41c9dd 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 df7e75cb28..6bb3df6768 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 826656f1dd..787420cb27 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 298fee16ca..81b60a6616 100644 --- a/docs/d5/d40/webm_2single__segment__segmenter_8h_source.html +++ b/docs/d5/d40/webm_2single__segment__segmenter_8h_source.html @@ -119,49 +119,50 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
35  bool is_subsegment) override;
36  bool GetInitRangeStartAndEnd(uint64_t* start, uint64_t* end) override;
37  bool GetIndexRangeStartAndEnd(uint64_t* start, uint64_t* end) override;
-
39 
-
40  protected:
-
41  MkvWriter* writer() { return writer_.get(); }
-
42  uint64_t init_end() { return init_end_; }
-
43  void set_init_end(uint64_t end) { init_end_ = end; }
-
44  void set_index_start(uint64_t start) { index_start_ = start; }
-
45  void set_index_end(uint64_t end) { index_end_ = end; }
-
46  void set_writer(std::unique_ptr<MkvWriter> writer) {
-
47  writer_ = std::move(writer);
-
48  }
-
49 
-
50  // Segmenter implementation overrides.
-
51  Status DoInitialize() override;
-
52  Status DoFinalize() override;
-
53 
-
54  private:
-
55  // Segmenter implementation overrides.
-
56  Status NewSegment(uint64_t start_timestamp, bool is_subsegment) override;
-
57 
-
58  std::unique_ptr<MkvWriter> writer_;
-
59  uint64_t init_end_;
-
60  uint64_t index_start_;
-
61  uint64_t index_end_;
-
62 
-
63  DISALLOW_COPY_AND_ASSIGN(SingleSegmentSegmenter);
-
64 };
-
65 
-
66 } // namespace webm
-
67 } // namespace media
-
68 } // namespace shaka
-
69 
-
70 #endif // MEDIA_FORMATS_WEBM_SINGLE_SEGMENT_SEGMENTER_H_
+
38  std::vector<Range> GetSegmentRanges() override;
+
40 
+
41  protected:
+
42  MkvWriter* writer() { return writer_.get(); }
+
43  uint64_t init_end() { return init_end_; }
+
44  void set_init_end(uint64_t end) { init_end_ = end; }
+
45  void set_index_start(uint64_t start) { index_start_ = start; }
+
46  void set_index_end(uint64_t end) { index_end_ = end; }
+
47  void set_writer(std::unique_ptr<MkvWriter> writer) {
+
48  writer_ = std::move(writer);
+
49  }
+
50 
+
51  // Segmenter implementation overrides.
+
52  Status DoInitialize() override;
+
53  Status DoFinalize() override;
+
54 
+
55  private:
+
56  // Segmenter implementation overrides.
+
57  Status NewSegment(uint64_t start_timestamp, bool is_subsegment) override;
+
58 
+
59  std::unique_ptr<MkvWriter> writer_;
+
60  uint64_t init_end_;
+
61  uint64_t index_start_;
+
62  uint64_t index_end_;
+
63 
+
64  DISALLOW_COPY_AND_ASSIGN(SingleSegmentSegmenter);
+
65 };
+
66 
+
67 } // namespace webm
+
68 } // namespace media
+
69 } // namespace shaka
+
70 
+
71 #endif // MEDIA_FORMATS_WEBM_SINGLE_SEGMENT_SEGMENTER_H_
bool GetInitRangeStartAndEnd(uint64_t *start, uint64_t *end) override
-
bool GetIndexRangeStartAndEnd(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
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 6a59849223..422e7976b6 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 1180f15ec3..03ec57b4e1 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 14041ff480..4a7d24fa44 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 583d5dd4f5..d3c3a445b7 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 714201389f..1df2ac2be3 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 b55b7ecb91..bd60e21a82 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 e56a1ae4dc..b6fb1f2895 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 5c4ca73049..cfe5c6b1a1 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 4ffd0ad0d8..db605debc1 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 3230eb9289..431305ae21 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 8080518588..1040ebdf6d 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 950bc34767..4954904862 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 9d1cd25f08..506295af71 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 bbed6278eb..01a06d7853 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 db2ae69afc..11551e5b89 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 add8f4d0f9..cf38de86be 100644 --- a/docs/d5/d89/widevine__key__source_8cc_source.html +++ b/docs/d5/d89/widevine__key__source_8cc_source.html @@ -723,7 +723,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 e8fc444a26..e3373d322b 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 e2dfa43ebb..753189c521 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 90c0957736..575a595fda 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 461c6fde46..0174d14c30 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 2848ce172d..8d766645c6 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 6d8cf784f7..83569fd34d 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 3e38336d67..11ebcbb651 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 7b9322da66..bc724e21ad 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 54738a6050..c74bc1f264 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 db4de1c996..1d21441e26 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 89c317d733..2f12e85420 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 19042bf640..bfd53f30be 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 64e0856d13..ea80262dc0 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 21355538d1..db06de546f 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 b580c20d6a..f488cb85fb 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 c8efcab8ab..89f08d41b6 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 376dd0d07b..94f3513fa6 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 462881ee4d..3ba0d2e27d 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 a89c71313c..659a516fcd 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 4e2d45f172..a5f6f158da 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 e9c5038c19..e09fba2a19 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 31e12e553c..af48fb9f7c 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 ec2a4a391e..5071d69f94 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 774e80266a..cd2a49a6f1 100644 --- a/docs/d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html +++ b/docs/d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html @@ -121,8 +121,8 @@ Public Member Functions   void OnSampleDurationReady (uint32_t sample_duration) override   -void OnMediaEnd (bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) override -  +void OnMediaEnd (const MediaRanges &media_ranges, float duration_seconds, uint64_t file_size) override +  void OnNewSegment (const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override   @@ -285,7 +285,7 @@ Additional Inherited Members - +
@@ -295,38 +295,8 @@ Additional Inherited Members - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -355,19 +325,14 @@ Additional Inherited Members

Called when all files are written out and the muxer object does not output any more files. Note: This event might not be very interesting to MPEG DASH Live profile.

Parameters
void shaka::media::HlsNotifyMuxerListener::OnMediaEnd (bool has_init_range,
uint64_t init_range_start,
uint64_t init_range_end,
bool has_index_range,
uint64_t index_range_start,
uint64_t index_range_end, const MediaRangesmedia_ranges,
- - - - - - +
has_init_rangeis true if init_range_start and init_range_end actually define an initialization range of a segment. The range is inclusive for both start and end.
init_range_startis the start of the initialization range.
init_range_endis the end of the initialization range.
has_index_rangeis true if index_range_start and index_range_end actually define an index range of a segment. The range is inclusive for both start and end.
index_range_startis the start of the index range.
index_range_endis the end of the index range.
media_rangesis the ranges of the media file.
duration_secondsis the length of the media in seconds.
file_sizeis the size of the file in bytes.
-

Implements shaka::media::MuxerListener.

+

Implements shaka::media::MuxerListener.

Definition at line 113 of file hls_notify_muxer_listener.cc.

@@ -489,7 +454,7 @@ Additional Inherited Members

Implements shaka::media::MuxerListener.

-

Definition at line 127 of file hls_notify_muxer_listener.cc.

+

Definition at line 122 of file hls_notify_muxer_listener.cc.

@@ -535,7 +500,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 7836ca083e..0ee2c0f9f1 100644 --- a/docs/d5/dfa/classshaka_1_1media_1_1MediaParser-members.html +++ b/docs/d5/dfa/classshaka_1_1media_1_1MediaParser-members.html @@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/dfc/file_8cc_source.html b/docs/d5/dfc/file_8cc_source.html index d3ab564eca..fe16a402a1 100644 --- a/docs/d5/dfc/file_8cc_source.html +++ b/docs/d5/dfc/file_8cc_source.html @@ -428,7 +428,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 e25a128329..bd13216230 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 48c3df4d3a..8946d227ad 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 5ded1b3e90..83e944c980 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 af489d24e0..f7462f6a07 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 bcf1e7b4af..652f9237da 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 8335cd13f4..28d6d3d4f2 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 7b2acd6e46..005caffd3f 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 1458a23a7f..b5bb3527ba 100644 --- a/docs/d6/d26/structshaka_1_1media_1_1VideoStreamInfoParameters.html +++ b/docs/d6/d26/structshaka_1_1media_1_1VideoStreamInfoParameters.html @@ -138,7 +138,7 @@ bool is_encrypted

Detailed Description

-

Definition at line 56 of file muxer_listener_test_helper.h.

+

Definition at line 57 of file muxer_listener_test_helper.h.


The documentation for this struct was generated from the following files:
  • media/event/muxer_listener_test_helper.h
  • media/event/muxer_listener_test_helper.cc
  • @@ -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 5e57d4fc01..d8666b0753 100644 --- a/docs/d6/d2e/mpd__notifier__util_8cc_source.html +++ b/docs/d6/d2e/mpd__notifier__util_8cc_source.html @@ -152,7 +152,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 76524ed586..35b2b885db 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 743a901db9..23cfda898a 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 0d93d5342e..5c914368f9 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 63b612ebd9..415bba2c54 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 9956ccd9b0..0cbde28080 100644 --- a/docs/d6/d4e/webm_2multi__segment__segmenter_8cc_source.html +++ b/docs/d6/d4e/webm_2multi__segment__segmenter_8cc_source.html @@ -141,47 +141,51 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    52  return false;
    53 }
    54 
    -
    55 Status MultiSegmentSegmenter::DoInitialize() {
    -
    56  std::unique_ptr<MkvWriter> writer(new MkvWriter);
    -
    57  Status status = writer->Open(options().output_file_name);
    -
    58  if (!status.ok())
    -
    59  return status;
    -
    60  writer_ = std::move(writer);
    -
    61  return WriteSegmentHeader(0, writer_.get());
    -
    62 }
    -
    63 
    -
    64 Status MultiSegmentSegmenter::DoFinalize() {
    -
    65  return writer_->Close();
    +
    55 std::vector<Range> MultiSegmentSegmenter::GetSegmentRanges() {
    +
    56  return std::vector<Range>();
    +
    57 }
    +
    58 
    +
    59 Status MultiSegmentSegmenter::DoInitialize() {
    +
    60  std::unique_ptr<MkvWriter> writer(new MkvWriter);
    +
    61  Status status = writer->Open(options().output_file_name);
    +
    62  if (!status.ok())
    +
    63  return status;
    +
    64  writer_ = std::move(writer);
    +
    65  return WriteSegmentHeader(0, writer_.get());
    66 }
    67 
    -
    68 Status MultiSegmentSegmenter::NewSegment(uint64_t start_timestamp,
    -
    69  bool is_subsegment) {
    -
    70  if (!is_subsegment) {
    -
    71  // Create a new file for the new segment.
    -
    72  std::string segment_name =
    -
    73  GetSegmentName(options().segment_template, start_timestamp,
    -
    74  num_segment_, options().bandwidth);
    -
    75  writer_.reset(new MkvWriter);
    -
    76  Status status = writer_->Open(segment_name);
    -
    77  if (!status.ok())
    -
    78  return status;
    -
    79  num_segment_++;
    -
    80  }
    -
    81 
    -
    82  const uint64_t start_timecode = FromBmffTimestamp(start_timestamp);
    -
    83  return SetCluster(start_timecode, 0, writer_.get());
    -
    84 }
    +
    68 Status MultiSegmentSegmenter::DoFinalize() {
    +
    69  return writer_->Close();
    +
    70 }
    +
    71 
    +
    72 Status MultiSegmentSegmenter::NewSegment(uint64_t start_timestamp,
    +
    73  bool is_subsegment) {
    +
    74  if (!is_subsegment) {
    +
    75  // Create a new file for the new segment.
    +
    76  std::string segment_name =
    +
    77  GetSegmentName(options().segment_template, start_timestamp,
    +
    78  num_segment_, options().bandwidth);
    +
    79  writer_.reset(new MkvWriter);
    +
    80  Status status = writer_->Open(segment_name);
    +
    81  if (!status.ok())
    +
    82  return status;
    +
    83  num_segment_++;
    +
    84  }
    85 
    -
    86 } // namespace webm
    -
    87 } // namespace media
    -
    88 } // namespace shaka
    +
    86  const uint64_t start_timecode = FromBmffTimestamp(start_timestamp);
    +
    87  return SetCluster(start_timecode, 0, writer_.get());
    +
    88 }
    +
    89 
    +
    90 } // namespace webm
    +
    91 } // namespace media
    +
    92 } // namespace shaka
    virtual void OnNewSegment(const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)=0
    An implementation of IMkvWriter using our File type.
    Definition: mkv_writer.h:21
    Status FinalizeSegment(size_t stream_id, std::shared_ptr< SegmentInfo > segment_info)
    Definition: segmenter.cc:140
    diff --git a/docs/d6/d55/aes__cryptor_8cc_source.html b/docs/d6/d55/aes__cryptor_8cc_source.html index 0a8c5754fd..e9ed6547a0 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 ade201fce0..73c533617b 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 69f2c60eab..98ec6c84de 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 07593390a4..d7f2b3a1d4 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 eeed0d6232..ad05010766 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 461d65f422..ab3c946521 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 b79faefce1..7940f0c1f2 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 3a55372016..f64ee97ef7 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 551ec59c6b..e7088903d0 100644 --- a/docs/d6/d77/dash__iop__mpd__notifier_8h_source.html +++ b/docs/d6/d77/dash__iop__mpd__notifier_8h_source.html @@ -228,7 +228,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d79/structshaka_1_1media_1_1mp4_1_1VTTAdditionalTextBox.html b/docs/d6/d79/structshaka_1_1media_1_1mp4_1_1VTTAdditionalTextBox.html index cd686971ea..8600ad6288 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 e3924c7477..5508efd157 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 2e5b7cb69b..165ac5a5f2 100644 --- a/docs/d6/d7c/structshaka_1_1media_1_1mp4_1_1AC3Specific-members.html +++ b/docs/d6/d7c/structshaka_1_1media_1_1mp4_1_1AC3Specific-members.html @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d82/structshaka_1_1media_1_1EncryptionOptions.html b/docs/d6/d82/structshaka_1_1media_1_1EncryptionOptions.html index 11836aed00..67bf4631d5 100644 --- a/docs/d6/d82/structshaka_1_1media_1_1EncryptionOptions.html +++ b/docs/d6/d82/structshaka_1_1media_1_1EncryptionOptions.html @@ -161,7 +161,7 @@ EncryptionParams::EncryptedStreamAttributes
    diff --git a/docs/d6/d86/bandwidth__estimator_8cc_source.html b/docs/d6/d86/bandwidth__estimator_8cc_source.html index 4a7a00675a..e21ae132ef 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 211dafe370..d36a0005fe 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 93c616fb31..2a1663ba8c 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 48fcf68d6c..a2f3efae44 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 ea1c4ccd1a..26956ef14d 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 2bdedb043d..cc20974e87 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 b9821bea13..be23e3c034 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 cc93156945..f0f81c80dc 100644 --- a/docs/d6/da3/mpd__builder_8h_source.html +++ b/docs/d6/da3/mpd__builder_8h_source.html @@ -520,7 +520,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/da4/classshaka_1_1media_1_1AVCDecoderConfigurationRecord-members.html b/docs/d6/da4/classshaka_1_1media_1_1AVCDecoderConfigurationRecord-members.html index 27dff1b3f9..b437c2c581 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 6f5a9298c0..5097a68de0 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 d298ff0386..32e0a84f8e 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 d6d57a8d24..9e779afe3b 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 8cf2c643c6..916906a088 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 4a031d839c..3af637c9ae 100644 --- a/docs/d6/db1/structshaka_1_1media_1_1VideoStreamInfoParameters-members.html +++ b/docs/d6/db1/structshaka_1_1media_1_1VideoStreamInfoParameters-members.html @@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/dc6/structshaka_1_1media_1_1mp2t_1_1EsParserH26x_1_1VideoSliceInfo-members.html b/docs/d6/dc6/structshaka_1_1media_1_1mp2t_1_1EsParserH26x_1_1VideoSliceInfo-members.html index 3927c9dad9..601b817fdb 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 3c21dcb815..16152fc270 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 43ad534e6a..978dc972ad 100644 --- a/docs/d6/dc8/mkv__writer_8cc_source.html +++ b/docs/d6/dc8/mkv__writer_8cc_source.html @@ -194,7 +194,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 50a144038b..76da0e53fb 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 559dddd6e6..8f9332b9c8 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 b495bf2f2c..fccf44fd27 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 83f1054b19..def1945986 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 cdd8fd4438..a07e008932 100644 --- a/docs/d6/dd0/structshaka_1_1media_1_1H264SEIMessage.html +++ b/docs/d6/dd0/structshaka_1_1media_1_1H264SEIMessage.html @@ -127,7 +127,7 @@ union { diff --git a/docs/d6/dde/structshaka_1_1media_1_1H265VuiParameters-members.html b/docs/d6/dde/structshaka_1_1media_1_1H265VuiParameters-members.html index dd1a5df2ac..0c80f6adf4 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 cc4fe57c25..18e356f26e 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 fa55cc78c7..583a31ffac 100644 --- a/docs/d6/de7/structshaka_1_1media_1_1VPxFrameInfo-members.html +++ b/docs/d6/de7/structshaka_1_1media_1_1VPxFrameInfo-members.html @@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/de8/local__file_8cc_source.html b/docs/d6/de8/local__file_8cc_source.html index 289119a1ae..e490e4a094 100644 --- a/docs/d6/de8/local__file_8cc_source.html +++ b/docs/d6/de8/local__file_8cc_source.html @@ -211,7 +211,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/de8/network__util_8h_source.html b/docs/d6/de8/network__util_8h_source.html index 4ccea86a90..345378766e 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 ca7e0d770e..e5a4ad3e9b 100644 --- a/docs/d6/de9/ts__segmenter_8cc_source.html +++ b/docs/d6/de9/ts__segmenter_8cc_source.html @@ -236,12 +236,12 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    static int64_t GetFileSize(const char *file_name)
    Definition: file.cc:190
    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 1887604643..6999b8650f 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 890e971131..fe5aee30c0 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 ce72b40be2..b0c29cda5a 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 2e59d65007..6dd8c459c3 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 29e483de47..09039d345d 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 03056d5007..38956d9792 100644 --- a/docs/d7/d0b/muxer__listener__test__helper_8h_source.html +++ b/docs/d7/d0b/muxer__listener__test__helper_8h_source.html @@ -103,109 +103,106 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    14 #include "packager/media/base/muxer_options.h"
    15 #include "packager/media/base/stream_info.h"
    16 #include "packager/media/base/video_stream_info.h"
    -
    17 #include "packager/mpd/base/media_info.pb.h"
    -
    18 
    -
    19 namespace shaka {
    -
    20 
    -
    21 namespace media {
    -
    22 
    -
    23 // A string containing the escaped PSSH box (for use with a MediaInfo proto).
    -
    24 // This is a full v0 PSSH box with the Widevine system ID and the PSSH data
    -
    25 // 'pssh'
    -
    26 const char kExpectedDefaultPsshBox[] =
    -
    27  "\\000\\000\\000$pssh\\000\\000\\000\\000\\000\\001\\002\\003\\004\\005"
    -
    28  "\\006\\007\\010\\t\\n\\013\\014\\r\\016\\017\\000\\000\\000\\004pssh";
    -
    29 const char kExpectedDefaultMediaInfo[] =
    -
    30  "bandwidth: 7620\n"
    -
    31  "video_info {\n"
    -
    32  " codec: 'avc1.010101'\n"
    -
    33  " width: 720\n"
    -
    34  " height: 480\n"
    -
    35  " time_scale: 10\n"
    -
    36  " pixel_width: 1\n"
    -
    37  " pixel_height: 1\n"
    -
    38  "}\n"
    -
    39  "init_range {\n"
    -
    40  " begin: 0\n"
    -
    41  " end: 120\n"
    -
    42  "}\n"
    -
    43  "index_range {\n"
    -
    44  " begin: 121\n"
    -
    45  " end: 221\n"
    -
    46  "}\n"
    -
    47  "reference_time_scale: 1000\n"
    -
    48  "container_type: 1\n"
    -
    49  "media_file_name: 'test_output_file_name.mp4'\n"
    -
    50  "media_duration_seconds: 10.5\n";
    -
    51 const uint32_t kDefaultReferenceTimeScale = 1000u;
    -
    52 
    -
    53 // Struct that gets passed for to CreateVideoStreamInfo() to create a
    -
    54 // StreamInfo instance. Useful for generating multiple VideoStreamInfo with
    -
    55 // slightly different parameters.
    - - - -
    59  int track_id;
    -
    60  uint32_t time_scale;
    -
    61  uint64_t duration;
    -
    62  Codec codec;
    -
    63  std::string codec_string;
    -
    64  std::string language;
    -
    65  uint16_t width;
    -
    66  uint16_t height;
    -
    67  uint32_t pixel_width;
    -
    68  uint32_t pixel_height;
    -
    69  uint8_t nalu_length_size;
    -
    70  std::vector<uint8_t> codec_config;
    -
    71  bool is_encrypted;
    -
    72 };
    -
    73 
    -
    74 // Note that this does not have vector of StreamInfo pointer.
    - -
    76  bool has_init_range;
    -
    77  uint64_t init_range_start;
    -
    78  uint64_t init_range_end;
    -
    79  bool has_index_range;
    -
    80  uint64_t index_range_start;
    -
    81  uint64_t index_range_end;
    -
    82  float duration_seconds;
    -
    83  uint64_t file_size;
    -
    84 };
    +
    17 #include "packager/media/event/muxer_listener.h"
    +
    18 #include "packager/mpd/base/media_info.pb.h"
    +
    19 
    +
    20 namespace shaka {
    +
    21 
    +
    22 namespace media {
    +
    23 
    +
    24 // A string containing the escaped PSSH box (for use with a MediaInfo proto).
    +
    25 // This is a full v0 PSSH box with the Widevine system ID and the PSSH data
    +
    26 // 'pssh'
    +
    27 const char kExpectedDefaultPsshBox[] =
    +
    28  "\\000\\000\\000$pssh\\000\\000\\000\\000\\000\\001\\002\\003\\004\\005"
    +
    29  "\\006\\007\\010\\t\\n\\013\\014\\r\\016\\017\\000\\000\\000\\004pssh";
    +
    30 const char kExpectedDefaultMediaInfo[] =
    +
    31  "bandwidth: 7620\n"
    +
    32  "video_info {\n"
    +
    33  " codec: 'avc1.010101'\n"
    +
    34  " width: 720\n"
    +
    35  " height: 480\n"
    +
    36  " time_scale: 10\n"
    +
    37  " pixel_width: 1\n"
    +
    38  " pixel_height: 1\n"
    +
    39  "}\n"
    +
    40  "init_range {\n"
    +
    41  " begin: 0\n"
    +
    42  " end: 120\n"
    +
    43  "}\n"
    +
    44  "index_range {\n"
    +
    45  " begin: 121\n"
    +
    46  " end: 221\n"
    +
    47  "}\n"
    +
    48  "reference_time_scale: 1000\n"
    +
    49  "container_type: 1\n"
    +
    50  "media_file_name: 'test_output_file_name.mp4'\n"
    +
    51  "media_duration_seconds: 10.5\n";
    +
    52 const uint32_t kDefaultReferenceTimeScale = 1000u;
    +
    53 
    +
    54 // Struct that gets passed for to CreateVideoStreamInfo() to create a
    +
    55 // StreamInfo instance. Useful for generating multiple VideoStreamInfo with
    +
    56 // slightly different parameters.
    + + + +
    60  int track_id;
    +
    61  uint32_t time_scale;
    +
    62  uint64_t duration;
    +
    63  Codec codec;
    +
    64  std::string codec_string;
    +
    65  std::string language;
    +
    66  uint16_t width;
    +
    67  uint16_t height;
    +
    68  uint32_t pixel_width;
    +
    69  uint32_t pixel_height;
    +
    70  uint8_t nalu_length_size;
    +
    71  std::vector<uint8_t> codec_config;
    +
    72  bool is_encrypted;
    +
    73 };
    +
    74 
    +
    75 // Note that this does not have vector of StreamInfo pointer.
    + +
    77  MuxerListener::MediaRanges media_ranges;
    +
    78  float duration_seconds;
    +
    79  uint64_t file_size;
    +
    80 };
    +
    81 
    +
    82 // Creates StreamInfo instance from VideoStreamInfoParameters.
    +
    83 std::shared_ptr<StreamInfo> CreateVideoStreamInfo(
    +
    84  const VideoStreamInfoParameters& param);
    85 
    -
    86 // Creates StreamInfo instance from VideoStreamInfoParameters.
    -
    87 std::shared_ptr<StreamInfo> CreateVideoStreamInfo(
    -
    88  const VideoStreamInfoParameters& param);
    -
    89 
    -
    90 // Returns the "default" VideoStreamInfoParameters for testing.
    -
    91 VideoStreamInfoParameters GetDefaultVideoStreamInfoParams();
    -
    92 
    -
    93 // Returns the "default" values for OnMediaEnd().
    -
    94 OnMediaEndParameters GetDefaultOnMediaEndParams();
    -
    95 
    -
    96 // Returns the "default" ProtectionSystemSpecificInfo for testing.
    -
    97 std::vector<ProtectionSystemSpecificInfo> GetDefaultKeySystemInfo();
    -
    98 
    -
    99 // Sets "default" values for muxer_options for testing.
    -
    100 void SetDefaultMuxerOptionsValues(MuxerOptions* muxer_options);
    -
    101 
    -
    102 // Expect that expect and actual are equal.
    -
    103 void ExpectMediaInfoEqual(const MediaInfo& expect, const MediaInfo& actual);
    -
    104 
    -
    105 // Returns true if expect and actual are equal.
    -
    106 bool MediaInfoEqual(const MediaInfo& expect, const MediaInfo& actual);
    +
    86 // Returns the "default" VideoStreamInfoParameters for testing.
    +
    87 VideoStreamInfoParameters GetDefaultVideoStreamInfoParams();
    +
    88 
    +
    89 // Returns the "default" values for OnMediaEnd().
    +
    90 OnMediaEndParameters GetDefaultOnMediaEndParams();
    +
    91 
    +
    92 // Returns the "default" ProtectionSystemSpecificInfo for testing.
    +
    93 std::vector<ProtectionSystemSpecificInfo> GetDefaultKeySystemInfo();
    +
    94 
    +
    95 // Sets "default" values for muxer_options for testing.
    +
    96 void SetDefaultMuxerOptionsValues(MuxerOptions* muxer_options);
    +
    97 
    +
    98 // Expect that expect and actual are equal.
    +
    99 void ExpectMediaInfoEqual(const MediaInfo& expect, const MediaInfo& actual);
    +
    100 
    +
    101 // Returns true if expect and actual are equal.
    +
    102 bool MediaInfoEqual(const MediaInfo& expect, const MediaInfo& actual);
    +
    103 
    +
    104 } // namespace media
    +
    105 
    +
    106 } // namespace shaka
    107 
    -
    108 } // namespace media
    -
    109 
    -
    110 } // namespace shaka
    -
    111 
    -
    112 #endif // MEDIA_EVENT_MUXER_LISTENER_TEST_HELPER_H_
    +
    108 #endif // MEDIA_EVENT_MUXER_LISTENER_TEST_HELPER_H_
    This structure contains the list of configuration options for Muxer.
    Definition: muxer_options.h:18
    - - + + + diff --git a/docs/d7/d12/media__parser_8h_source.html b/docs/d7/d12/media__parser_8h_source.html index b278976f11..7ce78da0f8 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 08a8f5865f..89f81afdef 100644 --- a/docs/d7/d15/mpd__notifier_8h_source.html +++ b/docs/d7/d15/mpd__notifier_8h_source.html @@ -169,7 +169,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d7/d16/structshaka_1_1media_1_1mp4_1_1VideoSampleEntry-members.html b/docs/d7/d16/structshaka_1_1media_1_1mp4_1_1VideoSampleEntry-members.html index fcb0fd26d0..02e177bc93 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 4e301096d4..72e00df61a 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 f305912112..56c9204ea2 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 3cf51a8b54..835dcd2a29 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 d913e0a3a5..9f63c5dd2f 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 0362409e14..a128d36476 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 dc363a6355..03faad797d 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 570d7ebe04..dec0324d01 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 3776e71a4c..827bc270cc 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 a2ef89cb68..c83df9c0e6 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 996241d7ec..7e9bfb1baa 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 2d279b8172..66547ca824 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 78b7272357..3020ad1ff6 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 ed3148d386..af0bac472e 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 119eeb9a49..f83db107c0 100644 --- a/docs/d7/d6d/classshaka_1_1media_1_1MediaSample.html +++ b/docs/d7/d6d/classshaka_1_1media_1_1MediaSample.html @@ -446,7 +446,7 @@ static std::shared_ptr
    diff --git a/docs/d7/d75/structshaka_1_1media_1_1mp4_1_1MediaHeader-members.html b/docs/d7/d75/structshaka_1_1media_1_1mp4_1_1MediaHeader-members.html index ef5c27f162..062acdab7c 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 2a4325cdab..b99cd775bd 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 b86f0cc05d..12cb89e271 100644 --- a/docs/d7/d79/chunking__handler_8h_source.html +++ b/docs/d7/d79/chunking__handler_8h_source.html @@ -188,7 +188,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d7/d7a/classshaka_1_1media_1_1UdpFile.html b/docs/d7/d7a/classshaka_1_1media_1_1UdpFile.html index cebc786517..7ee9cb9dbe 100644 --- a/docs/d7/d7a/classshaka_1_1media_1_1UdpFile.html +++ b/docs/d7/d7a/classshaka_1_1media_1_1UdpFile.html @@ -464,7 +464,7 @@ Additional Inherited Members diff --git a/docs/d7/d7c/vlog__flags_8h_source.html b/docs/d7/d7c/vlog__flags_8h_source.html index be848db404..ea2455b6f9 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 7b4c63dece..8db43116fc 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 a1d58e2712..db2a87d7fc 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 e789a19bd1..8f50335acd 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 0894a2b107..56755215a8 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 0477229daf..35f32a03f3 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 ca36333eca..3479cf18c2 100644 --- a/docs/d7/db0/mpd__writer_8h_source.html +++ b/docs/d7/db0/mpd__writer_8h_source.html @@ -182,7 +182,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d7/db7/structshaka_1_1media_1_1mp4_1_1SampleToChunk-members.html b/docs/d7/db7/structshaka_1_1media_1_1mp4_1_1SampleToChunk-members.html index 819aabf177..d9e90c8680 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 83f09fbdc4..16b35c0ca1 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 d9ab6877eb..dc355780fe 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 b5e21ca7c9..589bb8c201 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 119c47206a..d7fe267477 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 e1da7be9af..d01fda4d4e 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 0285f27114..e52dd02255 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 62a6b31a78..d726ab6792 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 c9b0111857..9f95a855cc 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 714e060981..49fee2e429 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 eb41323495..c1c8fe11d1 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 db2ca65859..00c287a454 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 7cbd2eb2bf..c8f3eecac0 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 6164f523da..2ead47e078 100644 --- a/docs/d7/def/mp4__media__parser_8cc_source.html +++ b/docs/d7/def/mp4__media__parser_8cc_source.html @@ -886,7 +886,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 4fb743e698..230e3ca28e 100644 --- a/docs/d7/df9/byte__queue_8cc_source.html +++ b/docs/d7/df9/byte__queue_8cc_source.html @@ -182,7 +182,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/d08/classshaka_1_1media_1_1H264ByteToUnitStreamConverter.html b/docs/d8/d08/classshaka_1_1media_1_1H264ByteToUnitStreamConverter.html index 7be945a6f4..0e5a700915 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 0de315a476..ae02bd55f8 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 39042d5878..5bf21a85a2 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 395d5c7fe8..8a640c6e44 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 aca2a5647f..ceb82b9e9b 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 93cb8477ac..79ff2132c3 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 b9b463ae74..39db2c4727 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 7dc669aa53..efa7bfd892 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 f118d57de7..c25fbd983d 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 7f95d989b9..a5792bb1d4 100644 --- a/docs/d8/d16/structshaka_1_1media_1_1MuxerOptions-members.html +++ b/docs/d8/d16/structshaka_1_1media_1_1MuxerOptions-members.html @@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/d19/bandwidth__estimator_8h_source.html b/docs/d8/d19/bandwidth__estimator_8h_source.html index 7195d083e6..6c42e64887 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 f3d598c6de..8781d72403 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 66f200325a..59bde6ab4b 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 3575794f9e..736d81f273 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 ea7862ccaf..ac640ad07c 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 f3411ec080..ec4dd743cf 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/d4d/aes__decryptor_8h_source.html b/docs/d8/d4d/aes__decryptor_8h_source.html index df77d4a01b..e01d998af7 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 9cbc3856e7..cbec23126a 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 c4d0f456e8..360f9c94a0 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 2286ef94ec..6508cc98cb 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 ab50adc985..6904332e85 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 2a113ec1ec..f373695ac0 100644 --- a/docs/d8/d6d/structshaka_1_1media_1_1mp4_1_1DataInformation.html +++ b/docs/d8/d6d/structshaka_1_1media_1_1mp4_1_1DataInformation.html @@ -173,7 +173,7 @@ Additional Inherited Members diff --git a/docs/d8/d70/structshaka_1_1media_1_1mp4_1_1Metadata-members.html b/docs/d8/d70/structshaka_1_1media_1_1mp4_1_1Metadata-members.html index a2bbac7a6f..4baf8a8454 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 1aa1260edb..9003279914 100644 --- a/docs/d8/d74/classshaka_1_1media_1_1TracksBuilder.html +++ b/docs/d8/d74/classshaka_1_1media_1_1TracksBuilder.html @@ -123,7 +123,7 @@ std::vector< uint8_t >  diff --git a/docs/d8/d86/classshaka_1_1media_1_1WebMTracksParser.html b/docs/d8/d86/classshaka_1_1media_1_1WebMTracksParser.html index b3fd0d1c24..d92283fc4d 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 86acbea08d..6a5409a4e1 100644 --- a/docs/d8/d88/structshaka_1_1media_1_1mp4_1_1MovieExtends-members.html +++ b/docs/d8/d88/structshaka_1_1media_1_1mp4_1_1MovieExtends-members.html @@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/d8e/classshaka_1_1AdaptationSet.html b/docs/d8/d8e/classshaka_1_1AdaptationSet.html index 4b05aa428e..fdae893659 100644 --- a/docs/d8/d8e/classshaka_1_1AdaptationSet.html +++ b/docs/d8/d8e/classshaka_1_1AdaptationSet.html @@ -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 5ba563ccc9..2235911422 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 a196dba964..4b0a0b9d9f 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 10e2f929ac..d4f771ff97 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 7a606351b6..3c4a226c55 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 c8aaba2d65..267b3551c4 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 893e66e0a3..a74a949792 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 0f994cb2e6..500e725d49 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 6d9377a34b..793de69626 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 811306aaed..2c45f99811 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/d9f/udp__file_8h_source.html b/docs/d8/d9f/udp__file_8h_source.html index a1cafb73cb..74d8519a66 100644 --- a/docs/d8/d9f/udp__file_8h_source.html +++ b/docs/d8/d9f/udp__file_8h_source.html @@ -153,7 +153,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/da3/classshaka_1_1media_1_1DecryptorSource-members.html b/docs/d8/da3/classshaka_1_1media_1_1DecryptorSource-members.html index f3c76299a6..36bf3e8931 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 f0c035164b..61cf2f0df4 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 05355b6230..808c3c9907 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 431156608a..a474dc9a6c 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 e8db46d074..5554a87aa9 100644 --- a/docs/d8/daf/namespaceshaka.html +++ b/docs/d8/daf/namespaceshaka.html @@ -693,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 dda34eb3cf..ec4ccee045 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 @@ -115,6 +115,9 @@ Public Member Functions   bool GetIndexRange (size_t *offset, size_t *size) override   + +std::vector< RangeGetSegmentRanges () override +  - Public Member Functions inherited from shaka::media::mp4::Segmenter  Segmenter (const MuxerOptions &options, std::unique_ptr< FileType > ftyp, std::unique_ptr< Movie > moov) @@ -261,7 +264,7 @@ void set_progress_target diff --git a/docs/d8/db9/classshaka_1_1media_1_1WebMContentEncodingsClient-members.html b/docs/d8/db9/classshaka_1_1media_1_1WebMContentEncodingsClient-members.html index 76195a5119..01359bea4a 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 186b9a469e..a1e8d3ae54 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 dd6571980e..359a359831 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 83e18bf8f8..da681d9117 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 8a02e3141f..fe52e36ae3 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 8309430376..f1459790af 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 fdecf227de..e22f5686c0 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 0e0f1cffc3..47667d7c7b 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 a04ac67586..ba1eb4a914 100644 --- a/docs/d8/de1/classshaka_1_1SimpleMpdNotifier.html +++ b/docs/d8/de1/classshaka_1_1SimpleMpdNotifier.html @@ -473,7 +473,7 @@ class SimpleMpdNotifierTes diff --git a/docs/d8/de6/webm__crypto__helpers_8h_source.html b/docs/d8/de6/webm__crypto__helpers_8h_source.html index 6f28df688d..944df98c1a 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 df6b970789..c58183eaf3 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 7869689353..8b9b686e0c 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 e93fbc8e14..52f99c5a39 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 8557c4b752..1d9556caca 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 66b5cba3bd..0d17cc24ea 100644 --- a/docs/d8/df0/webm_2single__segment__segmenter_8cc_source.html +++ b/docs/d8/df0/webm_2single__segment__segmenter_8cc_source.html @@ -125,82 +125,100 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    36 
    37 bool SingleSegmentSegmenter::GetInitRangeStartAndEnd(uint64_t* start,
    38  uint64_t* end) {
    -
    39  // The init range is the header, from the start of the file to the size of
    -
    40  // the header.
    -
    41  *start = 0;
    -
    42  *end = init_end_;
    -
    43  return true;
    -
    44 }
    -
    45 
    -
    46 bool SingleSegmentSegmenter::GetIndexRangeStartAndEnd(uint64_t* start,
    -
    47  uint64_t* end) {
    -
    48  // The index is the Cues element, which is always placed at the end of the
    -
    49  // file.
    -
    50  *start = index_start_;
    -
    51  *end = index_end_;
    -
    52  return true;
    -
    53 }
    -
    54 
    -
    55 Status SingleSegmentSegmenter::DoInitialize() {
    -
    56  if (!writer_) {
    -
    57  std::unique_ptr<MkvWriter> writer(new MkvWriter);
    -
    58  Status status = writer->Open(options().output_file_name);
    -
    59  if (!status.ok())
    -
    60  return status;
    -
    61  writer_ = std::move(writer);
    +
    39  *start = 0;
    +
    40  *end = init_end_;
    +
    41  return true;
    +
    42 }
    +
    43 
    +
    44 bool SingleSegmentSegmenter::GetIndexRangeStartAndEnd(uint64_t* start,
    +
    45  uint64_t* end) {
    +
    46  *start = index_start_;
    +
    47  *end = index_end_;
    +
    48  return true;
    +
    49 }
    +
    50 
    +
    51 std::vector<Range> SingleSegmentSegmenter::GetSegmentRanges() {
    +
    52  std::vector<Range> ranges;
    +
    53  if (cues()->cue_entries_size() == 0) {
    +
    54  return ranges;
    +
    55  }
    +
    56  for (int32_t i = 0; i < cues()->cue_entries_size() - 1; ++i) {
    +
    57  const mkvmuxer::CuePoint* cue_point = cues()->GetCueByIndex(i);
    +
    58  Range r;
    +
    59  r.start = cue_point->cluster_pos();
    +
    60  r.end = cues()->GetCueByIndex(i + 1)->cluster_pos() - 1;
    +
    61  ranges.push_back(r);
    62  }
    63 
    -
    64  Status ret = WriteSegmentHeader(0, writer_.get());
    -
    65  init_end_ = writer_->Position() - 1;
    -
    66  seek_head()->set_cluster_pos(init_end_ + 1 - segment_payload_pos());
    -
    67  return ret;
    -
    68 }
    -
    69 
    -
    70 Status SingleSegmentSegmenter::DoFinalize() {
    -
    71  // Write the Cues to the end of the file.
    -
    72  index_start_ = writer_->Position();
    -
    73  seek_head()->set_cues_pos(index_start_ - segment_payload_pos());
    -
    74  if (!cues()->Write(writer_.get()))
    -
    75  return Status(error::FILE_FAILURE, "Error writing Cues data.");
    -
    76 
    -
    77  // The WebM index is at the end of the file.
    -
    78  index_end_ = writer_->Position() - 1;
    -
    79  writer_->Position(0);
    -
    80 
    -
    81  Status status = WriteSegmentHeader(index_end_ + 1, writer_.get());
    -
    82  status.Update(writer_->Close());
    -
    83  return status;
    -
    84 }
    -
    85 
    -
    86 Status SingleSegmentSegmenter::NewSegment(uint64_t start_timestamp,
    -
    87  bool is_subsegment) {
    -
    88  // No-op for subsegment in single segment mode.
    -
    89  if (is_subsegment)
    -
    90  return Status::OK;
    -
    91  // Create a new Cue point.
    -
    92  uint64_t position = writer_->Position();
    -
    93  uint64_t start_timecode = FromBmffTimestamp(start_timestamp);
    +
    64  Range last_range;
    +
    65  const mkvmuxer::CuePoint* last_cue_point =
    +
    66  cues()->GetCueByIndex(cues()->cue_entries_size() - 1);
    +
    67  last_range.start = last_cue_point->cluster_pos();
    +
    68  last_range.end = last_range.start + cluster()->Size() - 1;
    +
    69  ranges.push_back(last_range);
    +
    70  return ranges;
    +
    71 }
    +
    72 
    +
    73 Status SingleSegmentSegmenter::DoInitialize() {
    +
    74  if (!writer_) {
    +
    75  std::unique_ptr<MkvWriter> writer(new MkvWriter);
    +
    76  Status status = writer->Open(options().output_file_name);
    +
    77  if (!status.ok())
    +
    78  return status;
    +
    79  writer_ = std::move(writer);
    +
    80  }
    +
    81 
    +
    82  Status ret = WriteSegmentHeader(0, writer_.get());
    +
    83  init_end_ = writer_->Position() - 1;
    +
    84  seek_head()->set_cluster_pos(init_end_ + 1 - segment_payload_pos());
    +
    85  return ret;
    +
    86 }
    +
    87 
    +
    88 Status SingleSegmentSegmenter::DoFinalize() {
    +
    89  // Write the Cues to the end of the file.
    +
    90  index_start_ = writer_->Position();
    +
    91  seek_head()->set_cues_pos(index_start_ - segment_payload_pos());
    +
    92  if (!cues()->Write(writer_.get()))
    +
    93  return Status(error::FILE_FAILURE, "Error writing Cues data.");
    94 
    -
    95  mkvmuxer::CuePoint* cue_point = new mkvmuxer::CuePoint;
    -
    96  cue_point->set_time(start_timecode);
    -
    97  cue_point->set_track(track_id());
    -
    98  cue_point->set_cluster_pos(position - segment_payload_pos());
    -
    99  if (!cues()->AddCue(cue_point))
    -
    100  return Status(error::INTERNAL_ERROR, "Error adding CuePoint.");
    -
    101 
    -
    102  return SetCluster(start_timecode, position, writer_.get());
    -
    103 }
    -
    104 
    -
    105 } // namespace webm
    -
    106 } // namespace media
    -
    107 } // namespace shaka
    -
    An implementation of IMkvWriter using our File type.
    Definition: mkv_writer.h:21
    +
    95  // The WebM index is at the end of the file.
    +
    96  index_end_ = writer_->Position() - 1;
    +
    97  writer_->Position(0);
    +
    98 
    +
    99  Status status = WriteSegmentHeader(index_end_ + 1, writer_.get());
    +
    100  status.Update(writer_->Close());
    +
    101  return status;
    +
    102 }
    +
    103 
    +
    104 Status SingleSegmentSegmenter::NewSegment(uint64_t start_timestamp,
    +
    105  bool is_subsegment) {
    +
    106  // No-op for subsegment in single segment mode.
    +
    107  if (is_subsegment)
    +
    108  return Status::OK;
    +
    109  // Create a new Cue point.
    +
    110  uint64_t position = writer_->Position();
    +
    111  uint64_t start_timecode = FromBmffTimestamp(start_timestamp);
    +
    112 
    +
    113  mkvmuxer::CuePoint* cue_point = new mkvmuxer::CuePoint;
    +
    114  cue_point->set_time(start_timecode);
    +
    115  cue_point->set_track(track_id());
    +
    116  cue_point->set_cluster_pos(position - segment_payload_pos());
    +
    117  if (!cues()->AddCue(cue_point))
    +
    118  return Status(error::INTERNAL_ERROR, "Error adding CuePoint.");
    +
    119 
    +
    120  return SetCluster(start_timecode, position, writer_.get());
    +
    121 }
    +
    122 
    +
    123 } // namespace webm
    +
    124 } // namespace media
    +
    125 } // namespace shaka
    Status FinalizeSegment(size_t stream_id, std::shared_ptr< SegmentInfo > segment_info)
    Definition: segmenter.cc:140
    + 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 4b09fd9ae9..fa9d8458df 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 0d213076a9..b285987015 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 1cc64cdda1..2b04200469 100644 --- a/docs/d9/d00/structshaka_1_1media_1_1OnMediaEndParameters-members.html +++ b/docs/d9/d00/structshaka_1_1media_1_1OnMediaEndParameters-members.html @@ -95,16 +95,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); - - - - - - +
    duration_seconds (defined in shaka::media::OnMediaEndParameters)shaka::media::OnMediaEndParameters
    file_size (defined in shaka::media::OnMediaEndParameters)shaka::media::OnMediaEndParameters
    has_index_range (defined in shaka::media::OnMediaEndParameters)shaka::media::OnMediaEndParameters
    has_init_range (defined in shaka::media::OnMediaEndParameters)shaka::media::OnMediaEndParameters
    index_range_end (defined in shaka::media::OnMediaEndParameters)shaka::media::OnMediaEndParameters
    index_range_start (defined in shaka::media::OnMediaEndParameters)shaka::media::OnMediaEndParameters
    init_range_end (defined in shaka::media::OnMediaEndParameters)shaka::media::OnMediaEndParameters
    init_range_start (defined in shaka::media::OnMediaEndParameters)shaka::media::OnMediaEndParameters
    media_ranges (defined in shaka::media::OnMediaEndParameters)shaka::media::OnMediaEndParameters
    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 f034165208..0b8c28fd07 100644 --- a/docs/d9/d01/mp4_2single__segment__segmenter_8h_source.html +++ b/docs/d9/d01/mp4_2single__segment__segmenter_8h_source.html @@ -96,50 +96,52 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    7 #ifndef MEDIA_FORMATS_MP4_SINGLE_SEGMENT_SEGMENTER_H_
    8 #define MEDIA_FORMATS_MP4_SINGLE_SEGMENT_SEGMENTER_H_
    9 
    -
    10 #include "packager/media/file/file_closer.h"
    -
    11 #include "packager/media/formats/mp4/segmenter.h"
    -
    12 
    -
    13 namespace shaka {
    -
    14 namespace media {
    -
    15 namespace mp4 {
    -
    16 
    - -
    29  public:
    -
    30  SingleSegmentSegmenter(const MuxerOptions& options,
    -
    31  std::unique_ptr<FileType> ftyp,
    -
    32  std::unique_ptr<Movie> moov);
    -
    33  ~SingleSegmentSegmenter() override;
    -
    34 
    -
    37  bool GetInitRange(size_t* offset, size_t* size) override;
    -
    38  bool GetIndexRange(size_t* offset, size_t* size) override;
    -
    40 
    -
    41  private:
    -
    42  // Segmenter implementation overrides.
    -
    43  Status DoInitialize() override;
    -
    44  Status DoFinalize() override;
    -
    45  Status DoFinalizeSegment() override;
    -
    46 
    -
    47  std::unique_ptr<SegmentIndex> vod_sidx_;
    -
    48  std::string temp_file_name_;
    -
    49  std::unique_ptr<File, FileCloser> temp_file_;
    -
    50 
    -
    51  DISALLOW_COPY_AND_ASSIGN(SingleSegmentSegmenter);
    -
    52 };
    -
    53 
    -
    54 } // namespace mp4
    -
    55 } // namespace media
    -
    56 } // namespace shaka
    -
    57 
    -
    58 #endif // MEDIA_FORMATS_MP4_SINGLE_SEGMENT_SEGMENTER_H_
    -
    bool GetIndexRange(size_t *offset, size_t *size) override
    +
    10 #include "packager/media/event/muxer_listener.h"
    +
    11 #include "packager/media/file/file_closer.h"
    +
    12 #include "packager/media/formats/mp4/segmenter.h"
    +
    13 
    +
    14 namespace shaka {
    +
    15 namespace media {
    +
    16 namespace mp4 {
    +
    17 
    + +
    30  public:
    +
    31  SingleSegmentSegmenter(const MuxerOptions& options,
    +
    32  std::unique_ptr<FileType> ftyp,
    +
    33  std::unique_ptr<Movie> moov);
    +
    34  ~SingleSegmentSegmenter() override;
    +
    35 
    +
    38  bool GetInitRange(size_t* offset, size_t* size) override;
    +
    39  bool GetIndexRange(size_t* offset, size_t* size) override;
    +
    40  std::vector<Range> GetSegmentRanges() override;
    +
    42 
    +
    43  private:
    +
    44  // Segmenter implementation overrides.
    +
    45  Status DoInitialize() override;
    +
    46  Status DoFinalize() override;
    +
    47  Status DoFinalizeSegment() override;
    +
    48 
    +
    49  std::unique_ptr<SegmentIndex> vod_sidx_;
    +
    50  std::string temp_file_name_;
    +
    51  std::unique_ptr<File, FileCloser> temp_file_;
    +
    52 
    +
    53  DISALLOW_COPY_AND_ASSIGN(SingleSegmentSegmenter);
    +
    54 };
    +
    55 
    +
    56 } // namespace mp4
    +
    57 } // namespace media
    +
    58 } // namespace shaka
    +
    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
    - - -
    bool GetInitRange(size_t *offset, size_t *size) override
    + + +
    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 c31177f532..e4487e4955 100644 --- a/docs/d9/d08/mock__mpd__builder_8h_source.html +++ b/docs/d9/d08/mock__mpd__builder_8h_source.html @@ -174,7 +174,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/d0b/classshaka_1_1media_1_1HlsNotifyMuxerListener-members.html b/docs/d9/d0b/classshaka_1_1media_1_1HlsNotifyMuxerListener-members.html index 70fdfdaa1b..1ca442a762 100644 --- a/docs/d9/d0b/classshaka_1_1media_1_1HlsNotifyMuxerListener-members.html +++ b/docs/d9/d0b/classshaka_1_1media_1_1HlsNotifyMuxerListener-members.html @@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); MuxerListener() (defined in shaka::media::MuxerListener)shaka::media::MuxerListenerinlineprotected 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) overrideshaka::media::HlsNotifyMuxerListenervirtual OnEncryptionStart() overrideshaka::media::HlsNotifyMuxerListenervirtual - OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) overrideshaka::media::HlsNotifyMuxerListenervirtual + OnMediaEnd(const MediaRanges &media_ranges, float duration_seconds, uint64_t file_size) overrideshaka::media::HlsNotifyMuxerListenervirtual OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) overrideshaka::media::HlsNotifyMuxerListenervirtual OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) overrideshaka::media::HlsNotifyMuxerListenervirtual OnSampleDurationReady(uint32_t sample_duration) overrideshaka::media::HlsNotifyMuxerListenervirtual @@ -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 6d08fc44f9..b9e375b19e 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 69fab57d7f..ce28298db7 100644 --- a/docs/d9/d12/chunking__handler_8cc_source.html +++ b/docs/d9/d12/chunking__handler_8cc_source.html @@ -356,7 +356,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/d13/classshaka_1_1media_1_1BufferReader.html b/docs/d9/d13/classshaka_1_1media_1_1BufferReader.html index 7b0bc913ae..dd98c64cd6 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 7cc43f0cf4..cd491b893c 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 07a10dd980..1ecc7e55f0 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 29513a09d5..8e96b3063c 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 @@ -124,6 +124,9 @@ Public Member Functions   virtual bool GetIndexRange (size_t *offset, size_t *size)=0   + +virtual std::vector< RangeGetSegmentRanges ()=0 +  uint32_t GetReferenceTimeScale () const   @@ -170,7 +173,7 @@ void set_progress_target

    Detailed Description

    This class defines the Segmenter which is responsible for organizing fragments into segments/subsegments and package them into a MP4 file. Inherited by MultiSegmentSegmenter and SingleSegmentSegmenter. SingleSegmentSegmenter defines the Segmenter for DASH Video-On-Demand with a single segment for each media presentation while MultiSegmentSegmenter handles all other cases including DASH live profile.

    -

    Definition at line 41 of file segmenter.h.

    +

    Definition at line 43 of file segmenter.h.

    Member Function Documentation

    @@ -423,7 +426,7 @@ void set_progress_target
    Returns
    The sample duration in the timescale of the media. Returns 0 if no samples are added yet.
    -

    Definition at line 91 of file segmenter.h.

    +

    Definition at line 100 of file segmenter.h.

    @@ -434,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 d81c9e9064..b14f92624d 100644 --- a/docs/d9/d36/classshaka_1_1media_1_1TracksBuilder-members.html +++ b/docs/d9/d36/classshaka_1_1media_1_1TracksBuilder-members.html @@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/d3a/classshaka_1_1media_1_1File-members.html b/docs/d9/d3a/classshaka_1_1media_1_1File-members.html index 13d3457d99..fd445f2740 100644 --- a/docs/d9/d3a/classshaka_1_1media_1_1File-members.html +++ b/docs/d9/d3a/classshaka_1_1media_1_1File-members.html @@ -117,7 +117,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 150110019f..62f84f7486 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 d4b893a1c3..1f995326e9 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 995e6b5c83..b992919406 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 ef25475ab3..d91e25dcab 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 new file mode 100644 index 0000000000..bd1ef07b75 --- /dev/null +++ b/docs/d9/d65/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges-members.html @@ -0,0 +1,107 @@ + + + + + + +DASH Media Packaging SDK: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    DASH Media Packaging SDK +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    +
    +
    shaka::media::MuxerListener::MediaRanges Member List
    +
    + + + + + 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 756a84c541..be789426f8 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 96e921767e..011fe07395 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 a90037cd24..35d3a3f47d 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 3e312b2cc9..2ae50ed388 100644 --- a/docs/d9/d76/ts__muxer_8cc_source.html +++ b/docs/d9/d76/ts__muxer_8cc_source.html @@ -148,22 +148,20 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    59  return;
    60 
    61  // For now, there is no single file TS segmenter. So all the values passed
    -
    62  // here are false and 0. Called just to notify the MuxerListener.
    -
    63  const bool kHasInitRange = true;
    -
    64  const bool kHasIndexRange = true;
    -
    65  muxer_listener()->OnMediaEnd(!kHasInitRange, 0, 0, !kHasIndexRange, 0, 0, 0,
    -
    66  0);
    -
    67 }
    -
    68 
    -
    69 } // namespace mp2t
    -
    70 } // namespace media
    -
    71 } // namespace shaka
    -
    virtual void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size)=0
    +
    62  // here are left empty.
    +
    63  MuxerListener::MediaRanges range;
    +
    64  muxer_listener()->OnMediaEnd(range, 0, 0);
    +
    65 }
    +
    66 
    +
    67 } // namespace mp2t
    +
    68 } // namespace media
    +
    69 } // namespace shaka
    virtual void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)=0
    +
    virtual void OnMediaEnd(const MediaRanges &media_ranges, float duration_seconds, uint64_t file_size)=0
    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 f07935da46..eab1a5d166 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 affaa95faf..ada37f5799 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 1c59ab42ad..001bb3eaf8 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 1b64594f72..99f2b5010b 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 2a8cb52823..ff8d067c8b 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 1a440cbbac..290fd6305f 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 b21657d6df..8ddb7f4324 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 23524bbfb8..d144594ca9 100644 --- a/docs/d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html +++ b/docs/d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html @@ -117,8 +117,8 @@ Public Member Functions   void OnSampleDurationReady (uint32_t sample_duration) override   -void OnMediaEnd (bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) override -  +void OnMediaEnd (const MediaRanges &media_ranges, float duration_seconds, uint64_t file_size) override +  void OnNewSegment (const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override   @@ -263,7 +263,7 @@ Additional Inherited Members - +
    @@ -273,38 +273,8 @@ Additional Inherited Members - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -333,19 +303,14 @@ Additional Inherited Members

    Called when all files are written out and the muxer object does not output any more files. Note: This event might not be very interesting to MPEG DASH Live profile.

    Parameters
    void shaka::media::MpdNotifyMuxerListener::OnMediaEnd (bool has_init_range,
    uint64_t init_range_start,
    uint64_t init_range_end,
    bool has_index_range,
    uint64_t index_range_start,
    uint64_t index_range_end, const MediaRangesmedia_ranges,
    - - - - - - +
    has_init_rangeis true if init_range_start and init_range_end actually define an initialization range of a segment. The range is inclusive for both start and end.
    init_range_startis the start of the initialization range.
    init_range_endis the end of the initialization range.
    has_index_rangeis true if index_range_start and index_range_end actually define an index range of a segment. The range is inclusive for both start and end.
    index_range_startis the start of the index range.
    index_range_endis the end of the index range.
    media_rangesis the ranges of the media file.
    duration_secondsis the length of the media in seconds.
    file_sizeis the size of the file in bytes.
    -

    Implements shaka::media::MuxerListener.

    +

    Implements shaka::media::MuxerListener.

    Definition at line 112 of file mpd_notify_muxer_listener.cc.

    @@ -467,7 +432,7 @@ Additional Inherited Members

    Implements shaka::media::MuxerListener.

    -

    Definition at line 155 of file mpd_notify_muxer_listener.cc.

    +

    Definition at line 145 of file mpd_notify_muxer_listener.cc.

    @@ -513,7 +478,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 a8b82e7c31..a05d94e8e4 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 35afb72f10..1970ce3876 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 @@ -102,22 +102,23 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); GetIndexRange(size_t *offset, size_t *size)=0shaka::media::mp4::Segmenterpure virtual GetInitRange(size_t *offset, size_t *size)=0shaka::media::mp4::Segmenterpure virtual GetReferenceTimeScale() const (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenter - Initialize(const std::vector< std::shared_ptr< StreamInfo >> &streams, MuxerListener *muxer_listener, ProgressListener *progress_listener)shaka::media::mp4::Segmenter - moov() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected - muxer_listener() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected - options() const (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected - progress_target() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected - sample_duration() const shaka::media::mp4::Segmenterinline - Segmenter(const MuxerOptions &options, std::unique_ptr< FileType > ftyp, std::unique_ptr< Movie > moov) (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenter - set_progress_target(uint64_t progress_target) (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected - SetComplete()shaka::media::mp4::Segmenterprotected - sidx() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected - UpdateProgress(uint64_t progress)shaka::media::mp4::Segmenterprotected - ~Segmenter() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmentervirtual + GetSegmentRanges()=0 (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterpure virtual + Initialize(const std::vector< std::shared_ptr< StreamInfo >> &streams, MuxerListener *muxer_listener, ProgressListener *progress_listener)shaka::media::mp4::Segmenter + moov() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected + muxer_listener() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected + options() const (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected + progress_target() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected + sample_duration() const shaka::media::mp4::Segmenterinline + Segmenter(const MuxerOptions &options, std::unique_ptr< FileType > ftyp, std::unique_ptr< Movie > moov) (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenter + set_progress_target(uint64_t progress_target) (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected + SetComplete()shaka::media::mp4::Segmenterprotected + sidx() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected + UpdateProgress(uint64_t progress)shaka::media::mp4::Segmenterprotected + ~Segmenter() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmentervirtual 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 f4ec772eba..2f716624bf 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 b4d519442f..e4fd7de4f0 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 d7e25137a3..aebf2e564f 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/dbd/classshaka_1_1media_1_1MemoryFile.html b/docs/d9/dbd/classshaka_1_1media_1_1MemoryFile.html index 2b5e2a5269..c273f101e2 100644 --- a/docs/d9/dbd/classshaka_1_1media_1_1MemoryFile.html +++ b/docs/d9/dbd/classshaka_1_1media_1_1MemoryFile.html @@ -487,7 +487,7 @@ bool  diff --git a/docs/d9/dc4/classshaka_1_1media_1_1BufferReader-members.html b/docs/d9/dc4/classshaka_1_1media_1_1BufferReader-members.html index 0ddfa07e05..671504acbd 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 3e2ab1dfea..fed31882a2 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 7b418487de..a3ded952d0 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 0eb7e63c3c..8b8f157875 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/de0/structshaka_1_1media_1_1Range.html b/docs/d9/de0/structshaka_1_1media_1_1Range.html new file mode 100644 index 0000000000..20441af0fd --- /dev/null +++ b/docs/d9/de0/structshaka_1_1media_1_1Range.html @@ -0,0 +1,123 @@ + + + + + + +DASH Media Packaging SDK: shaka::media::Range Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    DASH Media Packaging SDK +
    +
    +
    + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    shaka::media::Range Struct Reference
    +
    +
    + +

    #include <range.h>

    + + + + + + +

    +Public Attributes

    +uint64_t start
     
    +uint64_t end
     
    +

    Detailed Description

    +

    Structure for specifying a range. The start and end are inclusive which is equivalent to [start, end].

    + +

    Definition at line 19 of file range.h.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/docs/d9/de3/muxer__listener__internal_8cc_source.html b/docs/d9/de3/muxer__listener__internal_8cc_source.html index 5875e86e39..ce56996705 100644 --- a/docs/d9/de3/muxer__listener__internal_8cc_source.html +++ b/docs/d9/de3/muxer__listener__internal_8cc_source.html @@ -125,257 +125,239 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    36  return static_cast<uint32_t>(ceil(bits_per_second));
    37 }
    38 
    -
    39 void SetRange(uint64_t begin, uint64_t end, Range* range) {
    -
    40  DCHECK(range);
    -
    41  range->set_begin(begin);
    -
    42  range->set_end(end);
    -
    43 }
    -
    44 
    -
    45 void SetMediaInfoRanges(bool has_init_range,
    -
    46  uint64_t init_range_start,
    -
    47  uint64_t init_range_end,
    -
    48  bool has_index_range,
    -
    49  uint64_t index_range_start,
    -
    50  uint64_t index_range_end,
    -
    51  MediaInfo* media_info) {
    -
    52  if (has_init_range) {
    -
    53  SetRange(
    -
    54  init_range_start, init_range_end, media_info->mutable_init_range());
    -
    55  }
    -
    56 
    -
    57  if (has_index_range) {
    -
    58  SetRange(
    -
    59  index_range_start, index_range_end, media_info->mutable_index_range());
    -
    60  }
    -
    61 }
    -
    62 
    -
    63 void SetMediaInfoContainerType(MuxerListener::ContainerType container_type,
    -
    64  MediaInfo* media_info) {
    -
    65  DCHECK(media_info);
    -
    66  switch (container_type) {
    -
    67  case MuxerListener::kContainerUnknown:
    -
    68  media_info->set_container_type(MediaInfo::CONTAINER_UNKNOWN);
    -
    69  break;
    -
    70  case MuxerListener::kContainerMp4:
    -
    71  media_info->set_container_type(MediaInfo::CONTAINER_MP4);
    -
    72  break;
    -
    73  case MuxerListener::kContainerMpeg2ts:
    -
    74  media_info->set_container_type(MediaInfo::CONTAINER_MPEG2_TS);
    -
    75  break;
    -
    76  case MuxerListener::kContainerWebM:
    -
    77  media_info->set_container_type(MediaInfo::CONTAINER_WEBM);
    -
    78  break;
    -
    79  default:
    -
    80  NOTREACHED() << "Unknown container type " << container_type;
    -
    81  }
    -
    82 }
    +
    39 // TODO(rkuroiwa): There is shaka::Range in MediaInfo proto and
    +
    40 // shaka::media::Range in media/base. Find better names.
    +
    41 void SetRange(uint64_t begin, uint64_t end, shaka::Range* range) {
    +
    42  DCHECK(range);
    +
    43  range->set_begin(begin);
    +
    44  range->set_end(end);
    +
    45 }
    +
    46 
    +
    47 void SetMediaInfoContainerType(MuxerListener::ContainerType container_type,
    +
    48  MediaInfo* media_info) {
    +
    49  DCHECK(media_info);
    +
    50  switch (container_type) {
    +
    51  case MuxerListener::kContainerUnknown:
    +
    52  media_info->set_container_type(MediaInfo::CONTAINER_UNKNOWN);
    +
    53  break;
    +
    54  case MuxerListener::kContainerMp4:
    +
    55  media_info->set_container_type(MediaInfo::CONTAINER_MP4);
    +
    56  break;
    +
    57  case MuxerListener::kContainerMpeg2ts:
    +
    58  media_info->set_container_type(MediaInfo::CONTAINER_MPEG2_TS);
    +
    59  break;
    +
    60  case MuxerListener::kContainerWebM:
    +
    61  media_info->set_container_type(MediaInfo::CONTAINER_WEBM);
    +
    62  break;
    +
    63  default:
    +
    64  NOTREACHED() << "Unknown container type " << container_type;
    +
    65  }
    +
    66 }
    +
    67 
    +
    68 void AddVideoInfo(const VideoStreamInfo* video_stream_info,
    +
    69  MediaInfo* media_info) {
    +
    70  DCHECK(video_stream_info);
    +
    71  DCHECK(media_info);
    +
    72  MediaInfo_VideoInfo* video_info = media_info->mutable_video_info();
    +
    73  video_info->set_codec(video_stream_info->codec_string());
    +
    74  video_info->set_width(video_stream_info->width());
    +
    75  video_info->set_height(video_stream_info->height());
    +
    76  video_info->set_time_scale(video_stream_info->time_scale());
    +
    77 
    +
    78  if (video_stream_info->pixel_width() > 0)
    +
    79  video_info->set_pixel_width(video_stream_info->pixel_width());
    +
    80 
    +
    81  if (video_stream_info->pixel_height() > 0)
    +
    82  video_info->set_pixel_height(video_stream_info->pixel_height());
    83 
    -
    84 void AddVideoInfo(const VideoStreamInfo* video_stream_info,
    -
    85  MediaInfo* media_info) {
    -
    86  DCHECK(video_stream_info);
    -
    87  DCHECK(media_info);
    -
    88  MediaInfo_VideoInfo* video_info = media_info->mutable_video_info();
    -
    89  video_info->set_codec(video_stream_info->codec_string());
    -
    90  video_info->set_width(video_stream_info->width());
    -
    91  video_info->set_height(video_stream_info->height());
    -
    92  video_info->set_time_scale(video_stream_info->time_scale());
    +
    84  const std::vector<uint8_t>& codec_config = video_stream_info->codec_config();
    +
    85  if (!codec_config.empty()) {
    +
    86  video_info->set_decoder_config(&codec_config[0], codec_config.size());
    +
    87  }
    +
    88 
    +
    89  if (video_stream_info->playback_rate() > 0) {
    +
    90  video_info->set_playback_rate(video_stream_info->playback_rate());
    +
    91  }
    +
    92 }
    93 
    -
    94  if (video_stream_info->pixel_width() > 0)
    -
    95  video_info->set_pixel_width(video_stream_info->pixel_width());
    -
    96 
    -
    97  if (video_stream_info->pixel_height() > 0)
    -
    98  video_info->set_pixel_height(video_stream_info->pixel_height());
    -
    99 
    -
    100  const std::vector<uint8_t>& codec_config = video_stream_info->codec_config();
    -
    101  if (!codec_config.empty()) {
    -
    102  video_info->set_decoder_config(&codec_config[0], codec_config.size());
    -
    103  }
    -
    104 
    -
    105  if (video_stream_info->playback_rate() > 0) {
    -
    106  video_info->set_playback_rate(video_stream_info->playback_rate());
    -
    107  }
    -
    108 }
    +
    94 void AddAudioInfo(const AudioStreamInfo* audio_stream_info,
    +
    95  MediaInfo* media_info) {
    +
    96  DCHECK(audio_stream_info);
    +
    97  DCHECK(media_info);
    +
    98  MediaInfo_AudioInfo* audio_info = media_info->mutable_audio_info();
    +
    99  audio_info->set_codec(audio_stream_info->codec_string());
    +
    100  audio_info->set_sampling_frequency(audio_stream_info->sampling_frequency());
    +
    101  audio_info->set_time_scale(audio_stream_info->time_scale());
    +
    102  audio_info->set_num_channels(audio_stream_info->num_channels());
    +
    103 
    +
    104  const std::string& language = audio_stream_info->language();
    +
    105  // ISO-639-2/T defines language "und" which we also want to ignore.
    +
    106  if (!language.empty() && language != "und") {
    +
    107  audio_info->set_language(language);
    +
    108  }
    109 
    -
    110 void AddAudioInfo(const AudioStreamInfo* audio_stream_info,
    -
    111  MediaInfo* media_info) {
    -
    112  DCHECK(audio_stream_info);
    -
    113  DCHECK(media_info);
    -
    114  MediaInfo_AudioInfo* audio_info = media_info->mutable_audio_info();
    -
    115  audio_info->set_codec(audio_stream_info->codec_string());
    -
    116  audio_info->set_sampling_frequency(audio_stream_info->sampling_frequency());
    -
    117  audio_info->set_time_scale(audio_stream_info->time_scale());
    -
    118  audio_info->set_num_channels(audio_stream_info->num_channels());
    -
    119 
    -
    120  const std::string& language = audio_stream_info->language();
    -
    121  // ISO-639-2/T defines language "und" which we also want to ignore.
    -
    122  if (!language.empty() && language != "und") {
    -
    123  audio_info->set_language(language);
    -
    124  }
    +
    110  const std::vector<uint8_t>& codec_config = audio_stream_info->codec_config();
    +
    111  if (!codec_config.empty()) {
    +
    112  audio_info->set_decoder_config(&codec_config[0], codec_config.size());
    +
    113  }
    +
    114 
    +
    115  if (audio_stream_info->codec_string() == "ec-3") {
    +
    116  uint32_t ec3_channel_map;
    +
    117  if (!CalculateEC3ChannelMap(codec_config, &ec3_channel_map)) {
    +
    118  LOG(ERROR) << "Failed to calculate EC3 channel map.";
    +
    119  return;
    +
    120  }
    +
    121  audio_info->mutable_codec_specific_data()->set_ec3_channel_map(
    +
    122  ec3_channel_map);
    +
    123  }
    +
    124 }
    125 
    -
    126  const std::vector<uint8_t>& codec_config = audio_stream_info->codec_config();
    -
    127  if (!codec_config.empty()) {
    -
    128  audio_info->set_decoder_config(&codec_config[0], codec_config.size());
    -
    129  }
    -
    130 
    -
    131  if (audio_stream_info->codec_string() == "ec-3") {
    -
    132  uint32_t ec3_channel_map;
    -
    133  if (!CalculateEC3ChannelMap(codec_config, &ec3_channel_map)) {
    -
    134  LOG(ERROR) << "Failed to calculate EC3 channel map.";
    -
    135  return;
    -
    136  }
    -
    137  audio_info->mutable_codec_specific_data()->set_ec3_channel_map(
    -
    138  ec3_channel_map);
    -
    139  }
    +
    126 void AddTextInfo(const TextStreamInfo& text_stream_info,
    +
    127  MediaInfo* media_info) {
    +
    128  MediaInfo::TextInfo* text_info = media_info->mutable_text_info();
    +
    129  // For now, set everything as subtitle.
    +
    130  text_info->set_type(MediaInfo::TextInfo::SUBTITLE);
    +
    131  if (text_stream_info.codec_string() == "wvtt") {
    +
    132  text_info->set_format("vtt");
    +
    133  } else {
    +
    134  LOG(WARNING) << "Unhandled codec " << text_stream_info.codec_string()
    +
    135  << " copying it as format.";
    +
    136  text_info->set_format(text_stream_info.codec_string());
    +
    137  }
    +
    138 
    +
    139  text_info->set_language(text_stream_info.language());
    140 }
    141 
    -
    142 void AddTextInfo(const TextStreamInfo& text_stream_info,
    -
    143  MediaInfo* media_info) {
    -
    144  MediaInfo::TextInfo* text_info = media_info->mutable_text_info();
    -
    145  // For now, set everything as subtitle.
    -
    146  text_info->set_type(MediaInfo::TextInfo::SUBTITLE);
    -
    147  if (text_stream_info.codec_string() == "wvtt") {
    -
    148  text_info->set_format("vtt");
    +
    142 void SetMediaInfoStreamInfo(const StreamInfo& stream_info,
    +
    143  MediaInfo* media_info) {
    +
    144  if (stream_info.stream_type() == kStreamAudio) {
    +
    145  AddAudioInfo(static_cast<const AudioStreamInfo*>(&stream_info),
    +
    146  media_info);
    +
    147  } else if (stream_info.stream_type() == kStreamText) {
    +
    148  AddTextInfo(static_cast<const TextStreamInfo&>(stream_info), media_info);
    149  } else {
    -
    150  LOG(WARNING) << "Unhandled codec " << text_stream_info.codec_string()
    -
    151  << " copying it as format.";
    -
    152  text_info->set_format(text_stream_info.codec_string());
    +
    150  DCHECK_EQ(stream_info.stream_type(), kStreamVideo);
    +
    151  AddVideoInfo(static_cast<const VideoStreamInfo*>(&stream_info),
    +
    152  media_info);
    153  }
    -
    154 
    -
    155  text_info->set_language(text_stream_info.language());
    -
    156 }
    -
    157 
    -
    158 void SetMediaInfoStreamInfo(const StreamInfo& stream_info,
    -
    159  MediaInfo* media_info) {
    -
    160  if (stream_info.stream_type() == kStreamAudio) {
    -
    161  AddAudioInfo(static_cast<const AudioStreamInfo*>(&stream_info),
    -
    162  media_info);
    -
    163  } else if (stream_info.stream_type() == kStreamText) {
    -
    164  AddTextInfo(static_cast<const TextStreamInfo&>(stream_info), media_info);
    -
    165  } else {
    -
    166  DCHECK_EQ(stream_info.stream_type(), kStreamVideo);
    -
    167  AddVideoInfo(static_cast<const VideoStreamInfo*>(&stream_info),
    -
    168  media_info);
    -
    169  }
    -
    170  if (stream_info.duration() > 0) {
    -
    171  // |stream_info.duration()| contains the media duration from the original
    -
    172  // media header, which is usually good enough.
    -
    173  media_info->set_media_duration_seconds(
    -
    174  static_cast<double>(stream_info.duration()) / stream_info.time_scale());
    -
    175  }
    -
    176 }
    -
    177 
    -
    178 void SetMediaInfoMuxerOptions(const MuxerOptions& muxer_options,
    -
    179  MediaInfo* media_info) {
    +
    154  if (stream_info.duration() > 0) {
    +
    155  // |stream_info.duration()| contains the media duration from the original
    +
    156  // media header, which is usually good enough.
    +
    157  media_info->set_media_duration_seconds(
    +
    158  static_cast<double>(stream_info.duration()) / stream_info.time_scale());
    +
    159  }
    +
    160 }
    +
    161 
    +
    162 void SetMediaInfoMuxerOptions(const MuxerOptions& muxer_options,
    +
    163  MediaInfo* media_info) {
    +
    164  DCHECK(media_info);
    +
    165  if (muxer_options.segment_template.empty()) {
    +
    166  media_info->set_media_file_name(muxer_options.output_file_name);
    +
    167  } else {
    +
    168  media_info->set_init_segment_name(muxer_options.output_file_name);
    +
    169  media_info->set_segment_template(muxer_options.segment_template);
    +
    170  }
    +
    171 }
    +
    172 
    +
    173 } // namespace
    +
    174 
    +
    175 bool GenerateMediaInfo(const MuxerOptions& muxer_options,
    +
    176  const StreamInfo& stream_info,
    +
    177  uint32_t reference_time_scale,
    +
    178  MuxerListener::ContainerType container_type,
    +
    179  MediaInfo* media_info) {
    180  DCHECK(media_info);
    -
    181  if (muxer_options.segment_template.empty()) {
    -
    182  media_info->set_media_file_name(muxer_options.output_file_name);
    -
    183  } else {
    -
    184  media_info->set_init_segment_name(muxer_options.output_file_name);
    -
    185  media_info->set_segment_template(muxer_options.segment_template);
    -
    186  }
    -
    187 }
    +
    181 
    +
    182  SetMediaInfoMuxerOptions(muxer_options, media_info);
    +
    183  SetMediaInfoStreamInfo(stream_info, media_info);
    +
    184  media_info->set_reference_time_scale(reference_time_scale);
    +
    185  SetMediaInfoContainerType(container_type, media_info);
    +
    186  if (muxer_options.bandwidth > 0)
    +
    187  media_info->set_bandwidth(muxer_options.bandwidth);
    188 
    -
    189 } // namespace
    -
    190 
    -
    191 bool GenerateMediaInfo(const MuxerOptions& muxer_options,
    -
    192  const StreamInfo& stream_info,
    -
    193  uint32_t reference_time_scale,
    -
    194  MuxerListener::ContainerType container_type,
    +
    189  return true;
    +
    190 }
    +
    191 
    +
    192 bool SetVodInformation(const MuxerListener::MediaRanges& media_ranges,
    +
    193  float duration_seconds,
    +
    194  uint64_t file_size,
    195  MediaInfo* media_info) {
    196  DCHECK(media_info);
    -
    197 
    -
    198  SetMediaInfoMuxerOptions(muxer_options, media_info);
    -
    199  SetMediaInfoStreamInfo(stream_info, media_info);
    -
    200  media_info->set_reference_time_scale(reference_time_scale);
    -
    201  SetMediaInfoContainerType(container_type, media_info);
    -
    202  if (muxer_options.bandwidth > 0)
    -
    203  media_info->set_bandwidth(muxer_options.bandwidth);
    -
    204 
    -
    205  return true;
    -
    206 }
    +
    197  if (file_size == 0) {
    +
    198  LOG(ERROR) << "File size not specified.";
    +
    199  return false;
    +
    200  }
    +
    201 
    +
    202  if (duration_seconds <= 0.0f) {
    +
    203  // Non positive second media must be invalid media.
    +
    204  LOG(ERROR) << "Duration is not positive: " << duration_seconds;
    +
    205  return false;
    +
    206  }
    207 
    -
    208 bool SetVodInformation(bool has_init_range,
    -
    209  uint64_t init_range_start,
    -
    210  uint64_t init_range_end,
    -
    211  bool has_index_range,
    -
    212  uint64_t index_range_start,
    -
    213  uint64_t index_range_end,
    -
    214  float duration_seconds,
    -
    215  uint64_t file_size,
    -
    216  MediaInfo* media_info) {
    -
    217  DCHECK(media_info);
    -
    218  if (file_size == 0) {
    -
    219  LOG(ERROR) << "File size not specified.";
    -
    220  return false;
    -
    221  }
    -
    222 
    -
    223  if (duration_seconds <= 0.0f) {
    -
    224  // Non positive second media must be invalid media.
    -
    225  LOG(ERROR) << "Duration is not positive: " << duration_seconds;
    -
    226  return false;
    -
    227  }
    -
    228 
    -
    229  SetMediaInfoRanges(has_init_range,
    -
    230  init_range_start,
    -
    231  init_range_end,
    -
    232  has_index_range,
    -
    233  index_range_start,
    -
    234  index_range_end,
    -
    235  media_info);
    -
    236 
    -
    237  media_info->set_media_duration_seconds(duration_seconds);
    -
    238 
    -
    239  if (!media_info->has_bandwidth()) {
    -
    240  media_info->set_bandwidth(
    -
    241  EstimateRequiredBandwidth(file_size, duration_seconds));
    -
    242  }
    -
    243  return true;
    -
    244 }
    -
    245 
    -
    246 void SetContentProtectionFields(
    -
    247  FourCC protection_scheme,
    -
    248  const std::vector<uint8_t>& default_key_id,
    -
    249  const std::vector<ProtectionSystemSpecificInfo>& key_system_info,
    -
    250  MediaInfo* media_info) {
    -
    251  DCHECK(media_info);
    -
    252  MediaInfo::ProtectedContent* protected_content =
    -
    253  media_info->mutable_protected_content();
    -
    254  protected_content->set_protection_scheme(FourCCToString(protection_scheme));
    -
    255 
    -
    256  if (!default_key_id.empty()) {
    -
    257  protected_content->set_default_key_id(default_key_id.data(),
    -
    258  default_key_id.size());
    -
    259  }
    -
    260 
    -
    261  for (const ProtectionSystemSpecificInfo& info : key_system_info) {
    -
    262  MediaInfo::ProtectedContent::ContentProtectionEntry* entry =
    -
    263  protected_content->add_content_protection_entry();
    -
    264  if (!info.system_id().empty())
    -
    265  entry->set_uuid(CreateUUIDString(info.system_id()));
    -
    266 
    -
    267  const std::vector<uint8_t> pssh = info.CreateBox();
    -
    268  entry->set_pssh(pssh.data(), pssh.size());
    -
    269  }
    -
    270 }
    -
    271 
    -
    272 std::string CreateUUIDString(const std::vector<uint8_t>& data) {
    -
    273  DCHECK_EQ(16u, data.size());
    -
    274  std::string uuid =
    -
    275  base::ToLowerASCII(base::HexEncode(data.data(), data.size()));
    -
    276  uuid.insert(20, "-");
    -
    277  uuid.insert(16, "-");
    -
    278  uuid.insert(12, "-");
    -
    279  uuid.insert(8, "-");
    -
    280  return uuid;
    -
    281 }
    -
    282 
    -
    283 } // namespace internal
    -
    284 } // namespace media
    -
    285 } // namespace shaka
    +
    208 
    +
    209  if (media_ranges.init_range) {
    +
    210  SetRange(media_ranges.init_range->start, media_ranges.init_range->end,
    +
    211  media_info->mutable_init_range());
    +
    212  }
    +
    213 
    +
    214  if (media_ranges.index_range) {
    +
    215  SetRange(media_ranges.index_range->start, media_ranges.index_range->end,
    +
    216  media_info->mutable_index_range());
    +
    217  }
    +
    218 
    +
    219  media_info->set_media_duration_seconds(duration_seconds);
    +
    220 
    +
    221  if (!media_info->has_bandwidth()) {
    +
    222  media_info->set_bandwidth(
    +
    223  EstimateRequiredBandwidth(file_size, duration_seconds));
    +
    224  }
    +
    225  return true;
    +
    226 }
    +
    227 
    +
    228 void SetContentProtectionFields(
    +
    229  FourCC protection_scheme,
    +
    230  const std::vector<uint8_t>& default_key_id,
    +
    231  const std::vector<ProtectionSystemSpecificInfo>& key_system_info,
    +
    232  MediaInfo* media_info) {
    +
    233  DCHECK(media_info);
    +
    234  MediaInfo::ProtectedContent* protected_content =
    +
    235  media_info->mutable_protected_content();
    +
    236  protected_content->set_protection_scheme(FourCCToString(protection_scheme));
    +
    237 
    +
    238  if (!default_key_id.empty()) {
    +
    239  protected_content->set_default_key_id(default_key_id.data(),
    +
    240  default_key_id.size());
    +
    241  }
    +
    242 
    +
    243  for (const ProtectionSystemSpecificInfo& info : key_system_info) {
    +
    244  MediaInfo::ProtectedContent::ContentProtectionEntry* entry =
    +
    245  protected_content->add_content_protection_entry();
    +
    246  if (!info.system_id().empty())
    +
    247  entry->set_uuid(CreateUUIDString(info.system_id()));
    +
    248 
    +
    249  const std::vector<uint8_t> pssh = info.CreateBox();
    +
    250  entry->set_pssh(pssh.data(), pssh.size());
    +
    251  }
    +
    252 }
    +
    253 
    +
    254 std::string CreateUUIDString(const std::vector<uint8_t>& data) {
    +
    255  DCHECK_EQ(16u, data.size());
    +
    256  std::string uuid =
    +
    257  base::ToLowerASCII(base::HexEncode(data.data(), data.size()));
    +
    258  uuid.insert(20, "-");
    +
    259  uuid.insert(16, "-");
    +
    260  uuid.insert(12, "-");
    +
    261  uuid.insert(8, "-");
    +
    262  return uuid;
    +
    263 }
    +
    264 
    +
    265 } // namespace internal
    +
    266 } // namespace media
    +
    267 } // namespace shaka
    diff --git a/docs/d9/de6/classshaka_1_1media_1_1LocalFile.html b/docs/d9/de6/classshaka_1_1media_1_1LocalFile.html index 50a068e941..ca77193baa 100644 --- a/docs/d9/de6/classshaka_1_1media_1_1LocalFile.html +++ b/docs/d9/de6/classshaka_1_1media_1_1LocalFile.html @@ -504,7 +504,7 @@ bool  diff --git a/docs/d9/dea/classshaka_1_1media_1_1FixedKeySource-members.html b/docs/d9/dea/classshaka_1_1media_1_1FixedKeySource-members.html index a642423f08..0bb6bb705c 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 7f95d5512a..ce2567b7df 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 2c8b034f39..ffb5350fa3 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 be6d7c56c7..2160541c92 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 19b4d6cf42..0d2536265c 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 951a7384b6..14da45e385 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 5f50dc3400..c976c5dce6 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 f841dac0ad..f06680965b 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 3031bfe7ae..5cb5335a02 100644 --- a/docs/da/d1c/classshaka_1_1media_1_1mp2t_1_1TsSection.html +++ b/docs/da/d1c/classshaka_1_1media_1_1mp2t_1_1TsSection.html @@ -141,7 +141,7 @@ virtual void Reset ()= diff --git a/docs/da/d1d/udp__options_8cc_source.html b/docs/da/d1d/udp__options_8cc_source.html index fcf9107cc8..18c17a992d 100644 --- a/docs/da/d1d/udp__options_8cc_source.html +++ b/docs/da/d1d/udp__options_8cc_source.html @@ -224,7 +224,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/d23/classshaka_1_1media_1_1mp2t_1_1EsParserH26x.html b/docs/da/d23/classshaka_1_1media_1_1mp2t_1_1EsParserH26x.html index 6a0a00cf7f..6b883f4949 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 358c1ceb90..a987238f5c 100644 --- a/docs/da/d23/ts__muxer_8h_source.html +++ b/docs/da/d23/ts__muxer_8h_source.html @@ -137,7 +137,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/d24/h265__parser_8h_source.html b/docs/da/d24/h265__parser_8h_source.html index 8dbffff9f9..1311da369d 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 8b10e9c426..0218568add 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 557231a5a4..35b00faf1c 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 c05a0cbeb1..0ca75e9c61 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 2db3fd0842..5a16a2b6e3 100644 --- a/docs/da/d41/mp4_2multi__segment__segmenter_8h_source.html +++ b/docs/da/d41/mp4_2multi__segment__segmenter_8h_source.html @@ -113,36 +113,37 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    37 
    40  bool GetInitRange(size_t* offset, size_t* size) override;
    41  bool GetIndexRange(size_t* offset, size_t* size) override;
    -
    43 
    -
    44  private:
    -
    45  // Segmenter implementation overrides.
    -
    46  Status DoInitialize() override;
    -
    47  Status DoFinalize() override;
    -
    48  Status DoFinalizeSegment() override;
    -
    49 
    -
    50  // Write segment to file.
    -
    51  Status WriteSegment();
    -
    52 
    -
    53  std::unique_ptr<SegmentType> styp_;
    -
    54  uint32_t num_segments_;
    -
    55 
    -
    56  DISALLOW_COPY_AND_ASSIGN(MultiSegmentSegmenter);
    -
    57 };
    -
    58 
    -
    59 } // namespace mp4
    -
    60 } // namespace media
    -
    61 } // namespace shaka
    -
    62 
    -
    63 #endif // MEDIA_FORMATS_MP4_MULTI_SEGMENT_SEGMENTER_H_
    +
    42  std::vector<Range> GetSegmentRanges() override;
    +
    44 
    +
    45  private:
    +
    46  // Segmenter implementation overrides.
    +
    47  Status DoInitialize() override;
    +
    48  Status DoFinalize() override;
    +
    49  Status DoFinalizeSegment() override;
    +
    50 
    +
    51  // Write segment to file.
    +
    52  Status WriteSegment();
    +
    53 
    +
    54  std::unique_ptr<SegmentType> styp_;
    +
    55  uint32_t num_segments_;
    +
    56 
    +
    57  DISALLOW_COPY_AND_ASSIGN(MultiSegmentSegmenter);
    +
    58 };
    +
    59 
    +
    60 } // namespace mp4
    +
    61 } // namespace media
    +
    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
    bool GetInitRange(size_t *offset, size_t *size) override
    bool GetIndexRange(size_t *offset, size_t *size) override
    - + diff --git a/docs/da/d43/structshaka_1_1ContentProtectionElement.html b/docs/da/d43/structshaka_1_1ContentProtectionElement.html index fca8bf628f..44976a9175 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 db9e7174fa..f83d6566a5 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 3d07af792e..fb8e53da7e 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 72bd18a4ff..c729f23e69 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 80a6bfe18b..2e391ccabe 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 dbfa0a3101..ca11180a51 100644 --- a/docs/da/d5c/widevine__key__source_8h_source.html +++ b/docs/da/d5c/widevine__key__source_8h_source.html @@ -224,7 +224,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 454c61aba7..fbdfbd1376 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 ba1360ce83..f223b4bc97 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 @@ -102,24 +102,25 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); GetIndexRange(size_t *offset, size_t *size) overrideshaka::media::mp4::SingleSegmentSegmentervirtual GetInitRange(size_t *offset, size_t *size) overrideshaka::media::mp4::SingleSegmentSegmentervirtual GetReferenceTimeScale() const (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenter - Initialize(const std::vector< std::shared_ptr< StreamInfo >> &streams, MuxerListener *muxer_listener, ProgressListener *progress_listener)shaka::media::mp4::Segmenter - moov() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected - muxer_listener() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected - options() const (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected - progress_target() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected - sample_duration() const shaka::media::mp4::Segmenterinline - Segmenter(const MuxerOptions &options, std::unique_ptr< FileType > ftyp, std::unique_ptr< Movie > moov) (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenter - set_progress_target(uint64_t progress_target) (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected - SetComplete()shaka::media::mp4::Segmenterprotected - sidx() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected - SingleSegmentSegmenter(const MuxerOptions &options, std::unique_ptr< FileType > ftyp, std::unique_ptr< Movie > moov) (defined in shaka::media::mp4::SingleSegmentSegmenter)shaka::media::mp4::SingleSegmentSegmenter - UpdateProgress(uint64_t progress)shaka::media::mp4::Segmenterprotected - ~Segmenter() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmentervirtual - ~SingleSegmentSegmenter() override (defined in shaka::media::mp4::SingleSegmentSegmenter)shaka::media::mp4::SingleSegmentSegmenter + GetSegmentRanges() override (defined in shaka::media::mp4::SingleSegmentSegmenter)shaka::media::mp4::SingleSegmentSegmentervirtual + Initialize(const std::vector< std::shared_ptr< StreamInfo >> &streams, MuxerListener *muxer_listener, ProgressListener *progress_listener)shaka::media::mp4::Segmenter + moov() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected + muxer_listener() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected + options() const (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected + progress_target() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected + sample_duration() const shaka::media::mp4::Segmenterinline + Segmenter(const MuxerOptions &options, std::unique_ptr< FileType > ftyp, std::unique_ptr< Movie > moov) (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenter + set_progress_target(uint64_t progress_target) (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected + SetComplete()shaka::media::mp4::Segmenterprotected + sidx() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected + SingleSegmentSegmenter(const MuxerOptions &options, std::unique_ptr< FileType > ftyp, std::unique_ptr< Movie > moov) (defined in shaka::media::mp4::SingleSegmentSegmenter)shaka::media::mp4::SingleSegmentSegmenter + UpdateProgress(uint64_t progress)shaka::media::mp4::Segmenterprotected + ~Segmenter() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmentervirtual + ~SingleSegmentSegmenter() override (defined in shaka::media::mp4::SingleSegmentSegmenter)shaka::media::mp4::SingleSegmentSegmenter 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 0eae78ccd5..a8564b13bd 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 ff40e7d145..2d6b94ea5d 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 e477bf1908..493b7cdba3 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 8adfa46d5e..fab0a6367e 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 1412f522a4..d47ba6cdfa 100644 --- a/docs/da/d88/mp4__muxer_8cc_source.html +++ b/docs/da/d88/mp4__muxer_8cc_source.html @@ -121,488 +121,475 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    32 // |start| and |end| are for byte-range-spec specified in RFC2616.
    33 void SetStartAndEndFromOffsetAndSize(size_t offset,
    34  size_t size,
    -
    35  uint32_t* start,
    -
    36  uint32_t* end) {
    -
    37  DCHECK(start && end);
    -
    38  *start = static_cast<uint32_t>(offset);
    -
    39  // Note that ranges are inclusive. So we need - 1.
    -
    40  *end = *start + static_cast<uint32_t>(size) - 1;
    -
    41 }
    -
    42 
    -
    43 FourCC CodecToFourCC(Codec codec, H26xStreamFormat h26x_stream_format) {
    -
    44  switch (codec) {
    -
    45  case kCodecH264:
    -
    46  return h26x_stream_format ==
    -
    47  H26xStreamFormat::kNalUnitStreamWithParameterSetNalus
    -
    48  ? FOURCC_avc3
    -
    49  : FOURCC_avc1;
    -
    50  case kCodecH265:
    -
    51  return h26x_stream_format ==
    -
    52  H26xStreamFormat::kNalUnitStreamWithParameterSetNalus
    -
    53  ? FOURCC_hev1
    -
    54  : FOURCC_hvc1;
    -
    55  case kCodecVP8:
    -
    56  return FOURCC_vp08;
    -
    57  case kCodecVP9:
    -
    58  return FOURCC_vp09;
    -
    59  case kCodecVP10:
    -
    60  return FOURCC_vp10;
    -
    61  case kCodecAAC:
    -
    62  return FOURCC_mp4a;
    -
    63  case kCodecAC3:
    -
    64  return FOURCC_ac_3;
    -
    65  case kCodecDTSC:
    -
    66  return FOURCC_dtsc;
    -
    67  case kCodecDTSH:
    -
    68  return FOURCC_dtsh;
    -
    69  case kCodecDTSL:
    -
    70  return FOURCC_dtsl;
    -
    71  case kCodecDTSE:
    -
    72  return FOURCC_dtse;
    -
    73  case kCodecDTSM:
    -
    74  return FOURCC_dtsm;
    -
    75  case kCodecEAC3:
    -
    76  return FOURCC_ec_3;
    -
    77  case kCodecOpus:
    -
    78  return FOURCC_Opus;
    -
    79  default:
    -
    80  return FOURCC_NULL;
    -
    81  }
    -
    82 }
    -
    83 
    -
    84 void GenerateSinf(FourCC old_type,
    -
    85  const EncryptionConfig& encryption_config,
    -
    86  ProtectionSchemeInfo* sinf) {
    -
    87  sinf->format.format = old_type;
    -
    88 
    -
    89  DCHECK_NE(encryption_config.protection_scheme, FOURCC_NULL);
    -
    90  sinf->type.type = encryption_config.protection_scheme;
    -
    91 
    -
    92  // The version of cenc implemented here. CENC 4.
    -
    93  const int kCencSchemeVersion = 0x00010000;
    -
    94  sinf->type.version = kCencSchemeVersion;
    -
    95 
    -
    96  auto& track_encryption = sinf->info.track_encryption;
    -
    97  track_encryption.default_is_protected = 1;
    -
    98  track_encryption.default_crypt_byte_block =
    -
    99  encryption_config.crypt_byte_block;
    -
    100  track_encryption.default_skip_byte_block = encryption_config.skip_byte_block;
    -
    101  track_encryption.default_per_sample_iv_size =
    -
    102  encryption_config.per_sample_iv_size;
    -
    103  track_encryption.default_constant_iv = encryption_config.constant_iv;
    -
    104  track_encryption.default_kid = encryption_config.key_id;
    -
    105 }
    -
    106 
    -
    107 } // namespace
    -
    108 
    -
    109 MP4Muxer::MP4Muxer(const MuxerOptions& options) : Muxer(options) {}
    -
    110 MP4Muxer::~MP4Muxer() {}
    -
    111 
    -
    112 Status MP4Muxer::InitializeMuxer() {
    -
    113  DCHECK(!streams().empty());
    -
    114 
    -
    115  std::unique_ptr<FileType> ftyp(new FileType);
    -
    116  std::unique_ptr<Movie> moov(new Movie);
    -
    117 
    -
    118  ftyp->major_brand = FOURCC_isom;
    -
    119  ftyp->compatible_brands.push_back(FOURCC_iso8);
    -
    120  ftyp->compatible_brands.push_back(FOURCC_mp41);
    -
    121  ftyp->compatible_brands.push_back(FOURCC_dash);
    -
    122 
    -
    123  if (streams().size() == 1) {
    -
    124  FourCC codec_fourcc = FOURCC_NULL;
    -
    125  if (streams()[0]->stream_type() == kStreamVideo) {
    -
    126  codec_fourcc =
    -
    127  CodecToFourCC(streams()[0]->codec(),
    -
    128  static_cast<VideoStreamInfo*>(streams()[0].get())
    -
    129  ->h26x_stream_format());
    -
    130  if (codec_fourcc != FOURCC_NULL)
    -
    131  ftyp->compatible_brands.push_back(codec_fourcc);
    -
    132  }
    -
    133 
    -
    134  // CMAF allows only one track/stream per file.
    -
    135  // CMAF requires single initialization switching for AVC3/HEV1, which is not
    -
    136  // supported yet.
    -
    137  if (codec_fourcc != FOURCC_avc3 && codec_fourcc != FOURCC_hev1)
    -
    138  ftyp->compatible_brands.push_back(FOURCC_cmfc);
    -
    139  }
    -
    140 
    -
    141  moov->header.creation_time = IsoTimeNow();
    -
    142  moov->header.modification_time = IsoTimeNow();
    -
    143  moov->header.next_track_id = static_cast<uint32_t>(streams().size()) + 1;
    -
    144 
    -
    145  moov->tracks.resize(streams().size());
    -
    146  moov->extends.tracks.resize(streams().size());
    -
    147 
    -
    148  // Initialize tracks.
    -
    149  for (uint32_t i = 0; i < streams().size(); ++i) {
    -
    150  Track& trak = moov->tracks[i];
    -
    151  trak.header.track_id = i + 1;
    -
    152 
    -
    153  TrackExtends& trex = moov->extends.tracks[i];
    -
    154  trex.track_id = trak.header.track_id;
    -
    155  trex.default_sample_description_index = 1;
    -
    156 
    -
    157  switch (streams()[i]->stream_type()) {
    -
    158  case kStreamVideo:
    -
    159  GenerateVideoTrak(static_cast<VideoStreamInfo*>(streams()[i].get()),
    -
    160  &trak, i + 1);
    -
    161  break;
    -
    162  case kStreamAudio:
    -
    163  GenerateAudioTrak(static_cast<AudioStreamInfo*>(streams()[i].get()),
    -
    164  &trak, i + 1);
    -
    165  break;
    -
    166  case kStreamText:
    -
    167  GenerateTextTrak(static_cast<TextStreamInfo*>(streams()[i].get()),
    -
    168  &trak, i + 1);
    -
    169  break;
    -
    170  default:
    -
    171  NOTIMPLEMENTED() << "Not implemented for stream type: "
    -
    172  << streams()[i]->stream_type();
    -
    173  }
    -
    174 
    -
    175  if (streams()[i]->is_encrypted() && options().mp4_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 bool MP4Muxer::GetInitRangeStartAndEnd(uint32_t* start, uint32_t* end) {
    -
    423  DCHECK(start && end);
    -
    424  size_t range_offset = 0;
    -
    425  size_t range_size = 0;
    -
    426  const bool has_range = segmenter_->GetInitRange(&range_offset, &range_size);
    -
    427 
    -
    428  if (!has_range)
    -
    429  return false;
    -
    430 
    -
    431  SetStartAndEndFromOffsetAndSize(range_offset, range_size, start, end);
    -
    432  return true;
    -
    433 }
    -
    434 
    -
    435 bool MP4Muxer::GetIndexRangeStartAndEnd(uint32_t* start, uint32_t* end) {
    -
    436  DCHECK(start && end);
    -
    437  size_t range_offset = 0;
    -
    438  size_t range_size = 0;
    -
    439  const bool has_range = segmenter_->GetIndexRange(&range_offset, &range_size);
    -
    440 
    -
    441  if (!has_range)
    -
    442  return false;
    -
    443 
    -
    444  SetStartAndEndFromOffsetAndSize(range_offset, range_size, start, end);
    -
    445  return true;
    -
    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  uint32_t init_range_start = 0;
    -
    468  uint32_t init_range_end = 0;
    -
    469  const bool has_init_range =
    -
    470  GetInitRangeStartAndEnd(&init_range_start, &init_range_end);
    -
    471 
    -
    472  uint32_t index_range_start = 0;
    -
    473  uint32_t index_range_end = 0;
    -
    474  const bool has_index_range =
    -
    475  GetIndexRangeStartAndEnd(&index_range_start, &index_range_end);
    -
    476 
    -
    477  const float duration_seconds = static_cast<float>(segmenter_->GetDuration());
    -
    478 
    -
    479  const int64_t file_size =
    -
    480  File::GetFileSize(options().output_file_name.c_str());
    -
    481  if (file_size <= 0) {
    -
    482  LOG(ERROR) << "Invalid file size: " << file_size;
    -
    483  return;
    -
    484  }
    -
    485 
    -
    486  muxer_listener()->OnMediaEnd(has_init_range,
    -
    487  init_range_start,
    -
    488  init_range_end,
    -
    489  has_index_range,
    -
    490  index_range_start,
    -
    491  index_range_end,
    -
    492  duration_seconds,
    -
    493  file_size);
    -
    494 }
    -
    495 
    -
    496 uint64_t MP4Muxer::IsoTimeNow() {
    -
    497  // Time in seconds from Jan. 1, 1904 to epoch time, i.e. Jan. 1, 1970.
    -
    498  const uint64_t kIsomTimeOffset = 2082844800l;
    -
    499  return kIsomTimeOffset +
    -
    500  (clock() ? clock()->Now() : base::Time::Now()).ToDoubleT();
    -
    501 }
    -
    502 
    -
    503 } // namespace mp4
    -
    504 } // namespace media
    -
    505 } // namespace shaka
    -
    virtual void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size)=0
    +
    35  Range* range) {
    +
    36  DCHECK(range);
    +
    37  range->start = static_cast<uint32_t>(offset);
    +
    38  // Note that ranges are inclusive. So we need - 1.
    +
    39  range->end = range->start + static_cast<uint32_t>(size) - 1;
    +
    40 }
    +
    41 
    +
    42 FourCC CodecToFourCC(Codec codec, H26xStreamFormat h26x_stream_format) {
    +
    43  switch (codec) {
    +
    44  case kCodecH264:
    +
    45  return h26x_stream_format ==
    +
    46  H26xStreamFormat::kNalUnitStreamWithParameterSetNalus
    +
    47  ? FOURCC_avc3
    +
    48  : FOURCC_avc1;
    +
    49  case kCodecH265:
    +
    50  return h26x_stream_format ==
    +
    51  H26xStreamFormat::kNalUnitStreamWithParameterSetNalus
    +
    52  ? FOURCC_hev1
    +
    53  : FOURCC_hvc1;
    +
    54  case kCodecVP8:
    +
    55  return FOURCC_vp08;
    +
    56  case kCodecVP9:
    +
    57  return FOURCC_vp09;
    +
    58  case kCodecVP10:
    +
    59  return FOURCC_vp10;
    +
    60  case kCodecAAC:
    +
    61  return FOURCC_mp4a;
    +
    62  case kCodecAC3:
    +
    63  return FOURCC_ac_3;
    +
    64  case kCodecDTSC:
    +
    65  return FOURCC_dtsc;
    +
    66  case kCodecDTSH:
    +
    67  return FOURCC_dtsh;
    +
    68  case kCodecDTSL:
    +
    69  return FOURCC_dtsl;
    +
    70  case kCodecDTSE:
    +
    71  return FOURCC_dtse;
    +
    72  case kCodecDTSM:
    +
    73  return FOURCC_dtsm;
    +
    74  case kCodecEAC3:
    +
    75  return FOURCC_ec_3;
    +
    76  case kCodecOpus:
    +
    77  return FOURCC_Opus;
    +
    78  default:
    +
    79  return FOURCC_NULL;
    +
    80  }
    +
    81 }
    +
    82 
    +
    83 void GenerateSinf(FourCC old_type,
    +
    84  const EncryptionConfig& encryption_config,
    +
    85  ProtectionSchemeInfo* sinf) {
    +
    86  sinf->format.format = old_type;
    +
    87 
    +
    88  DCHECK_NE(encryption_config.protection_scheme, FOURCC_NULL);
    +
    89  sinf->type.type = encryption_config.protection_scheme;
    +
    90 
    +
    91  // The version of cenc implemented here. CENC 4.
    +
    92  const int kCencSchemeVersion = 0x00010000;
    +
    93  sinf->type.version = kCencSchemeVersion;
    +
    94 
    +
    95  auto& track_encryption = sinf->info.track_encryption;
    +
    96  track_encryption.default_is_protected = 1;
    +
    97  track_encryption.default_crypt_byte_block =
    +
    98  encryption_config.crypt_byte_block;
    +
    99  track_encryption.default_skip_byte_block = encryption_config.skip_byte_block;
    +
    100  track_encryption.default_per_sample_iv_size =
    +
    101  encryption_config.per_sample_iv_size;
    +
    102  track_encryption.default_constant_iv = encryption_config.constant_iv;
    +
    103  track_encryption.default_kid = encryption_config.key_id;
    +
    104 }
    +
    105 
    +
    106 } // namespace
    +
    107 
    +
    108 MP4Muxer::MP4Muxer(const MuxerOptions& options) : Muxer(options) {}
    +
    109 MP4Muxer::~MP4Muxer() {}
    +
    110 
    +
    111 Status MP4Muxer::InitializeMuxer() {
    +
    112  DCHECK(!streams().empty());
    +
    113 
    +
    114  std::unique_ptr<FileType> ftyp(new FileType);
    +
    115  std::unique_ptr<Movie> moov(new Movie);
    +
    116 
    +
    117  ftyp->major_brand = FOURCC_isom;
    +
    118  ftyp->compatible_brands.push_back(FOURCC_iso8);
    +
    119  ftyp->compatible_brands.push_back(FOURCC_mp41);
    +
    120  ftyp->compatible_brands.push_back(FOURCC_dash);
    +
    121 
    +
    122  if (streams().size() == 1) {
    +
    123  FourCC codec_fourcc = FOURCC_NULL;
    +
    124  if (streams()[0]->stream_type() == kStreamVideo) {
    +
    125  codec_fourcc =
    +
    126  CodecToFourCC(streams()[0]->codec(),
    +
    127  static_cast<VideoStreamInfo*>(streams()[0].get())
    +
    128  ->h26x_stream_format());
    +
    129  if (codec_fourcc != FOURCC_NULL)
    +
    130  ftyp->compatible_brands.push_back(codec_fourcc);
    +
    131  }
    +
    132 
    +
    133  // CMAF allows only one track/stream per file.
    +
    134  // CMAF requires single initialization switching for AVC3/HEV1, which is not
    +
    135  // supported yet.
    +
    136  if (codec_fourcc != FOURCC_avc3 && codec_fourcc != FOURCC_hev1)
    +
    137  ftyp->compatible_brands.push_back(FOURCC_cmfc);
    +
    138  }
    +
    139 
    +
    140  moov->header.creation_time = IsoTimeNow();
    +
    141  moov->header.modification_time = IsoTimeNow();
    +
    142  moov->header.next_track_id = static_cast<uint32_t>(streams().size()) + 1;
    +
    143 
    +
    144  moov->tracks.resize(streams().size());
    +
    145  moov->extends.tracks.resize(streams().size());
    +
    146 
    +
    147  // Initialize tracks.
    +
    148  for (uint32_t i = 0; i < streams().size(); ++i) {
    +
    149  Track& trak = moov->tracks[i];
    +
    150  trak.header.track_id = i + 1;
    +
    151 
    +
    152  TrackExtends& trex = moov->extends.tracks[i];
    +
    153  trex.track_id = trak.header.track_id;
    +
    154  trex.default_sample_description_index = 1;
    +
    155 
    +
    156  switch (streams()[i]->stream_type()) {
    +
    157  case kStreamVideo:
    +
    158  GenerateVideoTrak(static_cast<VideoStreamInfo*>(streams()[i].get()),
    +
    159  &trak, i + 1);
    +
    160  break;
    +
    161  case kStreamAudio:
    +
    162  GenerateAudioTrak(static_cast<AudioStreamInfo*>(streams()[i].get()),
    +
    163  &trak, i + 1);
    +
    164  break;
    +
    165  case kStreamText:
    +
    166  GenerateTextTrak(static_cast<TextStreamInfo*>(streams()[i].get()),
    +
    167  &trak, i + 1);
    +
    168  break;
    +
    169  default:
    +
    170  NOTIMPLEMENTED() << "Not implemented for stream type: "
    +
    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 
    +
    473  const int64_t file_size =
    +
    474  File::GetFileSize(options().output_file_name.c_str());
    +
    475  if (file_size <= 0) {
    +
    476  LOG(ERROR) << "Invalid file size: " << file_size;
    +
    477  return;
    +
    478  }
    +
    479 
    +
    480  muxer_listener()->OnMediaEnd(media_range, duration_seconds, file_size);
    +
    481 }
    +
    482 
    +
    483 uint64_t MP4Muxer::IsoTimeNow() {
    +
    484  // Time in seconds from Jan. 1, 1904 to epoch time, i.e. Jan. 1, 1970.
    +
    485  const uint64_t kIsomTimeOffset = 2082844800l;
    +
    486  return kIsomTimeOffset +
    +
    487  (clock() ? clock()->Now() : base::Time::Now()).ToDoubleT();
    +
    488 }
    +
    489 
    +
    490 } // namespace mp4
    +
    491 } // namespace media
    +
    492 } // namespace shaka
    -
    MP4Muxer(const MuxerOptions &options)
    Create a MP4Muxer object from MuxerOptions.
    Definition: mp4_muxer.cc:109
    +
    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
    static int64_t GetFileSize(const char *file_name)
    Definition: file.cc:190
    virtual void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)=0
    +
    virtual void OnMediaEnd(const MediaRanges &media_ranges, float duration_seconds, uint64_t file_size)=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 51a3a20a09..15cedc13a1 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 4e7b9bb5da..90e0cc8ee1 100644 --- a/docs/da/d8e/container__names_8cc_source.html +++ b/docs/da/d8e/container__names_8cc_source.html @@ -1866,7 +1866,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/d9b/structshaka_1_1media_1_1mp4_1_1CompositionOffset-members.html b/docs/da/d9b/structshaka_1_1media_1_1mp4_1_1CompositionOffset-members.html index 5350df728b..a3ad0e23f8 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 e6931e9579..538a847880 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 3950c0b31d..beaea2a1e2 100644 --- a/docs/da/d9f/classshaka_1_1MpdNotifierFactory-members.html +++ b/docs/da/d9f/classshaka_1_1MpdNotifierFactory-members.html @@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/d9f/classshaka_1_1media_1_1MockMuxerListener-members.html b/docs/da/d9f/classshaka_1_1media_1_1MockMuxerListener-members.html index c187ccfca0..a83a4641e5 100644 --- a/docs/da/d9f/classshaka_1_1media_1_1MockMuxerListener-members.html +++ b/docs/da/d9f/classshaka_1_1media_1_1MockMuxerListener-members.html @@ -100,15 +100,15 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); kContainerWebM enum value (defined in shaka::media::MuxerListener)shaka::media::MuxerListener MOCK_METHOD0(OnEncryptionStart, void()) (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener MOCK_METHOD1(OnSampleDurationReady, void(uint32_t sample_duration)) (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener - MOCK_METHOD4(OnMediaStart, void(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)) (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener - MOCK_METHOD4(OnNewSegment, void(const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)) (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener - MOCK_METHOD5(OnEncryptionInfoReady, void(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)) (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener - MOCK_METHOD8(OnMediaEnd, void(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size)) (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener + MOCK_METHOD10(OnMediaEndMock, void(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, bool has_subsegment_ranges, const std::vector< Range > subsegment_ranges, float duration_seconds, uint64_t file_size)) (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener + MOCK_METHOD4(OnMediaStart, void(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)) (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener + MOCK_METHOD4(OnNewSegment, void(const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)) (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener + MOCK_METHOD5(OnEncryptionInfoReady, void(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)) (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener MockMuxerListener() (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener MuxerListener() (defined in shaka::media::MuxerListener)shaka::media::MuxerListenerinlineprotected 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)=0shaka::media::MuxerListenerpure virtual OnEncryptionStart()=0shaka::media::MuxerListenerpure virtual - OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size)=0shaka::media::MuxerListenerpure virtual + OnMediaEnd(const MediaRanges &range, float duration_seconds, uint64_t file_size) overrideshaka::media::MockMuxerListenervirtual OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)=0shaka::media::MuxerListenerpure virtual OnNewSegment(const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)=0shaka::media::MuxerListenerpure virtual OnSampleDurationReady(uint32_t sample_duration)=0shaka::media::MuxerListenerpure virtual @@ -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 d92feaec2a..922698f1df 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 7e4952e81c..7a254f54cb 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 96f4610435..b6d0e93711 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 af6d9b9641..74713456b0 100644 --- a/docs/da/dc4/structshaka_1_1media_1_1mp4_1_1TrackHeader.html +++ b/docs/da/dc4/structshaka_1_1media_1_1mp4_1_1TrackHeader.html @@ -215,7 +215,7 @@ Additional Inherited Members diff --git a/docs/da/dcb/es__descriptor_8h_source.html b/docs/da/dcb/es__descriptor_8h_source.html index 09001017ab..d5c20c57c9 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 8ef9b39d14..b5b16c4ae9 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 86d0d39d22..f7425f31bf 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 a49f243b12..da7278a417 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 a564ef5175..8bc36e9848 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 d88ed077d7..02b6a49454 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 07d5a7dd23..fcd5c655e6 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 0091501b3a..b554f341e1 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 38eccc2f99..c9fd1b2558 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 079d723546..e42686ca98 100644 --- a/docs/da/ddd/classshaka_1_1media_1_1WidevineKeySource.html +++ b/docs/da/ddd/classshaka_1_1media_1_1WidevineKeySource.html @@ -458,7 +458,7 @@ void  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 e2308b32ab..9a24366205 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 ecb1aca279..37aae0fd53 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 3c6a921470..d09d568787 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 7a439f7ded..1a2655e8b9 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 7e89a68428..46abd9f9fd 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 6ffad55175..89be5c6d81 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 bbebd8dd32..369637d092 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 ac0b3476ed..1d982ecbe6 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 ee04e3a7e6..ce723b625d 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 96bb08ab6d..a9658aa7a1 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 417b78edc9..122bfe6be0 100644 --- a/docs/da/dfd/classshaka_1_1media_1_1MediaHandler.html +++ b/docs/da/dfd/classshaka_1_1media_1_1MediaHandler.html @@ -304,7 +304,7 @@ std::pair< std::shared_ptr
    diff --git a/docs/db/d02/structshaka_1_1media_1_1ChunkingOptions.html b/docs/db/d02/structshaka_1_1media_1_1ChunkingOptions.html index ee5ded9eca..606bef1a80 100644 --- a/docs/db/d02/structshaka_1_1media_1_1ChunkingOptions.html +++ b/docs/db/d02/structshaka_1_1media_1_1ChunkingOptions.html @@ -162,7 +162,7 @@ double  diff --git a/docs/db/d05/structshaka_1_1media_1_1H265SliceHeader.html b/docs/db/d05/structshaka_1_1media_1_1H265SliceHeader.html index 7cbc9875fa..fd8a7de45e 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 b4685e3a90..3fd57d79be 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 609c7b327c..a785f2f563 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 18bd01d341..a78b805187 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 f120298d8a..477d38ae01 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 24ea6d5e94..699d2b93d8 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 c0442a1e18..a57472b065 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 7bdfb8caab..91e7fce4d9 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 @@ -224,7 +224,7 @@ std::pair< std::shared_ptr

    Detailed Description

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

    -

    Definition at line 31 of file mp4_muxer.h.

    +

    Definition at line 32 of file mp4_muxer.h.


    The documentation for this class was generated from the following files:
    • media/formats/mp4/mp4_muxer.h
    • media/formats/mp4/mp4_muxer.cc
    • @@ -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 04af9983e0..c863bab741 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 fa0709e879..16aee204ec 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 ac3ffdb99b..3b84ab4381 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 d857f0be12..f8cecc027c 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 6929a79b70..3449f9525b 100644 --- a/docs/db/d45/mpd__notify__muxer__listener_8h_source.html +++ b/docs/db/d45/mpd__notify__muxer__listener_8h_source.html @@ -130,66 +130,62 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      45  uint32_t time_scale,
      46  ContainerType container_type) override;
      47  void OnSampleDurationReady(uint32_t sample_duration) override;
      -
      48  void OnMediaEnd(bool has_init_range,
      -
      49  uint64_t init_range_start,
      -
      50  uint64_t init_range_end,
      -
      51  bool has_index_range,
      -
      52  uint64_t index_range_start,
      -
      53  uint64_t index_range_end,
      -
      54  float duration_seconds,
      -
      55  uint64_t file_size) override;
      -
      56  void OnNewSegment(const std::string& file_name,
      -
      57  uint64_t start_time,
      -
      58  uint64_t duration,
      -
      59  uint64_t segment_file_size) override;
      -
      61 
      -
      62  private:
      -
      63  // This stores data passed into OnNewSegment() for VOD.
      -
      64  struct SubsegmentInfo {
      -
      65  uint64_t start_time;
      -
      66  uint64_t duration;
      -
      67  uint64_t segment_file_size;
      -
      68  };
      -
      69 
      -
      70  MpdNotifier* const mpd_notifier_;
      -
      71  uint32_t notification_id_;
      -
      72  std::unique_ptr<MediaInfo> media_info_;
      -
      73 
      -
      74  bool is_encrypted_;
      -
      75  // Storage for values passed to OnEncryptionInfoReady().
      -
      76  FourCC protection_scheme_;
      -
      77  std::vector<uint8_t> default_key_id_;
      -
      78  std::vector<ProtectionSystemSpecificInfo> key_system_info_;
      -
      79 
      -
      80  // Saves all the subsegment information for VOD. This should be used to call
      -
      81  // MpdNotifier::NotifyNewSegment() after NotifyNewSegment() is called
      -
      82  // (in OnMediaEnd). This is not used for live because NotifyNewSegment() is
      -
      83  // called immediately in OnNewSegment().
      -
      84  std::list<SubsegmentInfo> subsegments_;
      -
      85 
      -
      86  DISALLOW_COPY_AND_ASSIGN(MpdNotifyMuxerListener);
      -
      87 };
      -
      88 
      -
      89 } // namespace media
      -
      90 } // namespace shaka
      -
      91 
      -
      92 #endif // MEDIA_EVENT_MPD_NOTIFY_MUXER_LISTENER_H_
      -
      void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
      +
      48  void OnMediaEnd(const MediaRanges& media_ranges,
      +
      49  float duration_seconds,
      +
      50  uint64_t file_size) override;
      +
      51  void OnNewSegment(const std::string& file_name,
      +
      52  uint64_t start_time,
      +
      53  uint64_t duration,
      +
      54  uint64_t segment_file_size) override;
      +
      56 
      +
      57  private:
      +
      58  // This stores data passed into OnNewSegment() for VOD.
      +
      59  struct SubsegmentInfo {
      +
      60  uint64_t start_time;
      +
      61  uint64_t duration;
      +
      62  uint64_t segment_file_size;
      +
      63  };
      +
      64 
      +
      65  MpdNotifier* const mpd_notifier_;
      +
      66  uint32_t notification_id_;
      +
      67  std::unique_ptr<MediaInfo> media_info_;
      +
      68 
      +
      69  bool is_encrypted_;
      +
      70  // Storage for values passed to OnEncryptionInfoReady().
      +
      71  FourCC protection_scheme_;
      +
      72  std::vector<uint8_t> default_key_id_;
      +
      73  std::vector<ProtectionSystemSpecificInfo> key_system_info_;
      +
      74 
      +
      75  // Saves all the subsegment information for VOD. This should be used to call
      +
      76  // MpdNotifier::NotifyNewSegment() after NotifyNewSegment() is called
      +
      77  // (in OnMediaEnd). This is not used for live because NotifyNewSegment() is
      +
      78  // called immediately in OnNewSegment().
      +
      79  std::list<SubsegmentInfo> subsegments_;
      +
      80 
      +
      81  DISALLOW_COPY_AND_ASSIGN(MpdNotifyMuxerListener);
      +
      82 };
      +
      83 
      +
      84 } // namespace media
      +
      85 } // namespace shaka
      +
      86 
      +
      87 #endif // MEDIA_EVENT_MPD_NOTIFY_MUXER_LISTENER_H_
      +
      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
      -
      void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) override
      This structure contains the list of configuration options for Muxer.
      Definition: muxer_options.h:18
      +
      void OnMediaEnd(const MediaRanges &media_ranges, float duration_seconds, uint64_t file_size) override
      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
      MpdNotifyMuxerListener(MpdNotifier *mpd_notifier)
      +
      void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) override
      - + diff --git a/docs/db/d4b/classshaka_1_1MockAdaptationSet.html b/docs/db/d4b/classshaka_1_1MockAdaptationSet.html index b1b04e8857..163b46c684 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 3ba666c4b3..6694c07a80 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 fff83aee50..ead29d462b 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 1cd5101add..8e3671c5a4 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 @@ -142,7 +142,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d59/media__handler__test__base_8h_source.html b/docs/db/d59/media__handler__test__base_8h_source.html index b75dcdb417..b4676fd800 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 0635171a86..1e82bd4656 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 89b8ed075b..1ab4fd0a63 100644 --- a/docs/db/d60/mpd__options_8h_source.html +++ b/docs/db/d60/mpd__options_8h_source.html @@ -126,7 +126,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d64/webvtt__media__parser_8h_source.html b/docs/db/d64/webvtt__media__parser_8h_source.html index 5d6c39f04d..8101601a5b 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 1ccc71305c..541f600886 100644 --- a/docs/db/d66/structshaka_1_1media_1_1mp4_1_1SegmentType-members.html +++ b/docs/db/d66/structshaka_1_1media_1_1mp4_1_1SegmentType-members.html @@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d66/udp__file_8cc_source.html b/docs/db/d66/udp__file_8cc_source.html index 5575c0cf57..72053ab233 100644 --- a/docs/db/d66/udp__file_8cc_source.html +++ b/docs/db/d66/udp__file_8cc_source.html @@ -343,7 +343,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d71/http__key__fetcher_8h_source.html b/docs/db/d71/http__key__fetcher_8h_source.html index abae4a0e71..e4a1148347 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 a31c73fa7b..3d5e1d73e4 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 89a5243b26..8ff38da51e 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 @@ -105,33 +105,34 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); GetDurationInSeconds() const shaka::media::webm::Segmenter GetIndexRangeStartAndEnd(uint64_t *start, uint64_t *end) overrideshaka::media::webm::SingleSegmentSegmentervirtual GetInitRangeStartAndEnd(uint64_t *start, uint64_t *end) overrideshaka::media::webm::SingleSegmentSegmentervirtual - info() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - init_end() (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected - Initialize(StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener)shaka::media::webm::Segmenter - muxer_listener() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - options() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - seek_head() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - segment_payload_pos() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - Segmenter(const MuxerOptions &options) (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterexplicit - set_index_end(uint64_t end) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected - set_index_start(uint64_t start) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected - set_init_end(uint64_t end) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected - set_progress_target(uint64_t target) (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - set_writer(std::unique_ptr< MkvWriter > writer) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected - SetCluster(uint64_t start_webm_timecode, uint64_t position, MkvWriter *writer)shaka::media::webm::Segmenterprotected - SingleSegmentSegmenter(const MuxerOptions &options) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterexplicit - track_id() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - TwoPassSingleSegmentSegmenter(const MuxerOptions &options) (defined in shaka::media::webm::TwoPassSingleSegmentSegmenter)shaka::media::webm::TwoPassSingleSegmentSegmenterexplicit - UpdateProgress(uint64_t progress)shaka::media::webm::Segmenterprotected - writer() (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected - WriteSegmentHeader(uint64_t file_size, MkvWriter *writer)shaka::media::webm::Segmenterprotected - ~Segmenter() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmentervirtual - ~SingleSegmentSegmenter() override (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenter - ~TwoPassSingleSegmentSegmenter() override (defined in shaka::media::webm::TwoPassSingleSegmentSegmenter)shaka::media::webm::TwoPassSingleSegmentSegmenter + GetSegmentRanges() override (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmentervirtual + info() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + init_end() (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected + Initialize(StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener)shaka::media::webm::Segmenter + muxer_listener() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + options() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + seek_head() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + segment_payload_pos() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + Segmenter(const MuxerOptions &options) (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterexplicit + set_index_end(uint64_t end) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected + set_index_start(uint64_t start) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected + set_init_end(uint64_t end) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected + set_progress_target(uint64_t target) (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + set_writer(std::unique_ptr< MkvWriter > writer) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected + SetCluster(uint64_t start_webm_timecode, uint64_t position, MkvWriter *writer)shaka::media::webm::Segmenterprotected + SingleSegmentSegmenter(const MuxerOptions &options) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterexplicit + track_id() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + TwoPassSingleSegmentSegmenter(const MuxerOptions &options) (defined in shaka::media::webm::TwoPassSingleSegmentSegmenter)shaka::media::webm::TwoPassSingleSegmentSegmenterexplicit + UpdateProgress(uint64_t progress)shaka::media::webm::Segmenterprotected + writer() (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected + WriteSegmentHeader(uint64_t file_size, MkvWriter *writer)shaka::media::webm::Segmenterprotected + ~Segmenter() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmentervirtual + ~SingleSegmentSegmenter() override (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenter + ~TwoPassSingleSegmentSegmenter() override (defined in shaka::media::webm::TwoPassSingleSegmentSegmenter)shaka::media::webm::TwoPassSingleSegmentSegmenter 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 e64af5d81b..b34a73cc75 100644 --- a/docs/db/d78/classshaka_1_1media_1_1mp2t_1_1ContinuityCounter-members.html +++ b/docs/db/d78/classshaka_1_1media_1_1mp2t_1_1ContinuityCounter-members.html @@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d7e/muxer__options_8cc_source.html b/docs/db/d7e/muxer__options_8cc_source.html index 94047ceb07..933f28d3c7 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 983a17675a..5d2fd24f7e 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 76c6b1241e..d11264a735 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 619b87dcbf..9ff7523de6 100644 --- a/docs/db/d8f/mp4__muxer_8h_source.html +++ b/docs/db/d8f/mp4__muxer_8h_source.html @@ -98,87 +98,88 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      9 
      10 #include <vector>
      11 
      -
      12 #include "packager/media/base/muxer.h"
      -
      13 
      -
      14 namespace shaka {
      -
      15 namespace media {
      -
      16 
      -
      17 class AudioStreamInfo;
      -
      18 class StreamInfo;
      -
      19 class TextStreamInfo;
      -
      20 class VideoStreamInfo;
      -
      21 
      -
      22 namespace mp4 {
      -
      23 
      -
      24 class Segmenter;
      -
      25 
      -
      26 struct ProtectionSchemeInfo;
      -
      27 struct Track;
      -
      28 
      -
      31 class MP4Muxer : public Muxer {
      -
      32  public:
      -
      34  explicit MP4Muxer(const MuxerOptions& options);
      -
      35  ~MP4Muxer() override;
      -
      36 
      -
      37  private:
      -
      38  // Muxer implementation overrides.
      -
      39  Status InitializeMuxer() override;
      -
      40  Status Finalize() override;
      -
      41  Status AddSample(size_t stream_id,
      -
      42  std::shared_ptr<MediaSample> sample) override;
      -
      43  Status FinalizeSegment(size_t stream_id,
      -
      44  std::shared_ptr<SegmentInfo> segment_info) override;
      -
      45 
      -
      46  // Generate Audio/Video Track box.
      -
      47  void InitializeTrak(const StreamInfo* info, Track* trak);
      -
      48  void GenerateAudioTrak(const AudioStreamInfo* audio_info,
      -
      49  Track* trak,
      -
      50  uint32_t track_id);
      -
      51  void GenerateVideoTrak(const VideoStreamInfo* video_info,
      -
      52  Track* trak,
      -
      53  uint32_t track_id);
      -
      54  void GenerateTextTrak(const TextStreamInfo* video_info,
      -
      55  Track* trak,
      -
      56  uint32_t track_id);
      -
      57 
      -
      58  // Gets |start| and |end| initialization range. Returns true if there is an
      -
      59  // init range and sets start-end byte-range-spec specified in RFC2616.
      -
      60  bool GetInitRangeStartAndEnd(uint32_t* start, uint32_t* end);
      -
      61 
      -
      62  // Gets |start| and |end| index range. Returns true if there is an index range
      -
      63  // and sets start-end byte-range-spec specified in RFC2616.
      -
      64  bool GetIndexRangeStartAndEnd(uint32_t* start, uint32_t* end);
      -
      65 
      -
      66  // Fire events if there are no errors and Muxer::muxer_listener() is not NULL.
      -
      67  void FireOnMediaStartEvent();
      -
      68  void FireOnMediaEndEvent();
      -
      69 
      -
      70  // Get time in seconds since midnight, Jan. 1, 1904, in UTC Time.
      -
      71  uint64_t IsoTimeNow();
      -
      72 
      -
      73  std::unique_ptr<Segmenter> segmenter_;
      -
      74 
      -
      75  DISALLOW_COPY_AND_ASSIGN(MP4Muxer);
      -
      76 };
      -
      77 
      -
      78 } // namespace mp4
      -
      79 } // namespace media
      -
      80 } // namespace shaka
      -
      81 
      -
      82 #endif // MEDIA_FORMATS_MP4_MP4_MUXER_H_
      +
      12 #include "packager/base/optional.h"
      +
      13 #include "packager/media/base/muxer.h"
      +
      14 
      +
      15 namespace shaka {
      +
      16 namespace media {
      +
      17 
      +
      18 class AudioStreamInfo;
      +
      19 class StreamInfo;
      +
      20 class TextStreamInfo;
      +
      21 class VideoStreamInfo;
      +
      22 
      +
      23 namespace mp4 {
      +
      24 
      +
      25 class Segmenter;
      +
      26 
      +
      27 struct ProtectionSchemeInfo;
      +
      28 struct Track;
      +
      29 
      +
      32 class MP4Muxer : public Muxer {
      +
      33  public:
      +
      35  explicit MP4Muxer(const MuxerOptions& options);
      +
      36  ~MP4Muxer() override;
      +
      37 
      +
      38  private:
      +
      39  // Muxer implementation overrides.
      +
      40  Status InitializeMuxer() override;
      +
      41  Status Finalize() override;
      +
      42  Status AddSample(size_t stream_id,
      +
      43  std::shared_ptr<MediaSample> sample) override;
      +
      44  Status FinalizeSegment(size_t stream_id,
      +
      45  std::shared_ptr<SegmentInfo> segment_info) override;
      +
      46 
      +
      47  // Generate Audio/Video Track box.
      +
      48  void InitializeTrak(const StreamInfo* info, Track* trak);
      +
      49  void GenerateAudioTrak(const AudioStreamInfo* audio_info,
      +
      50  Track* trak,
      +
      51  uint32_t track_id);
      +
      52  void GenerateVideoTrak(const VideoStreamInfo* video_info,
      +
      53  Track* trak,
      +
      54  uint32_t track_id);
      +
      55  void GenerateTextTrak(const TextStreamInfo* video_info,
      +
      56  Track* trak,
      +
      57  uint32_t track_id);
      +
      58 
      +
      59  // Gets |start| and |end| initialization range. Returns true if there is an
      +
      60  // init range and sets start-end byte-range-spec specified in RFC2616.
      +
      61  base::Optional<Range> GetInitRangeStartAndEnd();
      +
      62 
      +
      63  // Gets |start| and |end| index range. Returns true if there is an index range
      +
      64  // and sets start-end byte-range-spec specified in RFC2616.
      +
      65  base::Optional<Range> GetIndexRangeStartAndEnd();
      +
      66 
      +
      67  // Fire events if there are no errors and Muxer::muxer_listener() is not NULL.
      +
      68  void FireOnMediaStartEvent();
      +
      69  void FireOnMediaEndEvent();
      +
      70 
      +
      71  // Get time in seconds since midnight, Jan. 1, 1904, in UTC Time.
      +
      72  uint64_t IsoTimeNow();
      +
      73 
      +
      74  std::unique_ptr<Segmenter> segmenter_;
      +
      75 
      +
      76  DISALLOW_COPY_AND_ASSIGN(MP4Muxer);
      +
      77 };
      +
      78 
      +
      79 } // namespace mp4
      +
      80 } // namespace media
      +
      81 } // namespace shaka
      +
      82 
      +
      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:109
      +
      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
      - +
      Holds video stream information.
      Holds audio stream information.
      diff --git a/docs/db/d94/classshaka_1_1media_1_1ClusterBuilder.html b/docs/db/d94/classshaka_1_1media_1_1ClusterBuilder.html index 545ae6dfa4..5ac05014ae 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 215b919419..01853f3b03 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 b49ecec235..06f0928e02 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 22e36a4082..a5adcad050 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 8bcf4cf72b..67786641d1 100644 --- a/docs/db/da4/classBandwidthEstimator-members.html +++ b/docs/db/da4/classBandwidthEstimator-members.html @@ -97,7 +97,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/da6/memory__file_8h_source.html b/docs/db/da6/memory__file_8h_source.html index f9648e7327..6c0240e36e 100644 --- a/docs/db/da6/memory__file_8h_source.html +++ b/docs/db/da6/memory__file_8h_source.html @@ -154,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/da9/classshaka_1_1media_1_1WebVttSampleConverter-members.html b/docs/db/da9/classshaka_1_1media_1_1WebVttSampleConverter-members.html index dee629ab71..5c0945ca5f 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 ebbc22095f..fbfb481984 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 f94c42bfee..e4788afd31 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 f5982424b8..1884fe877d 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 e8a42719a1..f6eb2a8202 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 242a77e6b8..25028486c8 100644 --- a/docs/db/db8/structshaka_1_1media_1_1OnMediaEndParameters.html +++ b/docs/db/db8/structshaka_1_1media_1_1OnMediaEndParameters.html @@ -96,24 +96,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); - - - - - - - - - - - - + + @@ -123,14 +108,14 @@ uint64_t 

      Detailed Description

      -

      Definition at line 75 of file muxer_listener_test_helper.h.

      +

      Definition at line 76 of file muxer_listener_test_helper.h.


      The documentation for this struct was generated from the following file: 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 830d633fc2..cb1e1a69c3 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 c1c67aad2f..1bebb51e8f 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 d7feca212a..137fbc738a 100644 --- a/docs/db/dcd/classshaka_1_1MpdWriter.html +++ b/docs/db/dcd/classshaka_1_1MpdWriter.html @@ -123,7 +123,7 @@ class 

      Public Attributes

      -bool has_init_range
       
      -uint64_t init_range_start
       
      -uint64_t init_range_end
       
      -bool has_index_range
       
      -uint64_t index_range_start
       
      -uint64_t index_range_end
       
      +MuxerListener::MediaRanges media_ranges
       
      float duration_seconds
       
      file_size
      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 6766bc4f76..f6699ef63f 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 36e1dbd1e2..27c36e26d4 100644 --- a/docs/db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html +++ b/docs/db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html @@ -118,8 +118,8 @@ Public Member Functions   void OnSampleDurationReady (uint32_t sample_duration) override   -void OnMediaEnd (bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) override -  +void OnMediaEnd (const MediaRanges &media_ranges, float duration_seconds, uint64_t file_size) override +  void OnNewSegment (const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override   @@ -236,7 +236,7 @@ Additional Inherited Members - +
      @@ -246,38 +246,8 @@ Additional Inherited Members - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -306,19 +276,14 @@ Additional Inherited Members

      Called when all files are written out and the muxer object does not output any more files. Note: This event might not be very interesting to MPEG DASH Live profile.

      Parameters
      void shaka::media::VodMediaInfoDumpMuxerListener::OnMediaEnd (bool has_init_range,
      uint64_t init_range_start,
      uint64_t init_range_end,
      bool has_index_range,
      uint64_t index_range_start,
      uint64_t index_range_end, const MediaRangesmedia_ranges,
      - - - - - - +
      has_init_rangeis true if init_range_start and init_range_end actually define an initialization range of a segment. The range is inclusive for both start and end.
      init_range_startis the start of the initialization range.
      init_range_endis the end of the initialization range.
      has_index_rangeis true if index_range_start and index_range_end actually define an index range of a segment. The range is inclusive for both start and end.
      index_range_startis the start of the index range.
      index_range_endis the end of the index range.
      media_rangesis the ranges of the media file.
      duration_secondsis the length of the media in seconds.
      file_sizeis the size of the file in bytes.
      -

      Implements shaka::media::MuxerListener.

      +

      Implements shaka::media::MuxerListener.

      Definition at line 75 of file vod_media_info_dump_muxer_listener.cc.

      @@ -440,7 +405,7 @@ Additional Inherited Members

      Implements shaka::media::MuxerListener.

      -

      Definition at line 99 of file vod_media_info_dump_muxer_listener.cc.

      +

      Definition at line 87 of file vod_media_info_dump_muxer_listener.cc.

      @@ -520,7 +485,7 @@ Additional Inherited Members
      Returns
      true on success, false otherwise.
      -

      Definition at line 105 of file vod_media_info_dump_muxer_listener.cc.

      +

      Definition at line 93 of file vod_media_info_dump_muxer_listener.cc.

      @@ -531,7 +496,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 46766e1365..b281391fcc 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 42947f71af..b3aaab2b63 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 009d6ed8a2..28e5cafe19 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 893b187b40..55ee53cea4 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 7bb80b9e27..c8e8b6464a 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 d9eed51519..9765e14b7c 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 acd881aaa7..7491ea851d 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 ba718bd719..f7d2e4788f 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 67723c5f5c..6136d75bbe 100644 --- a/docs/db/df6/muxer_8h_source.html +++ b/docs/db/df6/muxer_8h_source.html @@ -188,7 +188,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html b/docs/db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html index bc9d0bf73a..b12a32df07 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 910ea097bc..f718aab08f 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 30c650dafc..7b33722564 100644 --- a/docs/db/dfc/mpd__notify__muxer__listener_8cc_source.html +++ b/docs/db/dfc/mpd__notify__muxer__listener_8cc_source.html @@ -198,80 +198,71 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      109  media_info_->mutable_video_info()->set_frame_duration(sample_duration);
      110 }
      111 
      -
      112 void MpdNotifyMuxerListener::OnMediaEnd(bool has_init_range,
      -
      113  uint64_t init_range_start,
      -
      114  uint64_t init_range_end,
      -
      115  bool has_index_range,
      -
      116  uint64_t index_range_start,
      -
      117  uint64_t index_range_end,
      -
      118  float duration_seconds,
      -
      119  uint64_t file_size) {
      -
      120  if (mpd_notifier_->dash_profile() == DashProfile::kLive) {
      -
      121  DCHECK(subsegments_.empty());
      -
      122  // TODO(kqyang): Set mpd duration to |duration_seconds|, which is more
      -
      123  // accurate than the duration coded in the original media header.
      -
      124  if (mpd_notifier_->mpd_type() == MpdType::kStatic)
      -
      125  mpd_notifier_->Flush();
      -
      126  return;
      -
      127  }
      -
      128 
      -
      129  DCHECK(media_info_);
      -
      130  if (!internal::SetVodInformation(has_init_range,
      -
      131  init_range_start,
      -
      132  init_range_end,
      -
      133  has_index_range,
      -
      134  index_range_start,
      -
      135  index_range_end,
      -
      136  duration_seconds,
      -
      137  file_size,
      -
      138  media_info_.get())) {
      -
      139  LOG(ERROR) << "Failed to generate VOD information from input.";
      -
      140  return;
      -
      141  }
      -
      142 
      -
      143  uint32_t id;
      -
      144  // TODO(kqyang): Check return result.
      -
      145  mpd_notifier_->NotifyNewContainer(*media_info_, &id);
      -
      146  for (std::list<SubsegmentInfo>::const_iterator it = subsegments_.begin();
      -
      147  it != subsegments_.end(); ++it) {
      -
      148  mpd_notifier_->NotifyNewSegment(id, it->start_time, it->duration,
      -
      149  it->segment_file_size);
      -
      150  }
      -
      151  subsegments_.clear();
      -
      152  mpd_notifier_->Flush();
      -
      153 }
      -
      154 
      -
      155 void MpdNotifyMuxerListener::OnNewSegment(const std::string& file_name,
      -
      156  uint64_t start_time,
      -
      157  uint64_t duration,
      -
      158  uint64_t segment_file_size) {
      -
      159  if (mpd_notifier_->dash_profile() == DashProfile::kLive) {
      -
      160  // TODO(kqyang): Check return result.
      -
      161  mpd_notifier_->NotifyNewSegment(
      -
      162  notification_id_, start_time, duration, segment_file_size);
      -
      163  if (mpd_notifier_->mpd_type() == MpdType::kDynamic)
      -
      164  mpd_notifier_->Flush();
      -
      165  } else {
      -
      166  SubsegmentInfo subsegment = {start_time, duration, segment_file_size};
      -
      167  subsegments_.push_back(subsegment);
      -
      168  }
      -
      169 }
      -
      170 
      -
      171 } // namespace media
      -
      172 } // namespace shaka
      -
      void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
      + +
      113  float duration_seconds,
      +
      114  uint64_t file_size) {
      +
      115  if (mpd_notifier_->dash_profile() == DashProfile::kLive) {
      +
      116  DCHECK(subsegments_.empty());
      +
      117  // TODO(kqyang): Set mpd duration to |duration_seconds|, which is more
      +
      118  // accurate than the duration coded in the original media header.
      +
      119  if (mpd_notifier_->mpd_type() == MpdType::kStatic)
      +
      120  mpd_notifier_->Flush();
      +
      121  return;
      +
      122  }
      +
      123 
      +
      124  DCHECK(media_info_);
      +
      125  if (!internal::SetVodInformation(media_ranges, duration_seconds, file_size,
      +
      126  media_info_.get())) {
      +
      127  LOG(ERROR) << "Failed to generate VOD information from input.";
      +
      128  return;
      +
      129  }
      +
      130 
      +
      131  uint32_t id;
      +
      132  // TODO(kqyang): Check return result.
      +
      133  mpd_notifier_->NotifyNewContainer(*media_info_, &id);
      +
      134  // TODO(rkuroiwa): Use media_ranges.subsegment_ranges instead of caching the
      +
      135  // subsegments.
      +
      136  for (std::list<SubsegmentInfo>::const_iterator it = subsegments_.begin();
      +
      137  it != subsegments_.end(); ++it) {
      +
      138  mpd_notifier_->NotifyNewSegment(id, it->start_time, it->duration,
      +
      139  it->segment_file_size);
      +
      140  }
      +
      141  subsegments_.clear();
      +
      142  mpd_notifier_->Flush();
      +
      143 }
      +
      144 
      +
      145 void MpdNotifyMuxerListener::OnNewSegment(const std::string& file_name,
      +
      146  uint64_t start_time,
      +
      147  uint64_t duration,
      +
      148  uint64_t segment_file_size) {
      +
      149  if (mpd_notifier_->dash_profile() == DashProfile::kLive) {
      +
      150  // TODO(kqyang): Check return result.
      +
      151  mpd_notifier_->NotifyNewSegment(
      +
      152  notification_id_, start_time, duration, segment_file_size);
      +
      153  if (mpd_notifier_->mpd_type() == MpdType::kDynamic)
      +
      154  mpd_notifier_->Flush();
      +
      155  } else {
      +
      156  SubsegmentInfo subsegment = {start_time, duration, segment_file_size};
      +
      157  subsegments_.push_back(subsegment);
      +
      158  }
      +
      159 }
      +
      160 
      +
      161 } // namespace media
      +
      162 } // namespace shaka
      +
      void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
      virtual bool Flush()=0
      Abstract class holds stream information.
      Definition: stream_info.h:57
      virtual bool NotifyNewSegment(uint32_t container_id, uint64_t start_time, uint64_t duration, uint64_t size)=0
      -
      void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) override
      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
      +
      void OnMediaEnd(const MediaRanges &media_ranges, float duration_seconds, uint64_t file_size) override
      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
      MpdNotifyMuxerListener(MpdNotifier *mpd_notifier)
      +
      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
      @@ -280,7 +271,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 18f3686bcf..ef2d82ea35 100644 --- a/docs/db/dff/structshaka_1_1media_1_1mp4_1_1ChunkInfo-members.html +++ b/docs/db/dff/structshaka_1_1media_1_1mp4_1_1ChunkInfo-members.html @@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/d02/classshaka_1_1media_1_1IoCache-members.html b/docs/dc/d02/classshaka_1_1media_1_1IoCache-members.html index eebf5dee35..c1172273cc 100644 --- a/docs/dc/d02/classshaka_1_1media_1_1IoCache-members.html +++ b/docs/dc/d02/classshaka_1_1media_1_1IoCache-members.html @@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/d03/classshaka_1_1media_1_1mp2t_1_1ProgramMapTableWriter.html b/docs/dc/d03/classshaka_1_1media_1_1mp2t_1_1ProgramMapTableWriter.html index ef76634da0..9f6c5ef9fc 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 1df68e987c..769b27afd6 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 3fd4318305..ed42f2e983 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 b64d5f4cc7..f228008b51 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 88a0fa0d69..8bb3f7bd05 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 4b7eb24786..0f12d4d62e 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 285e90bc00..bfc2bf35b2 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 bf0a160508..c3ca373f62 100644 --- a/docs/dc/d22/dash__iop__mpd__notifier_8cc_source.html +++ b/docs/dc/d22/dash__iop__mpd__notifier_8cc_source.html @@ -425,7 +425,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 b1e81094c8..fc0586161a 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 474423a09f..e29dc187a0 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 a459e7175e..f112ac8452 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 3ec7874000..5f09809051 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 2eeaf54a81..0ee0ce7f5a 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 3999933c04..2f17d9a586 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 db612bed6b..77d0e940af 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 087beb8b8f..53fb8d9edd 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 db47f3aca9..b35c6a3e8e 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 bb7f25abac..47df42f2d6 100644 --- a/docs/dc/d53/webm_2segmenter_8cc_source.html +++ b/docs/dc/d53/webm_2segmenter_8cc_source.html @@ -533,11 +533,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      Status FinalizeSegment(size_t stream_id, std::shared_ptr< SegmentInfo > segment_info)
      Definition: segmenter.cc:140
      Holds video stream information.
      - + diff --git a/docs/dc/d54/structshaka_1_1media_1_1H264DecRefPicMarking.html b/docs/dc/d54/structshaka_1_1media_1_1H264DecRefPicMarking.html index 6c4836ba8d..68337ecaf4 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 3e537fac17..bc56309b0a 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 8f82cfc33b..f02979c44f 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 03466b4284..e6c52e85b2 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 4854c0997e..0ddb1d8bba 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 @@ -105,23 +105,24 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); GetDurationInSeconds() const shaka::media::webm::Segmenter GetIndexRangeStartAndEnd(uint64_t *start, uint64_t *end)=0shaka::media::webm::Segmenterpure virtual GetInitRangeStartAndEnd(uint64_t *start, uint64_t *end)=0shaka::media::webm::Segmenterpure virtual - info() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - Initialize(StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener)shaka::media::webm::Segmenter - muxer_listener() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - options() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - seek_head() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - segment_payload_pos() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - Segmenter(const MuxerOptions &options) (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterexplicit - set_progress_target(uint64_t target) (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - SetCluster(uint64_t start_webm_timecode, uint64_t position, MkvWriter *writer)shaka::media::webm::Segmenterprotected - track_id() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - UpdateProgress(uint64_t progress)shaka::media::webm::Segmenterprotected - WriteSegmentHeader(uint64_t file_size, MkvWriter *writer)shaka::media::webm::Segmenterprotected - ~Segmenter() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmentervirtual + GetSegmentRanges()=0 (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterpure virtual + info() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + Initialize(StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener)shaka::media::webm::Segmenter + muxer_listener() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + options() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + seek_head() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + segment_payload_pos() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + Segmenter(const MuxerOptions &options) (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterexplicit + set_progress_target(uint64_t target) (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + SetCluster(uint64_t start_webm_timecode, uint64_t position, MkvWriter *writer)shaka::media::webm::Segmenterprotected + track_id() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + UpdateProgress(uint64_t progress)shaka::media::webm::Segmenterprotected + WriteSegmentHeader(uint64_t file_size, MkvWriter *writer)shaka::media::webm::Segmenterprotected + ~Segmenter() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmentervirtual 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 746f30def8..270f8b7941 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 a849d5d733..825d3e609f 100644 --- a/docs/dc/d73/classshaka_1_1media_1_1MockMuxerListener.html +++ b/docs/dc/d73/classshaka_1_1media_1_1MockMuxerListener.html @@ -117,9 +117,11 @@ Public Member Functions  MOCK_METHOD1 (OnSampleDurationReady, void(uint32_t sample_duration))   -MOCK_METHOD8 (OnMediaEnd, void(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size)) -  +MOCK_METHOD10 (OnMediaEndMock, void(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, bool has_subsegment_ranges, const std::vector< Range > subsegment_ranges, float duration_seconds, uint64_t file_size)) +  +void OnMediaEnd (const MediaRanges &range, float duration_seconds, uint64_t file_size) override +   MOCK_METHOD4 (OnNewSegment, void(const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size))   @@ -132,8 +134,6 @@ Public Member Functions   virtual void OnSampleDurationReady (uint32_t sample_duration)=0   -virtual void OnMediaEnd (bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size)=0 -  virtual void OnNewSegment (const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)=0   @@ -150,14 +150,68 @@ Additional Inherited Members

      Detailed Description

      Definition at line 20 of file mock_muxer_listener.h.

      -

      The documentation for this class was generated from the following files:
        +

        Member Function Documentation

        + +
        +
        +
      + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      void shaka::media::MockMuxerListener::OnMediaEnd (const MediaRangesmedia_ranges,
      float duration_seconds,
      uint64_t file_size 
      )
      +
      +overridevirtual
      +
      +

      Called when all files are written out and the muxer object does not output any more files. Note: This event might not be very interesting to MPEG DASH Live profile.

      +
      Parameters
      + + + + +
      media_rangesis the ranges of the media file.
      duration_secondsis the length of the media in seconds.
      file_sizeis the size of the file in bytes.
      +
      +
      + +

      Implements shaka::media::MuxerListener.

      + +

      Definition at line 15 of file mock_muxer_listener.cc.

      + +
      + +
      The documentation for this class was generated from the following files: diff --git a/docs/dc/d7b/closure__thread_8cc_source.html b/docs/dc/d7b/closure__thread_8cc_source.html index 725b8e291c..e4fd774b79 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 0138e98a6c..d1b75ac51e 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 f63c3e790f..abaa266fd9 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 860fd51454..b7171c8c88 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 new file mode 100644 index 0000000000..2ae1370515 --- /dev/null +++ b/docs/dc/d9a/structshaka_1_1media_1_1Range-members.html @@ -0,0 +1,106 @@ + + + + + + +DASH Media Packaging SDK: Member List + + + + + + + + + +
      +
      + + + + + + +
      +
      DASH Media Packaging SDK +
      +
      +
      + + + + + + + + + +
      + +
      + + +
      +
      +
      +
      shaka::media::Range Member List
      +
      +
      + +

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

      + + + +
      end (defined in shaka::media::Range)shaka::media::Range
      start (defined in shaka::media::Range)shaka::media::Range
      + + + + 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 80882e1cb4..10edcd5f28 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 f70c6ea061..0428df95dc 100644 --- a/docs/dc/da1/classshaka_1_1MpdBuilder.html +++ b/docs/dc/da1/classshaka_1_1MpdBuilder.html @@ -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 310e7961c9..b2f652a992 100644 --- a/docs/dc/da6/classshaka_1_1media_1_1ContentEncoding.html +++ b/docs/dc/da6/classshaka_1_1media_1_1ContentEncoding.html @@ -208,7 +208,7 @@ Static Public Attributes diff --git a/docs/dc/dbd/structshaka_1_1media_1_1FileCloser-members.html b/docs/dc/dbd/structshaka_1_1media_1_1FileCloser-members.html index cb2d8b5b66..6c9e1e4e77 100644 --- a/docs/dc/dbd/structshaka_1_1media_1_1FileCloser-members.html +++ b/docs/dc/dbd/structshaka_1_1media_1_1FileCloser-members.html @@ -97,7 +97,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/dbf/box__buffer_8h_source.html b/docs/dc/dbf/box__buffer_8h_source.html index 8602653b71..ffeac8df04 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 f63c1093fd..65ceed565a 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 82e74e0e2f..8fd1b9a0a1 100644 --- a/docs/dc/dca/classshaka_1_1media_1_1WebMListParser.html +++ b/docs/dc/dca/classshaka_1_1media_1_1WebMListParser.html @@ -210,7 +210,7 @@ void  diff --git a/docs/dc/dd9/rsa__key_8cc_source.html b/docs/dc/dd9/rsa__key_8cc_source.html index 9618af6409..fb5a45256e 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 c8d068a89a..8939e52e10 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 a5aca3beef..ae473c0280 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 33f0e60404..073ec26c7a 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 19da11da2d..610b7caa84 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 bac557c531..66456a5d1c 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 aec8290810..9d3475cc7a 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 be2aa0b10e..3be9c5d2f3 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 4c91627f65..f0b70ef759 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 @@ -105,31 +105,32 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); GetDurationInSeconds() const shaka::media::webm::Segmenter GetIndexRangeStartAndEnd(uint64_t *start, uint64_t *end) overrideshaka::media::webm::SingleSegmentSegmentervirtual GetInitRangeStartAndEnd(uint64_t *start, uint64_t *end) overrideshaka::media::webm::SingleSegmentSegmentervirtual - info() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - init_end() (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected - Initialize(StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener)shaka::media::webm::Segmenter - muxer_listener() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - options() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - seek_head() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - segment_payload_pos() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - Segmenter(const MuxerOptions &options) (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterexplicit - set_index_end(uint64_t end) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected - set_index_start(uint64_t start) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected - set_init_end(uint64_t end) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected - set_progress_target(uint64_t target) (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - set_writer(std::unique_ptr< MkvWriter > writer) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected - SetCluster(uint64_t start_webm_timecode, uint64_t position, MkvWriter *writer)shaka::media::webm::Segmenterprotected - SingleSegmentSegmenter(const MuxerOptions &options) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterexplicit - track_id() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected - UpdateProgress(uint64_t progress)shaka::media::webm::Segmenterprotected - writer() (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected - WriteSegmentHeader(uint64_t file_size, MkvWriter *writer)shaka::media::webm::Segmenterprotected - ~Segmenter() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmentervirtual - ~SingleSegmentSegmenter() override (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenter + GetSegmentRanges() override (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmentervirtual + info() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + init_end() (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected + Initialize(StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener)shaka::media::webm::Segmenter + muxer_listener() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + options() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + seek_head() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + segment_payload_pos() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + Segmenter(const MuxerOptions &options) (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterexplicit + set_index_end(uint64_t end) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected + set_index_start(uint64_t start) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected + set_init_end(uint64_t end) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected + set_progress_target(uint64_t target) (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + set_writer(std::unique_ptr< MkvWriter > writer) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected + SetCluster(uint64_t start_webm_timecode, uint64_t position, MkvWriter *writer)shaka::media::webm::Segmenterprotected + SingleSegmentSegmenter(const MuxerOptions &options) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterexplicit + track_id() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected + UpdateProgress(uint64_t progress)shaka::media::webm::Segmenterprotected + writer() (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected + WriteSegmentHeader(uint64_t file_size, MkvWriter *writer)shaka::media::webm::Segmenterprotected + ~Segmenter() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmentervirtual + ~SingleSegmentSegmenter() override (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenter 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 d85cc65f6f..150d7c49a7 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 2a8b745ee8..5992c8d50b 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 6753f012e8..58a52873d4 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 c231b65237..53a25c297c 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 8f850799c6..ba9dfe007f 100644 --- a/docs/dd/d11/mpd__builder_8cc_source.html +++ b/docs/dd/d11/mpd__builder_8cc_source.html @@ -1511,7 +1511,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d12/mpd__writer_8cc_source.html b/docs/dd/d12/mpd__writer_8cc_source.html index 92f647e7d8..52c3005e4c 100644 --- a/docs/dd/d12/mpd__writer_8cc_source.html +++ b/docs/dd/d12/mpd__writer_8cc_source.html @@ -219,7 +219,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d13/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize.html b/docs/dd/d13/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize.html index 0db311b441..7f0e19194f 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 72947fc9ca..ef16bce626 100644 --- a/docs/dd/d17/classshaka_1_1media_1_1Demuxer.html +++ b/docs/dd/d17/classshaka_1_1media_1_1Demuxer.html @@ -467,7 +467,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 9817e43394..0f2857a2c9 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 7cf09f2ce1..b44572f9c1 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 43640746a1..1fd7dc1a16 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 81bf7bc404..17f7dd5a88 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 ba27565137..69432011df 100644 --- a/docs/dd/d3b/mp4_2segmenter_8h_source.html +++ b/docs/dd/d3b/mp4_2segmenter_8h_source.html @@ -100,123 +100,132 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      11 #include <memory>
      12 #include <vector>
      13 
      -
      14 #include "packager/media/base/fourccs.h"
      -
      15 #include "packager/media/formats/mp4/box_definitions.h"
      -
      16 #include "packager/status.h"
      -
      17 
      -
      18 namespace shaka {
      -
      19 namespace media {
      -
      20 
      -
      21 struct EncryptionConfig;
      -
      22 struct MuxerOptions;
      -
      23 struct SegmentInfo;
      -
      24 
      -
      25 class BufferWriter;
      -
      26 class MediaSample;
      -
      27 class MuxerListener;
      -
      28 class ProgressListener;
      -
      29 class StreamInfo;
      -
      30 
      -
      31 namespace mp4 {
      +
      14 #include "packager/base/optional.h"
      +
      15 #include "packager/media/base/fourccs.h"
      +
      16 #include "packager/media/base/range.h"
      +
      17 #include "packager/media/formats/mp4/box_definitions.h"
      +
      18 #include "packager/status.h"
      +
      19 
      +
      20 namespace shaka {
      +
      21 namespace media {
      +
      22 
      +
      23 struct EncryptionConfig;
      +
      24 struct MuxerOptions;
      +
      25 struct SegmentInfo;
      +
      26 
      +
      27 class BufferWriter;
      +
      28 class MediaSample;
      +
      29 class MuxerListener;
      +
      30 class ProgressListener;
      +
      31 class StreamInfo;
      32 
      -
      33 class Fragmenter;
      +
      33 namespace mp4 {
      34 
      -
      41 class Segmenter {
      -
      42  public:
      -
      43  Segmenter(const MuxerOptions& options,
      -
      44  std::unique_ptr<FileType> ftyp,
      -
      45  std::unique_ptr<Movie> moov);
      -
      46  virtual ~Segmenter();
      -
      47 
      -
      55  Status Initialize(const std::vector<std::shared_ptr<StreamInfo>>& streams,
      -
      56  MuxerListener* muxer_listener,
      -
      57  ProgressListener* progress_listener);
      -
      58 
      -
      61  Status Finalize();
      -
      62 
      -
      67  Status AddSample(size_t stream_id, std::shared_ptr<MediaSample> sample);
      -
      68 
      -
      73  Status FinalizeSegment(size_t stream_id,
      -
      74  std::shared_ptr<SegmentInfo> segment_info);
      -
      75 
      -
      78  virtual bool GetInitRange(size_t* offset, size_t* size) = 0;
      -
      79 
      -
      82  virtual bool GetIndexRange(size_t* offset, size_t* size) = 0;
      +
      35 class Fragmenter;
      +
      36 
      +
      43 class Segmenter {
      +
      44  public:
      +
      45  Segmenter(const MuxerOptions& options,
      +
      46  std::unique_ptr<FileType> ftyp,
      +
      47  std::unique_ptr<Movie> moov);
      +
      48  virtual ~Segmenter();
      +
      49 
      +
      57  Status Initialize(const std::vector<std::shared_ptr<StreamInfo>>& streams,
      +
      58  MuxerListener* muxer_listener,
      +
      59  ProgressListener* progress_listener);
      +
      60 
      +
      63  Status Finalize();
      +
      64 
      +
      69  Status AddSample(size_t stream_id, std::shared_ptr<MediaSample> sample);
      +
      70 
      +
      75  Status FinalizeSegment(size_t stream_id,
      +
      76  std::shared_ptr<SegmentInfo> segment_info);
      +
      77 
      +
      78  // TODO(rkuroiwa): Change these Get*Range() methods to return
      +
      79  // base::Optional<Range> as well.
      +
      82  virtual bool GetInitRange(size_t* offset, size_t* size) = 0;
      83 
      -
      84  uint32_t GetReferenceTimeScale() const;
      -
      85 
      -
      87  double GetDuration() const;
      -
      88 
      -
      91  uint32_t sample_duration() const { return sample_duration_; }
      +
      86  virtual bool GetIndexRange(size_t* offset, size_t* size) = 0;
      +
      87 
      +
      88  // Returns an empty vector if there are no specific ranges for the segments,
      +
      89  // e.g. the media is in multiple files.
      +
      90  // Otherwise, a vector of ranges for the media segments are returned.
      +
      91  virtual std::vector<Range> GetSegmentRanges() = 0;
      92 
      -
      93  protected:
      -
      95  void UpdateProgress(uint64_t progress);
      -
      97  void SetComplete();
      -
      98 
      -
      99  const MuxerOptions& options() const { return options_; }
      -
      100  FileType* ftyp() { return ftyp_.get(); }
      -
      101  Movie* moov() { return moov_.get(); }
      -
      102  BufferWriter* fragment_buffer() { return fragment_buffer_.get(); }
      -
      103  SegmentIndex* sidx() { return sidx_.get(); }
      -
      104  MuxerListener* muxer_listener() { return muxer_listener_; }
      -
      105  uint64_t progress_target() { return progress_target_; }
      -
      106 
      -
      107  void set_progress_target(uint64_t progress_target) {
      -
      108  progress_target_ = progress_target;
      -
      109  }
      -
      110 
      -
      111  private:
      -
      112  virtual Status DoInitialize() = 0;
      -
      113  virtual Status DoFinalize() = 0;
      -
      114  virtual Status DoFinalizeSegment() = 0;
      +
      93  uint32_t GetReferenceTimeScale() const;
      +
      94 
      +
      96  double GetDuration() const;
      +
      97 
      +
      100  uint32_t sample_duration() const { return sample_duration_; }
      +
      101 
      +
      102  protected:
      +
      104  void UpdateProgress(uint64_t progress);
      +
      106  void SetComplete();
      +
      107 
      +
      108  const MuxerOptions& options() const { return options_; }
      +
      109  FileType* ftyp() { return ftyp_.get(); }
      +
      110  Movie* moov() { return moov_.get(); }
      +
      111  BufferWriter* fragment_buffer() { return fragment_buffer_.get(); }
      +
      112  SegmentIndex* sidx() { return sidx_.get(); }
      +
      113  MuxerListener* muxer_listener() { return muxer_listener_; }
      +
      114  uint64_t progress_target() { return progress_target_; }
      115 
      -
      116  uint32_t GetReferenceStreamId();
      -
      117 
      -
      118  void FinalizeFragmentForKeyRotation(
      -
      119  size_t stream_id,
      -
      120  bool fragment_encrypted,
      -
      121  const EncryptionConfig& encryption_config);
      -
      122 
      -
      123  const MuxerOptions& options_;
      -
      124  std::unique_ptr<FileType> ftyp_;
      -
      125  std::unique_ptr<Movie> moov_;
      -
      126  std::unique_ptr<MovieFragment> moof_;
      -
      127  std::unique_ptr<BufferWriter> fragment_buffer_;
      -
      128  std::unique_ptr<SegmentIndex> sidx_;
      -
      129  std::vector<std::unique_ptr<Fragmenter>> fragmenters_;
      -
      130  MuxerListener* muxer_listener_ = nullptr;
      -
      131  ProgressListener* progress_listener_ = nullptr;
      -
      132  uint64_t progress_target_ = 0u;
      -
      133  uint64_t accumulated_progress_ = 0u;
      -
      134  uint32_t sample_duration_ = 0u;
      -
      135  std::vector<uint64_t> stream_durations_;
      -
      136 
      -
      137  DISALLOW_COPY_AND_ASSIGN(Segmenter);
      -
      138 };
      -
      139 
      -
      140 } // namespace mp4
      -
      141 } // namespace media
      -
      142 } // namespace shaka
      -
      143 
      -
      144 #endif // MEDIA_FORMATS_MP4_SEGMENTER_H_
      +
      116  void set_progress_target(uint64_t progress_target) {
      +
      117  progress_target_ = progress_target;
      +
      118  }
      +
      119 
      +
      120  private:
      +
      121  virtual Status DoInitialize() = 0;
      +
      122  virtual Status DoFinalize() = 0;
      +
      123  virtual Status DoFinalizeSegment() = 0;
      +
      124 
      +
      125  uint32_t GetReferenceStreamId();
      +
      126 
      +
      127  void FinalizeFragmentForKeyRotation(
      +
      128  size_t stream_id,
      +
      129  bool fragment_encrypted,
      +
      130  const EncryptionConfig& encryption_config);
      +
      131 
      +
      132  const MuxerOptions& options_;
      +
      133  std::unique_ptr<FileType> ftyp_;
      +
      134  std::unique_ptr<Movie> moov_;
      +
      135  std::unique_ptr<MovieFragment> moof_;
      +
      136  std::unique_ptr<BufferWriter> fragment_buffer_;
      +
      137  std::unique_ptr<SegmentIndex> sidx_;
      +
      138  std::vector<std::unique_ptr<Fragmenter>> fragmenters_;
      +
      139  MuxerListener* muxer_listener_ = nullptr;
      +
      140  ProgressListener* progress_listener_ = nullptr;
      +
      141  uint64_t progress_target_ = 0u;
      +
      142  uint64_t accumulated_progress_ = 0u;
      +
      143  uint32_t sample_duration_ = 0u;
      +
      144  std::vector<uint64_t> stream_durations_;
      +
      145 
      +
      146  DISALLOW_COPY_AND_ASSIGN(Segmenter);
      +
      147 };
      +
      148 
      +
      149 } // namespace mp4
      +
      150 } // namespace media
      +
      151 } // namespace shaka
      +
      152 
      +
      153 #endif // MEDIA_FORMATS_MP4_SEGMENTER_H_
      void UpdateProgress(uint64_t progress)
      Update segmentation progress using ProgressListener.
      Definition: segmenter.cc:225
      void SetComplete()
      Set progress to 100%.
      Definition: segmenter.cc:241
      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
      -
      uint32_t sample_duration() const
      Definition: segmenter.h:91
      +
      uint32_t sample_duration() const
      Definition: segmenter.h:100
      This class listens to progress updates events.
      - +
      Status FinalizeSegment(size_t stream_id, std::shared_ptr< SegmentInfo > segment_info)
      Definition: segmenter.cc:140
      double GetDuration() const
      Definition: segmenter.cc:216
      virtual bool GetIndexRange(size_t *offset, size_t *size)=0
      - + 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 7242347e66..9287090d8f 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 d06bfea5de..0e2c7a6409 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 db11ca4ef0..01d0f03b88 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 3fe8375407..0cba58030f 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 611e0164a8..2d1887c57e 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 1209a035e5..9b15dfc784 100644 --- a/docs/dd/d54/widevine__encryption__flags_8h_source.html +++ b/docs/dd/d54/widevine__encryption__flags_8h_source.html @@ -128,7 +128,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 309bb900e6..3206b4d329 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 2cd15f227b..49fc2dcdb0 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 c9c6e191ea..0dbff3a6d4 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 1b8769e667..310318d74d 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 47a19d80d8..b3af0cf402 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 1f0f1cd815..74456ccad3 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 05f98f5a11..86fdde61fc 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 249fec1645..c4b0e69b4e 100644 --- a/docs/dd/d7a/classshaka_1_1media_1_1MuxerListener.html +++ b/docs/dd/d7a/classshaka_1_1media_1_1MuxerListener.html @@ -87,6 +87,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      @@ -109,6 +110,11 @@ Inheritance diagram for shaka::media::MuxerListener:
      + + + +

      +Classes

      struct  MediaRanges
       
      - - + +

      Public Types

      enum  ContainerType { kContainerUnknown = 0, @@ -128,15 +134,15 @@ Public Member Functions
       
      virtual void OnSampleDurationReady (uint32_t sample_duration)=0
       
      virtual void OnMediaEnd (bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size)=0
       
      virtual void OnMediaEnd (const MediaRanges &media_ranges, float duration_seconds, uint64_t file_size)=0
       
      virtual void OnNewSegment (const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)=0
       

      Detailed Description

      MuxerListener is an event handler that can be registered to a muxer. A MuxerListener cannot be shared amongst muxer instances, in other words, every muxer instance either owns a unique MuxerListener instance. This also assumes that there is one media stream per muxer.

      -

      Definition at line 30 of file muxer_listener.h.

      +

      Definition at line 32 of file muxer_listener.h.

      Member Function Documentation

      @@ -228,7 +234,7 @@ Public Member Functions
      - +
      @@ -238,38 +244,8 @@ Public Member Functions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -298,19 +274,14 @@ Public Member Functions

      Called when all files are written out and the muxer object does not output any more files. Note: This event might not be very interesting to MPEG DASH Live profile.

      Parameters
      virtual void shaka::media::MuxerListener::OnMediaEnd (bool has_init_range,
      uint64_t init_range_start,
      uint64_t init_range_end,
      bool has_index_range,
      uint64_t index_range_start,
      uint64_t index_range_end, const MediaRangesmedia_ranges,
      - - - - - - +
      has_init_rangeis true if init_range_start and init_range_end actually define an initialization range of a segment. The range is inclusive for both start and end.
      init_range_startis the start of the initialization range.
      init_range_endis the end of the initialization range.
      has_index_rangeis true if index_range_start and index_range_end actually define an index range of a segment. The range is inclusive for both start and end.
      index_range_startis the start of the index range.
      index_range_endis the end of the index range.
      media_rangesis the ranges of the media file.
      duration_secondsis the length of the media in seconds.
      file_sizeis the size of the file in bytes.
      -

      Implemented in shaka::media::HlsNotifyMuxerListener, shaka::media::MpdNotifyMuxerListener, and shaka::media::VodMediaInfoDumpMuxerListener.

      +

      Implemented in shaka::media::MockMuxerListener, shaka::media::HlsNotifyMuxerListener, shaka::media::MpdNotifyMuxerListener, and shaka::media::VodMediaInfoDumpMuxerListener.

      @@ -469,7 +440,7 @@ Public Member Functions diff --git a/docs/dd/d7c/classshaka_1_1media_1_1IoCache.html b/docs/dd/d7c/classshaka_1_1media_1_1IoCache.html index bea56a6e17..8ef1d792ed 100644 --- a/docs/dd/d7c/classshaka_1_1media_1_1IoCache.html +++ b/docs/dd/d7c/classshaka_1_1media_1_1IoCache.html @@ -297,7 +297,7 @@ void  diff --git a/docs/dd/d80/media__sample_8h_source.html b/docs/dd/d80/media__sample_8h_source.html index b9f12be79a..7b9b0ddd4c 100644 --- a/docs/dd/d80/media__sample_8h_source.html +++ b/docs/dd/d80/media__sample_8h_source.html @@ -272,7 +272,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d87/memory__file_8cc_source.html b/docs/dd/d87/memory__file_8cc_source.html index da5130e82e..13f671e4a0 100644 --- a/docs/dd/d87/memory__file_8cc_source.html +++ b/docs/dd/d87/memory__file_8cc_source.html @@ -242,7 +242,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d88/pes__packet__generator_8h_source.html b/docs/dd/d88/pes__packet__generator_8h_source.html index 2e15d975b1..55e0b3e991 100644 --- a/docs/dd/d88/pes__packet__generator_8h_source.html +++ b/docs/dd/d88/pes__packet__generator_8h_source.html @@ -164,7 +164,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d8c/file__test__util_8h_source.html b/docs/dd/d8c/file__test__util_8h_source.html index 3f129d7e0b..d45b2b7f30 100644 --- a/docs/dd/d8c/file__test__util_8h_source.html +++ b/docs/dd/d8c/file__test__util_8h_source.html @@ -137,7 +137,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 f1855b3c10..1780555d7a 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 025eeb2df3..d54ce4dfc2 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 10995dc400..9adbe35179 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 0dda03880c..fc229b3243 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 fd789fdb80..85c16ab8e4 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 408f2f1b5c..322a35f106 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 06bc0a61b7..5ab3e1efc1 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 @@ -129,6 +129,9 @@ Status   bool GetIndexRangeStartAndEnd (uint64_t *start, uint64_t *end) override   + +std::vector< RangeGetSegmentRanges () override +  - Public Member Functions inherited from shaka::media::webm::Segmenter  Segmenter (const MuxerOptions &options) @@ -223,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 fe7c35fc0c..f11da831f5 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 @@ -131,56 +131,52 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      44  uint32_t time_scale,
      45  ContainerType container_type) override;
      46  void OnSampleDurationReady(uint32_t sample_duration) override;
      -
      47  void OnMediaEnd(bool has_init_range,
      -
      48  uint64_t init_range_start,
      -
      49  uint64_t init_range_end,
      -
      50  bool has_index_range,
      -
      51  uint64_t index_range_start,
      -
      52  uint64_t index_range_end,
      -
      53  float duration_seconds,
      -
      54  uint64_t file_size) override;
      -
      55  void OnNewSegment(const std::string& file_name,
      -
      56  uint64_t start_time,
      -
      57  uint64_t duration,
      -
      58  uint64_t segment_file_size) override;
      -
      60 
      -
      65  // TODO(rkuroiwa): Move this to muxer_listener_internal and rename
      -
      66  // muxer_listener_internal to muxer_listener_util.
      -
      67  static bool WriteMediaInfoToFile(const MediaInfo& media_info,
      -
      68  const std::string& output_file_path);
      -
      69 
      -
      70  private:
      -
      71  std::string output_file_name_;
      -
      72  std::unique_ptr<MediaInfo> media_info_;
      -
      73 
      -
      74  bool is_encrypted_;
      -
      75  // Storage for values passed to OnEncryptionInfoReady().
      -
      76  FourCC protection_scheme_;
      -
      77  std::vector<uint8_t> default_key_id_;
      -
      78  std::vector<ProtectionSystemSpecificInfo> key_system_info_;
      -
      79 
      -
      80  DISALLOW_COPY_AND_ASSIGN(VodMediaInfoDumpMuxerListener);
      -
      81 };
      -
      82 
      -
      83 } // namespace media
      -
      84 } // namespace shaka
      -
      85 
      -
      86 #endif // MEDIA_EVENT_VOD_MEDIA_INFO_DUMP_MUXER_LISTENER_H_
      +
      47  void OnMediaEnd(const MediaRanges& media_ranges,
      +
      48  float duration_seconds,
      +
      49  uint64_t file_size) override;
      +
      50  void OnNewSegment(const std::string& file_name,
      +
      51  uint64_t start_time,
      +
      52  uint64_t duration,
      +
      53  uint64_t segment_file_size) override;
      +
      55 
      +
      60  // TODO(rkuroiwa): Move this to muxer_listener_internal and rename
      +
      61  // muxer_listener_internal to muxer_listener_util.
      +
      62  static bool WriteMediaInfoToFile(const MediaInfo& media_info,
      +
      63  const std::string& output_file_path);
      +
      64 
      +
      65  private:
      +
      66  std::string output_file_name_;
      +
      67  std::unique_ptr<MediaInfo> media_info_;
      +
      68 
      +
      69  bool is_encrypted_;
      +
      70  // Storage for values passed to OnEncryptionInfoReady().
      +
      71  FourCC protection_scheme_;
      +
      72  std::vector<uint8_t> default_key_id_;
      +
      73  std::vector<ProtectionSystemSpecificInfo> key_system_info_;
      +
      74 
      +
      75  DISALLOW_COPY_AND_ASSIGN(VodMediaInfoDumpMuxerListener);
      +
      76 };
      +
      77 
      +
      78 } // namespace media
      +
      79 } // namespace shaka
      +
      80 
      +
      81 #endif // MEDIA_EVENT_VOD_MEDIA_INFO_DUMP_MUXER_LISTENER_H_
      Abstract class holds stream information.
      Definition: stream_info.h:57
      +
      void OnMediaEnd(const MediaRanges &media_ranges, float duration_seconds, uint64_t file_size) override
      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
      +
      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
      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)
      +
      static bool WriteMediaInfoToFile(const MediaInfo &media_info, const std::string &output_file_path)
      +
      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
      -
      void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) override
      - + diff --git a/docs/dd/dab/webm__muxer_8h_source.html b/docs/dd/dab/webm__muxer_8h_source.html index 42642c6872..fefdd2c694 100644 --- a/docs/dd/dab/webm__muxer_8h_source.html +++ b/docs/dd/dab/webm__muxer_8h_source.html @@ -138,7 +138,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/dae/structshaka_1_1media_1_1mp4_1_1WebVTTSourceLabelBox-members.html b/docs/dd/dae/structshaka_1_1media_1_1mp4_1_1WebVTTSourceLabelBox-members.html index e54d929598..a98f8fb2a5 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 8fec6cc3ac..c080431679 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 26298519e2..aaaed4d432 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 c486fb4051..6b0a7b935c 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 cc016feffe..eb478d56c8 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 8d6d7ce9c3..cfc74aca78 100644 --- a/docs/dd/dbc/encryption__handler_8h_source.html +++ b/docs/dd/dbc/encryption__handler_8h_source.html @@ -208,7 +208,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/dbd/structshaka_1_1media_1_1EncryptionKey.html b/docs/dd/dbd/structshaka_1_1media_1_1EncryptionKey.html index 11c1777a3d..cdae88478a 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 000566ab02..64986edac1 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 8e751c17f2..8318c969d1 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 e1fff1df95..a0b497c3dd 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 2aae461f0e..8802de6800 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 f8cf0066f6..2891fe3750 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 @@ -125,6 +125,9 @@ virtual Status   virtual bool GetIndexRangeStartAndEnd (uint64_t *start, uint64_t *end)=0   + +virtual std::vector< RangeGetSegmentRanges ()=0 +  float GetDurationInSeconds () const   @@ -186,7 +189,7 @@ virtual Status 
      DoFinalize<

      Detailed Description

      -

      Definition at line 30 of file segmenter.h.

      +

      Definition at line 33 of file segmenter.h.

      Member Function Documentation

      @@ -375,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 5ce313c35b..7f0734266f 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 f5f674575a..eca61b660f 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 8ab38f1383..f029fb3180 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 65aaf654fd..ad83c6c8c6 100644 --- a/docs/dd/dd3/buffer__writer_8cc_source.html +++ b/docs/dd/dd3/buffer__writer_8cc_source.html @@ -186,7 +186,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 397dd3ea89..1c50f50ff5 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 c85e2319fc..ff2d165588 100644 --- a/docs/dd/dd8/mock__muxer__listener_8cc_source.html +++ b/docs/dd/dd8/mock__muxer__listener_8cc_source.html @@ -101,12 +101,38 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      12 MockMuxerListener::MockMuxerListener() {}
      13 MockMuxerListener::~MockMuxerListener() {}
      14 
      -
      15 } // namespace media
      -
      16 } // namespace shaka
      + +
      16  float duration_seconds,
      +
      17  uint64_t file_size) {
      +
      18  const bool has_init_range = static_cast<bool>(range.init_range);
      +
      19  Range init_range = {};
      +
      20  if (has_init_range) {
      +
      21  init_range = range.init_range.value();
      +
      22  }
      +
      23  const bool has_index_range = static_cast<bool>(range.index_range);
      +
      24  Range index_range = {};
      +
      25  if (has_index_range) {
      +
      26  index_range = range.index_range.value();
      +
      27  }
      +
      28 
      +
      29  OnMediaEndMock(has_init_range, init_range.start, init_range.end,
      +
      30  has_index_range, index_range.start, index_range.end,
      +
      31  !range.subsegment_ranges.empty(), range.subsegment_ranges,
      +
      32  duration_seconds, file_size);
      +
      33 }
      +
      34 
      +
      35 } // namespace media
      +
      36 } // namespace shaka
      +
      base::Optional< Range > init_range
      Range of the initialization section of a segment.
      +
      base::Optional< Range > index_range
      Range of the index section of a segment.
      + +
      void OnMediaEnd(const MediaRanges &range, float duration_seconds, uint64_t file_size) override
      + + 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 3cc2ac54fe..bac3a207ff 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 92e57b7b2d..825619034f 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 91f08cc0a9..c57943366b 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 e91ea99872..b7ee66be4b 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 23754a268b..e8d0c14a6c 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 0dc5bc3cd1..4b76f7af8d 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/dd/dee/box__definitions_8cc_source.html b/docs/dd/dee/box__definitions_8cc_source.html index 44e6d09f0e..860af478ee 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 8201160bce..b247b0623f 100644 --- a/docs/dd/df2/webm_2multi__segment__segmenter_8h_source.html +++ b/docs/dd/df2/webm_2multi__segment__segmenter_8h_source.html @@ -118,37 +118,38 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      33  bool is_subsegment) override;
      34  bool GetInitRangeStartAndEnd(uint64_t* start, uint64_t* end) override;
      35  bool GetIndexRangeStartAndEnd(uint64_t* start, uint64_t* end) override;
      -
      37 
      -
      38  protected:
      -
      39  // Segmenter implementation overrides.
      -
      40  Status DoInitialize() override;
      -
      41  Status DoFinalize() override;
      -
      42 
      -
      43  private:
      -
      44  // Segmenter implementation overrides.
      -
      45  Status NewSegment(uint64_t start_timestamp, bool is_subsegment) override;
      -
      46 
      -
      47  std::unique_ptr<MkvWriter> writer_;
      -
      48  uint32_t num_segment_;
      -
      49 
      -
      50  DISALLOW_COPY_AND_ASSIGN(MultiSegmentSegmenter);
      -
      51 };
      -
      52 
      -
      53 } // namespace webm
      -
      54 } // namespace media
      -
      55 } // namespace shaka
      -
      56 
      -
      57 #endif // MEDIA_FORMATS_WEBM_MULTI_SEGMENT_SEGMENTER_H_
      +
      36  std::vector<Range> GetSegmentRanges() override;
      +
      38 
      +
      39  protected:
      +
      40  // Segmenter implementation overrides.
      +
      41  Status DoInitialize() override;
      +
      42  Status DoFinalize() override;
      +
      43 
      +
      44  private:
      +
      45  // Segmenter implementation overrides.
      +
      46  Status NewSegment(uint64_t start_timestamp, bool is_subsegment) override;
      +
      47 
      +
      48  std::unique_ptr<MkvWriter> writer_;
      +
      49  uint32_t num_segment_;
      +
      50 
      +
      51  DISALLOW_COPY_AND_ASSIGN(MultiSegmentSegmenter);
      +
      52 };
      +
      53 
      +
      54 } // namespace webm
      +
      55 } // namespace media
      +
      56 } // namespace shaka
      +
      57 
      +
      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
      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 836329ac76..9891675028 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 11506a47a1..6f0b825043 100644 --- a/docs/dd/df6/structshaka_1_1media_1_1mp4_1_1Metadata.html +++ b/docs/dd/df6/structshaka_1_1media_1_1mp4_1_1Metadata.html @@ -185,7 +185,7 @@ Additional Inherited Members diff --git a/docs/de/d0f/local__file_8h_source.html b/docs/de/d0f/local__file_8h_source.html index 37ce3a0b99..6d0a76b0a4 100644 --- a/docs/de/d0f/local__file_8h_source.html +++ b/docs/de/d0f/local__file_8h_source.html @@ -152,7 +152,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/d12/container__names_8h_source.html b/docs/de/d12/container__names_8h_source.html index c15a8aa364..5b4832f9b4 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 25338a6322..0ba4b6b745 100644 --- a/docs/de/d13/ts__writer_8cc_source.html +++ b/docs/de/d13/ts__writer_8cc_source.html @@ -360,7 +360,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/d16/classshaka_1_1media_1_1TextTrackConfig-members.html b/docs/de/d16/classshaka_1_1media_1_1TextTrackConfig-members.html index 80d13d4894..0424be400d 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 2200c9de35..15f128cac3 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 54067ff4ff..a529bc0988 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 44a58c2bfa..a2f2714a6d 100644 --- a/docs/de/d1e/mp4_2single__segment__segmenter_8cc_source.html +++ b/docs/de/d1e/mp4_2single__segment__segmenter_8cc_source.html @@ -99,215 +99,232 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      10 
      11 #include "packager/media/base/buffer_writer.h"
      12 #include "packager/media/base/muxer_options.h"
      -
      13 #include "packager/media/event/muxer_listener.h"
      -
      14 #include "packager/media/event/progress_listener.h"
      -
      15 #include "packager/media/file/file.h"
      -
      16 #include "packager/media/file/file_util.h"
      -
      17 #include "packager/media/formats/mp4/box_definitions.h"
      -
      18 
      -
      19 namespace shaka {
      -
      20 namespace media {
      -
      21 namespace mp4 {
      -
      22 
      -
      23 SingleSegmentSegmenter::SingleSegmentSegmenter(const MuxerOptions& options,
      -
      24  std::unique_ptr<FileType> ftyp,
      -
      25  std::unique_ptr<Movie> moov)
      -
      26  : Segmenter(options, std::move(ftyp), std::move(moov)) {}
      -
      27 
      -
      28 SingleSegmentSegmenter::~SingleSegmentSegmenter() {
      -
      29  if (temp_file_)
      -
      30  temp_file_.release()->Close();
      -
      31  if (!temp_file_name_.empty()) {
      -
      32  if (!File::Delete(temp_file_name_.c_str()))
      -
      33  LOG(ERROR) << "Unable to delete temporary file " << temp_file_name_;
      -
      34  }
      -
      35 }
      -
      36 
      -
      37 bool SingleSegmentSegmenter::GetInitRange(size_t* offset, size_t* size) {
      -
      38  // In Finalize, ftyp and moov gets written first so offset must be 0.
      -
      39  *offset = 0;
      -
      40  *size = ftyp()->ComputeSize() + moov()->ComputeSize();
      -
      41  return true;
      -
      42 }
      -
      43 
      -
      44 bool SingleSegmentSegmenter::GetIndexRange(size_t* offset, size_t* size) {
      -
      45  // Index range is right after init range so the offset must be the size of
      -
      46  // ftyp and moov.
      -
      47  *offset = ftyp()->ComputeSize() + moov()->ComputeSize();
      -
      48  *size = vod_sidx_->ComputeSize();
      -
      49  return true;
      -
      50 }
      -
      51 
      -
      52 Status SingleSegmentSegmenter::DoInitialize() {
      -
      53  // Single segment segmentation involves two stages:
      -
      54  // Stage 1: Create media subsegments from media samples
      -
      55  // Stage 2: Update media header (moov) which involves copying of media
      -
      56  // subsegments
      -
      57  // Assumes stage 2 takes similar amount of time as stage 1. The previous
      -
      58  // progress_target was set for stage 1. Times two to account for stage 2.
      -
      59  set_progress_target(progress_target() * 2);
      -
      60 
      -
      61  if (!TempFilePath(options().temp_dir, &temp_file_name_))
      -
      62  return Status(error::FILE_FAILURE, "Unable to create temporary file.");
      -
      63  temp_file_.reset(File::Open(temp_file_name_.c_str(), "w"));
      -
      64  return temp_file_
      -
      65  ? Status::OK
      -
      66  : Status(error::FILE_FAILURE,
      -
      67  "Cannot open file to write " + temp_file_name_);
      -
      68 }
      -
      69 
      -
      70 Status SingleSegmentSegmenter::DoFinalize() {
      -
      71  DCHECK(temp_file_);
      -
      72  DCHECK(ftyp());
      -
      73  DCHECK(moov());
      -
      74  DCHECK(vod_sidx_);
      +
      13 #include "packager/media/event/progress_listener.h"
      +
      14 #include "packager/media/file/file.h"
      +
      15 #include "packager/media/file/file_util.h"
      +
      16 #include "packager/media/formats/mp4/box_definitions.h"
      +
      17 
      +
      18 namespace shaka {
      +
      19 namespace media {
      +
      20 namespace mp4 {
      +
      21 
      +
      22 SingleSegmentSegmenter::SingleSegmentSegmenter(const MuxerOptions& options,
      +
      23  std::unique_ptr<FileType> ftyp,
      +
      24  std::unique_ptr<Movie> moov)
      +
      25  : Segmenter(options, std::move(ftyp), std::move(moov)) {}
      +
      26 
      +
      27 SingleSegmentSegmenter::~SingleSegmentSegmenter() {
      +
      28  if (temp_file_)
      +
      29  temp_file_.release()->Close();
      +
      30  if (!temp_file_name_.empty()) {
      +
      31  if (!File::Delete(temp_file_name_.c_str()))
      +
      32  LOG(ERROR) << "Unable to delete temporary file " << temp_file_name_;
      +
      33  }
      +
      34 }
      +
      35 
      +
      36 bool SingleSegmentSegmenter::GetInitRange(size_t* offset, size_t* size) {
      +
      37  // In Finalize, ftyp and moov gets written first so offset must be 0.
      +
      38  *offset = 0;
      +
      39  *size = ftyp()->ComputeSize() + moov()->ComputeSize();
      +
      40  return true;
      +
      41 }
      +
      42 
      +
      43 bool SingleSegmentSegmenter::GetIndexRange(size_t* offset, size_t* size) {
      +
      44  // Index range is right after init range so the offset must be the size of
      +
      45  // ftyp and moov.
      +
      46  *offset = ftyp()->ComputeSize() + moov()->ComputeSize();
      +
      47  *size = vod_sidx_->ComputeSize();
      +
      48  return true;
      +
      49 }
      +
      50 
      +
      51 std::vector<Range> SingleSegmentSegmenter::GetSegmentRanges() {
      +
      52  std::vector<Range> ranges;
      +
      53  uint64_t next_offset =
      +
      54  ftyp()->ComputeSize() + moov()->ComputeSize() + vod_sidx_->ComputeSize() +
      +
      55  vod_sidx_->first_offset;
      +
      56  for (const SegmentReference& segment_reference : vod_sidx_->references) {
      +
      57  Range r;
      +
      58  r.start = next_offset;
      +
      59  // Ranges are inclusive, so -1 to the size.
      +
      60  r.end = r.start + segment_reference.referenced_size - 1;
      +
      61  next_offset = r.end + 1;
      +
      62  ranges.push_back(r);
      +
      63  }
      +
      64  return ranges;
      +
      65 }
      +
      66 
      +
      67 Status SingleSegmentSegmenter::DoInitialize() {
      +
      68  // Single segment segmentation involves two stages:
      +
      69  // Stage 1: Create media subsegments from media samples
      +
      70  // Stage 2: Update media header (moov) which involves copying of media
      +
      71  // subsegments
      +
      72  // Assumes stage 2 takes similar amount of time as stage 1. The previous
      +
      73  // progress_target was set for stage 1. Times two to account for stage 2.
      +
      74  set_progress_target(progress_target() * 2);
      75 
      -
      76  // Close the temp file to prepare for reading later.
      -
      77  if (!temp_file_.release()->Close()) {
      -
      78  return Status(error::FILE_FAILURE,
      -
      79  "Cannot close the temp file " + temp_file_name_);
      -
      80  }
      -
      81 
      -
      82  std::unique_ptr<File, FileCloser> file(
      -
      83  File::Open(options().output_file_name.c_str(), "w"));
      -
      84  if (file == NULL) {
      -
      85  return Status(error::FILE_FAILURE,
      -
      86  "Cannot open file to write " + options().output_file_name);
      -
      87  }
      -
      88 
      -
      89  LOG(INFO) << "Update media header (moov) and rewrite the file to '"
      -
      90  << options().output_file_name << "'.";
      -
      91 
      -
      92  // Write ftyp, moov and sidx to output file.
      -
      93  std::unique_ptr<BufferWriter> buffer(new BufferWriter());
      -
      94  ftyp()->Write(buffer.get());
      -
      95  moov()->Write(buffer.get());
      -
      96  vod_sidx_->Write(buffer.get());
      -
      97  Status status = buffer->WriteToFile(file.get());
      -
      98  if (!status.ok())
      -
      99  return status;
      -
      100 
      -
      101  // Load the temp file and write to output file.
      -
      102  std::unique_ptr<File, FileCloser> temp_file(
      -
      103  File::Open(temp_file_name_.c_str(), "r"));
      -
      104  if (temp_file == NULL) {
      -
      105  return Status(error::FILE_FAILURE,
      -
      106  "Cannot open file to read " + temp_file_name_);
      -
      107  }
      -
      108 
      -
      109  // The target of 2nd stage of single segment segmentation.
      -
      110  const uint64_t re_segment_progress_target = progress_target() * 0.5;
      -
      111 
      -
      112  const int kBufSize = 0x200000; // 2MB.
      -
      113  std::unique_ptr<uint8_t[]> buf(new uint8_t[kBufSize]);
      -
      114  while (true) {
      -
      115  int64_t size = temp_file->Read(buf.get(), kBufSize);
      -
      116  if (size == 0) {
      -
      117  break;
      -
      118  } else if (size < 0) {
      -
      119  return Status(error::FILE_FAILURE,
      -
      120  "Failed to read file " + temp_file_name_);
      -
      121  }
      -
      122  int64_t size_written = file->Write(buf.get(), size);
      -
      123  if (size_written != size) {
      -
      124  return Status(error::FILE_FAILURE,
      -
      125  "Failed to write file " + options().output_file_name);
      -
      126  }
      -
      127  UpdateProgress(static_cast<double>(size) / temp_file->Size() *
      -
      128  re_segment_progress_target);
      -
      129  }
      -
      130  SetComplete();
      -
      131  return Status::OK;
      -
      132 }
      -
      133 
      -
      134 Status SingleSegmentSegmenter::DoFinalizeSegment() {
      -
      135  DCHECK(sidx());
      -
      136  DCHECK(fragment_buffer());
      -
      137  // sidx() contains pre-generated segment references with one reference per
      -
      138  // fragment. In VOD, this segment is converted into a subsegment, i.e. one
      -
      139  // reference, which contains all the fragments in sidx().
      -
      140  std::vector<SegmentReference>& refs = sidx()->references;
      -
      141  SegmentReference& vod_ref = refs[0];
      -
      142  uint64_t first_sap_time =
      -
      143  refs[0].sap_delta_time + refs[0].earliest_presentation_time;
      -
      144  for (uint32_t i = 1; i < refs.size(); ++i) {
      -
      145  vod_ref.referenced_size += refs[i].referenced_size;
      -
      146  // NOTE: We calculate subsegment duration based on the total duration of
      -
      147  // this subsegment instead of subtracting earliest_presentation_time as
      -
      148  // indicated in the spec.
      -
      149  vod_ref.subsegment_duration += refs[i].subsegment_duration;
      -
      150  vod_ref.earliest_presentation_time = std::min(
      -
      151  vod_ref.earliest_presentation_time, refs[i].earliest_presentation_time);
      -
      152 
      -
      153  if (vod_ref.sap_type == SegmentReference::TypeUnknown &&
      -
      154  refs[i].sap_type != SegmentReference::TypeUnknown) {
      -
      155  vod_ref.sap_type = refs[i].sap_type;
      -
      156  first_sap_time =
      -
      157  refs[i].sap_delta_time + refs[i].earliest_presentation_time;
      -
      158  }
      -
      159  }
      -
      160  // Calculate sap delta time w.r.t. earliest_presentation_time.
      -
      161  if (vod_ref.sap_type != SegmentReference::TypeUnknown) {
      -
      162  vod_ref.sap_delta_time =
      -
      163  first_sap_time - vod_ref.earliest_presentation_time;
      -
      164  }
      -
      165 
      -
      166  // Create segment if it does not exist yet.
      -
      167  if (vod_sidx_ == NULL) {
      -
      168  vod_sidx_.reset(new SegmentIndex());
      -
      169  vod_sidx_->reference_id = sidx()->reference_id;
      -
      170  vod_sidx_->timescale = sidx()->timescale;
      -
      171 
      -
      172  if (vod_ref.earliest_presentation_time > 0) {
      -
      173  const double starting_time_in_seconds =
      -
      174  static_cast<double>(vod_ref.earliest_presentation_time) /
      -
      175  GetReferenceTimeScale();
      -
      176  // Give a warning if it is significant.
      -
      177  if (starting_time_in_seconds > 0.5) {
      -
      178  // Note that DASH IF player requires presentationTimeOffset to be set in
      -
      179  // Segment{Base,List,Template} if there is non-zero starting time. Since
      -
      180  // current Chromium's MSE implementation uses DTS, the player expects
      -
      181  // DTS to be used.
      -
      182  LOG(WARNING) << "Warning! Non-zero starting time (in seconds): "
      -
      183  << starting_time_in_seconds
      -
      184  << ". Manual adjustment of presentationTimeOffset in "
      -
      185  "mpd might be necessary.";
      -
      186  }
      -
      187  }
      -
      188  // Force earliest_presentation_time to start from 0 for VOD.
      -
      189  vod_sidx_->earliest_presentation_time = 0;
      -
      190  }
      -
      191  vod_sidx_->references.push_back(vod_ref);
      -
      192 
      -
      193  // Append fragment buffer to temp file.
      -
      194  size_t segment_size = fragment_buffer()->Size();
      -
      195  Status status = fragment_buffer()->WriteToFile(temp_file_.get());
      -
      196  if (!status.ok()) return status;
      -
      197 
      -
      198  UpdateProgress(vod_ref.subsegment_duration);
      -
      199  if (muxer_listener()) {
      -
      200  muxer_listener()->OnSampleDurationReady(sample_duration());
      -
      201  muxer_listener()->OnNewSegment(options().output_file_name,
      -
      202  vod_ref.earliest_presentation_time,
      -
      203  vod_ref.subsegment_duration, segment_size);
      -
      204  }
      -
      205  return Status::OK;
      -
      206 }
      +
      76  if (!TempFilePath(options().temp_dir, &temp_file_name_))
      +
      77  return Status(error::FILE_FAILURE, "Unable to create temporary file.");
      +
      78  temp_file_.reset(File::Open(temp_file_name_.c_str(), "w"));
      +
      79  return temp_file_
      +
      80  ? Status::OK
      +
      81  : Status(error::FILE_FAILURE,
      +
      82  "Cannot open file to write " + temp_file_name_);
      +
      83 }
      +
      84 
      +
      85 Status SingleSegmentSegmenter::DoFinalize() {
      +
      86  DCHECK(temp_file_);
      +
      87  DCHECK(ftyp());
      +
      88  DCHECK(moov());
      +
      89  DCHECK(vod_sidx_);
      +
      90 
      +
      91  // Close the temp file to prepare for reading later.
      +
      92  if (!temp_file_.release()->Close()) {
      +
      93  return Status(error::FILE_FAILURE,
      +
      94  "Cannot close the temp file " + temp_file_name_);
      +
      95  }
      +
      96 
      +
      97  std::unique_ptr<File, FileCloser> file(
      +
      98  File::Open(options().output_file_name.c_str(), "w"));
      +
      99  if (file == NULL) {
      +
      100  return Status(error::FILE_FAILURE,
      +
      101  "Cannot open file to write " + options().output_file_name);
      +
      102  }
      +
      103 
      +
      104  LOG(INFO) << "Update media header (moov) and rewrite the file to '"
      +
      105  << options().output_file_name << "'.";
      +
      106 
      +
      107  // Write ftyp, moov and sidx to output file.
      +
      108  std::unique_ptr<BufferWriter> buffer(new BufferWriter());
      +
      109  ftyp()->Write(buffer.get());
      +
      110  moov()->Write(buffer.get());
      +
      111  vod_sidx_->Write(buffer.get());
      +
      112  Status status = buffer->WriteToFile(file.get());
      +
      113  if (!status.ok())
      +
      114  return status;
      +
      115 
      +
      116  // Load the temp file and write to output file.
      +
      117  std::unique_ptr<File, FileCloser> temp_file(
      +
      118  File::Open(temp_file_name_.c_str(), "r"));
      +
      119  if (temp_file == NULL) {
      +
      120  return Status(error::FILE_FAILURE,
      +
      121  "Cannot open file to read " + temp_file_name_);
      +
      122  }
      +
      123 
      +
      124  // The target of 2nd stage of single segment segmentation.
      +
      125  const uint64_t re_segment_progress_target = progress_target() * 0.5;
      +
      126 
      +
      127  const int kBufSize = 0x200000; // 2MB.
      +
      128  std::unique_ptr<uint8_t[]> buf(new uint8_t[kBufSize]);
      +
      129  while (true) {
      +
      130  int64_t size = temp_file->Read(buf.get(), kBufSize);
      +
      131  if (size == 0) {
      +
      132  break;
      +
      133  } else if (size < 0) {
      +
      134  return Status(error::FILE_FAILURE,
      +
      135  "Failed to read file " + temp_file_name_);
      +
      136  }
      +
      137  int64_t size_written = file->Write(buf.get(), size);
      +
      138  if (size_written != size) {
      +
      139  return Status(error::FILE_FAILURE,
      +
      140  "Failed to write file " + options().output_file_name);
      +
      141  }
      +
      142  UpdateProgress(static_cast<double>(size) / temp_file->Size() *
      +
      143  re_segment_progress_target);
      +
      144  }
      +
      145  SetComplete();
      +
      146  return Status::OK;
      +
      147 }
      +
      148 
      +
      149 Status SingleSegmentSegmenter::DoFinalizeSegment() {
      +
      150  DCHECK(sidx());
      +
      151  DCHECK(fragment_buffer());
      +
      152  // sidx() contains pre-generated segment references with one reference per
      +
      153  // fragment. In VOD, this segment is converted into a subsegment, i.e. one
      +
      154  // reference, which contains all the fragments in sidx().
      +
      155  std::vector<SegmentReference>& refs = sidx()->references;
      +
      156  SegmentReference& vod_ref = refs[0];
      +
      157  uint64_t first_sap_time =
      +
      158  refs[0].sap_delta_time + refs[0].earliest_presentation_time;
      +
      159  for (uint32_t i = 1; i < refs.size(); ++i) {
      +
      160  vod_ref.referenced_size += refs[i].referenced_size;
      +
      161  // NOTE: We calculate subsegment duration based on the total duration of
      +
      162  // this subsegment instead of subtracting earliest_presentation_time as
      +
      163  // indicated in the spec.
      +
      164  vod_ref.subsegment_duration += refs[i].subsegment_duration;
      +
      165  vod_ref.earliest_presentation_time = std::min(
      +
      166  vod_ref.earliest_presentation_time, refs[i].earliest_presentation_time);
      +
      167 
      +
      168  if (vod_ref.sap_type == SegmentReference::TypeUnknown &&
      +
      169  refs[i].sap_type != SegmentReference::TypeUnknown) {
      +
      170  vod_ref.sap_type = refs[i].sap_type;
      +
      171  first_sap_time =
      +
      172  refs[i].sap_delta_time + refs[i].earliest_presentation_time;
      +
      173  }
      +
      174  }
      +
      175  // Calculate sap delta time w.r.t. earliest_presentation_time.
      +
      176  if (vod_ref.sap_type != SegmentReference::TypeUnknown) {
      +
      177  vod_ref.sap_delta_time =
      +
      178  first_sap_time - vod_ref.earliest_presentation_time;
      +
      179  }
      +
      180 
      +
      181  // Create segment if it does not exist yet.
      +
      182  if (vod_sidx_ == NULL) {
      +
      183  vod_sidx_.reset(new SegmentIndex());
      +
      184  vod_sidx_->reference_id = sidx()->reference_id;
      +
      185  vod_sidx_->timescale = sidx()->timescale;
      +
      186 
      +
      187  if (vod_ref.earliest_presentation_time > 0) {
      +
      188  const double starting_time_in_seconds =
      +
      189  static_cast<double>(vod_ref.earliest_presentation_time) /
      +
      190  GetReferenceTimeScale();
      +
      191  // Give a warning if it is significant.
      +
      192  if (starting_time_in_seconds > 0.5) {
      +
      193  // Note that DASH IF player requires presentationTimeOffset to be set in
      +
      194  // Segment{Base,List,Template} if there is non-zero starting time. Since
      +
      195  // current Chromium's MSE implementation uses DTS, the player expects
      +
      196  // DTS to be used.
      +
      197  LOG(WARNING) << "Warning! Non-zero starting time (in seconds): "
      +
      198  << starting_time_in_seconds
      +
      199  << ". Manual adjustment of presentationTimeOffset in "
      +
      200  "mpd might be necessary.";
      +
      201  }
      +
      202  }
      +
      203  // Force earliest_presentation_time to start from 0 for VOD.
      +
      204  vod_sidx_->earliest_presentation_time = 0;
      +
      205  }
      +
      206  vod_sidx_->references.push_back(vod_ref);
      207 
      -
      208 } // namespace mp4
      -
      209 } // namespace media
      -
      210 } // namespace shaka
      +
      208  // Append fragment buffer to temp file.
      +
      209  size_t segment_size = fragment_buffer()->Size();
      +
      210  Status status = fragment_buffer()->WriteToFile(temp_file_.get());
      +
      211  if (!status.ok()) return status;
      +
      212 
      +
      213  UpdateProgress(vod_ref.subsegment_duration);
      +
      214  if (muxer_listener()) {
      +
      215  muxer_listener()->OnSampleDurationReady(sample_duration());
      +
      216  muxer_listener()->OnNewSegment(options().output_file_name,
      +
      217  vod_ref.earliest_presentation_time,
      +
      218  vod_ref.subsegment_duration, segment_size);
      +
      219  }
      +
      220  return Status::OK;
      +
      221 }
      +
      222 
      +
      223 } // namespace mp4
      +
      224 } // namespace media
      +
      225 } // namespace shaka
      virtual void OnNewSegment(const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)=0
      virtual bool Open()=0
      Internal open. Should not be used directly.
      virtual void OnSampleDurationReady(uint32_t sample_duration)=0
      +
      bool TempFilePath(const std::string &temp_dir, std::string *temp_file_path)
      Definition: file_util.cc:27
      +
      void UpdateProgress(uint64_t progress)
      Update segmentation progress using ProgressListener.
      Definition: segmenter.cc:265
      static bool Delete(const char *file_name)
      Definition: file.cc:181
      diff --git a/docs/de/d22/aes__pattern__cryptor_8cc_source.html b/docs/de/d22/aes__pattern__cryptor_8cc_source.html index b58a69a43d..579ba4c7cf 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 c14a85e753..4f0a348097 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 ce5998cc22..aebe715aa6 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 efe20b242c..cd67cb1664 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 0463f725e9..6e554a2084 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 6b0aaa5885..2c10addd64 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 041edaee34..c84b1be0b6 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 2106d77509..04ae2431c0 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 f7c46cf500..10e29d17fb 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 70097398a8..f308f79266 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 2ef915f7f3..3b2cdff9eb 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 2a25cafb57..08b190fe49 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 c9a90d5aa5..81003fb821 100644 --- a/docs/de/d4a/muxer__listener__internal_8h_source.html +++ b/docs/de/d4a/muxer__listener__internal_8h_source.html @@ -120,32 +120,27 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      33  MuxerListener::ContainerType container_type,
      34  MediaInfo* media_info);
      35 
      -
      38 bool SetVodInformation(bool has_init_range,
      -
      39  uint64_t init_range_start,
      -
      40  uint64_t init_range_end,
      -
      41  bool has_index_range,
      -
      42  uint64_t index_range_start,
      -
      43  uint64_t index_range_end,
      -
      44  float duration_seconds,
      -
      45  uint64_t file_size,
      -
      46  MediaInfo* media_info);
      -
      47 
      -
      55 void SetContentProtectionFields(
      -
      56  FourCC protection_scheme,
      -
      57  const std::vector<uint8_t>& default_key_id,
      -
      58  const std::vector<ProtectionSystemSpecificInfo>& key_system_info,
      -
      59  MediaInfo* media_info);
      -
      60 
      -
      63 std::string CreateUUIDString(const std::vector<uint8_t>& data);
      -
      64 
      -
      65 } // namespace internal
      -
      66 } // namespace media
      -
      67 } // namespace shaka
      -
      68 #endif // MEDIA_EVENT_MUXER_LISTENER_INTERNAL_H_
      +
      38 bool SetVodInformation(const MuxerListener::MediaRanges& media_ranges,
      +
      39  float duration_seconds,
      +
      40  uint64_t file_size,
      +
      41  MediaInfo* media_info);
      +
      42 
      +
      50 void SetContentProtectionFields(
      +
      51  FourCC protection_scheme,
      +
      52  const std::vector<uint8_t>& default_key_id,
      +
      53  const std::vector<ProtectionSystemSpecificInfo>& key_system_info,
      +
      54  MediaInfo* media_info);
      +
      55 
      +
      58 std::string CreateUUIDString(const std::vector<uint8_t>& data);
      +
      59 
      +
      60 } // namespace internal
      +
      61 } // namespace media
      +
      62 } // namespace shaka
      +
      63 #endif // MEDIA_EVENT_MUXER_LISTENER_INTERNAL_H_
      diff --git a/docs/de/d52/classshaka_1_1Representation.html b/docs/de/d52/classshaka_1_1Representation.html index 457fff83fc..3682a9d797 100644 --- a/docs/de/d52/classshaka_1_1Representation.html +++ b/docs/de/d52/classshaka_1_1Representation.html @@ -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 0a1427e78e..5ca34126cf 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 3c5a9753ac..3320018440 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 713b134e8a..1cf14ff62f 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 63c7764862..ab06556c0c 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 2fc5ac2a7f..98b864c6dd 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 04e1ae0cc6..f9130314de 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 8e1a01b5bd..4e9993610e 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 4e003975e2..fefc2babac 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 ce3e463906..a1f95114e6 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 4c1f79e114..2a4ee2e9da 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 d8e388fc18..61ca39d2d2 100644 --- a/docs/de/d7e/classshaka_1_1media_1_1mp2t_1_1TsSectionPsi.html +++ b/docs/de/d7e/classshaka_1_1media_1_1mp2t_1_1TsSectionPsi.html @@ -147,7 +147,7 @@ Additional Inherited Members diff --git a/docs/de/d83/box__definitions__comparison_8h_source.html b/docs/de/d83/box__definitions__comparison_8h_source.html index c052bcf089..c0c2d16c1a 100644 --- a/docs/de/d83/box__definitions__comparison_8h_source.html +++ b/docs/de/d83/box__definitions__comparison_8h_source.html @@ -592,7 +592,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/d83/classshaka_1_1media_1_1LocalFile-members.html b/docs/de/d83/classshaka_1_1media_1_1LocalFile-members.html index 69fdd869b4..f1d5f3fcbb 100644 --- a/docs/de/d83/classshaka_1_1media_1_1LocalFile-members.html +++ b/docs/de/d83/classshaka_1_1media_1_1LocalFile-members.html @@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/d87/structshaka_1_1media_1_1wvm_1_1PrevSampleData-members.html b/docs/de/d87/structshaka_1_1media_1_1wvm_1_1PrevSampleData-members.html index c83bd8fd8f..c1ac51b337 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 22924378a6..18ac356cdb 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 6e5048f4ed..aabb4f37cd 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 f0ff8033aa..087da205ff 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 24685a520f..af96d794e6 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 21094223fa..83c6cef827 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 ce81df62e5..2f219da75a 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 7c07670c47..c8b388419b 100644 --- a/docs/de/db4/classshaka_1_1media_1_1H26xBitReader.html +++ b/docs/de/db4/classshaka_1_1media_1_1H26xBitReader.html @@ -134,7 +134,7 @@ size_t NumEmulationPrevent diff --git a/docs/de/dbf/udp__options_8h_source.html b/docs/de/dbf/udp__options_8h_source.html index 9886e9263e..541a0b233e 100644 --- a/docs/de/dbf/udp__options_8h_source.html +++ b/docs/de/dbf/udp__options_8h_source.html @@ -131,7 +131,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/dc1/demuxer_8h_source.html b/docs/de/dc1/demuxer_8h_source.html index 75b05ee12f..d21f2a04d1 100644 --- a/docs/de/dc1/demuxer_8h_source.html +++ b/docs/de/dc1/demuxer_8h_source.html @@ -224,7 +224,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 5cc3119c86..b37744701b 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 28264df5a6..a2aced464c 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 39cf611c12..81f2efa2c1 100644 --- a/docs/de/dcb/ts__segmenter_8h_source.html +++ b/docs/de/dcb/ts__segmenter_8h_source.html @@ -184,11 +184,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      void SetTsWriterFileOpenedForTesting(bool value)
      Only for testing.
      Definition: ts_segmenter.cc:71
      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/de/dcc/mock__mpd__notifier_8cc_source.html b/docs/de/dcc/mock__mpd__notifier_8cc_source.html index 8c8f450509..7590994ab9 100644 --- a/docs/de/dcc/mock__mpd__notifier_8cc_source.html +++ b/docs/de/dcc/mock__mpd__notifier_8cc_source.html @@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/dcf/file__closer_8h_source.html b/docs/de/dcf/file__closer_8h_source.html index dffa583978..1b5a880e4b 100644 --- a/docs/de/dcf/file__closer_8h_source.html +++ b/docs/de/dcf/file__closer_8h_source.html @@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/dd6/content__protection__element_8h_source.html b/docs/de/dd6/content__protection__element_8h_source.html index be972b40db..61d040b637 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 6369121fa9..54b448dc07 100644 --- a/docs/de/dd6/muxer__listener__test__helper_8cc_source.html +++ b/docs/de/dd6/muxer__listener__test__helper_8cc_source.html @@ -94,118 +94,125 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      5 // https://developers.google.com/open-source/licenses/bsd
      6 
      7 #include "packager/media/event/muxer_listener_test_helper.h"
      -
      8 
      -
      9 #include <gtest/gtest.h>
      -
      10 
      -
      11 namespace shaka {
      -
      12 namespace media {
      -
      13 
      -
      14 VideoStreamInfoParameters::VideoStreamInfoParameters() {}
      -
      15 VideoStreamInfoParameters::~VideoStreamInfoParameters() {}
      -
      16 
      -
      17 std::shared_ptr<StreamInfo> CreateVideoStreamInfo(
      -
      18  const VideoStreamInfoParameters& param) {
      -
      19  return std::make_shared<VideoStreamInfo>(
      -
      20  param.track_id, param.time_scale, param.duration, param.codec,
      -
      21  H26xStreamFormat::kUnSpecified, param.codec_string,
      -
      22  param.codec_config.data(), param.codec_config.size(), param.width,
      -
      23  param.height, param.pixel_width, param.pixel_height,
      -
      24  0, // trick_play_factor
      -
      25  param.nalu_length_size, param.language, param.is_encrypted);
      -
      26 }
      -
      27 
      -
      28 VideoStreamInfoParameters GetDefaultVideoStreamInfoParams() {
      -
      29  const int kTrackId = 0;
      -
      30  const uint32_t kTimeScale = 10;
      -
      31  const uint64_t kVideoStreamDuration = 200;
      -
      32  const Codec kH264Codec = kCodecH264;
      -
      33  const char* kCodecString = "avc1.010101";
      -
      34  const char* kLanuageUndefined = "und";
      -
      35  const uint16_t kWidth = 720;
      -
      36  const uint16_t kHeight = 480;
      -
      37  const uint32_t kPixelWidth = 1;
      -
      38  const uint32_t kPixelHeight = 1;
      -
      39  const uint8_t kNaluLengthSize = 1;
      -
      40  const std::vector<uint8_t> kExtraData;
      -
      41  const bool kEncryptedFlag = false;
      -
      42  VideoStreamInfoParameters params;
      -
      43  params.track_id = kTrackId;
      -
      44  params.time_scale = kTimeScale;
      -
      45  params.duration = kVideoStreamDuration;
      -
      46  params.codec = kH264Codec;
      -
      47  params.codec_string = kCodecString;
      -
      48  params.language = kLanuageUndefined;
      -
      49  params.width = kWidth;
      -
      50  params.height = kHeight;
      -
      51  params.pixel_width = kPixelWidth;
      -
      52  params.pixel_height = kPixelHeight;
      -
      53  params.nalu_length_size = kNaluLengthSize;
      -
      54  params.codec_config = kExtraData;
      -
      55  params.is_encrypted = kEncryptedFlag;
      -
      56  return params;
      -
      57 }
      -
      58 
      -
      59 OnMediaEndParameters GetDefaultOnMediaEndParams() {
      -
      60  // Values for {init, index} range {start, end} are arbitrary, but makes sure
      -
      61  // that it is monotonically increasing and contiguous.
      -
      62  const bool kHasInitRange = true;
      +
      8 #include "packager/media/event/muxer_listener.h"
      +
      9 
      +
      10 #include <gtest/gtest.h>
      +
      11 
      +
      12 namespace shaka {
      +
      13 namespace media {
      +
      14 
      +
      15 VideoStreamInfoParameters::VideoStreamInfoParameters() {}
      +
      16 VideoStreamInfoParameters::~VideoStreamInfoParameters() {}
      +
      17 
      +
      18 std::shared_ptr<StreamInfo> CreateVideoStreamInfo(
      +
      19  const VideoStreamInfoParameters& param) {
      +
      20  return std::make_shared<VideoStreamInfo>(
      +
      21  param.track_id, param.time_scale, param.duration, param.codec,
      +
      22  H26xStreamFormat::kUnSpecified, param.codec_string,
      +
      23  param.codec_config.data(), param.codec_config.size(), param.width,
      +
      24  param.height, param.pixel_width, param.pixel_height,
      +
      25  0, // trick_play_factor
      +
      26  param.nalu_length_size, param.language, param.is_encrypted);
      +
      27 }
      +
      28 
      +
      29 VideoStreamInfoParameters GetDefaultVideoStreamInfoParams() {
      +
      30  const int kTrackId = 0;
      +
      31  const uint32_t kTimeScale = 10;
      +
      32  const uint64_t kVideoStreamDuration = 200;
      +
      33  const Codec kH264Codec = kCodecH264;
      +
      34  const char* kCodecString = "avc1.010101";
      +
      35  const char* kLanuageUndefined = "und";
      +
      36  const uint16_t kWidth = 720;
      +
      37  const uint16_t kHeight = 480;
      +
      38  const uint32_t kPixelWidth = 1;
      +
      39  const uint32_t kPixelHeight = 1;
      +
      40  const uint8_t kNaluLengthSize = 1;
      +
      41  const std::vector<uint8_t> kExtraData;
      +
      42  const bool kEncryptedFlag = false;
      +
      43  VideoStreamInfoParameters params;
      +
      44  params.track_id = kTrackId;
      +
      45  params.time_scale = kTimeScale;
      +
      46  params.duration = kVideoStreamDuration;
      +
      47  params.codec = kH264Codec;
      +
      48  params.codec_string = kCodecString;
      +
      49  params.language = kLanuageUndefined;
      +
      50  params.width = kWidth;
      +
      51  params.height = kHeight;
      +
      52  params.pixel_width = kPixelWidth;
      +
      53  params.pixel_height = kPixelHeight;
      +
      54  params.nalu_length_size = kNaluLengthSize;
      +
      55  params.codec_config = kExtraData;
      +
      56  params.is_encrypted = kEncryptedFlag;
      +
      57  return params;
      +
      58 }
      +
      59 
      +
      60 OnMediaEndParameters GetDefaultOnMediaEndParams() {
      +
      61  // Values for {init, index} range {start, end} are arbitrary, but makes sure
      +
      62  // that it is monotonically increasing and contiguous.
      63  const uint64_t kInitRangeStart = 0;
      64  const uint64_t kInitRangeEnd = kInitRangeStart + 120;
      -
      65  const uint64_t kHasIndexRange = true;
      -
      66  const uint64_t kIndexRangeStart = kInitRangeEnd + 1;
      -
      67  const uint64_t kIndexRangeEnd = kIndexRangeStart + 100;
      -
      68  const float kMediaDuration = 10.5f;
      -
      69  const uint64_t kFileSize = 10000;
      -
      70  OnMediaEndParameters param = {
      -
      71  kHasInitRange, kInitRangeStart, kInitRangeEnd, kHasIndexRange,
      -
      72  kIndexRangeStart, kIndexRangeEnd, kMediaDuration, kFileSize};
      -
      73  return param;
      -
      74 }
      -
      75 
      -
      76 void SetDefaultMuxerOptionsValues(MuxerOptions* muxer_options) {
      -
      77  muxer_options->num_subsegments_per_sidx = 0;
      -
      78  muxer_options->output_file_name = "test_output_file_name.mp4";
      -
      79  muxer_options->segment_template.clear();
      -
      80  muxer_options->temp_dir.clear();
      +
      65  const uint64_t kIndexRangeStart = kInitRangeEnd + 1;
      +
      66  const uint64_t kIndexRangeEnd = kIndexRangeStart + 100;
      +
      67  const float kMediaDuration = 10.5f;
      +
      68  const uint64_t kFileSize = 10000;
      +
      69  MuxerListener::MediaRanges media_ranges;
      +
      70  Range init_range;
      +
      71  init_range.start = kInitRangeStart;
      +
      72  init_range.end = kInitRangeEnd;
      +
      73  media_ranges.init_range = init_range;
      +
      74  Range index_range;
      +
      75  index_range.start = kIndexRangeStart;
      +
      76  index_range.end = kIndexRangeEnd;
      +
      77  media_ranges.index_range =index_range;
      +
      78 
      +
      79  OnMediaEndParameters param = {media_ranges, kMediaDuration, kFileSize};
      +
      80  return param;
      81 }
      82 
      -
      83 std::vector<ProtectionSystemSpecificInfo> GetDefaultKeySystemInfo() {
      -
      84  const uint8_t kPsshData[] = {'p', 's', 's', 'h'};
      -
      85  const uint8_t kTestSystemId[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
      -
      86  0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b,
      -
      87  0x0c, 0x0d, 0x0e, 0x0f};
      -
      88 
      -
      89  ProtectionSystemSpecificInfo info;
      -
      90  info.set_system_id(kTestSystemId, arraysize(kTestSystemId));
      -
      91  info.set_pssh_data(
      -
      92  std::vector<uint8_t>(kPsshData, kPsshData + arraysize(kPsshData)));
      -
      93  info.set_pssh_box_version(0);
      -
      94 
      -
      95  std::vector<ProtectionSystemSpecificInfo> key_system_info;
      -
      96  key_system_info.push_back(info);
      -
      97  return key_system_info;
      -
      98 }
      -
      99 
      -
      100 void ExpectMediaInfoEqual(const MediaInfo& expect, const MediaInfo& actual) {
      -
      101  ASSERT_TRUE(MediaInfoEqual(expect, actual));
      -
      102 }
      -
      103 
      -
      104 bool MediaInfoEqual(const MediaInfo& expect, const MediaInfo& actual) {
      -
      105  // I found out here
      -
      106  // https://groups.google.com/forum/#!msg/protobuf/5sOExQkB2eQ/ZSBNZI0K54YJ
      -
      107  // that the best way to check equality is to serialize and check equality.
      -
      108  std::string expect_serialized = expect.SerializeAsString();
      -
      109  std::string actual_serialized = actual.SerializeAsString();
      -
      110  EXPECT_EQ(expect_serialized, actual_serialized);
      -
      111  return expect_serialized == actual_serialized;
      -
      112 }
      -
      113 
      -
      114 } // namespace media
      -
      115 } // namespace shaka
      +
      83 void SetDefaultMuxerOptionsValues(MuxerOptions* muxer_options) {
      +
      84  muxer_options->num_subsegments_per_sidx = 0;
      +
      85  muxer_options->output_file_name = "test_output_file_name.mp4";
      +
      86  muxer_options->segment_template.clear();
      +
      87  muxer_options->temp_dir.clear();
      +
      88 }
      +
      89 
      +
      90 std::vector<ProtectionSystemSpecificInfo> GetDefaultKeySystemInfo() {
      +
      91  const uint8_t kPsshData[] = {'p', 's', 's', 'h'};
      +
      92  const uint8_t kTestSystemId[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
      +
      93  0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b,
      +
      94  0x0c, 0x0d, 0x0e, 0x0f};
      +
      95 
      +
      96  ProtectionSystemSpecificInfo info;
      +
      97  info.set_system_id(kTestSystemId, arraysize(kTestSystemId));
      +
      98  info.set_pssh_data(
      +
      99  std::vector<uint8_t>(kPsshData, kPsshData + arraysize(kPsshData)));
      +
      100  info.set_pssh_box_version(0);
      +
      101 
      +
      102  std::vector<ProtectionSystemSpecificInfo> key_system_info;
      +
      103  key_system_info.push_back(info);
      +
      104  return key_system_info;
      +
      105 }
      +
      106 
      +
      107 void ExpectMediaInfoEqual(const MediaInfo& expect, const MediaInfo& actual) {
      +
      108  ASSERT_TRUE(MediaInfoEqual(expect, actual));
      +
      109 }
      +
      110 
      +
      111 bool MediaInfoEqual(const MediaInfo& expect, const MediaInfo& actual) {
      +
      112  // I found out here
      +
      113  // https://groups.google.com/forum/#!msg/protobuf/5sOExQkB2eQ/ZSBNZI0K54YJ
      +
      114  // that the best way to check equality is to serialize and check equality.
      +
      115  std::string expect_serialized = expect.SerializeAsString();
      +
      116  std::string actual_serialized = actual.SerializeAsString();
      +
      117  EXPECT_EQ(expect_serialized, actual_serialized);
      +
      118  return expect_serialized == actual_serialized;
      +
      119 }
      +
      120 
      +
      121 } // namespace media
      +
      122 } // namespace shaka
      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 c50e096360..c84a447173 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 6d9e8be582..cea7c7282c 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 634195829e..772c3e9db2 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 ea66f79fb5..70d3db8a54 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 0f054795eb..471c4125b6 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 27e4f41720..0e2ef55f55 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 3153484098..3f119797cf 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 9ad3617787..ab309c13cb 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 f98665ed43..251293065f 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 64113ebcdb..c6ebbd0587 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 8524e709b2..0b930e1d8e 100644 --- a/docs/de/dfa/muxer__listener_8h_source.html +++ b/docs/de/dfa/muxer__listener_8h_source.html @@ -103,77 +103,84 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      14 #include <string>
      15 #include <vector>
      16 
      -
      17 #include "packager/media/base/fourccs.h"
      -
      18 
      -
      19 namespace shaka {
      -
      20 namespace media {
      -
      21 
      -
      22 struct MuxerOptions;
      -
      23 class ProtectionSystemSpecificInfo;
      -
      24 class StreamInfo;
      -
      25 
      - -
      31  public:
      -
      32  enum ContainerType {
      -
      33  kContainerUnknown = 0,
      -
      34  kContainerMp4,
      -
      35  kContainerMpeg2ts,
      -
      36  kContainerWebM
      -
      37  };
      -
      38 
      -
      39  virtual ~MuxerListener() {};
      +
      17 #include "packager/base/optional.h"
      +
      18 #include "packager/media/base/fourccs.h"
      +
      19 #include "packager/media/base/range.h"
      +
      20 
      +
      21 namespace shaka {
      +
      22 namespace media {
      +
      23 
      +
      24 struct MuxerOptions;
      +
      25 class ProtectionSystemSpecificInfo;
      +
      26 class StreamInfo;
      +
      27 
      + +
      33  public:
      +
      34  enum ContainerType {
      +
      35  kContainerUnknown = 0,
      +
      36  kContainerMp4,
      +
      37  kContainerMpeg2ts,
      +
      38  kContainerWebM
      +
      39  };
      40 
      -
      59  virtual void OnEncryptionInfoReady(
      -
      60  bool is_initial_encryption_info,
      -
      61  FourCC protection_scheme,
      -
      62  const std::vector<uint8_t>& key_id,
      -
      63  const std::vector<uint8_t>& iv,
      -
      64  const std::vector<ProtectionSystemSpecificInfo>& key_system_info) = 0;
      -
      65 
      -
      70  virtual void OnEncryptionStart() = 0;
      -
      71 
      -
      80  virtual void OnMediaStart(const MuxerOptions& muxer_options,
      -
      81  const StreamInfo& stream_info,
      -
      82  uint32_t time_scale,
      -
      83  ContainerType container_type) = 0;
      -
      84 
      -
      87  virtual void OnSampleDurationReady(uint32_t sample_duration) = 0;
      -
      88 
      -
      104  virtual void OnMediaEnd(bool has_init_range,
      -
      105  uint64_t init_range_start,
      -
      106  uint64_t init_range_end,
      -
      107  bool has_index_range,
      -
      108  uint64_t index_range_start,
      -
      109  uint64_t index_range_end,
      -
      110  float duration_seconds,
      -
      111  uint64_t file_size) = 0;
      -
      112 
      -
      124  virtual void OnNewSegment(const std::string& segment_name,
      -
      125  uint64_t start_time,
      -
      126  uint64_t duration,
      -
      127  uint64_t segment_file_size) = 0;
      -
      128 
      -
      129  protected:
      -
      130  MuxerListener() {};
      -
      131 };
      -
      132 
      -
      133 } // namespace media
      -
      134 } // namespace shaka
      -
      135 
      -
      136 #endif // MEDIA_EVENT_MUXER_LISTENER_H_
      +
      44  struct MediaRanges {
      +
      46  base::Optional<Range> init_range;
      +
      48  base::Optional<Range> index_range;
      +
      52  std::vector<Range> subsegment_ranges;
      +
      53  };
      +
      54 
      +
      55  virtual ~MuxerListener() {};
      +
      56 
      +
      75  virtual void OnEncryptionInfoReady(
      +
      76  bool is_initial_encryption_info,
      +
      77  FourCC protection_scheme,
      +
      78  const std::vector<uint8_t>& key_id,
      +
      79  const std::vector<uint8_t>& iv,
      +
      80  const std::vector<ProtectionSystemSpecificInfo>& key_system_info) = 0;
      +
      81 
      +
      86  virtual void OnEncryptionStart() = 0;
      +
      87 
      +
      96  virtual void OnMediaStart(const MuxerOptions& muxer_options,
      +
      97  const StreamInfo& stream_info,
      +
      98  uint32_t time_scale,
      +
      99  ContainerType container_type) = 0;
      +
      100 
      +
      103  virtual void OnSampleDurationReady(uint32_t sample_duration) = 0;
      +
      104 
      +
      111  virtual void OnMediaEnd(const MediaRanges& media_ranges,
      +
      112  float duration_seconds,
      +
      113  uint64_t file_size) = 0;
      +
      114 
      +
      126  virtual void OnNewSegment(const std::string& segment_name,
      +
      127  uint64_t start_time,
      +
      128  uint64_t duration,
      +
      129  uint64_t segment_file_size) = 0;
      +
      130 
      +
      131  protected:
      +
      132  MuxerListener() {};
      +
      133 };
      +
      134 
      +
      135 } // namespace media
      +
      136 } // namespace shaka
      +
      137 
      +
      138 #endif // MEDIA_EVENT_MUXER_LISTENER_H_
      virtual void OnNewSegment(const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)=0
      virtual 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)=0
      -
      virtual void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size)=0
      +
      base::Optional< Range > init_range
      Range of the initialization section of a segment.
      Abstract class holds stream information.
      Definition: stream_info.h:57
      virtual void OnSampleDurationReady(uint32_t sample_duration)=0
      +
      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
      +
      virtual void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)=0
      - +
      virtual void OnMediaEnd(const MediaRanges &media_ranges, float duration_seconds, uint64_t file_size)=0
      + 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 63874a5118..13dc52c8e8 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 f374a209a6..f7d02b567a 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 dfac2cad4d..ad3529244e 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 027957e101..bc62e1a09e 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 dfc8a9c111..ce350a616d 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 bdef7a50bb..112085d937 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 1b8bb5e14d..fbd154e26f 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 7d16904bf7..d72549ce48 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/validate__flag_8h_source.html b/docs/df/d22/validate__flag_8h_source.html index 343165709d..fd33b9e555 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 95ba04cb6f..6bdcc62e4e 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 60bd4b940b..f7938e9f8b 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 b9a7951344..d540e32c06 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 821690a71c..61985545ca 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 09f29a31d0..3dba50744b 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 8d3323dff0..3c5e1f18f2 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 596b1f223c..e4815a0a81 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 0763052ea1..49e64f9f89 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 3b16ba53b9..6164cba8ae 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/d46/classshaka_1_1media_1_1ThreadedIoFile-members.html b/docs/df/d46/classshaka_1_1media_1_1ThreadedIoFile-members.html index 58e343a1a0..27ab7eb229 100644 --- a/docs/df/d46/classshaka_1_1media_1_1ThreadedIoFile-members.html +++ b/docs/df/d46/classshaka_1_1media_1_1ThreadedIoFile-members.html @@ -121,7 +121,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d50/classshaka_1_1media_1_1mp2t_1_1AacProgramMapTableWriter-members.html b/docs/df/d50/classshaka_1_1media_1_1mp2t_1_1AacProgramMapTableWriter-members.html index 1fa95318a8..8ff32eb910 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 85c5ec852b..39e781181f 100644 --- a/docs/df/d51/classshaka_1_1media_1_1RsaPrivateKey-members.html +++ b/docs/df/d51/classshaka_1_1media_1_1RsaPrivateKey-members.html @@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d60/classshaka_1_1MockMpdBuilder.html b/docs/df/d60/classshaka_1_1MockMpdBuilder.html index a6ed7d62c9..41cd1ed4d5 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 b5650205d6..2432f5dd05 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 c5a15225ee..838fab5377 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 d22797ab0e..588b6a489b 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 b26bd70e96..0012432706 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 ef7b9975c8..86be3d0d71 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 f4cba06d0d..420721e09d 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 08ea24b860..d4bcfb09c3 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 443624a333..c18c72e679 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 632a975685..20ac275ddd 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 f25f924837..a735b88181 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 0fcb708cbf..c4cae94f4c 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 e8ef3a773f..3ca8897592 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 07b8c0731f..aa7f24bed2 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 @@ -102,24 +102,25 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); GetIndexRange(size_t *offset, size_t *size) overrideshaka::media::mp4::MultiSegmentSegmentervirtual GetInitRange(size_t *offset, size_t *size) overrideshaka::media::mp4::MultiSegmentSegmentervirtual GetReferenceTimeScale() const (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenter - Initialize(const std::vector< std::shared_ptr< StreamInfo >> &streams, MuxerListener *muxer_listener, ProgressListener *progress_listener)shaka::media::mp4::Segmenter - moov() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected - MultiSegmentSegmenter(const MuxerOptions &options, std::unique_ptr< FileType > ftyp, std::unique_ptr< Movie > moov) (defined in shaka::media::mp4::MultiSegmentSegmenter)shaka::media::mp4::MultiSegmentSegmenter - muxer_listener() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected - options() const (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected - progress_target() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected - sample_duration() const shaka::media::mp4::Segmenterinline - Segmenter(const MuxerOptions &options, std::unique_ptr< FileType > ftyp, std::unique_ptr< Movie > moov) (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenter - set_progress_target(uint64_t progress_target) (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected - SetComplete()shaka::media::mp4::Segmenterprotected - sidx() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected - UpdateProgress(uint64_t progress)shaka::media::mp4::Segmenterprotected - ~MultiSegmentSegmenter() override (defined in shaka::media::mp4::MultiSegmentSegmenter)shaka::media::mp4::MultiSegmentSegmenter - ~Segmenter() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmentervirtual + GetSegmentRanges() override (defined in shaka::media::mp4::MultiSegmentSegmenter)shaka::media::mp4::MultiSegmentSegmentervirtual + Initialize(const std::vector< std::shared_ptr< StreamInfo >> &streams, MuxerListener *muxer_listener, ProgressListener *progress_listener)shaka::media::mp4::Segmenter + moov() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected + MultiSegmentSegmenter(const MuxerOptions &options, std::unique_ptr< FileType > ftyp, std::unique_ptr< Movie > moov) (defined in shaka::media::mp4::MultiSegmentSegmenter)shaka::media::mp4::MultiSegmentSegmenter + muxer_listener() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected + options() const (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected + progress_target() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected + sample_duration() const shaka::media::mp4::Segmenterinline + Segmenter(const MuxerOptions &options, std::unique_ptr< FileType > ftyp, std::unique_ptr< Movie > moov) (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenter + set_progress_target(uint64_t progress_target) (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected + SetComplete()shaka::media::mp4::Segmenterprotected + sidx() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected + UpdateProgress(uint64_t progress)shaka::media::mp4::Segmenterprotected + ~MultiSegmentSegmenter() override (defined in shaka::media::mp4::MultiSegmentSegmenter)shaka::media::mp4::MultiSegmentSegmenter + ~Segmenter() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmentervirtual diff --git a/docs/df/d8d/es__parser__h26x_8h_source.html b/docs/df/d8d/es__parser__h26x_8h_source.html index d41ddd2d58..c752d0f82e 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 fbe250f332..76f4bed73e 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 181c5f489c..1a05b9d7b2 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 70b441b80e..6808693a56 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 af48b70ae6..2b4d8b7b1e 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 f7417383ae..79fe39892b 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 aedb9ddb51..6f22e44eac 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 3470e6fe0b..e5838f1a3c 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 18bc80d4ab..4dabc36a6c 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 cebc378649..ec2f289782 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 bb7bcb55fc..dc520c0765 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 374789262f..ffd41fa4a5 100644 --- a/docs/df/dd3/structshaka_1_1media_1_1MediaEvent.html +++ b/docs/df/dd3/structshaka_1_1media_1_1MediaEvent.html @@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/ddc/webm_2segmenter_8h_source.html b/docs/df/ddc/webm_2segmenter_8h_source.html index 7ed0b126fb..890c6244a8 100644 --- a/docs/df/ddc/webm_2segmenter_8h_source.html +++ b/docs/df/ddc/webm_2segmenter_8h_source.html @@ -97,127 +97,135 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      8 #define MEDIA_FORMATS_WEBM_SEGMENTER_H_
      9 
      10 #include <memory>
      -
      11 #include "packager/media/formats/webm/mkv_writer.h"
      -
      12 #include "packager/media/formats/webm/seek_head.h"
      -
      13 #include "packager/status.h"
      -
      14 #include "packager/third_party/libwebm/src/mkvmuxer.hpp"
      -
      15 
      -
      16 namespace shaka {
      -
      17 namespace media {
      +
      11 
      +
      12 #include "packager/base/optional.h"
      +
      13 #include "packager/media/base/range.h"
      +
      14 #include "packager/media/formats/webm/mkv_writer.h"
      +
      15 #include "packager/media/formats/webm/seek_head.h"
      +
      16 #include "packager/status.h"
      +
      17 #include "packager/third_party/libwebm/src/mkvmuxer.hpp"
      18 
      -
      19 struct MuxerOptions;
      -
      20 
      -
      21 class AudioStreamInfo;
      -
      22 class MediaSample;
      -
      23 class MuxerListener;
      -
      24 class ProgressListener;
      -
      25 class StreamInfo;
      -
      26 class VideoStreamInfo;
      -
      27 
      -
      28 namespace webm {
      -
      29 
      -
      30 class Segmenter {
      -
      31  public:
      -
      32  explicit Segmenter(const MuxerOptions& options);
      -
      33  virtual ~Segmenter();
      -
      34 
      -
      41  Status Initialize(StreamInfo* info,
      -
      42  ProgressListener* progress_listener,
      -
      43  MuxerListener* muxer_listener);
      -
      44 
      -
      47  Status Finalize();
      -
      48 
      -
      52  Status AddSample(std::shared_ptr<MediaSample> sample);
      -
      53 
      -
      55  virtual Status FinalizeSegment(uint64_t start_timestamp,
      -
      56  uint64_t duration_timestamp,
      -
      57  bool is_subsegment) = 0;
      -
      58 
      -
      61  virtual bool GetInitRangeStartAndEnd(uint64_t* start, uint64_t* end) = 0;
      -
      62 
      -
      65  virtual bool GetIndexRangeStartAndEnd(uint64_t* start, uint64_t* end) = 0;
      -
      66 
      -
      68  float GetDurationInSeconds() const;
      +
      19 namespace shaka {
      +
      20 namespace media {
      +
      21 
      +
      22 struct MuxerOptions;
      +
      23 
      +
      24 class AudioStreamInfo;
      +
      25 class MediaSample;
      +
      26 class MuxerListener;
      +
      27 class ProgressListener;
      +
      28 class StreamInfo;
      +
      29 class VideoStreamInfo;
      +
      30 
      +
      31 namespace webm {
      +
      32 
      +
      33 class Segmenter {
      +
      34  public:
      +
      35  explicit Segmenter(const MuxerOptions& options);
      +
      36  virtual ~Segmenter();
      +
      37 
      +
      44  Status Initialize(StreamInfo* info,
      +
      45  ProgressListener* progress_listener,
      +
      46  MuxerListener* muxer_listener);
      +
      47 
      +
      50  Status Finalize();
      +
      51 
      +
      55  Status AddSample(std::shared_ptr<MediaSample> sample);
      +
      56 
      +
      58  virtual Status FinalizeSegment(uint64_t start_timestamp,
      +
      59  uint64_t duration_timestamp,
      +
      60  bool is_subsegment) = 0;
      +
      61 
      +
      64  virtual bool GetInitRangeStartAndEnd(uint64_t* start, uint64_t* end) = 0;
      +
      65 
      +
      68  virtual bool GetIndexRangeStartAndEnd(uint64_t* start, uint64_t* end) = 0;
      69 
      -
      70  protected:
      -
      72  uint64_t FromBmffTimestamp(uint64_t bmff_timestamp);
      -
      74  uint64_t FromWebMTimecode(uint64_t webm_timecode);
      -
      76  Status WriteSegmentHeader(uint64_t file_size, MkvWriter* writer);
      -
      78  Status SetCluster(uint64_t start_webm_timecode,
      -
      79  uint64_t position,
      -
      80  MkvWriter* writer);
      -
      81 
      -
      83  void UpdateProgress(uint64_t progress);
      -
      84  void set_progress_target(uint64_t target) { progress_target_ = target; }
      -
      85 
      -
      86  const MuxerOptions& options() const { return options_; }
      -
      87  mkvmuxer::Cluster* cluster() { return cluster_.get(); }
      -
      88  mkvmuxer::Cues* cues() { return &cues_; }
      -
      89  MuxerListener* muxer_listener() { return muxer_listener_; }
      -
      90  StreamInfo* info() { return info_; }
      -
      91  SeekHead* seek_head() { return &seek_head_; }
      -
      92 
      -
      93  int track_id() const { return track_id_; }
      -
      94  uint64_t segment_payload_pos() const { return segment_payload_pos_; }
      -
      95 
      -
      96  virtual Status DoInitialize() = 0;
      -
      97  virtual Status DoFinalize() = 0;
      -
      98 
      -
      99  private:
      -
      100  Status InitializeAudioTrack(const AudioStreamInfo* info,
      -
      101  mkvmuxer::AudioTrack* track);
      -
      102  Status InitializeVideoTrack(const VideoStreamInfo* info,
      -
      103  mkvmuxer::VideoTrack* track);
      -
      104 
      -
      105  // Writes the previous frame to the file.
      -
      106  Status WriteFrame(bool write_duration);
      -
      107 
      -
      108  // This is called when there needs to be a new (sub)segment.
      -
      109  // In single-segment mode, a Cluster is a segment and there is no subsegment.
      -
      110  // In multi-segment mode, a new file is a segment and the clusters in the file
      -
      111  // are subsegments.
      -
      112  virtual Status NewSegment(uint64_t start_timestamp, bool is_subsegment) = 0;
      -
      113 
      -
      114  // Store the previous sample so we know which one is the last frame.
      -
      115  std::shared_ptr<MediaSample> prev_sample_;
      -
      116  // The reference frame timestamp; used to populate the ReferenceBlock element
      -
      117  // when writing non-keyframe BlockGroups.
      -
      118  uint64_t reference_frame_timestamp_ = 0;
      -
      119 
      -
      120  const MuxerOptions& options_;
      +
      70  // Returns an empty vector if there are no specific ranges for the segments,
      +
      71  // e.g. the media is in multiple files.
      +
      72  // Otherwise, a vector of ranges for the media segments are returned.
      +
      73  virtual std::vector<Range> GetSegmentRanges() = 0;
      +
      74 
      +
      76  float GetDurationInSeconds() const;
      +
      77 
      +
      78  protected:
      +
      80  uint64_t FromBmffTimestamp(uint64_t bmff_timestamp);
      +
      82  uint64_t FromWebMTimecode(uint64_t webm_timecode);
      +
      84  Status WriteSegmentHeader(uint64_t file_size, MkvWriter* writer);
      +
      86  Status SetCluster(uint64_t start_webm_timecode,
      +
      87  uint64_t position,
      +
      88  MkvWriter* writer);
      +
      89 
      +
      91  void UpdateProgress(uint64_t progress);
      +
      92  void set_progress_target(uint64_t target) { progress_target_ = target; }
      +
      93 
      +
      94  const MuxerOptions& options() const { return options_; }
      +
      95  mkvmuxer::Cluster* cluster() { return cluster_.get(); }
      +
      96  mkvmuxer::Cues* cues() { return &cues_; }
      +
      97  MuxerListener* muxer_listener() { return muxer_listener_; }
      +
      98  StreamInfo* info() { return info_; }
      +
      99  SeekHead* seek_head() { return &seek_head_; }
      +
      100 
      +
      101  int track_id() const { return track_id_; }
      +
      102  uint64_t segment_payload_pos() const { return segment_payload_pos_; }
      +
      103 
      +
      104  virtual Status DoInitialize() = 0;
      +
      105  virtual Status DoFinalize() = 0;
      +
      106 
      +
      107  private:
      +
      108  Status InitializeAudioTrack(const AudioStreamInfo* info,
      +
      109  mkvmuxer::AudioTrack* track);
      +
      110  Status InitializeVideoTrack(const VideoStreamInfo* info,
      +
      111  mkvmuxer::VideoTrack* track);
      +
      112 
      +
      113  // Writes the previous frame to the file.
      +
      114  Status WriteFrame(bool write_duration);
      +
      115 
      +
      116  // This is called when there needs to be a new (sub)segment.
      +
      117  // In single-segment mode, a Cluster is a segment and there is no subsegment.
      +
      118  // In multi-segment mode, a new file is a segment and the clusters in the file
      +
      119  // are subsegments.
      +
      120  virtual Status NewSegment(uint64_t start_timestamp, bool is_subsegment) = 0;
      121 
      -
      122  std::unique_ptr<mkvmuxer::Cluster> cluster_;
      -
      123  mkvmuxer::Cues cues_;
      -
      124  SeekHead seek_head_;
      -
      125  mkvmuxer::SegmentInfo segment_info_;
      -
      126  mkvmuxer::Tracks tracks_;
      +
      122  // Store the previous sample so we know which one is the last frame.
      +
      123  std::shared_ptr<MediaSample> prev_sample_;
      +
      124  // The reference frame timestamp; used to populate the ReferenceBlock element
      +
      125  // when writing non-keyframe BlockGroups.
      +
      126  uint64_t reference_frame_timestamp_ = 0;
      127 
      -
      128  StreamInfo* info_ = nullptr;
      -
      129  MuxerListener* muxer_listener_ = nullptr;
      -
      130  ProgressListener* progress_listener_ = nullptr;
      -
      131  uint64_t progress_target_ = 0;
      -
      132  uint64_t accumulated_progress_ = 0;
      -
      133  uint64_t first_timestamp_ = 0;
      -
      134  int64_t sample_duration_ = 0;
      -
      135  // The position (in bytes) of the start of the Segment payload in the init
      -
      136  // file. This is also the size of the header before the SeekHead.
      -
      137  uint64_t segment_payload_pos_ = 0;
      -
      138 
      -
      139  // Indicate whether a new segment needed to be created, which is always true
      -
      140  // in the beginning.
      -
      141  bool new_segment_ = true;
      -
      142  // Indicate whether a new subsegment needed to be created.
      -
      143  bool new_subsegment_ = false;
      -
      144  int track_id_ = 0;
      -
      145 
      -
      146  DISALLOW_COPY_AND_ASSIGN(Segmenter);
      -
      147 };
      -
      148 
      -
      149 } // namespace webm
      -
      150 } // namespace media
      -
      151 } // namespace shaka
      -
      152 
      -
      153 #endif // MEDIA_FORMATS_WEBM_SEGMENTER_H_
      +
      128  const MuxerOptions& options_;
      +
      129 
      +
      130  std::unique_ptr<mkvmuxer::Cluster> cluster_;
      +
      131  mkvmuxer::Cues cues_;
      +
      132  SeekHead seek_head_;
      +
      133  mkvmuxer::SegmentInfo segment_info_;
      +
      134  mkvmuxer::Tracks tracks_;
      +
      135 
      +
      136  StreamInfo* info_ = nullptr;
      +
      137  MuxerListener* muxer_listener_ = nullptr;
      +
      138  ProgressListener* progress_listener_ = nullptr;
      +
      139  uint64_t progress_target_ = 0;
      +
      140  uint64_t accumulated_progress_ = 0;
      +
      141  uint64_t first_timestamp_ = 0;
      +
      142  int64_t sample_duration_ = 0;
      +
      143  // The position (in bytes) of the start of the Segment payload in the init
      +
      144  // file. This is also the size of the header before the SeekHead.
      +
      145  uint64_t segment_payload_pos_ = 0;
      +
      146 
      +
      147  // Indicate whether a new segment needed to be created, which is always true
      +
      148  // in the beginning.
      +
      149  bool new_segment_ = true;
      +
      150  // Indicate whether a new subsegment needed to be created.
      +
      151  bool new_subsegment_ = false;
      +
      152  int track_id_ = 0;
      +
      153 
      +
      154  DISALLOW_COPY_AND_ASSIGN(Segmenter);
      +
      155 };
      +
      156 
      +
      157 } // namespace webm
      +
      158 } // namespace media
      +
      159 } // namespace shaka
      +
      160 
      +
      161 #endif // MEDIA_FORMATS_WEBM_SEGMENTER_H_
      Status WriteSegmentHeader(uint64_t file_size, MkvWriter *writer)
      Writes the Segment header to writer.
      Definition: segmenter.cc:218
      Abstract class holds stream information.
      Definition: stream_info.h:57
      uint64_t FromWebMTimecode(uint64_t webm_timecode)
      Converts the given time in WebM timecode to ISO BMFF timestamp.
      Definition: segmenter.cc:212
      @@ -232,17 +240,17 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      Status AddSample(std::shared_ptr< MediaSample > sample)
      Definition: segmenter.cc:156
      An implementation of IMkvWriter using our File type.
      Definition: mkv_writer.h:21
      Status Initialize(StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener)
      Definition: segmenter.cc:78
      - +
      void UpdateProgress(uint64_t progress)
      Update segmentation progress using ProgressListener.
      Definition: segmenter.cc:265
      virtual bool GetInitRangeStartAndEnd(uint64_t *start, uint64_t *end)=0
      Holds video stream information.
      Holds audio stream information.
      - + diff --git a/docs/df/dde/ts__section__psi_8cc_source.html b/docs/df/dde/ts__section__psi_8cc_source.html index 1b78e5b51c..356ae43d65 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 cd7e93f4b7..f1de9f37e6 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 d426b52627..73ce8301c4 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 d8fc714990..bb83a9e1b6 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 24adc3c7ca..cc9ff3103c 100644 --- a/docs/df/df1/structshaka_1_1ContentProtectionElement-members.html +++ b/docs/df/df1/structshaka_1_1ContentProtectionElement-members.html @@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/dfb/classshaka_1_1media_1_1UdpOptions-members.html b/docs/df/dfb/classshaka_1_1media_1_1UdpOptions-members.html index 108699b492..e54725c367 100644 --- a/docs/df/dfb/classshaka_1_1media_1_1UdpOptions-members.html +++ b/docs/df/dfb/classshaka_1_1media_1_1UdpOptions-members.html @@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/dfc/playready__key__encryption__flags_8cc_source.html b/docs/df/dfc/playready__key__encryption__flags_8cc_source.html index 4ac43bbcaf..c589de14d1 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 c8ffd63db7..59f78af0a3 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 e0e9882f60..b017e5cf23 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 569339eaee..654a10e790 100644 --- a/docs/dir_263e692158cf359dd655c259558153d6.html +++ b/docs/dir_263e692158cf359dd655c259558153d6.html @@ -93,7 +93,7 @@ Files diff --git a/docs/dir_279fd47bebb21302c25cfb685e84c359.html b/docs/dir_279fd47bebb21302c25cfb685e84c359.html index 8755805244..81c6f68b10 100644 --- a/docs/dir_279fd47bebb21302c25cfb685e84c359.html +++ b/docs/dir_279fd47bebb21302c25cfb685e84c359.html @@ -125,7 +125,7 @@ Files diff --git a/docs/dir_2eceb70145328c029a5f43350007537a.html b/docs/dir_2eceb70145328c029a5f43350007537a.html index f08eb5789a..e37806da52 100644 --- a/docs/dir_2eceb70145328c029a5f43350007537a.html +++ b/docs/dir_2eceb70145328c029a5f43350007537a.html @@ -105,7 +105,7 @@ Files diff --git a/docs/dir_39dc0668bd5a501998f94e8b4e546c71.html b/docs/dir_39dc0668bd5a501998f94e8b4e546c71.html index d31e586517..bd6fda738f 100644 --- a/docs/dir_39dc0668bd5a501998f94e8b4e546c71.html +++ b/docs/dir_39dc0668bd5a501998f94e8b4e546c71.html @@ -107,7 +107,7 @@ Directories diff --git a/docs/dir_3e9291fd7a18fdecc763294cb2628910.html b/docs/dir_3e9291fd7a18fdecc763294cb2628910.html index d328962e4c..1dc44a2e15 100644 --- a/docs/dir_3e9291fd7a18fdecc763294cb2628910.html +++ b/docs/dir_3e9291fd7a18fdecc763294cb2628910.html @@ -149,7 +149,7 @@ Files diff --git a/docs/dir_49627ef5ef0630f6cf11dd06344c4cf0.html b/docs/dir_49627ef5ef0630f6cf11dd06344c4cf0.html index b6d86d95c4..c5435098ce 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 6ae35aebb0..2cd2aaf1c0 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 89052616ab..b53fffc59d 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 8568ebcc4f..03fa9cf567 100644 --- a/docs/dir_679a6f4e9fa092b388fc986148018f2a.html +++ b/docs/dir_679a6f4e9fa092b388fc986148018f2a.html @@ -95,7 +95,7 @@ Files diff --git a/docs/dir_7f5e01ba7faf319a30cabd201b6ef121.html b/docs/dir_7f5e01ba7faf319a30cabd201b6ef121.html index 08f4e584dd..c9050de15c 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 32e5956f3d..bd609fe92e 100644 --- a/docs/dir_89dd766eb2df7d7257dbe806a34404af.html +++ b/docs/dir_89dd766eb2df7d7257dbe806a34404af.html @@ -93,7 +93,7 @@ Directories diff --git a/docs/dir_aa73376d632f252584a1c0dfbefab2c4.html b/docs/dir_aa73376d632f252584a1c0dfbefab2c4.html index 79b83b21a9..864e2eab37 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 2a584ac485..ea746fcf26 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 843c598ca5..7403e1c382 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 acee68bf4e..e37aa431b8 100644 --- a/docs/dir_c6ada2450b25ab5438a4dba6c9b890af.html +++ b/docs/dir_c6ada2450b25ab5438a4dba6c9b890af.html @@ -213,6 +213,8 @@ Files   file  protection_system_specific_info.h [code]   +file  range.h [code] +  file  rcheck.h [code]   file  request_signer.cc [code] @@ -255,7 +257,7 @@ Files diff --git a/docs/dir_d422163b96683743ed3963d4aac17747.html b/docs/dir_d422163b96683743ed3963d4aac17747.html index 71ad752ce5..c23060c268 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 f4477efad8..8827a85596 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 2c334b8de3..dba81000c7 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 fe8ad396b3..99c513fc08 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 216e343b00..6508237434 100644 --- a/docs/files.html +++ b/docs/files.html @@ -183,25 +183,26 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ||o*producer_consumer_queue.h ||o*protection_system_specific_info.cc ||o*protection_system_specific_info.h -||o*rcheck.h -||o*request_signer.cc -||o*request_signer.h -||o*rsa_key.cc -||o*rsa_key.h -||o*stream_info.cc -||o*stream_info.h -||o*text_sample.cc -||o*text_sample.h -||o*text_stream_info.cc -||o*text_stream_info.h -||o*text_track.h -||o*text_track_config.cc -||o*text_track_config.h -||o*timestamp.h -||o*video_stream_info.cc -||o*video_stream_info.h -||o*widevine_key_source.cc -||\*widevine_key_source.h +||o*range.h +||o*rcheck.h +||o*request_signer.cc +||o*request_signer.h +||o*rsa_key.cc +||o*rsa_key.h +||o*stream_info.cc +||o*stream_info.h +||o*text_sample.cc +||o*text_sample.h +||o*text_stream_info.cc +||o*text_stream_info.h +||o*text_track.h +||o*text_track_config.cc +||o*text_track_config.h +||o*timestamp.h +||o*video_stream_info.cc +||o*video_stream_info.h +||o*widevine_key_source.cc +||\*widevine_key_source.h |o+chunking ||o*chunking_handler.cc ||\*chunking_handler.h @@ -458,7 +459,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions.html b/docs/functions.html index 6460b51581..90acd7313a 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 d040c78903..39a08a45a7 100644 --- a/docs/functions_b.html +++ b/docs/functions_b.html @@ -240,7 +240,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_c.html b/docs/functions_c.html index 890a5bd96b..02357cc371 100644 --- a/docs/functions_c.html +++ b/docs/functions_c.html @@ -247,7 +247,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_d.html b/docs/functions_d.html index a5479f2d28..3798ce18c8 100644 --- a/docs/functions_d.html +++ b/docs/functions_d.html @@ -183,7 +183,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_e.html b/docs/functions_e.html index efa26a095c..1ab13e796b 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 47d0057c4c..a2561b9906 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 219bba6262..a77490eb9c 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 5279022300..a3fb5e5f3a 100644 --- a/docs/functions_f.html +++ b/docs/functions_f.html @@ -196,7 +196,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func.html b/docs/functions_func.html index 8e3fcffe00..0e22b58b01 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 81e34c7fd9..33e21584d7 100644 --- a/docs/functions_func_b.html +++ b/docs/functions_func_b.html @@ -236,7 +236,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_c.html b/docs/functions_func_c.html index d97ca42adf..f78c7f35cf 100644 --- a/docs/functions_func_c.html +++ b/docs/functions_func_c.html @@ -240,7 +240,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_d.html b/docs/functions_func_d.html index 827c30a1f0..e237081805 100644 --- a/docs/functions_func_d.html +++ b/docs/functions_func_d.html @@ -182,7 +182,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_e.html b/docs/functions_func_e.html index 926de70af4..1de75f5073 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 dc658c17f2..fe438004c9 100644 --- a/docs/functions_func_f.html +++ b/docs/functions_func_f.html @@ -195,7 +195,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_g.html b/docs/functions_func_g.html index 7e0f722e4e..4c4662cc29 100644 --- a/docs/functions_func_g.html +++ b/docs/functions_func_g.html @@ -281,7 +281,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_h.html b/docs/functions_func_h.html index 885312abb0..c490cf8d38 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 6070d0f44e..d7182cf067 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 79e7367687..c6a3feb351 100644 --- a/docs/functions_func_l.html +++ b/docs/functions_func_l.html @@ -134,7 +134,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_m.html b/docs/functions_func_m.html index 603019d4e8..33047b1726 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 859e35b495..db8d3fe5ec 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 770575ba37..6cefa305a9 100644 --- a/docs/functions_func_o.html +++ b/docs/functions_func_o.html @@ -144,10 +144,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::media::WebMContentEncodingsClient
    • OnMediaEnd() -: shaka::media::HlsNotifyMuxerListener -, shaka::media::MpdNotifyMuxerListener -, shaka::media::MuxerListener -, shaka::media::VodMediaInfoDumpMuxerListener +: shaka::media::HlsNotifyMuxerListener +, shaka::media::MockMuxerListener +, shaka::media::MpdNotifyMuxerListener +, shaka::media::MuxerListener +, shaka::media::VodMediaInfoDumpMuxerListener
    • OnMediaStart() : shaka::media::HlsNotifyMuxerListener @@ -199,7 +200,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_p.html b/docs/functions_func_p.html index 0e5baaf485..2de68b6c04 100644 --- a/docs/functions_func_p.html +++ b/docs/functions_func_p.html @@ -239,7 +239,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_r.html b/docs/functions_func_r.html index 5cabc43861..8e3f746f8a 100644 --- a/docs/functions_func_r.html +++ b/docs/functions_func_r.html @@ -202,7 +202,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_s.html b/docs/functions_func_s.html index d90e6f25a5..2a4276171a 100644 --- a/docs/functions_func_s.html +++ b/docs/functions_func_s.html @@ -294,7 +294,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_t.html b/docs/functions_func_t.html index 985d072c44..b12386a439 100644 --- a/docs/functions_func_t.html +++ b/docs/functions_func_t.html @@ -172,7 +172,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_u.html b/docs/functions_func_u.html index 6504fc5da5..f1be862535 100644 --- a/docs/functions_func_u.html +++ b/docs/functions_func_u.html @@ -142,7 +142,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_v.html b/docs/functions_func_v.html index 61a3f9f88f..ca6518b3fb 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 00f5a699c9..eacdc5be8e 100644 --- a/docs/functions_func_w.html +++ b/docs/functions_func_w.html @@ -181,7 +181,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_x.html b/docs/functions_func_x.html index 86b415be71..fcb209ecda 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 c9c07e8f7a..3166b4477b 100644 --- a/docs/functions_func_~.html +++ b/docs/functions_func_~.html @@ -131,7 +131,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_g.html b/docs/functions_g.html index b2998e60a0..8854a9a1eb 100644 --- a/docs/functions_g.html +++ b/docs/functions_g.html @@ -282,7 +282,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_h.html b/docs/functions_h.html index cbdd98da57..fa8d370f51 100644 --- a/docs/functions_h.html +++ b/docs/functions_h.html @@ -163,7 +163,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_i.html b/docs/functions_i.html index 621896acf1..014ab23bba 100644 --- a/docs/functions_i.html +++ b/docs/functions_i.html @@ -128,12 +128,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
    • IgnoreBytes() : shaka::media::mp4::BoxBuffer
    • +
    • index_range +: shaka::media::MuxerListener::MediaRanges +
    • Init() : shaka::DashIopMpdNotifier , shaka::media::MediaParser , shaka::media::mp2t::Mp2tMediaParser , shaka::media::mp4::MP4MediaParser -, shaka::media::mp4::TrackRunIterator +, shaka::media::mp4::TrackRunIterator , shaka::media::WebMMediaParser , shaka::media::WebVttMediaParser , shaka::media::wvm::WvmMediaParser @@ -141,6 +144,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , shaka::Representation , shaka::SimpleMpdNotifier
    • +
    • init_range +: shaka::media::MuxerListener::MediaRanges +
    • InitCB : shaka::media::MediaParser
    • @@ -206,7 +212,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::media::mp4::TrackRunIterator
    • IsSyncSample() -: shaka::media::mp4::SyncSampleIterator +: shaka::media::mp4::SyncSampleIterator
    • IsValid() : shaka::media::mp4::ChunkInfoIterator @@ -226,7 +232,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_k.html b/docs/functions_k.html index 01472ecbc2..e6d48e82cc 100644 --- a/docs/functions_k.html +++ b/docs/functions_k.html @@ -147,7 +147,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_l.html b/docs/functions_l.html index f6fd0e33e7..d33de4dab0 100644 --- a/docs/functions_l.html +++ b/docs/functions_l.html @@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_m.html b/docs/functions_m.html index 73a89fd7e8..ab863d882f 100644 --- a/docs/functions_m.html +++ b/docs/functions_m.html @@ -150,7 +150,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_n.html b/docs/functions_n.html index 4c2d6346bc..d714d10697 100644 --- a/docs/functions_n.html +++ b/docs/functions_n.html @@ -178,7 +178,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_o.html b/docs/functions_o.html index 5bf490b77a..3c293d66ac 100644 --- a/docs/functions_o.html +++ b/docs/functions_o.html @@ -145,10 +145,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::media::WebMContentEncodingsClient
    • OnMediaEnd() -: shaka::media::HlsNotifyMuxerListener -, shaka::media::MpdNotifyMuxerListener -, shaka::media::MuxerListener -, shaka::media::VodMediaInfoDumpMuxerListener +: shaka::media::HlsNotifyMuxerListener +, shaka::media::MockMuxerListener +, shaka::media::MpdNotifyMuxerListener +, shaka::media::MuxerListener +, shaka::media::VodMediaInfoDumpMuxerListener
    • OnMediaStart() : shaka::media::HlsNotifyMuxerListener @@ -203,7 +204,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_p.html b/docs/functions_p.html index 203aac33e4..855fe5b2b6 100644 --- a/docs/functions_p.html +++ b/docs/functions_p.html @@ -249,7 +249,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_r.html b/docs/functions_r.html index 00aa0a0b16..d94d2999e6 100644 --- a/docs/functions_r.html +++ b/docs/functions_r.html @@ -203,7 +203,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_s.html b/docs/functions_s.html index 6e1d1d2fab..41d7bda656 100644 --- a/docs/functions_s.html +++ b/docs/functions_s.html @@ -303,6 +303,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
    • subsegment_duration_in_seconds : shaka::media::ChunkingOptions
    • +
    • subsegment_ranges +: shaka::media::MuxerListener::MediaRanges +
    • subsegment_sap_aligned : shaka::media::ChunkingOptions
    • @@ -316,7 +319,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_t.html b/docs/functions_t.html index 0c2fa133c6..598e44385e 100644 --- a/docs/functions_t.html +++ b/docs/functions_t.html @@ -176,7 +176,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_type.html b/docs/functions_type.html index 4f11118cee..b5ae18ff1d 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 1ba73385ea..3a0bcd2d54 100644 --- a/docs/functions_u.html +++ b/docs/functions_u.html @@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_v.html b/docs/functions_v.html index 1f82b4c841..8c40c07ae1 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 9aebf5ac4d..18e2e6d4dd 100644 --- a/docs/functions_vars.html +++ b/docs/functions_vars.html @@ -102,6 +102,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
    • crypto_period_duration_in_seconds : shaka::media::EncryptionOptions
    • +
    • index_range +: shaka::media::MuxerListener::MediaRanges +
    • +
    • init_range +: shaka::media::MuxerListener::MediaRanges +
    • kADTSHeaderSize : shaka::media::AACAudioSpecificConfig
    • @@ -144,6 +150,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
    • subsegment_duration_in_seconds : shaka::media::ChunkingOptions
    • +
    • subsegment_ranges +: shaka::media::MuxerListener::MediaRanges +
    • subsegment_sap_aligned : shaka::media::ChunkingOptions
    • @@ -157,7 +166,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_w.html b/docs/functions_w.html index ae6aadea97..790c6219f1 100644 --- a/docs/functions_w.html +++ b/docs/functions_w.html @@ -182,7 +182,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_x.html b/docs/functions_x.html index 8357ff4dc8..0e0050d317 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 2f37abab5b..b5e5584e5a 100644 --- a/docs/functions_~.html +++ b/docs/functions_~.html @@ -132,7 +132,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/hierarchy.html b/docs/hierarchy.html index 9b29cec80a..61868063a8 100644 --- a/docs/hierarchy.html +++ b/docs/hierarchy.html @@ -268,117 +268,119 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); |oCshaka::media::WebMMediaParser |oCshaka::media::WebVttMediaParser |\Cshaka::media::wvm::WvmMediaParser -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::media::OnMediaEndParameters -oCshaka::media::PeriodInfo -oCshaka::media::mp2t::PesPacketClass that carries PES packet information -oCshaka::media::mp2t::PesPacketGenerator -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::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::UdpOptionsOptions parsed from UDP url string of the form: udp://ip:port[?options] -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::xml::XmlDeleter -\Cshaka::xml::XmlNode - \Cshaka::xml::RepresentationBaseXmlNode -  oCshaka::xml::AdaptationSetXmlNodeAdaptationSetType specified in MPD -  \Cshaka::xml::RepresentationXmlNodeRepresentationType in MPD +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::media::OnMediaEndParameters +oCshaka::media::PeriodInfo +oCshaka::media::mp2t::PesPacketClass that carries PES packet information +oCshaka::media::mp2t::PesPacketGenerator +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::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::UdpOptionsOptions parsed from UDP url string of the form: udp://ip:port[?options] +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::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 bb703adcbe..afff2623f7 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 7c9051d66c..887bd0a7a5 100644 --- a/docs/namespacemembers.html +++ b/docs/namespacemembers.html @@ -136,7 +136,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/namespacemembers_func.html b/docs/namespacemembers_func.html index 974ac019b2..2aaa458f57 100644 --- a/docs/namespacemembers_func.html +++ b/docs/namespacemembers_func.html @@ -136,7 +136,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/namespaces.html b/docs/namespaces.html index 9a4c8281e5..5a2da1c0ff 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_10.js b/docs/search/all_10.js index 88930ff2e9..b1ca2b3435 100644 --- a/docs/search/all_10.js +++ b/docs/search/all_10.js @@ -86,6 +86,7 @@ var searchData= ['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_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']]], ['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']]], diff --git a/docs/search/all_8.js b/docs/search/all_8.js index aa413b5bab..c1b230ce0e 100644 --- a/docs/search/all_8.js +++ b/docs/search/all_8.js @@ -3,7 +3,9 @@ var searchData= ['id',['id',['../de/d52/classshaka_1_1Representation.html#a6a3ba385179698e57a1451d1a26ad827',1,'shaka::Representation']]], ['id3v2',['ID3v2',['../d3/dad/structshaka_1_1media_1_1mp4_1_1ID3v2.html',1,'shaka::media::mp4']]], ['ignorebytes',['IgnoreBytes',['../d1/da1/classshaka_1_1media_1_1mp4_1_1BoxBuffer.html#a1a0c70e3124677ae08164f7b89f6a1d4',1,'shaka::media::mp4::BoxBuffer']]], + ['index_5frange',['index_range',['../d1/d03/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges.html#aa15231fb064efc4b56800df24b074b29',1,'shaka::media::MuxerListener::MediaRanges']]], ['init',['Init',['../d3/d0a/classshaka_1_1media_1_1MediaParser.html#adc7c91bebe75879abba91a56dae52153',1,'shaka::media::MediaParser::Init()'],['../d3/dc1/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser.html#aa2aff12312827aacf2b7db6e2f792c52',1,'shaka::media::mp2t::Mp2tMediaParser::Init()'],['../d7/dd5/classshaka_1_1media_1_1mp4_1_1MP4MediaParser.html#acc87b9752a7f6e8c739109acbc02b69d',1,'shaka::media::mp4::MP4MediaParser::Init()'],['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#ae9f02c32b4e2be8fc41a20f3f00f3494',1,'shaka::media::mp4::TrackRunIterator::Init()'],['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#a4d39eaf8568da29b597411c56f50d86f',1,'shaka::media::mp4::TrackRunIterator::Init(const MovieFragment &moof)'],['../d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html#a5cd5c298938e2c58c45f962b21e43b2e',1,'shaka::media::WebMMediaParser::Init()'],['../dc/df2/classshaka_1_1media_1_1WebVttMediaParser.html#af6c0fb7de806cccd0e1f9dd92b5310f3',1,'shaka::media::WebVttMediaParser::Init()'],['../dc/d18/classshaka_1_1media_1_1wvm_1_1WvmMediaParser.html#a6f931f1702724a9b19c3078a7832bc77',1,'shaka::media::wvm::WvmMediaParser::Init()'],['../d4/d70/classshaka_1_1DashIopMpdNotifier.html#a9dd9d655a538ff2618634ca1f9809478',1,'shaka::DashIopMpdNotifier::Init()'],['../de/d52/classshaka_1_1Representation.html#ae998409ae94f3ba12909a96e8f3f4f7e',1,'shaka::Representation::Init()'],['../d3/dd0/classshaka_1_1MpdNotifier.html#ad6171481d6fb437767b1f5b9e0dac1a3',1,'shaka::MpdNotifier::Init()'],['../d8/de1/classshaka_1_1SimpleMpdNotifier.html#a59bcb401b5ca8d5b893ec7da9461569f',1,'shaka::SimpleMpdNotifier::Init()']]], + ['init_5frange',['init_range',['../d1/d03/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges.html#a6070da9ce7fab251c82b25a4020373c0',1,'shaka::media::MuxerListener::MediaRanges']]], ['initcb',['InitCB',['../d3/d0a/classshaka_1_1media_1_1MediaParser.html#aef5795d2b3df2526c6e8afe1e4d072bf',1,'shaka::media::MediaParser']]], ['initialize',['Initialize',['../da/dfd/classshaka_1_1media_1_1MediaHandler.html#aed0da512bbd998ec9d0a5c019ad17acb',1,'shaka::media::MediaHandler::Initialize()'],['../d5/d66/classshaka_1_1media_1_1NalUnitToByteStreamConverter.html#a27986db8a2e62669fe1983a39383c546',1,'shaka::media::NalUnitToByteStreamConverter::Initialize()'],['../dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html#a862422cdf78f370069055037338fa53d',1,'shaka::media::VideoSliceHeaderParser::Initialize()'],['../da/df0/classshaka_1_1media_1_1H264VideoSliceHeaderParser.html#a551bd1e2a852d1a3b23b77df8505b7f7',1,'shaka::media::H264VideoSliceHeaderParser::Initialize()'],['../d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html#a83a25520f713f4818a765ea3324a1438',1,'shaka::media::H265VideoSliceHeaderParser::Initialize()'],['../d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html#aa0346189f99b2f0fc2c71da1543155fa',1,'shaka::media::mp2t::PesPacketGenerator::Initialize()'],['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html#aac6e3950224709b78b9f1e054a8ca194',1,'shaka::media::mp2t::TsSegmenter::Initialize()'],['../de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html#a6bee605be771538f78633e2ecfc979c6',1,'shaka::media::mp2t::TsWriter::Initialize()'],['../d9/d26/classshaka_1_1media_1_1mp4_1_1Segmenter.html#a42620d62ced8dc35953fa2a68c5b7fac',1,'shaka::media::mp4::Segmenter::Initialize()'],['../dd/dc5/classshaka_1_1media_1_1webm_1_1Segmenter.html#a5058fc394abf702d57f11e19a40c517e',1,'shaka::media::webm::Segmenter::Initialize()']]], ['initializefragment',['InitializeFragment',['../db/d95/classshaka_1_1media_1_1mp4_1_1Fragmenter.html#aa702c2af5ea5096d94f2943076a21e4a',1,'shaka::media::mp4::Fragmenter']]], diff --git a/docs/search/all_b.js b/docs/search/all_b.js index ead5ff377a..fc226075af 100644 --- a/docs/search/all_b.js +++ b/docs/search/all_b.js @@ -9,6 +9,7 @@ var searchData= ['mediaheader',['MediaHeader',['../d4/db9/structshaka_1_1media_1_1mp4_1_1MediaHeader.html',1,'shaka::media::mp4']]], ['mediainformation',['MediaInformation',['../d5/d86/structshaka_1_1media_1_1mp4_1_1MediaInformation.html',1,'shaka::media::mp4']]], ['mediaparser',['MediaParser',['../d3/d0a/classshaka_1_1media_1_1MediaParser.html',1,'shaka::media']]], + ['mediaranges',['MediaRanges',['../d1/d03/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges.html',1,'shaka::media::MuxerListener']]], ['mediasample',['MediaSample',['../d7/d6d/classshaka_1_1media_1_1MediaSample.html',1,'shaka::media']]], ['memoryfile',['MemoryFile',['../d9/dbd/classshaka_1_1media_1_1MemoryFile.html',1,'shaka::media']]], ['mergefrom',['MergeFrom',['../d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html#a36dddd88a09f038adfbf87063786178c',1,'shaka::media::VPCodecConfigurationRecord']]], @@ -31,12 +32,12 @@ var searchData= ['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']]], ['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']]], ['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']]], diff --git a/docs/search/all_d.js b/docs/search/all_d.js index 63ed05d369..308fbad9ae 100644 --- a/docs/search/all_d.js +++ b/docs/search/all_d.js @@ -5,7 +5,7 @@ var searchData= ['onencryptionstart',['OnEncryptionStart',['../d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html#a49b4187f39abe517768364f7ecb280f9',1,'shaka::media::HlsNotifyMuxerListener::OnEncryptionStart()'],['../d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html#a56ccf04196458894f31d0db102153334',1,'shaka::media::MpdNotifyMuxerListener::OnEncryptionStart()'],['../dd/d7a/classshaka_1_1media_1_1MuxerListener.html#a897463091f0effa647a8e2822f48b2ee',1,'shaka::media::MuxerListener::OnEncryptionStart()'],['../db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html#ae8f6f65fbab9f301be5bb35f5b8d1cbc',1,'shaka::media::VodMediaInfoDumpMuxerListener::OnEncryptionStart()']]], ['onflushrequest',['OnFlushRequest',['../da/dfd/classshaka_1_1media_1_1MediaHandler.html#a69a31b8ec1b85fd4790c7c2013c69a73',1,'shaka::media::MediaHandler::OnFlushRequest()'],['../d1/d36/classshaka_1_1media_1_1FakeMediaHandler.html#a3f82edd4474f20464224e881dd20fdb0',1,'shaka::media::FakeMediaHandler::OnFlushRequest()'],['../df/d46/classshaka_1_1media_1_1Muxer.html#a9f08c1385506636b800769480869e04f',1,'shaka::media::Muxer::OnFlushRequest()'],['../d4/d43/classshaka_1_1media_1_1ChunkingHandler.html#ab526bd53e4d49d7209f01d9b10b9ab52',1,'shaka::media::ChunkingHandler::OnFlushRequest()'],['../db/dea/classshaka_1_1media_1_1TrickPlayHandler.html#a9a6c29c88fdeb667d5592142d6815bfa',1,'shaka::media::TrickPlayHandler::OnFlushRequest()']]], ['onliststart',['OnListStart',['../d9/d87/classshaka_1_1media_1_1WebMContentEncodingsClient.html#a7b8b5447b3d573657f6dc029d2e6d8b7',1,'shaka::media::WebMContentEncodingsClient']]], - ['onmediaend',['OnMediaEnd',['../d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html#a4e88a20067b619c932a41e89997eba6a',1,'shaka::media::HlsNotifyMuxerListener::OnMediaEnd()'],['../d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html#a971bafa22a407a12f89bd4ddb33aac7e',1,'shaka::media::MpdNotifyMuxerListener::OnMediaEnd()'],['../dd/d7a/classshaka_1_1media_1_1MuxerListener.html#ac89a028372db9abbccf569819d9b2b35',1,'shaka::media::MuxerListener::OnMediaEnd()'],['../db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html#adabba5568154b8f22b02a9b0572db32e',1,'shaka::media::VodMediaInfoDumpMuxerListener::OnMediaEnd()']]], + ['onmediaend',['OnMediaEnd',['../d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html#a364293169c006b55f6d80db536af8f0a',1,'shaka::media::HlsNotifyMuxerListener::OnMediaEnd()'],['../dc/d73/classshaka_1_1media_1_1MockMuxerListener.html#af78148a726979c3773a02809153c0a8b',1,'shaka::media::MockMuxerListener::OnMediaEnd()'],['../d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html#a33a1fd0c31a62355ccfa9d659218c747',1,'shaka::media::MpdNotifyMuxerListener::OnMediaEnd()'],['../dd/d7a/classshaka_1_1media_1_1MuxerListener.html#ab80aa62b360dbdf92f6d2e352b938639',1,'shaka::media::MuxerListener::OnMediaEnd()'],['../db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html#a87e740887c17a1b6706299264353d25b',1,'shaka::media::VodMediaInfoDumpMuxerListener::OnMediaEnd()']]], ['onmediaendparameters',['OnMediaEndParameters',['../db/db8/structshaka_1_1media_1_1OnMediaEndParameters.html',1,'shaka::media']]], ['onmediastart',['OnMediaStart',['../d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html#ac60d8aed79f2a1581dfec1ed5ad10f22',1,'shaka::media::HlsNotifyMuxerListener::OnMediaStart()'],['../d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html#ad0aeb94e2e1fe1b5ead506b690e6f70f',1,'shaka::media::MpdNotifyMuxerListener::OnMediaStart()'],['../dd/d7a/classshaka_1_1media_1_1MuxerListener.html#a31536ec385a7ec22f323a42b872b499a',1,'shaka::media::MuxerListener::OnMediaStart()'],['../db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html#a4811b4ce8292f0f449a35a837aeab74f',1,'shaka::media::VodMediaInfoDumpMuxerListener::OnMediaStart()']]], ['onnewsegment',['OnNewSegment',['../d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html#aea9c2b0247695d4cf20d50fe44c7d918',1,'shaka::media::HlsNotifyMuxerListener::OnNewSegment()'],['../d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html#a9976447daf55bbdea1cd0d8846512e11',1,'shaka::media::MpdNotifyMuxerListener::OnNewSegment()'],['../dd/d7a/classshaka_1_1media_1_1MuxerListener.html#a4cb75da6ff50d6403da18ea8dcc04265',1,'shaka::media::MuxerListener::OnNewSegment()'],['../db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html#a36e979fe7b3cfa69dc257e5e439dca08',1,'shaka::media::VodMediaInfoDumpMuxerListener::OnNewSegment()']]], diff --git a/docs/search/all_f.js b/docs/search/all_f.js index 64a2af32f0..3bc0956b6b 100644 --- a/docs/search/all_f.js +++ b/docs/search/all_f.js @@ -1,5 +1,6 @@ var searchData= [ + ['range',['Range',['../d9/de0/structshaka_1_1media_1_1Range.html',1,'shaka::media']]], ['read',['Read',['../d3/d61/classshaka_1_1media_1_1File.html#aed0c0793fd8751330583314a4d3012b9',1,'shaka::media::File::Read()'],['../dd/d7c/classshaka_1_1media_1_1IoCache.html#a3cb864f866af25f0ff92c367946b0945',1,'shaka::media::IoCache::Read()'],['../d9/de6/classshaka_1_1media_1_1LocalFile.html#a65a1abae386202a08deb5bfa8aeef7c1',1,'shaka::media::LocalFile::Read()'],['../d9/dbd/classshaka_1_1media_1_1MemoryFile.html#aac5f63ba0bb136eac2260a034edc10cf',1,'shaka::media::MemoryFile::Read()'],['../d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html#a5bd05e37779441004cd7ba0c33de1ad6',1,'shaka::media::ThreadedIoFile::Read()'],['../d7/d7a/classshaka_1_1media_1_1UdpFile.html#a9e6387d6c23e6cfd7a91ed432fe3e81c',1,'shaka::media::UdpFile::Read()']]], ['read1',['Read1',['../d9/d13/classshaka_1_1media_1_1BufferReader.html#a65b65ad5a5ebc9d66182c38ec9876c05',1,'shaka::media::BufferReader']]], ['readallchildren',['ReadAllChildren',['../d1/dee/classshaka_1_1media_1_1mp4_1_1BoxReader.html#a8b5c7d5a487fb3063eae1495aa3a7566',1,'shaka::media::mp4::BoxReader']]], diff --git a/docs/search/classes_a.js b/docs/search/classes_a.js index c52adb270a..714d4a7f94 100644 --- a/docs/search/classes_a.js +++ b/docs/search/classes_a.js @@ -8,6 +8,7 @@ var searchData= ['mediaheader',['MediaHeader',['../d4/db9/structshaka_1_1media_1_1mp4_1_1MediaHeader.html',1,'shaka::media::mp4']]], ['mediainformation',['MediaInformation',['../d5/d86/structshaka_1_1media_1_1mp4_1_1MediaInformation.html',1,'shaka::media::mp4']]], ['mediaparser',['MediaParser',['../d3/d0a/classshaka_1_1media_1_1MediaParser.html',1,'shaka::media']]], + ['mediaranges',['MediaRanges',['../d1/d03/structshaka_1_1media_1_1MuxerListener_1_1MediaRanges.html',1,'shaka::media::MuxerListener']]], ['mediasample',['MediaSample',['../d7/d6d/classshaka_1_1media_1_1MediaSample.html',1,'shaka::media']]], ['memoryfile',['MemoryFile',['../d9/dbd/classshaka_1_1media_1_1MemoryFile.html',1,'shaka::media']]], ['metadata',['Metadata',['../dd/df6/structshaka_1_1media_1_1mp4_1_1Metadata.html',1,'shaka::media::mp4']]], diff --git a/docs/search/classes_e.js b/docs/search/classes_e.js index e4d4ed0070..db11f27f0e 100644 --- a/docs/search/classes_e.js +++ b/docs/search/classes_e.js @@ -1,5 +1,6 @@ var searchData= [ + ['range',['Range',['../d9/de0/structshaka_1_1media_1_1Range.html',1,'shaka::media']]], ['representation',['Representation',['../de/d52/classshaka_1_1Representation.html',1,'shaka']]], ['representationbasexmlnode',['RepresentationBaseXmlNode',['../dd/db9/classshaka_1_1xml_1_1RepresentationBaseXmlNode.html',1,'shaka::xml']]], ['representationstatechangelistener',['RepresentationStateChangeListener',['../df/d94/classshaka_1_1RepresentationStateChangeListener.html',1,'shaka']]], diff --git a/docs/search/functions_c.js b/docs/search/functions_c.js index 5d4ed7fd10..ba24c0aaa8 100644 --- a/docs/search/functions_c.js +++ b/docs/search/functions_c.js @@ -4,7 +4,7 @@ var searchData= ['onencryptionstart',['OnEncryptionStart',['../d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html#a49b4187f39abe517768364f7ecb280f9',1,'shaka::media::HlsNotifyMuxerListener::OnEncryptionStart()'],['../d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html#a56ccf04196458894f31d0db102153334',1,'shaka::media::MpdNotifyMuxerListener::OnEncryptionStart()'],['../dd/d7a/classshaka_1_1media_1_1MuxerListener.html#a897463091f0effa647a8e2822f48b2ee',1,'shaka::media::MuxerListener::OnEncryptionStart()'],['../db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html#ae8f6f65fbab9f301be5bb35f5b8d1cbc',1,'shaka::media::VodMediaInfoDumpMuxerListener::OnEncryptionStart()']]], ['onflushrequest',['OnFlushRequest',['../da/dfd/classshaka_1_1media_1_1MediaHandler.html#a69a31b8ec1b85fd4790c7c2013c69a73',1,'shaka::media::MediaHandler::OnFlushRequest()'],['../d1/d36/classshaka_1_1media_1_1FakeMediaHandler.html#a3f82edd4474f20464224e881dd20fdb0',1,'shaka::media::FakeMediaHandler::OnFlushRequest()'],['../df/d46/classshaka_1_1media_1_1Muxer.html#a9f08c1385506636b800769480869e04f',1,'shaka::media::Muxer::OnFlushRequest()'],['../d4/d43/classshaka_1_1media_1_1ChunkingHandler.html#ab526bd53e4d49d7209f01d9b10b9ab52',1,'shaka::media::ChunkingHandler::OnFlushRequest()'],['../db/dea/classshaka_1_1media_1_1TrickPlayHandler.html#a9a6c29c88fdeb667d5592142d6815bfa',1,'shaka::media::TrickPlayHandler::OnFlushRequest()']]], ['onliststart',['OnListStart',['../d9/d87/classshaka_1_1media_1_1WebMContentEncodingsClient.html#a7b8b5447b3d573657f6dc029d2e6d8b7',1,'shaka::media::WebMContentEncodingsClient']]], - ['onmediaend',['OnMediaEnd',['../d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html#a4e88a20067b619c932a41e89997eba6a',1,'shaka::media::HlsNotifyMuxerListener::OnMediaEnd()'],['../d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html#a971bafa22a407a12f89bd4ddb33aac7e',1,'shaka::media::MpdNotifyMuxerListener::OnMediaEnd()'],['../dd/d7a/classshaka_1_1media_1_1MuxerListener.html#ac89a028372db9abbccf569819d9b2b35',1,'shaka::media::MuxerListener::OnMediaEnd()'],['../db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html#adabba5568154b8f22b02a9b0572db32e',1,'shaka::media::VodMediaInfoDumpMuxerListener::OnMediaEnd()']]], + ['onmediaend',['OnMediaEnd',['../d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html#a364293169c006b55f6d80db536af8f0a',1,'shaka::media::HlsNotifyMuxerListener::OnMediaEnd()'],['../dc/d73/classshaka_1_1media_1_1MockMuxerListener.html#af78148a726979c3773a02809153c0a8b',1,'shaka::media::MockMuxerListener::OnMediaEnd()'],['../d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html#a33a1fd0c31a62355ccfa9d659218c747',1,'shaka::media::MpdNotifyMuxerListener::OnMediaEnd()'],['../dd/d7a/classshaka_1_1media_1_1MuxerListener.html#ab80aa62b360dbdf92f6d2e352b938639',1,'shaka::media::MuxerListener::OnMediaEnd()'],['../db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html#a87e740887c17a1b6706299264353d25b',1,'shaka::media::VodMediaInfoDumpMuxerListener::OnMediaEnd()']]], ['onmediastart',['OnMediaStart',['../d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html#ac60d8aed79f2a1581dfec1ed5ad10f22',1,'shaka::media::HlsNotifyMuxerListener::OnMediaStart()'],['../d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html#ad0aeb94e2e1fe1b5ead506b690e6f70f',1,'shaka::media::MpdNotifyMuxerListener::OnMediaStart()'],['../dd/d7a/classshaka_1_1media_1_1MuxerListener.html#a31536ec385a7ec22f323a42b872b499a',1,'shaka::media::MuxerListener::OnMediaStart()'],['../db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html#a4811b4ce8292f0f449a35a837aeab74f',1,'shaka::media::VodMediaInfoDumpMuxerListener::OnMediaStart()']]], ['onnewsegment',['OnNewSegment',['../d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html#aea9c2b0247695d4cf20d50fe44c7d918',1,'shaka::media::HlsNotifyMuxerListener::OnNewSegment()'],['../d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html#a9976447daf55bbdea1cd0d8846512e11',1,'shaka::media::MpdNotifyMuxerListener::OnNewSegment()'],['../dd/d7a/classshaka_1_1media_1_1MuxerListener.html#a4cb75da6ff50d6403da18ea8dcc04265',1,'shaka::media::MuxerListener::OnNewSegment()'],['../db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html#a36e979fe7b3cfa69dc257e5e439dca08',1,'shaka::media::VodMediaInfoDumpMuxerListener::OnNewSegment()']]], ['onnewsegmentforrepresentation',['OnNewSegmentForRepresentation',['../d8/d8e/classshaka_1_1AdaptationSet.html#afcfb8f59204f6ec2f5dcd9cbd81dddf9',1,'shaka::AdaptationSet::OnNewSegmentForRepresentation()'],['../df/d94/classshaka_1_1RepresentationStateChangeListener.html#a2fc3088977c82cab3bac96be10c7c117',1,'shaka::RepresentationStateChangeListener::OnNewSegmentForRepresentation()']]], diff --git a/docs/search/search.js b/docs/search/search.js index 69589d4895..be1d7ff9a0 100644 --- a/docs/search/search.js +++ b/docs/search/search.js @@ -11,7 +11,7 @@ var indexSectionsWithContent = 1: "abcdefhiklmnoprstuvwx", 2: "s", 3: "abcdefghilmnoprstuvwx~", - 4: "bckmnopstv", + 4: "bcikmnopstv", 5: "in", 6: "p", 7: "k" diff --git a/docs/search/variables_2.js b/docs/search/variables_2.js index bdfe8b9da7..fc32f50655 100644 --- a/docs/search/variables_2.js +++ b/docs/search/variables_2.js @@ -1,6 +1,5 @@ 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']]], - ['korderinvalid',['kOrderInvalid',['../dc/da6/classshaka_1_1media_1_1ContentEncoding.html#a3ba32d5ca8b0688b2dc6b2ec8a5be6d2',1,'shaka::media::ContentEncoding']]] + ['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']]] ]; diff --git a/docs/search/variables_3.js b/docs/search/variables_3.js index eb380ea9e5..bdfe8b9da7 100644 --- a/docs/search/variables_3.js +++ b/docs/search/variables_3.js @@ -1,4 +1,6 @@ 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']]], + ['korderinvalid',['kOrderInvalid',['../dc/da6/classshaka_1_1media_1_1ContentEncoding.html#a3ba32d5ca8b0688b2dc6b2ec8a5be6d2',1,'shaka::media::ContentEncoding']]] ]; diff --git a/docs/search/variables_4.js b/docs/search/variables_4.js index a224fec24b..eb380ea9e5 100644 --- a/docs/search/variables_4.js +++ b/docs/search/variables_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['num_5fsubsegments_5fper_5fsidx',['num_subsegments_per_sidx',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#a2db773300dadf681c40bef0b3eca3ece',1,'shaka::media::MuxerOptions']]] + ['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']]] ]; diff --git a/docs/search/variables_5.js b/docs/search/variables_5.js index 5565b9b77c..a224fec24b 100644 --- a/docs/search/variables_5.js +++ b/docs/search/variables_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['output_5ffile_5fname',['output_file_name',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#a5397ee8759a663aea68261600e528d82',1,'shaka::media::MuxerOptions']]] + ['num_5fsubsegments_5fper_5fsidx',['num_subsegments_per_sidx',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#a2db773300dadf681c40bef0b3eca3ece',1,'shaka::media::MuxerOptions']]] ]; diff --git a/docs/search/variables_6.js b/docs/search/variables_6.js index fd0c1a01b1..5565b9b77c 100644 --- a/docs/search/variables_6.js +++ b/docs/search/variables_6.js @@ -1,5 +1,4 @@ var searchData= [ - ['private_5fframe',['private_frame',['../d3/dad/structshaka_1_1media_1_1mp4_1_1ID3v2.html#a33c145fa8ed1417799dce66a94f8e95c',1,'shaka::media::mp4::ID3v2']]], - ['protection_5fscheme',['protection_scheme',['../d6/d82/structshaka_1_1media_1_1EncryptionOptions.html#ac858b4c03e49e871e07e38fc35893088',1,'shaka::media::EncryptionOptions']]] + ['output_5ffile_5fname',['output_file_name',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#a5397ee8759a663aea68261600e528d82',1,'shaka::media::MuxerOptions']]] ]; diff --git a/docs/search/variables_7.js b/docs/search/variables_7.js index fc7fbf8b8a..fd0c1a01b1 100644 --- a/docs/search/variables_7.js +++ b/docs/search/variables_7.js @@ -1,10 +1,5 @@ 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_5ftemplate',['segment_template',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#ab98cfd28046fc5c52ab2a45dba1a339a',1,'shaka::media::MuxerOptions']]], - ['stream_5flabel_5ffunc',['stream_label_func',['../d6/d82/structshaka_1_1media_1_1EncryptionOptions.html#a586017f7bf6490e06a61c1f6eaf7970c',1,'shaka::media::EncryptionOptions']]], - ['subsegment_5fduration_5fin_5fseconds',['subsegment_duration_in_seconds',['../db/d02/structshaka_1_1media_1_1ChunkingOptions.html#ac9368f6edb53d9dd90bc128b664a12e5',1,'shaka::media::ChunkingOptions']]], - ['subsegment_5fsap_5faligned',['subsegment_sap_aligned',['../db/d02/structshaka_1_1media_1_1ChunkingOptions.html#a6d9761fdfca7819c94baa23845ce9ad7',1,'shaka::media::ChunkingOptions']]] + ['private_5fframe',['private_frame',['../d3/dad/structshaka_1_1media_1_1mp4_1_1ID3v2.html#a33c145fa8ed1417799dce66a94f8e95c',1,'shaka::media::mp4::ID3v2']]], + ['protection_5fscheme',['protection_scheme',['../d6/d82/structshaka_1_1media_1_1EncryptionOptions.html#ac858b4c03e49e871e07e38fc35893088',1,'shaka::media::EncryptionOptions']]] ]; diff --git a/docs/search/variables_8.js b/docs/search/variables_8.js index 1c19a50ff1..dd09d30c50 100644 --- a/docs/search/variables_8.js +++ b/docs/search/variables_8.js @@ -1,4 +1,11 @@ var searchData= [ - ['temp_5fdir',['temp_dir',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#a872d1150a71d9f0fb5db0ab81334d614',1,'shaka::media::MuxerOptions']]] + ['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_5ftemplate',['segment_template',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#ab98cfd28046fc5c52ab2a45dba1a339a',1,'shaka::media::MuxerOptions']]], + ['stream_5flabel_5ffunc',['stream_label_func',['../d6/d82/structshaka_1_1media_1_1EncryptionOptions.html#a586017f7bf6490e06a61c1f6eaf7970c',1,'shaka::media::EncryptionOptions']]], + ['subsegment_5fduration_5fin_5fseconds',['subsegment_duration_in_seconds',['../db/d02/structshaka_1_1media_1_1ChunkingOptions.html#ac9368f6edb53d9dd90bc128b664a12e5',1,'shaka::media::ChunkingOptions']]], + ['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']]] ]; diff --git a/docs/search/variables_9.js b/docs/search/variables_9.js index 5ac849307c..1c19a50ff1 100644 --- a/docs/search/variables_9.js +++ b/docs/search/variables_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['vp9_5fsubsample_5fencryption',['vp9_subsample_encryption',['../d6/d82/structshaka_1_1media_1_1EncryptionOptions.html#a2f971f63a7525a777d5578d87ef0c99f',1,'shaka::media::EncryptionOptions']]] + ['temp_5fdir',['temp_dir',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html#a872d1150a71d9f0fb5db0ab81334d614',1,'shaka::media::MuxerOptions']]] ]; diff --git a/docs/search/variables_a.html b/docs/search/variables_a.html new file mode 100644 index 0000000000..592abaa33c --- /dev/null +++ b/docs/search/variables_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/docs/search/variables_a.js b/docs/search/variables_a.js new file mode 100644 index 0000000000..5ac849307c --- /dev/null +++ b/docs/search/variables_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['vp9_5fsubsample_5fencryption',['vp9_subsample_encryption',['../d6/d82/structshaka_1_1media_1_1EncryptionOptions.html#a2f971f63a7525a777d5578d87ef0c99f',1,'shaka::media::EncryptionOptions']]] +];