diff --git a/docs/annotated.html b/docs/annotated.html index 0707638224..5675bc5c58 100644 --- a/docs/annotated.html +++ b/docs/annotated.html @@ -371,7 +371,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/classes.html b/docs/classes.html index cdb0676034..ec2114281f 100644 --- a/docs/classes.html +++ b/docs/classes.html @@ -146,8 +146,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); CodecConfiguration (shaka::media::mp4)   H264SEIRecoveryPoint (shaka::media)   MpdNotifyMuxerListener (shaka::media)   SegmentTestBase (shaka::media)   WebMClusterParser (shaka::media)    CompactSampleSize (shaka::media::mp4)   H264SliceHeader (shaka::media)   MpdOptions (shaka)   SegmentType (shaka::media::mp4)   WebMContentEncodingsClient (shaka::media)    CompositionOffset (shaka::media::mp4)   H264Sps (shaka::media)   MpdWriter (shaka)   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)   MultiSegmentSegmenter (shaka::media::mp4)   SingleSegmentSegmenter (shaka::media::webm)   WebMMediaParser (shaka::media)    +CompositionOffsetIterator (shaka::media::mp4)   H264VideoSliceHeaderParser (shaka::media)   MultiSegmentSegmenter (shaka::media::mp4)   SingleSegmentSegmenter (shaka::media::mp4)   WebMListParser (shaka::media)    +CompositionTimeToSample (shaka::media::mp4)   H264WeightingFactors (shaka::media)   MultiSegmentSegmenter (shaka::media::webm)   SingleSegmentSegmenter (shaka::media::webm)   WebMMediaParser (shaka::media)    ContentEncoding (shaka::media)   H265ByteToUnitStreamConverter (shaka::media)   Muxer (shaka::media)   SoundMediaHeader (shaka::media::mp4)   WebMMuxer (shaka::media::webm)    ContentProtectionElement (shaka)   H265Parser (shaka::media)   MuxerListener (shaka::media)   Status (shaka::media)   WebMParserClient (shaka::media)    ContinuityCounter (shaka::media::mp2t)   H265Pps (shaka::media)   MuxerOptions (shaka::media)   StreamDescriptor (shaka::media)   WebMTracksParser (shaka::media)    @@ -179,7 +179,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/d0/d00/structshaka_1_1media_1_1mp4_1_1HandlerReference-members.html b/docs/d0/d00/structshaka_1_1media_1_1mp4_1_1HandlerReference-members.html index cfe6fde644..30efaab59d 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 b0468547d6..4c5c10f18b 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 7935fac607..a121ee0807 100644 --- a/docs/d0/d06/mpd__flags_8cc_source.html +++ b/docs/d0/d06/mpd__flags_8cc_source.html @@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d0e/classshaka_1_1media_1_1HttpKeyFetcher-members.html b/docs/d0/d0e/classshaka_1_1media_1_1HttpKeyFetcher-members.html index bbe95e6b84..d77bd37437 100644 --- a/docs/d0/d0e/classshaka_1_1media_1_1HttpKeyFetcher-members.html +++ b/docs/d0/d0e/classshaka_1_1media_1_1HttpKeyFetcher-members.html @@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d0e/hevc__decoder__configuration__record_8h_source.html b/docs/d0/d0e/hevc__decoder__configuration__record_8h_source.html index f386439816..a20c33051c 100644 --- a/docs/d0/d0e/hevc__decoder__configuration__record_8h_source.html +++ b/docs/d0/d0e/hevc__decoder__configuration__record_8h_source.html @@ -138,7 +138,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d0e/muxer__options_8h_source.html b/docs/d0/d0e/muxer__options_8h_source.html index 9d6d2712b7..7b5873ccf6 100644 --- a/docs/d0/d0e/muxer__options_8h_source.html +++ b/docs/d0/d0e/muxer__options_8h_source.html @@ -152,7 +152,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d0f/classshaka_1_1media_1_1mp2t_1_1TsSectionPmt-members.html b/docs/d0/d0f/classshaka_1_1media_1_1mp2t_1_1TsSectionPmt-members.html index 86058f99ec..04233926cd 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 9ab8868c51..50db0a5d9c 100644 --- a/docs/d0/d11/structshaka_1_1media_1_1VPxFrameInfo.html +++ b/docs/d0/d11/structshaka_1_1media_1_1VPxFrameInfo.html @@ -121,7 +121,7 @@ uint32_t height diff --git a/docs/d0/d1e/classshaka_1_1media_1_1H265ByteToUnitStreamConverter-members.html b/docs/d0/d1e/classshaka_1_1media_1_1H265ByteToUnitStreamConverter-members.html index 8adfb49e84..334f423248 100644 --- a/docs/d0/d1e/classshaka_1_1media_1_1H265ByteToUnitStreamConverter-members.html +++ b/docs/d0/d1e/classshaka_1_1media_1_1H265ByteToUnitStreamConverter-members.html @@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d1f/structshaka_1_1media_1_1mp4_1_1VTTCueBox-members.html b/docs/d0/d1f/structshaka_1_1media_1_1mp4_1_1VTTCueBox-members.html index 1fb7410764..93c0d0e2ba 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 82c95ad79f..05b116dddf 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 54a8a102fe..be2ae06ca0 100644 --- a/docs/d0/d27/structshaka_1_1media_1_1MuxerOptions.html +++ b/docs/d0/d27/structshaka_1_1media_1_1MuxerOptions.html @@ -291,7 +291,7 @@ bool webm_subsample_encryp diff --git a/docs/d0/d30/mock__mpd__notifier_8h_source.html b/docs/d0/d30/mock__mpd__notifier_8h_source.html index d2933aaa1b..2bc75ad240 100644 --- a/docs/d0/d30/mock__mpd__notifier_8h_source.html +++ b/docs/d0/d30/mock__mpd__notifier_8h_source.html @@ -148,7 +148,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d32/mp2t__common_8h_source.html b/docs/d0/d32/mp2t__common_8h_source.html index 24a521f431..2790cfe849 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 5b182b9375..853f1aea1b 100644 --- a/docs/d0/d33/classshaka_1_1MockRepresentation.html +++ b/docs/d0/d33/classshaka_1_1MockRepresentation.html @@ -147,8 +147,8 @@ Additional Inherited Members }   - Protected Member Functions inherited from shaka::RepresentationRepresentation (const MediaInfo &media_info, const MpdOptions &mpd_options, uint32_t representation_id, scoped_ptr< RepresentationStateChangeListener > state_change_listener) -  + Representation (const MediaInfo &media_info, const MpdOptions &mpd_options, uint32_t representation_id, std::unique_ptr< RepresentationStateChangeListener > state_change_listener) + 

Detailed Description

@@ -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 36caf287c7..5d6f645b04 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 ae12467279..ff0a2ec038 100644 --- a/docs/d0/d3a/hls__notify__muxer__listener_8cc_source.html +++ b/docs/d0/d3a/hls__notify__muxer__listener_8cc_source.html @@ -95,8 +95,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
6 
7 #include "packager/media/event/hls_notify_muxer_listener.h"
8 
-
9 #include "packager/base/logging.h"
-
10 #include "packager/base/memory/scoped_ptr.h"
+
9 #include <memory>
+
10 #include "packager/base/logging.h"
11 #include "packager/hls/base/hls_notifier.h"
12 #include "packager/media/base/muxer_options.h"
13 #include "packager/media/base/protection_system_specific_info.h"
@@ -220,7 +220,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d3a/webm__constants_8h_source.html b/docs/d0/d3a/webm__constants_8h_source.html index 86d77f8ae1..819ae268d3 100644 --- a/docs/d0/d3a/webm__constants_8h_source.html +++ b/docs/d0/d3a/webm__constants_8h_source.html @@ -318,7 +318,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d3c/structshaka_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html b/docs/d0/d3c/structshaka_1_1media_1_1mp4_1_1ProtectionSystemSpecificHeader.html index e09b6b9bd8..d1cb73076e 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 8e88d9ac69..13490630c1 100644 --- a/docs/d0/d42/aes__cryptor_8h_source.html +++ b/docs/d0/d42/aes__cryptor_8h_source.html @@ -96,11 +96,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
7 #ifndef PACKAGER_MEDIA_BASE_AES_CRYPTOR_H_
8 #define PACKAGER_MEDIA_BASE_AES_CRYPTOR_H_
9 
-
10 #include <string>
-
11 #include <vector>
-
12 
-
13 #include "packager/base/macros.h"
-
14 #include "packager/base/memory/scoped_ptr.h"
+
10 #include <memory>
+
11 #include <string>
+
12 #include <vector>
+
13 
+
14 #include "packager/base/macros.h"
15 #include "packager/media/base/fourccs.h"
16 
17 struct aes_key_st;
@@ -182,7 +182,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
119  virtual size_t NumPaddingBytes(size_t size) const;
120 
121  // Openssl AES_KEY.
-
122  scoped_ptr<AES_KEY> aes_key_;
+
122  std::unique_ptr<AES_KEY> aes_key_;
123 
124  // Indicates whether a constant iv is used. Internal iv will be reset to
125  // |iv_| before calling Crypt if that is the case.
@@ -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 86a26c0f4f..71da3a039a 100644 --- a/docs/d0/d42/widevine__encryption__flags_8cc_source.html +++ b/docs/d0/d42/widevine__encryption__flags_8cc_source.html @@ -258,7 +258,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d46/fourccs_8h_source.html b/docs/d0/d46/fourccs_8h_source.html index c306bc165b..694b50178b 100644 --- a/docs/d0/d46/fourccs_8h_source.html +++ b/docs/d0/d46/fourccs_8h_source.html @@ -248,7 +248,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d49/vod__media__info__dump__muxer__listener_8cc_source.html b/docs/d0/d49/vod__media__info__dump__muxer__listener_8cc_source.html index dcca1fae1a..d77ea21606 100644 --- a/docs/d0/d49/vod__media__info__dump__muxer__listener_8cc_source.html +++ b/docs/d0/d49/vod__media__info__dump__muxer__listener_8cc_source.html @@ -237,7 +237,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d4b/structshaka_1_1media_1_1mp4_1_1MediaInformation-members.html b/docs/d0/d4b/structshaka_1_1media_1_1mp4_1_1MediaInformation-members.html index d6e0b7a7d4..8620314e77 100644 --- a/docs/d0/d4b/structshaka_1_1media_1_1mp4_1_1MediaInformation-members.html +++ b/docs/d0/d4b/structshaka_1_1media_1_1mp4_1_1MediaInformation-members.html @@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d4d/classshaka_1_1media_1_1AudioTimestampHelper.html b/docs/d0/d4d/classshaka_1_1media_1_1AudioTimestampHelper.html index f97c4435fd..2b2b4e0fbc 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 e4d699f01e..f63a24e095 100644 --- a/docs/d0/d4e/libcrypto__threading_8cc_source.html +++ b/docs/d0/d4e/libcrypto__threading_8cc_source.html @@ -97,10 +97,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
8 
9 #include <openssl/thread.h>
10 
-
11 #include <vector>
-
12 
-
13 #include "packager/base/logging.h"
-
14 #include "packager/base/memory/scoped_ptr.h"
+
11 #include <memory>
+
12 #include <vector>
+
13 
+
14 #include "packager/base/logging.h"
15 #include "packager/base/synchronization/lock.h"
16 #include "packager/base/threading/platform_thread.h"
17 
@@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
20 
21 namespace {
22 
-
23 scoped_ptr<base::Lock[]> global_locks;
+
23 std::unique_ptr<base::Lock[]> global_locks;
24 
25 void LockFunction(int mode, int n, const char* file, int line) {
26  VLOG(2) << "CryptoLock @ " << file << ":" << line;
@@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d53/classshaka_1_1media_1_1mp2t_1_1TsMuxer-members.html b/docs/d0/d53/classshaka_1_1media_1_1mp2t_1_1TsMuxer-members.html index 773a7694f2..9433623cc3 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 @@ -108,8 +108,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); Run()shaka::media::Muxer set_clock(base::Clock *clock)shaka::media::Muxerinline SetKeySource(KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds, double crypto_period_duration_in_seconds, FourCC protection_scheme)shaka::media::Muxer - SetMuxerListener(scoped_ptr< MuxerListener > muxer_listener)shaka::media::Muxer - SetProgressListener(scoped_ptr< ProgressListener > progress_listener)shaka::media::Muxer + SetMuxerListener(std::unique_ptr< MuxerListener > muxer_listener)shaka::media::Muxer + SetProgressListener(std::unique_ptr< ProgressListener > progress_listener)shaka::media::Muxer streams() const (defined in shaka::media::Muxer)shaka::media::Muxerinline TsMuxer(const MuxerOptions &muxer_options) (defined in shaka::media::mp2t::TsMuxer)shaka::media::mp2t::TsMuxerexplicit ~Muxer() (defined in shaka::media::Muxer)shaka::media::Muxervirtual @@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d5b/classshaka_1_1media_1_1MpdNotifyMuxerListener-members.html b/docs/d0/d5b/classshaka_1_1media_1_1MpdNotifyMuxerListener-members.html index 990f0be8eb..f54f0f21fe 100644 --- a/docs/d0/d5b/classshaka_1_1media_1_1MpdNotifyMuxerListener-members.html +++ b/docs/d0/d5b/classshaka_1_1media_1_1MpdNotifyMuxerListener-members.html @@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html b/docs/d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html index 003a734d53..50244c3823 100644 --- a/docs/d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html +++ b/docs/d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html @@ -119,9 +119,9 @@ Public Types - - + + @@ -438,7 +438,7 @@ Additional Inherited Members diff --git a/docs/d0/d6a/classshaka_1_1media_1_1StreamDescriptorCompareFn-members.html b/docs/d0/d6a/classshaka_1_1media_1_1StreamDescriptorCompareFn-members.html index b00c10ceb5..4b96f74bac 100644 --- a/docs/d0/d6a/classshaka_1_1media_1_1StreamDescriptorCompareFn-members.html +++ b/docs/d0/d6a/classshaka_1_1media_1_1StreamDescriptorCompareFn-members.html @@ -97,7 +97,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');

Public Member Functions

ThreadedIoFile (scoped_ptr< File, FileCloser > internal_file, Mode mode, uint64_t io_cache_size, uint64_t io_block_size)
 
ThreadedIoFile (std::unique_ptr< File, FileCloser > internal_file, Mode mode, uint64_t io_cache_size, uint64_t io_block_size)
 
File implementation overrides.
bool Close () override
 
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 c3550523cd..b55d688e47 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 864ab200fe..cb36021b3c 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 bb2ebea8c7..83ce809735 100644 --- a/docs/d0/d7d/decryptor__source_8h_source.html +++ b/docs/d0/d7d/decryptor__source_8h_source.html @@ -128,12 +128,12 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
40 #endif // MEDIA_BASE_DECRYPTOR_SOURCE_H_
-
KeySource is responsible for encryption key acquisition.
Definition: key_source.h:31
+
KeySource is responsible for encryption key acquisition.
Definition: key_source.h:30
DecryptorSource wraps KeySource and is responsible for decryptor management.
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 be616c849d..881dee00a3 100644 --- a/docs/d0/d80/classshaka_1_1media_1_1AesCbcEncryptor-members.html +++ b/docs/d0/d80/classshaka_1_1media_1_1AesCbcEncryptor-members.html @@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d80/classshaka_1_1media_1_1Status-members.html b/docs/d0/d80/classshaka_1_1media_1_1Status-members.html index cf763e7033..026ed5f468 100644 --- a/docs/d0/d80/classshaka_1_1media_1_1Status-members.html +++ b/docs/d0/d80/classshaka_1_1media_1_1Status-members.html @@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d93/classshaka_1_1media_1_1Status.html b/docs/d0/d93/classshaka_1_1media_1_1Status.html index 44c5007ec8..f2b9451b36 100644 --- a/docs/d0/d93/classshaka_1_1media_1_1Status.html +++ b/docs/d0/d93/classshaka_1_1media_1_1Status.html @@ -302,7 +302,7 @@ static const diff --git a/docs/d0/d9a/structshaka_1_1media_1_1mp4_1_1Movie.html b/docs/d0/d9a/structshaka_1_1media_1_1mp4_1_1Movie.html index bf529c8c02..79799ea0af 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 5c637790c5..d1af6bc134 100644 --- a/docs/d0/da2/classshaka_1_1media_1_1AACAudioSpecificConfig.html +++ b/docs/d0/da2/classshaka_1_1media_1_1AACAudioSpecificConfig.html @@ -329,7 +329,7 @@ static const size_t  diff --git a/docs/d0/da2/classshaka_1_1media_1_1RequestSigner-members.html b/docs/d0/da2/classshaka_1_1media_1_1RequestSigner-members.html index 01bcf087f9..a0b8b71b5e 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 ab777f73b6..7cbfbfdc92 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 ca9a844967..454eeedf3d 100644 --- a/docs/d0/da6/stream__descriptor_8cc_source.html +++ b/docs/d0/da6/stream__descriptor_8cc_source.html @@ -295,7 +295,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/dab/classshaka_1_1media_1_1mp4_1_1SingleSegmentSegmenter.html b/docs/d0/dab/classshaka_1_1media_1_1mp4_1_1SingleSegmentSegmenter.html index f151d4fbc3..b290d299fb 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 @@ -107,18 +107,18 @@ Inheritance diagram for shaka::media::mp4::SingleSegmentSegmenter: - - + + - - + + @@ -259,7 +259,7 @@ void 

Public Member Functions

SingleSegmentSegmenter (const MuxerOptions &options, scoped_ptr< FileType > ftyp, scoped_ptr< Movie > moov)
 
SingleSegmentSegmenter (const MuxerOptions &options, std::unique_ptr< FileType > ftyp, std::unique_ptr< Movie > moov)
 
Segmenter implementation overrides.
bool GetInitRange (size_t *offset, size_t *size) override
 
bool GetIndexRange (size_t *offset, size_t *size) override
 
- Public Member Functions inherited from shaka::media::mp4::Segmenter
Segmenter (const MuxerOptions &options, scoped_ptr< FileType > ftyp, scoped_ptr< Movie > moov)
 
Segmenter (const MuxerOptions &options, std::unique_ptr< FileType > ftyp, std::unique_ptr< Movie > moov)
 
Status Initialize (const std::vector< MediaStream * > &streams, MuxerListener *muxer_listener, ProgressListener *progress_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds, double crypto_period_duration_in_seconds, FourCC protection_scheme)
 
Status Finalize ()
set_progress_target diff --git a/docs/d0/dac/classshaka_1_1media_1_1FixedKeySource.html b/docs/d0/dac/classshaka_1_1media_1_1FixedKeySource.html index ba4a8c2f66..29d7102961 100644 --- a/docs/d0/dac/classshaka_1_1media_1_1FixedKeySource.html +++ b/docs/d0/dac/classshaka_1_1media_1_1FixedKeySource.html @@ -126,8 +126,9 @@ Public Member Functions
- - + + @@ -158,7 +159,7 @@ Additional Inherited Members

Definition at line 27 of file fixed_key_source.h.

Member Function Documentation

- +

Static Public Member Functions

static scoped_ptr< FixedKeySourceCreateFromHexStrings (const std::string &key_id_hex, const std::string &key_hex, const std::string &pssh_boxes_hex, const std::string &iv_hex)
 
static std::unique_ptr
+< FixedKeySource
CreateFromHexStrings (const std::string &key_id_hex, const std::string &key_hex, const std::string &pssh_boxes_hex, const std::string &iv_hex)
 
- Static Public Member Functions inherited from shaka::media::KeySource
static TrackType GetTrackTypeFromString (const std::string &track_type_string)
@@ -166,7 +167,7 @@ Additional Inherited Members
- + @@ -479,7 +480,7 @@ Additional Inherited Members diff --git a/docs/d0/dbd/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter-members.html b/docs/d0/dbd/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter-members.html index 3b731e2620..673a57d9c3 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 @@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); - + @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); - + @@ -123,7 +123,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
scoped_ptr< FixedKeySource > shaka::media::FixedKeySource::CreateFromHexStrings std::unique_ptr< FixedKeySource > shaka::media::FixedKeySource::CreateFromHexStrings ( const std::string &  key_id_hex,
cluster_length_sec() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected
cues() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected
DoFinalize() override (defined in shaka::media::webm::MultiSegmentSegmenter)shaka::media::webm::MultiSegmentSegmenterprotectedvirtual
DoInitialize(scoped_ptr< MkvWriter > writer) override (defined in shaka::media::webm::MultiSegmentSegmenter)shaka::media::webm::MultiSegmentSegmenterprotectedvirtual
DoInitialize(std::unique_ptr< MkvWriter > writer) override (defined in shaka::media::webm::MultiSegmentSegmenter)shaka::media::webm::MultiSegmentSegmenterprotectedvirtual
Finalize()shaka::media::webm::Segmenter
FromBMFFTimescale(uint64_t time_timescale)shaka::media::webm::Segmenterprotected
FromWebMTimecode(uint64_t time_webm_timecode)shaka::media::webm::Segmenterprotected
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(scoped_ptr< MkvWriter > writer, StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds)shaka::media::webm::Segmenter
Initialize(std::unique_ptr< MkvWriter > writer, StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds)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
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 b9afe818a2..be267167c3 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 bbe5b73886..a29021be83 100644 --- a/docs/d0/dc8/classshaka_1_1xml_1_1AdaptationSetXmlNode-members.html +++ b/docs/d0/dc8/classshaka_1_1xml_1_1AdaptationSetXmlNode-members.html @@ -114,7 +114,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/dce/classshaka_1_1media_1_1RsaPrivateKey.html b/docs/d0/dce/classshaka_1_1media_1_1RsaPrivateKey.html index 68e582cafa..b104525eba 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 ee0ca93eac..dce21294c7 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 4c797c8411..b33ff48ec4 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 d94092cd46..7ee3d8a786 100644 --- a/docs/d0/dd6/webm__crypto__helpers_8cc_source.html +++ b/docs/d0/dd6/webm__crypto__helpers_8cc_source.html @@ -120,7 +120,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
31  int data_size,
32  const uint8_t* key_id,
33  int key_id_size,
-
34  scoped_ptr<DecryptConfig>* decrypt_config,
+
34  std::unique_ptr<DecryptConfig>* decrypt_config,
35  int* data_offset) {
36  int header_size = kWebMSignalByteSize;
37  if (data_size < header_size) {
@@ -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 38ea8a6398..7b6e27290b 100644 --- a/docs/d0/dd8/classshaka_1_1media_1_1AesCtrEncryptor.html +++ b/docs/d0/dd8/classshaka_1_1media_1_1AesCtrEncryptor.html @@ -157,7 +157,7 @@ AES_KEY * mutable_aes_key<

Detailed Description

-

Definition at line 43 of file aes_encryptor.h.

+

Definition at line 42 of file aes_encryptor.h.


The documentation for this class was generated from the following files:
  • media/base/aes_encryptor.h
  • media/base/aes_encryptor.cc
  • @@ -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 413fa2eff5..1ff20da4f2 100644 --- a/docs/d0/dee/segmenter__test__base_8h_source.html +++ b/docs/d0/dee/segmenter__test__base_8h_source.html @@ -100,10 +100,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    11 
    12 #include "packager/media/base/media_sample.h"
    13 #include "packager/media/base/muxer_options.h"
    -
    14 #include "packager/media/base/video_stream_info.h"
    -
    15 #include "packager/media/base/status.h"
    -
    16 #include "packager/media/base/stream_info.h"
    -
    17 #include "packager/media/base/test/status_test_util.h"
    +
    14 #include "packager/media/base/status.h"
    +
    15 #include "packager/media/base/stream_info.h"
    +
    16 #include "packager/media/base/test/status_test_util.h"
    +
    17 #include "packager/media/base/video_stream_info.h"
    18 #include "packager/media/file/file_closer.h"
    19 #include "packager/media/file/file_test_util.h"
    20 #include "packager/media/file/memory_file.h"
    @@ -132,82 +132,83 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    43  void TearDown() override;
    44 
    46  template <typename S>
    - -
    48  StreamInfo* info,
    -
    49  KeySource* key_source,
    -
    50  scoped_ptr<webm::Segmenter>* result) const {
    -
    51  scoped_ptr<S> segmenter(new S(options));
    -
    52 
    -
    53  scoped_ptr<MkvWriter> writer(new MkvWriter());
    -
    54  ASSERT_OK(writer->Open(options.output_file_name));
    -
    55  ASSERT_OK(segmenter->Initialize(
    -
    56  writer.Pass(), info, NULL /* progress_listener */,
    -
    57  NULL /* muxer_listener */, key_source, 0 /* max_sd_pixels */,
    -
    58  1 /* clear_lead_in_seconds */));
    -
    59  *result = segmenter.Pass();
    -
    60  }
    -
    61 
    -
    63  scoped_refptr<MediaSample> CreateSample(KeyFrameFlag key_frame_flag,
    -
    64  uint64_t duration,
    -
    65  SideDataFlag side_data_flag);
    - - -
    70 
    -
    72  std::string OutputFileName() const;
    -
    74  std::string TemplateFileName(int number) const;
    -
    75 
    -
    76  protected:
    -
    77  // A helper class used to determine the number of clusters and frames for a
    -
    78  // given WebM file.
    -
    79  class ClusterParser : private WebMParserClient {
    -
    80  public:
    -
    81  ClusterParser();
    -
    82  ~ClusterParser() override;
    -
    83 
    -
    84  // Make sure to use ASSERT_NO_FATAL_FAILURE.
    -
    85  void PopulateFromCluster(const std::string& file_name);
    -
    86  void PopulateFromSegment(const std::string& file_name);
    -
    87 
    -
    88  int GetFrameCountForCluster(size_t i) const;
    -
    89 
    -
    90  int cluster_count() const;
    -
    91 
    -
    92  private:
    -
    93  // WebMParserClient overrides.
    -
    94  WebMParserClient* OnListStart(int id) override;
    -
    95  bool OnListEnd(int id) override;
    -
    96  bool OnUInt(int id, int64_t val) override;
    -
    97  bool OnFloat(int id, double val) override;
    -
    98  bool OnBinary(int id, const uint8_t* data, int size) override;
    -
    99  bool OnString(int id, const std::string& str) override;
    -
    100 
    -
    101  private:
    -
    102  std::vector<int> cluster_sizes_;
    -
    103  bool in_cluster_;
    -
    104  };
    -
    105 
    -
    106  protected:
    -
    107  std::string output_file_name_;
    -
    108  std::string segment_template_;
    -
    109  uint64_t cur_time_timescale_;
    -
    110  bool single_segment_;
    -
    111 };
    -
    112 
    -
    113 } // namespace media
    -
    114 } // namespace shaka
    -
    115 
    -
    116 #endif // MEDIA_FORMATS_WEBM_SEGMENTER_TEST_UTILS_H_
    - + +
    48  const MuxerOptions& options,
    +
    49  StreamInfo* info,
    +
    50  KeySource* key_source,
    +
    51  std::unique_ptr<webm::Segmenter>* result) const {
    +
    52  std::unique_ptr<S> segmenter(new S(options));
    +
    53 
    +
    54  std::unique_ptr<MkvWriter> writer(new MkvWriter());
    +
    55  ASSERT_OK(writer->Open(options.output_file_name));
    +
    56  ASSERT_OK(segmenter->Initialize(
    +
    57  std::move(writer), info, NULL /* progress_listener */,
    +
    58  NULL /* muxer_listener */, key_source, 0 /* max_sd_pixels */,
    +
    59  1 /* clear_lead_in_seconds */));
    +
    60  *result = std::move(segmenter);
    +
    61  }
    +
    62 
    +
    64  scoped_refptr<MediaSample> CreateSample(KeyFrameFlag key_frame_flag,
    +
    65  uint64_t duration,
    +
    66  SideDataFlag side_data_flag);
    + + +
    71 
    +
    73  std::string OutputFileName() const;
    +
    75  std::string TemplateFileName(int number) const;
    +
    76 
    +
    77  protected:
    +
    78  // A helper class used to determine the number of clusters and frames for a
    +
    79  // given WebM file.
    +
    80  class ClusterParser : private WebMParserClient {
    +
    81  public:
    +
    82  ClusterParser();
    +
    83  ~ClusterParser() override;
    +
    84 
    +
    85  // Make sure to use ASSERT_NO_FATAL_FAILURE.
    +
    86  void PopulateFromCluster(const std::string& file_name);
    +
    87  void PopulateFromSegment(const std::string& file_name);
    +
    88 
    +
    89  int GetFrameCountForCluster(size_t i) const;
    +
    90 
    +
    91  int cluster_count() const;
    +
    92 
    +
    93  private:
    +
    94  // WebMParserClient overrides.
    +
    95  WebMParserClient* OnListStart(int id) override;
    +
    96  bool OnListEnd(int id) override;
    +
    97  bool OnUInt(int id, int64_t val) override;
    +
    98  bool OnFloat(int id, double val) override;
    +
    99  bool OnBinary(int id, const uint8_t* data, int size) override;
    +
    100  bool OnString(int id, const std::string& str) override;
    +
    101 
    +
    102  private:
    +
    103  std::vector<int> cluster_sizes_;
    +
    104  bool in_cluster_;
    +
    105  };
    +
    106 
    +
    107  protected:
    +
    108  std::string output_file_name_;
    +
    109  std::string segment_template_;
    +
    110  uint64_t cur_time_timescale_;
    +
    111  bool single_segment_;
    +
    112 };
    +
    113 
    +
    114 } // namespace media
    +
    115 } // namespace shaka
    +
    116 
    +
    117 #endif // MEDIA_FORMATS_WEBM_SEGMENTER_TEST_UTILS_H_
    +
    Abstract class holds stream information.
    Definition: stream_info.h:53
    VideoStreamInfo * CreateVideoStreamInfo() const
    Creates a video stream info object for testing.
    This structure contains the list of configuration options for Muxer.
    Definition: muxer_options.h:18
    std::string OutputFileName() const
    Gets the file name of the current output file.
    -
    void CreateAndInitializeSegmenter(const MuxerOptions &options, StreamInfo *info, KeySource *key_source, scoped_ptr< webm::Segmenter > *result) const
    Creates a Segmenter of the given type and initializes it.
    scoped_refptr< MediaSample > CreateSample(KeyFrameFlag key_frame_flag, uint64_t duration, SideDataFlag side_data_flag)
    Creates a new media sample.
    An implementation of IMkvWriter using our File type.
    Definition: mkv_writer.h:21
    +
    void CreateAndInitializeSegmenter(const MuxerOptions &options, StreamInfo *info, KeySource *key_source, std::unique_ptr< webm::Segmenter > *result) const
    Creates a Segmenter of the given type and initializes it.
    MuxerOptions CreateMuxerOptions() const
    Creates a Muxer options object for testing.
    -
    KeySource is responsible for encryption key acquisition.
    Definition: key_source.h:31
    +
    KeySource is responsible for encryption key acquisition.
    Definition: key_source.h:30
    Holds video stream information.
    std::string TemplateFileName(int number) const
    Gets the file name of the given template file.
    @@ -215,7 +216,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/df3/packager__util_8cc_source.html b/docs/d0/df3/packager__util_8cc_source.html index 0367dfbd02..547cd0d6c4 100644 --- a/docs/d0/df3/packager__util_8cc_source.html +++ b/docs/d0/df3/packager__util_8cc_source.html @@ -131,8 +131,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    42  printf("Stream [%zu] %s\n", i, streams[i]->info()->ToString().c_str());
    43 }
    44 
    -
    45 scoped_ptr<RequestSigner> CreateSigner() {
    -
    46  scoped_ptr<RequestSigner> signer;
    +
    45 std::unique_ptr<RequestSigner> CreateSigner() {
    +
    46  std::unique_ptr<RequestSigner> signer;
    47 
    48  if (!FLAGS_aes_signing_key.empty()) {
    49  signer.reset(AesRequestSigner::CreateSigner(
    @@ -141,7 +141,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    52  LOG(ERROR) << "Cannot create an AES signer object from '"
    53  << FLAGS_aes_signing_key << "':'" << FLAGS_aes_signing_iv
    54  << "'.";
    -
    55  return scoped_ptr<RequestSigner>();
    +
    55  return std::unique_ptr<RequestSigner>();
    56  }
    57  } else if (!FLAGS_rsa_signing_key_path.empty()) {
    58  std::string rsa_private_key;
    @@ -149,69 +149,69 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    60  &rsa_private_key)) {
    61  LOG(ERROR) << "Failed to read from '" << FLAGS_rsa_signing_key_path
    62  << "'.";
    -
    63  return scoped_ptr<RequestSigner>();
    +
    63  return std::unique_ptr<RequestSigner>();
    64  }
    65  signer.reset(RsaRequestSigner::CreateSigner(FLAGS_signer, rsa_private_key));
    66  if (!signer) {
    67  LOG(ERROR) << "Cannot create a RSA signer object from '"
    68  << FLAGS_rsa_signing_key_path << "'.";
    -
    69  return scoped_ptr<RequestSigner>();
    +
    69  return std::unique_ptr<RequestSigner>();
    70  }
    71  }
    -
    72  return signer.Pass();
    +
    72  return signer;
    73 }
    74 
    -
    75 scoped_ptr<KeySource> CreateEncryptionKeySource() {
    -
    76  scoped_ptr<KeySource> encryption_key_source;
    +
    75 std::unique_ptr<KeySource> CreateEncryptionKeySource() {
    +
    76  std::unique_ptr<KeySource> encryption_key_source;
    77  if (FLAGS_enable_widevine_encryption) {
    -
    78  scoped_ptr<WidevineKeySource> widevine_key_source(
    +
    78  std::unique_ptr<WidevineKeySource> widevine_key_source(
    79  new WidevineKeySource(FLAGS_key_server_url, FLAGS_include_common_pssh));
    80  if (!FLAGS_signer.empty()) {
    -
    81  scoped_ptr<RequestSigner> request_signer(CreateSigner());
    +
    81  std::unique_ptr<RequestSigner> request_signer(CreateSigner());
    82  if (!request_signer)
    -
    83  return scoped_ptr<KeySource>();
    -
    84  widevine_key_source->set_signer(request_signer.Pass());
    +
    83  return std::unique_ptr<KeySource>();
    +
    84  widevine_key_source->set_signer(std::move(request_signer));
    85  }
    86 
    87  std::vector<uint8_t> content_id;
    88  if (!base::HexStringToBytes(FLAGS_content_id, &content_id)) {
    89  LOG(ERROR) << "Invalid content_id hex string specified.";
    -
    90  return scoped_ptr<KeySource>();
    +
    90  return std::unique_ptr<KeySource>();
    91  }
    92  Status status = widevine_key_source->FetchKeys(content_id, FLAGS_policy);
    93  if (!status.ok()) {
    94  LOG(ERROR) << "Widevine encryption key source failed to fetch keys: "
    95  << status.ToString();
    -
    96  return scoped_ptr<KeySource>();
    +
    96  return std::unique_ptr<KeySource>();
    97  }
    -
    98  encryption_key_source = widevine_key_source.Pass();
    +
    98  encryption_key_source = std::move(widevine_key_source);
    99  } else if (FLAGS_enable_fixed_key_encryption) {
    -
    100  encryption_key_source = FixedKeySource::CreateFromHexStrings(
    +
    100  encryption_key_source = FixedKeySource::CreateFromHexStrings(
    101  FLAGS_key_id, FLAGS_key, FLAGS_pssh, FLAGS_iv);
    102  }
    -
    103  return encryption_key_source.Pass();
    +
    103  return encryption_key_source;
    104 }
    105 
    -
    106 scoped_ptr<KeySource> CreateDecryptionKeySource() {
    -
    107  scoped_ptr<KeySource> decryption_key_source;
    +
    106 std::unique_ptr<KeySource> CreateDecryptionKeySource() {
    +
    107  std::unique_ptr<KeySource> decryption_key_source;
    108  if (FLAGS_enable_widevine_decryption) {
    -
    109  scoped_ptr<WidevineKeySource> widevine_key_source(
    +
    109  std::unique_ptr<WidevineKeySource> widevine_key_source(
    110  new WidevineKeySource(FLAGS_key_server_url, FLAGS_include_common_pssh));
    111  if (!FLAGS_signer.empty()) {
    -
    112  scoped_ptr<RequestSigner> request_signer(CreateSigner());
    +
    112  std::unique_ptr<RequestSigner> request_signer(CreateSigner());
    113  if (!request_signer)
    -
    114  return scoped_ptr<KeySource>();
    -
    115  widevine_key_source->set_signer(request_signer.Pass());
    +
    114  return std::unique_ptr<KeySource>();
    +
    115  widevine_key_source->set_signer(std::move(request_signer));
    116  }
    117 
    -
    118  decryption_key_source = widevine_key_source.Pass();
    +
    118  decryption_key_source = std::move(widevine_key_source);
    119  } else if (FLAGS_enable_fixed_key_decryption) {
    120  const char kNoPssh[] = "";
    121  const char kNoIv[] = "";
    -
    122  decryption_key_source = FixedKeySource::CreateFromHexStrings(
    +
    122  decryption_key_source = FixedKeySource::CreateFromHexStrings(
    123  FLAGS_key_id, FLAGS_key, kNoPssh, kNoIv);
    124  }
    -
    125  return decryption_key_source.Pass();
    +
    125  return decryption_key_source;
    126 }
    127 
    128 bool AssignFlagsFromProfile() {
    @@ -327,14 +327,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    238 
    239 } // namespace media
    240 } // namespace shaka
    -
    static RsaRequestSigner * CreateSigner(const std::string &signer_name, const std::string &pkcs1_rsa_key)
    -
    static scoped_ptr< FixedKeySource > CreateFromHexStrings(const std::string &key_id_hex, const std::string &key_hex, const std::string &pssh_boxes_hex, const std::string &iv_hex)
    +
    static RsaRequestSigner * CreateSigner(const std::string &signer_name, const std::string &pkcs1_rsa_key)
    static AesRequestSigner * CreateSigner(const std::string &signer_name, const std::string &aes_key_hex, const std::string &iv_hex)
    -
    static bool ReadFileToString(const char *file_name, std::string *contents)
    Definition: file.cc:189
    +
    static std::unique_ptr< FixedKeySource > CreateFromHexStrings(const std::string &key_id_hex, const std::string &key_hex, const std::string &pssh_boxes_hex, const std::string &iv_hex)
    +
    static bool ReadFileToString(const char *file_name, std::string *contents)
    Definition: file.cc:186
    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 2afbcff108..206dad7bdb 100644 --- a/docs/d0/dfc/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry-members.html +++ b/docs/d0/dfc/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry-members.html @@ -120,7 +120,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d0a/classshaka_1_1media_1_1MkvWriter.html b/docs/d1/d0a/classshaka_1_1media_1_1MkvWriter.html index a4d46ff4d6..503e756663 100644 --- a/docs/d1/d0a/classshaka_1_1media_1_1MkvWriter.html +++ b/docs/d1/d0a/classshaka_1_1media_1_1MkvWriter.html @@ -376,7 +376,7 @@ Public Member Functions diff --git a/docs/d1/d0a/structshaka_1_1media_1_1H264Sps.html b/docs/d1/d0a/structshaka_1_1media_1_1H264Sps.html index a2aa78ad80..5d696f4310 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 0dfface23d..550ecf9afd 100644 --- a/docs/d1/d0b/hevc__decoder__configuration__record_8cc_source.html +++ b/docs/d1/d0b/hevc__decoder__configuration__record_8cc_source.html @@ -256,7 +256,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d12/classshaka_1_1media_1_1mp2t_1_1EsParserH264-members.html b/docs/d1/d12/classshaka_1_1media_1_1mp2t_1_1EsParserH264-members.html index 979d429d91..72252fdb6c 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 @@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); EmitSampleCB typedef (defined in shaka::media::mp2t::EsParser)shaka::media::mp2t::EsParser EsParser(uint32_t pid) (defined in shaka::media::mp2t::EsParser)shaka::media::mp2t::EsParserinline EsParserH264(uint32_t pid, const NewStreamInfoCB &new_stream_info_cb, const EmitSampleCB &emit_sample_cb) (defined in shaka::media::mp2t::EsParserH264)shaka::media::mp2t::EsParserH264 - EsParserH26x(Nalu::CodecType type, scoped_ptr< H26xByteToUnitStreamConverter > stream_converter, uint32_t pid, const EmitSampleCB &emit_sample_cb) (defined in shaka::media::mp2t::EsParserH26x)shaka::media::mp2t::EsParserH26x + EsParserH26x(Nalu::CodecType type, std::unique_ptr< H26xByteToUnitStreamConverter > stream_converter, uint32_t pid, const EmitSampleCB &emit_sample_cb) (defined in shaka::media::mp2t::EsParserH26x)shaka::media::mp2t::EsParserH26x Flush() override (defined in shaka::media::mp2t::EsParserH26x)shaka::media::mp2t::EsParserH26xvirtual NewStreamInfoCB typedef (defined in shaka::media::mp2t::EsParser)shaka::media::mp2t::EsParser Parse(const uint8_t *buf, int size, int64_t pts, int64_t dts) override (defined in shaka::media::mp2t::EsParserH26x)shaka::media::mp2t::EsParserH26xvirtual @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d13/status_8h_source.html b/docs/d1/d13/status_8h_source.html index c654e6680c..40619c5c6d 100644 --- a/docs/d1/d13/status_8h_source.html +++ b/docs/d1/d13/status_8h_source.html @@ -239,7 +239,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d1c/two__pass__single__segment__segmenter_8cc_source.html b/docs/d1/d1c/two__pass__single__segment__segmenter_8cc_source.html index f116367d19..4a5e478630 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 @@ -136,7 +136,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    48 // forward-seeking in non-seekable files.
    49 bool ReadSkip(File* file, int64_t byte_count) {
    50  const int64_t kBufferSize = 0x40000; // 256KB.
    -
    51  scoped_ptr<char[]> buffer(new char[kBufferSize]);
    +
    51  std::unique_ptr<char[]> buffer(new char[kBufferSize]);
    52  int64_t bytes_read = 0;
    53  while (bytes_read < byte_count) {
    54  int64_t size = std::min(kBufferSize, byte_count - bytes_read);
    @@ -160,21 +160,21 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    72 
    73 TwoPassSingleSegmentSegmenter::~TwoPassSingleSegmentSegmenter() {}
    74 
    -
    75 Status
    -
    76 TwoPassSingleSegmentSegmenter::DoInitialize(scoped_ptr<MkvWriter> writer) {
    +
    75 Status TwoPassSingleSegmentSegmenter::DoInitialize(
    +
    76  std::unique_ptr<MkvWriter> writer) {
    77  // Assume the amount of time to copy the temp file as the same amount
    78  // of time as to make it.
    79  set_progress_target(info()->duration() * 2);
    80 
    -
    81  real_writer_ = writer.Pass();
    +
    81  real_writer_ = std::move(writer);
    82 
    83  temp_file_name_ = TempFileName(options());
    -
    84  scoped_ptr<MkvWriter> temp(new MkvWriter);
    +
    84  std::unique_ptr<MkvWriter> temp(new MkvWriter);
    85  Status status = temp->Open(temp_file_name_);
    86  if (!status.ok())
    87  return status;
    88 
    -
    89  return SingleSegmentSegmenter::DoInitialize(temp.Pass());
    +
    89  return SingleSegmentSegmenter::DoInitialize(std::move(temp));
    90 }
    91 
    92 Status TwoPassSingleSegmentSegmenter::DoFinalize() {
    @@ -182,7 +182,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    94  return Status(error::FILE_FAILURE, "Error finalizing cluster.");
    95 
    96  // Write the Cues to the end of the temp file.
    -
    97  uint64_t cues_pos = writer()->Position();
    +
    97  uint64_t cues_pos = writer()->Position();
    98  set_index_start(cues_pos);
    99  seek_head()->set_cues_pos(cues_pos - segment_payload_pos());
    100  if (!cues()->Write(writer()))
    @@ -194,8 +194,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    106  return temp;
    107 
    108  // Close the temp file and open it for reading.
    -
    109  set_writer(scoped_ptr<MkvWriter>());
    -
    110  scoped_ptr<File, FileCloser> temp_reader(
    +
    109  set_writer(std::unique_ptr<MkvWriter>());
    +
    110  std::unique_ptr<File, FileCloser> temp_reader(
    111  File::Open(temp_file_name_.c_str(), "r"));
    112  if (!temp_reader)
    113  return Status(error::FILE_FAILURE, "Error opening temp file.");
    @@ -272,11 +272,12 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    184 } // namespace media
    185 } // namespace shaka
    virtual bool Open()=0
    Internal open. Should not be used directly.
    -
    static bool Delete(const char *file_name)
    Definition: file.cc:167
    +
    mkvmuxer::int64 Position() const override
    Definition: mkv_writer.cc:71
    +
    static bool Delete(const char *file_name)
    Definition: file.cc:164
    diff --git a/docs/d1/d1d/muxer__flags_8cc_source.html b/docs/d1/d1d/muxer__flags_8cc_source.html index d665a4200c..e10d54be59 100644 --- a/docs/d1/d1d/muxer__flags_8cc_source.html +++ b/docs/d1/d1d/muxer__flags_8cc_source.html @@ -144,7 +144,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d1f/classshaka_1_1media_1_1KeySource.html b/docs/d1/d1f/classshaka_1_1media_1_1KeySource.html index b2be8da973..9d39ca5872 100644 --- a/docs/d1/d1f/classshaka_1_1media_1_1KeySource.html +++ b/docs/d1/d1f/classshaka_1_1media_1_1KeySource.html @@ -154,7 +154,7 @@ static std::string 

    Detailed Description

    KeySource is responsible for encryption key acquisition.

    -

    Definition at line 31 of file key_source.h.

    +

    Definition at line 30 of file key_source.h.

    Member Function Documentation

    @@ -407,7 +407,7 @@ static std::string  diff --git a/docs/d1/d20/classshaka_1_1media_1_1mp4_1_1DecodingTimeIterator.html b/docs/d1/d20/classshaka_1_1media_1_1mp4_1_1DecodingTimeIterator.html index 681068cf26..e9089c897e 100644 --- a/docs/d1/d20/classshaka_1_1media_1_1mp4_1_1DecodingTimeIterator.html +++ b/docs/d1/d20/classshaka_1_1media_1_1mp4_1_1DecodingTimeIterator.html @@ -235,7 +235,7 @@ Public Member Functions
    diff --git a/docs/d1/d27/key__fetcher_8h_source.html b/docs/d1/d27/key__fetcher_8h_source.html index 79511962c5..dd19ab191c 100644 --- a/docs/d1/d27/key__fetcher_8h_source.html +++ b/docs/d1/d27/key__fetcher_8h_source.html @@ -126,7 +126,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d28/classshaka_1_1media_1_1mp2t_1_1AdtsHeader-members.html b/docs/d1/d28/classshaka_1_1media_1_1mp2t_1_1AdtsHeader-members.html index c93dd9c39e..24fc6074f8 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 813406ebf4..558c55c1d6 100644 --- a/docs/d1/d2a/decryptor__source_8cc_source.html +++ b/docs/d1/d2a/decryptor__source_8cc_source.html @@ -129,7 +129,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    40  return false;
    41  }
    42 
    -
    43  scoped_ptr<AesCryptor> aes_decryptor;
    +
    43  std::unique_ptr<AesCryptor> aes_decryptor;
    44  switch (decrypt_config->protection_scheme()) {
    45  case FOURCC_cenc:
    46  aes_decryptor.reset(new AesCtrDecryptor);
    @@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    54  decrypt_config->skip_byte_block(),
    56  AesCryptor::kDontUseConstantIv,
    -
    57  scoped_ptr<AesCryptor>(new AesCtrDecryptor())));
    +
    57  std::unique_ptr<AesCryptor>(new AesCtrDecryptor())));
    58  break;
    59  case FOURCC_cbcs:
    60  aes_decryptor.reset(new AesPatternCryptor(
    @@ -151,7 +151,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    62  decrypt_config->skip_byte_block(),
    64  AesCryptor::kUseConstantIv,
    -
    65  scoped_ptr<AesCryptor>(new AesCbcDecryptor(kNoPadding))));
    +
    65  std::unique_ptr<AesCryptor>(new AesCbcDecryptor(kNoPadding))));
    66  break;
    67  default:
    68  LOG(ERROR) << "Unsupported protection scheme: "
    @@ -204,12 +204,12 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    115 
    116 } // namespace media
    117 } // namespace shaka
    - +
    virtual Status GetKey(TrackType track_type, EncryptionKey *key)=0
    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 73dbf3f65d..b40f4a1428 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 07a5ec443e..9876ac6d7e 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 823253361e..a4c6c00ff7 100644 --- a/docs/d1/d2f/webvtt__media__parser_8cc_source.html +++ b/docs/d1/d2f/webvtt__media__parser_8cc_source.html @@ -480,15 +480,15 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
    void Init(const InitCB &init_cb, const NewSampleCB &new_sample_cb, KeySource *decryption_key_source) override
    bool Parse(const uint8_t *buf, int size) override WARN_UNUSED_RESULT
    bool Flush() override WARN_UNUSED_RESULT
    -
    base::Callback< bool(uint32_t track_id, const scoped_refptr< MediaSample > &media_sample)> NewSampleCB
    Definition: media_parser.h:44
    -
    KeySource is responsible for encryption key acquisition.
    Definition: key_source.h:31
    +
    base::Callback< bool(uint32_t track_id, const scoped_refptr< MediaSample > &media_sample)> NewSampleCB
    Definition: media_parser.h:43
    +
    KeySource is responsible for encryption key acquisition.
    Definition: key_source.h:30
    static scoped_refptr< MediaSample > CopyFrom(const uint8_t *data, size_t size, bool is_key_frame)
    Definition: media_sample.cc:45
    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 2069b0d146..6e9a0fb782 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 @@ -105,9 +105,9 @@ Inheritance diagram for shaka::media::mp2t::TsSectionPes: - - + + @@ -134,7 +134,7 @@ Additional Inherited Members

    Public Member Functions

    TsSectionPes (scoped_ptr< EsParser > es_parser)
     
    TsSectionPes (std::unique_ptr< EsParser > es_parser)
     
    bool Parse (bool payload_unit_start_indicator, const uint8_t *buf, int size) override
     

    Detailed Description

    -

    Definition at line 21 of file ts_section_pes.h.

    +

    Definition at line 20 of file ts_section_pes.h.


    The documentation for this class was generated from the following files:
    • media/formats/mp2t/ts_section_pes.h
    • media/formats/mp2t/ts_section_pes.cc
    • @@ -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 8a5655e61c..6062cd72d7 100644 --- a/docs/d1/d31/classshaka_1_1xml_1_1XmlNode.html +++ b/docs/d1/d31/classshaka_1_1xml_1_1XmlNode.html @@ -137,7 +137,7 @@ bool 

      Detailed Description

      These classes are wrapper classes for XML elements for generating MPD. None of the pointer parameters should be NULL. None of the methods are meant to be overridden.

      -

      Definition at line 31 of file xml_node.h.

      +

      Definition at line 32 of file xml_node.h.

      Constructor & Destructor Documentation

      @@ -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 3e57b35c1d..8ce9fc3ce9 100644 --- a/docs/d1/d34/structshaka_1_1media_1_1SubsampleEntry.html +++ b/docs/d1/d34/structshaka_1_1media_1_1SubsampleEntry.html @@ -122,7 +122,7 @@ uint32_t cipher_bytes<
      diff --git a/docs/d1/d37/es__parser__h264_8h_source.html b/docs/d1/d37/es__parser__h264_8h_source.html index b0135bdc04..dfea6fa374 100644 --- a/docs/d1/d37/es__parser__h264_8h_source.html +++ b/docs/d1/d37/es__parser__h264_8h_source.html @@ -95,65 +95,64 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      6 #define MEDIA_FORMATS_MP2T_ES_PARSER_H264_H_
      7 
      8 #include <stdint.h>
      -
      9 
      +
      9 #include <memory>
      10 #include "packager/base/callback.h"
      -
      11 #include "packager/base/memory/scoped_ptr.h"
      -
      12 #include "packager/media/formats/mp2t/es_parser_h26x.h"
      -
      13 
      -
      14 namespace shaka {
      -
      15 namespace media {
      -
      16 
      -
      17 class H264Parser;
      -
      18 
      -
      19 namespace mp2t {
      -
      20 
      -
      21 // Remark:
      -
      22 // In this h264 parser, frame splitting is based on AUD nals.
      -
      23 // Mpeg2 TS spec: "2.14 Carriage of Rec. ITU-T H.264 | ISO/IEC 14496-10 video"
      -
      24 // "Each AVC access unit shall contain an access unit delimiter NAL Unit;"
      -
      25 //
      -
      26 class EsParserH264 : public EsParserH26x {
      -
      27  public:
      -
      28  EsParserH264(uint32_t pid,
      -
      29  const NewStreamInfoCB& new_stream_info_cb,
      -
      30  const EmitSampleCB& emit_sample_cb);
      -
      31  ~EsParserH264() override;
      -
      32 
      -
      33  // EsParserH26x implementation override.
      -
      34  void Reset() override;
      -
      35 
      -
      36  private:
      -
      37  // Processes a NAL unit found in ParseInternal. The @a pps_id_for_access_unit
      -
      38  // value will be passed to UpdateVideoDecoderConfig.
      -
      39  bool ProcessNalu(const Nalu& nalu,
      -
      40  bool* is_key_frame,
      -
      41  int* pps_id_for_access_unit) override;
      -
      42 
      -
      43  // Update the video decoder config based on an H264 SPS.
      -
      44  // Return true if successful.
      -
      45  bool UpdateVideoDecoderConfig(int sps_id) override;
      -
      46 
      -
      47  // Callback to pass the stream configuration.
      -
      48  NewStreamInfoCB new_stream_info_cb_;
      -
      49 
      -
      50  scoped_refptr<StreamInfo> last_video_decoder_config_;
      -
      51  bool decoder_config_check_pending_;
      -
      52 
      -
      53  scoped_ptr<H264Parser> h264_parser_;
      -
      54 };
      -
      55 
      -
      56 } // namespace mp2t
      -
      57 } // namespace media
      -
      58 } // namespace shaka
      -
      59 
      -
      60 #endif
      - +
      11 #include "packager/media/formats/mp2t/es_parser_h26x.h"
      +
      12 
      +
      13 namespace shaka {
      +
      14 namespace media {
      +
      15 
      +
      16 class H264Parser;
      +
      17 
      +
      18 namespace mp2t {
      +
      19 
      +
      20 // Remark:
      +
      21 // In this h264 parser, frame splitting is based on AUD nals.
      +
      22 // Mpeg2 TS spec: "2.14 Carriage of Rec. ITU-T H.264 | ISO/IEC 14496-10 video"
      +
      23 // "Each AVC access unit shall contain an access unit delimiter NAL Unit;"
      +
      24 //
      +
      25 class EsParserH264 : public EsParserH26x {
      +
      26  public:
      +
      27  EsParserH264(uint32_t pid,
      +
      28  const NewStreamInfoCB& new_stream_info_cb,
      +
      29  const EmitSampleCB& emit_sample_cb);
      +
      30  ~EsParserH264() override;
      +
      31 
      +
      32  // EsParserH26x implementation override.
      +
      33  void Reset() override;
      +
      34 
      +
      35  private:
      +
      36  // Processes a NAL unit found in ParseInternal. The @a pps_id_for_access_unit
      +
      37  // value will be passed to UpdateVideoDecoderConfig.
      +
      38  bool ProcessNalu(const Nalu& nalu,
      +
      39  bool* is_key_frame,
      +
      40  int* pps_id_for_access_unit) override;
      +
      41 
      +
      42  // Update the video decoder config based on an H264 SPS.
      +
      43  // Return true if successful.
      +
      44  bool UpdateVideoDecoderConfig(int sps_id) override;
      +
      45 
      +
      46  // Callback to pass the stream configuration.
      +
      47  NewStreamInfoCB new_stream_info_cb_;
      +
      48 
      +
      49  scoped_refptr<StreamInfo> last_video_decoder_config_;
      +
      50  bool decoder_config_check_pending_;
      +
      51 
      +
      52  std::unique_ptr<H264Parser> h264_parser_;
      +
      53 };
      +
      54 
      +
      55 } // namespace mp2t
      +
      56 } // namespace media
      +
      57 } // namespace shaka
      +
      58 
      +
      59 #endif
      + diff --git a/docs/d1/d3b/mpd__generator__flags_8h_source.html b/docs/d1/d3b/mpd__generator__flags_8h_source.html index f9305028eb..a5a5c94888 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 e2f19c3d1a..968f61aca4 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 27b9ba0afb..d7a42eb378 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 2a5d813adf..5fb1dcae1d 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 202f1b1545..32111a2d42 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 d772ecb481..536a57ec8b 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 352d849414..c2a79788ec 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 09ead9c12c..05f9a816eb 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 06826660a2..9f43def213 100644 --- a/docs/d1/d70/vp8__parser_8cc_source.html +++ b/docs/d1/d70/vp8__parser_8cc_source.html @@ -293,7 +293,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d72/language__utils_8cc_source.html b/docs/d1/d72/language__utils_8cc_source.html index f90c77ff93..a419888342 100644 --- a/docs/d1/d72/language__utils_8cc_source.html +++ b/docs/d1/d72/language__utils_8cc_source.html @@ -226,7 +226,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d74/mp2t__media__parser_8cc_source.html b/docs/d1/d74/mp2t__media__parser_8cc_source.html index affad580e0..afced796d7 100644 --- a/docs/d1/d74/mp2t__media__parser_8cc_source.html +++ b/docs/d1/d74/mp2t__media__parser_8cc_source.html @@ -93,8 +93,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      4 
      5 #include "packager/media/formats/mp2t/mp2t_media_parser.h"
      6 
      -
      7 #include "packager/base/bind.h"
      -
      8 #include "packager/base/memory/scoped_ptr.h"
      +
      7 #include <memory>
      +
      8 #include "packager/base/bind.h"
      9 #include "packager/base/stl_util.h"
      10 #include "packager/media/base/media_sample.h"
      11 #include "packager/media/base/stream_info.h"
      @@ -130,197 +130,197 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      41  kPidVideoPes,
      42  };
      43 
      -
      44  PidState(int pid, PidType pid_type,
      -
      45  scoped_ptr<TsSection> section_parser);
      -
      46 
      -
      47  // Extract the content of the TS packet and parse it.
      -
      48  // Return true if successful.
      -
      49  bool PushTsPacket(const TsPacket& ts_packet);
      -
      50 
      -
      51  // Flush the PID state (possibly emitting some pending frames)
      -
      52  // and reset its state.
      -
      53  void Flush();
      -
      54 
      -
      55  // Enable/disable the PID.
      -
      56  // Disabling a PID will reset its state and ignore any further incoming TS
      -
      57  // packets.
      -
      58  void Enable();
      -
      59  void Disable();
      -
      60  bool IsEnabled() const;
      -
      61 
      -
      62  PidType pid_type() const { return pid_type_; }
      -
      63 
      -
      64  scoped_refptr<StreamInfo>& config() { return config_; }
      -
      65  void set_config(const scoped_refptr<StreamInfo>& config) { config_ = config; }
      -
      66 
      -
      67  SampleQueue& sample_queue() { return sample_queue_; }
      -
      68 
      -
      69  private:
      -
      70  void ResetState();
      -
      71 
      -
      72  int pid_;
      -
      73  PidType pid_type_;
      -
      74  scoped_ptr<TsSection> section_parser_;
      -
      75 
      -
      76  bool enable_;
      -
      77  int continuity_counter_;
      -
      78  scoped_refptr<StreamInfo> config_;
      -
      79  SampleQueue sample_queue_;
      -
      80 };
      -
      81 
      -
      82 PidState::PidState(int pid, PidType pid_type,
      -
      83  scoped_ptr<TsSection> section_parser)
      -
      84  : pid_(pid),
      -
      85  pid_type_(pid_type),
      -
      86  section_parser_(section_parser.Pass()),
      -
      87  enable_(false),
      -
      88  continuity_counter_(-1) {
      -
      89  DCHECK(section_parser_);
      -
      90 }
      -
      91 
      -
      92 bool PidState::PushTsPacket(const TsPacket& ts_packet) {
      -
      93  DCHECK_EQ(ts_packet.pid(), pid_);
      -
      94 
      -
      95  // The current PID is not part of the PID filter,
      -
      96  // just discard the incoming TS packet.
      -
      97  if (!enable_)
      -
      98  return true;
      -
      99 
      -
      100  int expected_continuity_counter = (continuity_counter_ + 1) % 16;
      -
      101  if (continuity_counter_ >= 0 &&
      -
      102  ts_packet.continuity_counter() != expected_continuity_counter) {
      -
      103  DVLOG(1) << "TS discontinuity detected for pid: " << pid_;
      -
      104  // TODO(tinskip): Handle discontinuity better.
      -
      105  return false;
      -
      106  }
      -
      107 
      -
      108  bool status = section_parser_->Parse(
      -
      109  ts_packet.payload_unit_start_indicator(),
      -
      110  ts_packet.payload(),
      -
      111  ts_packet.payload_size());
      -
      112 
      -
      113  // At the minimum, when parsing failed, auto reset the section parser.
      -
      114  // Components that use the Mp2tMediaParser can take further action if needed.
      -
      115  if (!status) {
      -
      116  DVLOG(1) << "Parsing failed for pid = " << pid_;
      -
      117  ResetState();
      -
      118  }
      -
      119 
      -
      120  return status;
      -
      121 }
      -
      122 
      -
      123 void PidState::Flush() {
      -
      124  section_parser_->Flush();
      -
      125  ResetState();
      -
      126 }
      -
      127 
      -
      128 void PidState::Enable() {
      -
      129  enable_ = true;
      -
      130 }
      -
      131 
      -
      132 void PidState::Disable() {
      -
      133  if (!enable_)
      -
      134  return;
      -
      135 
      -
      136  ResetState();
      -
      137  enable_ = false;
      -
      138 }
      -
      139 
      -
      140 bool PidState::IsEnabled() const {
      -
      141  return enable_;
      -
      142 }
      -
      143 
      -
      144 void PidState::ResetState() {
      -
      145  section_parser_->Reset();
      -
      146  continuity_counter_ = -1;
      -
      147 }
      -
      148 
      -
      149 Mp2tMediaParser::Mp2tMediaParser()
      -
      150  : sbr_in_mimetype_(false),
      -
      151  is_initialized_(false) {
      -
      152 }
      -
      153 
      -
      154 Mp2tMediaParser::~Mp2tMediaParser() {
      -
      155  STLDeleteValues(&pids_);
      -
      156 }
      -
      157 
      - -
      159  const InitCB& init_cb,
      -
      160  const NewSampleCB& new_sample_cb,
      -
      161  KeySource* decryption_key_source) {
      -
      162  DCHECK(!is_initialized_);
      -
      163  DCHECK(init_cb_.is_null());
      -
      164  DCHECK(!init_cb.is_null());
      -
      165  DCHECK(!new_sample_cb.is_null());
      -
      166 
      -
      167  init_cb_ = init_cb;
      -
      168  new_sample_cb_ = new_sample_cb;
      -
      169 }
      -
      170 
      - -
      172  DVLOG(1) << "Mp2tMediaParser::Flush";
      -
      173 
      -
      174  // Flush the buffers and reset the pids.
      -
      175  for (std::map<int, PidState*>::iterator it = pids_.begin();
      -
      176  it != pids_.end(); ++it) {
      -
      177  DVLOG(1) << "Flushing PID: " << it->first;
      -
      178  PidState* pid_state = it->second;
      -
      179  pid_state->Flush();
      -
      180  }
      -
      181  bool result = EmitRemainingSamples();
      -
      182  STLDeleteValues(&pids_);
      -
      183 
      -
      184  // Remove any bytes left in the TS buffer.
      -
      185  // (i.e. any partial TS packet => less than 188 bytes).
      -
      186  ts_byte_queue_.Reset();
      -
      187  return result;
      -
      188 }
      -
      189 
      -
      190 bool Mp2tMediaParser::Parse(const uint8_t* buf, int size) {
      -
      191  DVLOG(1) << "Mp2tMediaParser::Parse size=" << size;
      -
      192 
      -
      193  // Add the data to the parser state.
      -
      194  ts_byte_queue_.Push(buf, size);
      -
      195 
      -
      196  while (true) {
      -
      197  const uint8_t* ts_buffer;
      -
      198  int ts_buffer_size;
      -
      199  ts_byte_queue_.Peek(&ts_buffer, &ts_buffer_size);
      -
      200  if (ts_buffer_size < TsPacket::kPacketSize)
      -
      201  break;
      -
      202 
      -
      203  // Synchronization.
      -
      204  int skipped_bytes = TsPacket::Sync(ts_buffer, ts_buffer_size);
      -
      205  if (skipped_bytes > 0) {
      -
      206  DVLOG(1) << "Packet not aligned on a TS syncword:"
      -
      207  << " skipped_bytes=" << skipped_bytes;
      -
      208  ts_byte_queue_.Pop(skipped_bytes);
      -
      209  continue;
      -
      210  }
      -
      211 
      -
      212  // Parse the TS header, skipping 1 byte if the header is invalid.
      -
      213  scoped_ptr<TsPacket> ts_packet(TsPacket::Parse(ts_buffer, ts_buffer_size));
      -
      214  if (!ts_packet) {
      -
      215  DVLOG(1) << "Error: invalid TS packet";
      -
      216  ts_byte_queue_.Pop(1);
      -
      217  continue;
      -
      218  }
      -
      219  DVLOG(LOG_LEVEL_TS)
      -
      220  << "Processing PID=" << ts_packet->pid()
      -
      221  << " start_unit=" << ts_packet->payload_unit_start_indicator();
      -
      222 
      -
      223  // Parse the section.
      -
      224  std::map<int, PidState*>::iterator it = pids_.find(ts_packet->pid());
      -
      225  if (it == pids_.end() &&
      -
      226  ts_packet->pid() == TsSection::kPidPat) {
      -
      227  // Create the PAT state here if needed.
      -
      228  scoped_ptr<TsSection> pat_section_parser(
      -
      229  new TsSectionPat(
      -
      230  base::Bind(&Mp2tMediaParser::RegisterPmt,
      -
      231  base::Unretained(this))));
      -
      232  scoped_ptr<PidState> pat_pid_state(
      -
      233  new PidState(ts_packet->pid(), PidState::kPidPat,
      -
      234  pat_section_parser.Pass()));
      +
      44  PidState(int pid,
      +
      45  PidType pid_type,
      +
      46  std::unique_ptr<TsSection> section_parser);
      +
      47 
      +
      48  // Extract the content of the TS packet and parse it.
      +
      49  // Return true if successful.
      +
      50  bool PushTsPacket(const TsPacket& ts_packet);
      +
      51 
      +
      52  // Flush the PID state (possibly emitting some pending frames)
      +
      53  // and reset its state.
      +
      54  void Flush();
      +
      55 
      +
      56  // Enable/disable the PID.
      +
      57  // Disabling a PID will reset its state and ignore any further incoming TS
      +
      58  // packets.
      +
      59  void Enable();
      +
      60  void Disable();
      +
      61  bool IsEnabled() const;
      +
      62 
      +
      63  PidType pid_type() const { return pid_type_; }
      +
      64 
      +
      65  scoped_refptr<StreamInfo>& config() { return config_; }
      +
      66  void set_config(const scoped_refptr<StreamInfo>& config) { config_ = config; }
      +
      67 
      +
      68  SampleQueue& sample_queue() { return sample_queue_; }
      +
      69 
      +
      70  private:
      +
      71  void ResetState();
      +
      72 
      +
      73  int pid_;
      +
      74  PidType pid_type_;
      +
      75  std::unique_ptr<TsSection> section_parser_;
      +
      76 
      +
      77  bool enable_;
      +
      78  int continuity_counter_;
      +
      79  scoped_refptr<StreamInfo> config_;
      +
      80  SampleQueue sample_queue_;
      +
      81 };
      +
      82 
      +
      83 PidState::PidState(int pid,
      +
      84  PidType pid_type,
      +
      85  std::unique_ptr<TsSection> section_parser)
      +
      86  : pid_(pid),
      +
      87  pid_type_(pid_type),
      +
      88  section_parser_(std::move(section_parser)),
      +
      89  enable_(false),
      +
      90  continuity_counter_(-1) {
      +
      91  DCHECK(section_parser_);
      +
      92 }
      +
      93 
      +
      94 bool PidState::PushTsPacket(const TsPacket& ts_packet) {
      +
      95  DCHECK_EQ(ts_packet.pid(), pid_);
      +
      96 
      +
      97  // The current PID is not part of the PID filter,
      +
      98  // just discard the incoming TS packet.
      +
      99  if (!enable_)
      +
      100  return true;
      +
      101 
      +
      102  int expected_continuity_counter = (continuity_counter_ + 1) % 16;
      +
      103  if (continuity_counter_ >= 0 &&
      +
      104  ts_packet.continuity_counter() != expected_continuity_counter) {
      +
      105  DVLOG(1) << "TS discontinuity detected for pid: " << pid_;
      +
      106  // TODO(tinskip): Handle discontinuity better.
      +
      107  return false;
      +
      108  }
      +
      109 
      +
      110  bool status = section_parser_->Parse(
      +
      111  ts_packet.payload_unit_start_indicator(),
      +
      112  ts_packet.payload(),
      +
      113  ts_packet.payload_size());
      +
      114 
      +
      115  // At the minimum, when parsing failed, auto reset the section parser.
      +
      116  // Components that use the Mp2tMediaParser can take further action if needed.
      +
      117  if (!status) {
      +
      118  DVLOG(1) << "Parsing failed for pid = " << pid_;
      +
      119  ResetState();
      +
      120  }
      +
      121 
      +
      122  return status;
      +
      123 }
      +
      124 
      +
      125 void PidState::Flush() {
      +
      126  section_parser_->Flush();
      +
      127  ResetState();
      +
      128 }
      +
      129 
      +
      130 void PidState::Enable() {
      +
      131  enable_ = true;
      +
      132 }
      +
      133 
      +
      134 void PidState::Disable() {
      +
      135  if (!enable_)
      +
      136  return;
      +
      137 
      +
      138  ResetState();
      +
      139  enable_ = false;
      +
      140 }
      +
      141 
      +
      142 bool PidState::IsEnabled() const {
      +
      143  return enable_;
      +
      144 }
      +
      145 
      +
      146 void PidState::ResetState() {
      +
      147  section_parser_->Reset();
      +
      148  continuity_counter_ = -1;
      +
      149 }
      +
      150 
      +
      151 Mp2tMediaParser::Mp2tMediaParser()
      +
      152  : sbr_in_mimetype_(false),
      +
      153  is_initialized_(false) {
      +
      154 }
      +
      155 
      +
      156 Mp2tMediaParser::~Mp2tMediaParser() {
      +
      157  STLDeleteValues(&pids_);
      +
      158 }
      +
      159 
      + +
      161  const InitCB& init_cb,
      +
      162  const NewSampleCB& new_sample_cb,
      +
      163  KeySource* decryption_key_source) {
      +
      164  DCHECK(!is_initialized_);
      +
      165  DCHECK(init_cb_.is_null());
      +
      166  DCHECK(!init_cb.is_null());
      +
      167  DCHECK(!new_sample_cb.is_null());
      +
      168 
      +
      169  init_cb_ = init_cb;
      +
      170  new_sample_cb_ = new_sample_cb;
      +
      171 }
      +
      172 
      + +
      174  DVLOG(1) << "Mp2tMediaParser::Flush";
      +
      175 
      +
      176  // Flush the buffers and reset the pids.
      +
      177  for (std::map<int, PidState*>::iterator it = pids_.begin();
      +
      178  it != pids_.end(); ++it) {
      +
      179  DVLOG(1) << "Flushing PID: " << it->first;
      +
      180  PidState* pid_state = it->second;
      +
      181  pid_state->Flush();
      +
      182  }
      +
      183  bool result = EmitRemainingSamples();
      +
      184  STLDeleteValues(&pids_);
      +
      185 
      +
      186  // Remove any bytes left in the TS buffer.
      +
      187  // (i.e. any partial TS packet => less than 188 bytes).
      +
      188  ts_byte_queue_.Reset();
      +
      189  return result;
      +
      190 }
      +
      191 
      +
      192 bool Mp2tMediaParser::Parse(const uint8_t* buf, int size) {
      +
      193  DVLOG(1) << "Mp2tMediaParser::Parse size=" << size;
      +
      194 
      +
      195  // Add the data to the parser state.
      +
      196  ts_byte_queue_.Push(buf, size);
      +
      197 
      +
      198  while (true) {
      +
      199  const uint8_t* ts_buffer;
      +
      200  int ts_buffer_size;
      +
      201  ts_byte_queue_.Peek(&ts_buffer, &ts_buffer_size);
      +
      202  if (ts_buffer_size < TsPacket::kPacketSize)
      +
      203  break;
      +
      204 
      +
      205  // Synchronization.
      +
      206  int skipped_bytes = TsPacket::Sync(ts_buffer, ts_buffer_size);
      +
      207  if (skipped_bytes > 0) {
      +
      208  DVLOG(1) << "Packet not aligned on a TS syncword:"
      +
      209  << " skipped_bytes=" << skipped_bytes;
      +
      210  ts_byte_queue_.Pop(skipped_bytes);
      +
      211  continue;
      +
      212  }
      +
      213 
      +
      214  // Parse the TS header, skipping 1 byte if the header is invalid.
      +
      215  std::unique_ptr<TsPacket> ts_packet(
      +
      216  TsPacket::Parse(ts_buffer, ts_buffer_size));
      +
      217  if (!ts_packet) {
      +
      218  DVLOG(1) << "Error: invalid TS packet";
      +
      219  ts_byte_queue_.Pop(1);
      +
      220  continue;
      +
      221  }
      +
      222  DVLOG(LOG_LEVEL_TS)
      +
      223  << "Processing PID=" << ts_packet->pid()
      +
      224  << " start_unit=" << ts_packet->payload_unit_start_indicator();
      +
      225 
      +
      226  // Parse the section.
      +
      227  std::map<int, PidState*>::iterator it = pids_.find(ts_packet->pid());
      +
      228  if (it == pids_.end() &&
      +
      229  ts_packet->pid() == TsSection::kPidPat) {
      +
      230  // Create the PAT state here if needed.
      +
      231  std::unique_ptr<TsSection> pat_section_parser(new TsSectionPat(
      +
      232  base::Bind(&Mp2tMediaParser::RegisterPmt, base::Unretained(this))));
      +
      233  std::unique_ptr<PidState> pat_pid_state(new PidState(
      +
      234  ts_packet->pid(), PidState::kPidPat, std::move(pat_section_parser)));
      235  pat_pid_state->Enable();
      236  it = pids_.insert(
      237  std::pair<int, PidState*>(ts_packet->pid(),
      @@ -360,186 +360,184 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      271 
      272  // Create the PMT state here if needed.
      273  DVLOG(1) << "Create a new PMT parser";
      -
      274  scoped_ptr<TsSection> pmt_section_parser(
      -
      275  new TsSectionPmt(
      -
      276  base::Bind(&Mp2tMediaParser::RegisterPes,
      -
      277  base::Unretained(this), pmt_pid)));
      -
      278  scoped_ptr<PidState> pmt_pid_state(
      -
      279  new PidState(pmt_pid, PidState::kPidPmt, pmt_section_parser.Pass()));
      -
      280  pmt_pid_state->Enable();
      -
      281  pids_.insert(std::pair<int, PidState*>(pmt_pid, pmt_pid_state.release()));
      -
      282 }
      -
      283 
      -
      284 void Mp2tMediaParser::RegisterPes(int pmt_pid,
      -
      285  int pes_pid,
      -
      286  int stream_type) {
      -
      287  DVLOG(1) << "RegisterPes:"
      -
      288  << " pes_pid=" << pes_pid
      -
      289  << " stream_type=" << std::hex << stream_type << std::dec;
      -
      290  std::map<int, PidState*>::iterator it = pids_.find(pes_pid);
      -
      291  if (it != pids_.end())
      -
      292  return;
      -
      293 
      -
      294  // Create a stream parser corresponding to the stream type.
      -
      295  bool is_audio = false;
      -
      296  scoped_ptr<EsParser> es_parser;
      -
      297  if (stream_type == kStreamTypeAVC) {
      -
      298  es_parser.reset(
      -
      299  new EsParserH264(
      -
      300  pes_pid,
      -
      301  base::Bind(&Mp2tMediaParser::OnNewStreamInfo,
      -
      302  base::Unretained(this)),
      -
      303  base::Bind(&Mp2tMediaParser::OnEmitSample,
      -
      304  base::Unretained(this))));
      -
      305  } else if (stream_type == kStreamTypeHEVC) {
      -
      306  es_parser.reset(
      -
      307  new EsParserH265(
      -
      308  pes_pid,
      -
      309  base::Bind(&Mp2tMediaParser::OnNewStreamInfo,
      -
      310  base::Unretained(this)),
      -
      311  base::Bind(&Mp2tMediaParser::OnEmitSample,
      -
      312  base::Unretained(this))));
      -
      313  } else if (stream_type == kStreamTypeAAC) {
      -
      314  es_parser.reset(
      -
      315  new EsParserAdts(
      -
      316  pes_pid,
      -
      317  base::Bind(&Mp2tMediaParser::OnNewStreamInfo,
      +
      274  std::unique_ptr<TsSection> pmt_section_parser(new TsSectionPmt(base::Bind(
      +
      275  &Mp2tMediaParser::RegisterPes, base::Unretained(this), pmt_pid)));
      +
      276  std::unique_ptr<PidState> pmt_pid_state(
      +
      277  new PidState(pmt_pid, PidState::kPidPmt, std::move(pmt_section_parser)));
      +
      278  pmt_pid_state->Enable();
      +
      279  pids_.insert(std::pair<int, PidState*>(pmt_pid, pmt_pid_state.release()));
      +
      280 }
      +
      281 
      +
      282 void Mp2tMediaParser::RegisterPes(int pmt_pid,
      +
      283  int pes_pid,
      +
      284  int stream_type) {
      +
      285  DVLOG(1) << "RegisterPes:"
      +
      286  << " pes_pid=" << pes_pid
      +
      287  << " stream_type=" << std::hex << stream_type << std::dec;
      +
      288  std::map<int, PidState*>::iterator it = pids_.find(pes_pid);
      +
      289  if (it != pids_.end())
      +
      290  return;
      +
      291 
      +
      292  // Create a stream parser corresponding to the stream type.
      +
      293  bool is_audio = false;
      +
      294  std::unique_ptr<EsParser> es_parser;
      +
      295  if (stream_type == kStreamTypeAVC) {
      +
      296  es_parser.reset(
      +
      297  new EsParserH264(
      +
      298  pes_pid,
      +
      299  base::Bind(&Mp2tMediaParser::OnNewStreamInfo,
      +
      300  base::Unretained(this)),
      +
      301  base::Bind(&Mp2tMediaParser::OnEmitSample,
      +
      302  base::Unretained(this))));
      +
      303  } else if (stream_type == kStreamTypeHEVC) {
      +
      304  es_parser.reset(
      +
      305  new EsParserH265(
      +
      306  pes_pid,
      +
      307  base::Bind(&Mp2tMediaParser::OnNewStreamInfo,
      +
      308  base::Unretained(this)),
      +
      309  base::Bind(&Mp2tMediaParser::OnEmitSample,
      +
      310  base::Unretained(this))));
      +
      311  } else if (stream_type == kStreamTypeAAC) {
      +
      312  es_parser.reset(
      +
      313  new EsParserAdts(
      +
      314  pes_pid,
      +
      315  base::Bind(&Mp2tMediaParser::OnNewStreamInfo,
      +
      316  base::Unretained(this)),
      +
      317  base::Bind(&Mp2tMediaParser::OnEmitSample,
      318  base::Unretained(this)),
      -
      319  base::Bind(&Mp2tMediaParser::OnEmitSample,
      -
      320  base::Unretained(this)),
      -
      321  sbr_in_mimetype_));
      -
      322  is_audio = true;
      -
      323  } else {
      -
      324  return;
      -
      325  }
      -
      326 
      -
      327  // Create the PES state here.
      -
      328  DVLOG(1) << "Create a new PES state";
      -
      329  scoped_ptr<TsSection> pes_section_parser(
      -
      330  new TsSectionPes(es_parser.Pass()));
      -
      331  PidState::PidType pid_type =
      -
      332  is_audio ? PidState::kPidAudioPes : PidState::kPidVideoPes;
      -
      333  scoped_ptr<PidState> pes_pid_state(
      -
      334  new PidState(pes_pid, pid_type, pes_section_parser.Pass()));
      -
      335  pes_pid_state->Enable();
      -
      336  pids_.insert(std::pair<int, PidState*>(pes_pid, pes_pid_state.release()));
      -
      337 }
      -
      338 
      -
      339 void Mp2tMediaParser::OnNewStreamInfo(
      -
      340  const scoped_refptr<StreamInfo>& new_stream_info) {
      -
      341  DCHECK(new_stream_info);
      -
      342  DVLOG(1) << "OnVideoConfigChanged for pid=" << new_stream_info->track_id();
      -
      343 
      -
      344  PidMap::iterator pid_state = pids_.find(new_stream_info->track_id());
      -
      345  if (pid_state == pids_.end()) {
      -
      346  LOG(ERROR) << "PID State for new stream not found (pid = "
      -
      347  << new_stream_info->track_id() << ").";
      -
      348  return;
      -
      349  }
      -
      350 
      -
      351  // Set the stream configuration information for the PID.
      -
      352  pid_state->second->set_config(new_stream_info);
      -
      353 
      -
      354  // Finish initialization if all streams have configs.
      -
      355  FinishInitializationIfNeeded();
      -
      356 }
      -
      357 
      -
      358 bool Mp2tMediaParser::FinishInitializationIfNeeded() {
      -
      359  // Nothing to be done if already initialized.
      -
      360  if (is_initialized_)
      -
      361  return true;
      -
      362 
      -
      363  // Wait for more data to come to finish initialization.
      -
      364  if (pids_.empty())
      -
      365  return true;
      -
      366 
      -
      367  std::vector<scoped_refptr<StreamInfo> > all_stream_info;
      -
      368  uint32_t num_es(0);
      -
      369  for (PidMap::const_iterator iter = pids_.begin(); iter != pids_.end();
      -
      370  ++iter) {
      -
      371  if (((iter->second->pid_type() == PidState::kPidAudioPes) ||
      -
      372  (iter->second->pid_type() == PidState::kPidVideoPes))) {
      -
      373  ++num_es;
      -
      374  if (iter->second->config())
      -
      375  all_stream_info.push_back(iter->second->config());
      -
      376  }
      -
      377  }
      -
      378  if (num_es && (all_stream_info.size() == num_es)) {
      -
      379  // All stream configurations have been received. Initialization can
      -
      380  // be completed.
      -
      381  init_cb_.Run(all_stream_info);
      -
      382  DVLOG(1) << "Mpeg2TS stream parser initialization done";
      -
      383  is_initialized_ = true;
      -
      384  }
      -
      385  return true;
      -
      386 }
      -
      387 
      -
      388 void Mp2tMediaParser::OnEmitSample(
      -
      389  uint32_t pes_pid,
      -
      390  const scoped_refptr<MediaSample>& new_sample) {
      -
      391  DCHECK(new_sample);
      -
      392  DVLOG(LOG_LEVEL_ES)
      -
      393  << "OnEmitSample: "
      -
      394  << " pid="
      -
      395  << pes_pid
      -
      396  << " size="
      -
      397  << new_sample->data_size()
      -
      398  << " dts="
      -
      399  << new_sample->dts()
      -
      400  << " pts="
      -
      401  << new_sample->pts();
      -
      402 
      -
      403  // Add the sample to the appropriate PID sample queue.
      -
      404  PidMap::iterator pid_state = pids_.find(pes_pid);
      -
      405  if (pid_state == pids_.end()) {
      -
      406  LOG(ERROR) << "PID State for new sample not found (pid = "
      -
      407  << pes_pid << ").";
      -
      408  return;
      -
      409  }
      -
      410  pid_state->second->sample_queue().push_back(new_sample);
      -
      411 }
      -
      412 
      -
      413 bool Mp2tMediaParser::EmitRemainingSamples() {
      -
      414  DVLOG(LOG_LEVEL_ES) << "Mp2tMediaParser::EmitRemainingBuffers";
      -
      415 
      -
      416  // No buffer should be sent until fully initialized.
      -
      417  if (!is_initialized_)
      -
      418  return true;
      -
      419 
      -
      420  // Buffer emission.
      -
      421  for (PidMap::const_iterator pid_iter = pids_.begin(); pid_iter != pids_.end();
      -
      422  ++pid_iter) {
      -
      423  SampleQueue& sample_queue = pid_iter->second->sample_queue();
      -
      424  for (SampleQueue::iterator sample_iter = sample_queue.begin();
      -
      425  sample_iter != sample_queue.end();
      -
      426  ++sample_iter) {
      -
      427  if (!new_sample_cb_.Run(pid_iter->first, *sample_iter)) {
      -
      428  // Error processing sample. Propagate error condition.
      -
      429  return false;
      -
      430  }
      -
      431  }
      -
      432  sample_queue.clear();
      -
      433  }
      -
      434 
      -
      435  return true;
      -
      436 }
      -
      437 
      -
      438 } // namespace mp2t
      -
      439 } // namespace media
      -
      440 } // namespace shaka
      -
      void Init(const InitCB &init_cb, const NewSampleCB &new_sample_cb, KeySource *decryption_key_source) override
      +
      319  sbr_in_mimetype_));
      +
      320  is_audio = true;
      +
      321  } else {
      +
      322  return;
      +
      323  }
      +
      324 
      +
      325  // Create the PES state here.
      +
      326  DVLOG(1) << "Create a new PES state";
      +
      327  std::unique_ptr<TsSection> pes_section_parser(
      +
      328  new TsSectionPes(std::move(es_parser)));
      +
      329  PidState::PidType pid_type =
      +
      330  is_audio ? PidState::kPidAudioPes : PidState::kPidVideoPes;
      +
      331  std::unique_ptr<PidState> pes_pid_state(
      +
      332  new PidState(pes_pid, pid_type, std::move(pes_section_parser)));
      +
      333  pes_pid_state->Enable();
      +
      334  pids_.insert(std::pair<int, PidState*>(pes_pid, pes_pid_state.release()));
      +
      335 }
      +
      336 
      +
      337 void Mp2tMediaParser::OnNewStreamInfo(
      +
      338  const scoped_refptr<StreamInfo>& new_stream_info) {
      +
      339  DCHECK(new_stream_info);
      +
      340  DVLOG(1) << "OnVideoConfigChanged for pid=" << new_stream_info->track_id();
      +
      341 
      +
      342  PidMap::iterator pid_state = pids_.find(new_stream_info->track_id());
      +
      343  if (pid_state == pids_.end()) {
      +
      344  LOG(ERROR) << "PID State for new stream not found (pid = "
      +
      345  << new_stream_info->track_id() << ").";
      +
      346  return;
      +
      347  }
      +
      348 
      +
      349  // Set the stream configuration information for the PID.
      +
      350  pid_state->second->set_config(new_stream_info);
      +
      351 
      +
      352  // Finish initialization if all streams have configs.
      +
      353  FinishInitializationIfNeeded();
      +
      354 }
      +
      355 
      +
      356 bool Mp2tMediaParser::FinishInitializationIfNeeded() {
      +
      357  // Nothing to be done if already initialized.
      +
      358  if (is_initialized_)
      +
      359  return true;
      +
      360 
      +
      361  // Wait for more data to come to finish initialization.
      +
      362  if (pids_.empty())
      +
      363  return true;
      +
      364 
      +
      365  std::vector<scoped_refptr<StreamInfo> > all_stream_info;
      +
      366  uint32_t num_es(0);
      +
      367  for (PidMap::const_iterator iter = pids_.begin(); iter != pids_.end();
      +
      368  ++iter) {
      +
      369  if (((iter->second->pid_type() == PidState::kPidAudioPes) ||
      +
      370  (iter->second->pid_type() == PidState::kPidVideoPes))) {
      +
      371  ++num_es;
      +
      372  if (iter->second->config())
      +
      373  all_stream_info.push_back(iter->second->config());
      +
      374  }
      +
      375  }
      +
      376  if (num_es && (all_stream_info.size() == num_es)) {
      +
      377  // All stream configurations have been received. Initialization can
      +
      378  // be completed.
      +
      379  init_cb_.Run(all_stream_info);
      +
      380  DVLOG(1) << "Mpeg2TS stream parser initialization done";
      +
      381  is_initialized_ = true;
      +
      382  }
      +
      383  return true;
      +
      384 }
      +
      385 
      +
      386 void Mp2tMediaParser::OnEmitSample(
      +
      387  uint32_t pes_pid,
      +
      388  const scoped_refptr<MediaSample>& new_sample) {
      +
      389  DCHECK(new_sample);
      +
      390  DVLOG(LOG_LEVEL_ES)
      +
      391  << "OnEmitSample: "
      +
      392  << " pid="
      +
      393  << pes_pid
      +
      394  << " size="
      +
      395  << new_sample->data_size()
      +
      396  << " dts="
      +
      397  << new_sample->dts()
      +
      398  << " pts="
      +
      399  << new_sample->pts();
      +
      400 
      +
      401  // Add the sample to the appropriate PID sample queue.
      +
      402  PidMap::iterator pid_state = pids_.find(pes_pid);
      +
      403  if (pid_state == pids_.end()) {
      +
      404  LOG(ERROR) << "PID State for new sample not found (pid = "
      +
      405  << pes_pid << ").";
      +
      406  return;
      +
      407  }
      +
      408  pid_state->second->sample_queue().push_back(new_sample);
      +
      409 }
      +
      410 
      +
      411 bool Mp2tMediaParser::EmitRemainingSamples() {
      +
      412  DVLOG(LOG_LEVEL_ES) << "Mp2tMediaParser::EmitRemainingBuffers";
      +
      413 
      +
      414  // No buffer should be sent until fully initialized.
      +
      415  if (!is_initialized_)
      +
      416  return true;
      +
      417 
      +
      418  // Buffer emission.
      +
      419  for (PidMap::const_iterator pid_iter = pids_.begin(); pid_iter != pids_.end();
      +
      420  ++pid_iter) {
      +
      421  SampleQueue& sample_queue = pid_iter->second->sample_queue();
      +
      422  for (SampleQueue::iterator sample_iter = sample_queue.begin();
      +
      423  sample_iter != sample_queue.end();
      +
      424  ++sample_iter) {
      +
      425  if (!new_sample_cb_.Run(pid_iter->first, *sample_iter)) {
      +
      426  // Error processing sample. Propagate error condition.
      +
      427  return false;
      +
      428  }
      +
      429  }
      +
      430  sample_queue.clear();
      +
      431  }
      +
      432 
      +
      433  return true;
      +
      434 }
      +
      435 
      +
      436 } // namespace mp2t
      +
      437 } // namespace media
      +
      438 } // namespace shaka
      +
      void Init(const InitCB &init_cb, const NewSampleCB &new_sample_cb, KeySource *decryption_key_source) override
      void Push(const uint8_t *data, int size)
      Append new bytes to the end of the queue.
      Definition: byte_queue.cc:29
      void Pop(int count)
      Definition: byte_queue.cc:70
      -
      bool Flush() override WARN_UNUSED_RESULT
      +
      bool Flush() override WARN_UNUSED_RESULT
      void Reset()
      Reset the queue to the empty state.
      Definition: byte_queue.cc:24
      void Peek(const uint8_t **data, int *size) const
      Definition: byte_queue.cc:63
      -
      KeySource is responsible for encryption key acquisition.
      Definition: key_source.h:31
      -
      bool Parse(const uint8_t *buf, int size) override WARN_UNUSED_RESULT
      +
      KeySource is responsible for encryption key acquisition.
      Definition: key_source.h:30
      +
      bool Parse(const uint8_t *buf, int size) override WARN_UNUSED_RESULT
      diff --git a/docs/d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html b/docs/d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html index 74a55a8389..fbe447df61 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 bff0d88545..2a34fc7ba1 100644 --- a/docs/d1/d7d/webm__video__client_8cc_source.html +++ b/docs/d1/d7d/webm__video__client_8cc_source.html @@ -270,7 +270,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d81/structshaka_1_1media_1_1H265ReferencePictureSet-members.html b/docs/d1/d81/structshaka_1_1media_1_1H265ReferencePictureSet-members.html index 8b0e129777..5a9dc08d99 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 f2d17a26b4..6aeb00da7d 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 afaa408990..2849d48e84 100644 --- a/docs/d1/d82/classshaka_1_1media_1_1WebMParserClient-members.html +++ b/docs/d1/d82/classshaka_1_1media_1_1WebMParserClient-members.html @@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d86/classshaka_1_1media_1_1mp4_1_1KeyRotationFragmenter-members.html b/docs/d1/d86/classshaka_1_1media_1_1mp4_1_1KeyRotationFragmenter-members.html index a81a8e0064..6e50d11f4b 100644 --- a/docs/d1/d86/classshaka_1_1media_1_1mp4_1_1KeyRotationFragmenter-members.html +++ b/docs/d1/d86/classshaka_1_1media_1_1mp4_1_1KeyRotationFragmenter-members.html @@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); crypt_byte_block() const (defined in shaka::media::mp4::EncryptingFragmenter)shaka::media::mp4::EncryptingFragmenterinlineprotected data() (defined in shaka::media::mp4::Fragmenter)shaka::media::mp4::Fragmenterinline earliest_presentation_time() const (defined in shaka::media::mp4::Fragmenter)shaka::media::mp4::Fragmenterinline - EncryptingFragmenter(scoped_refptr< StreamInfo > info, TrackFragment *traf, scoped_ptr< EncryptionKey > encryption_key, int64_t clear_time, FourCC protection_scheme, uint8_t crypt_byte_block, uint8_t skip_byte_block, MuxerListener *listener)shaka::media::mp4::EncryptingFragmenter + EncryptingFragmenter(scoped_refptr< StreamInfo > info, TrackFragment *traf, std::unique_ptr< EncryptionKey > encryption_key, int64_t clear_time, FourCC protection_scheme, uint8_t crypt_byte_block, uint8_t skip_byte_block, MuxerListener *listener)shaka::media::mp4::EncryptingFragmenter encryption_key() const (defined in shaka::media::mp4::EncryptingFragmenter)shaka::media::mp4::EncryptingFragmenterinlineprotected encryptor() (defined in shaka::media::mp4::EncryptingFragmenter)shaka::media::mp4::EncryptingFragmenterinlineprotected FinalizeFragment() overrideshaka::media::mp4::EncryptingFragmentervirtual @@ -114,7 +114,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); OptimizeSampleEntries(std::vector< T > *entries, T *default_value)shaka::media::mp4::Fragmenterprotected PrepareFragmentForEncryption(bool enable_encryption) overrideshaka::media::mp4::KeyRotationFragmenterprotectedvirtual protection_scheme() const (defined in shaka::media::mp4::EncryptingFragmenter)shaka::media::mp4::EncryptingFragmenterinlineprotected - set_encryption_key(scoped_ptr< EncryptionKey > encryption_key) (defined in shaka::media::mp4::EncryptingFragmenter)shaka::media::mp4::EncryptingFragmenterinlineprotected + set_encryption_key(std::unique_ptr< EncryptionKey > encryption_key) (defined in shaka::media::mp4::EncryptingFragmenter)shaka::media::mp4::EncryptingFragmenterinlineprotected set_use_decoding_timestamp_in_timeline(bool use_decoding_timestamp_in_timeline)shaka::media::mp4::Fragmenterinline skip_byte_block() const (defined in shaka::media::mp4::EncryptingFragmenter)shaka::media::mp4::EncryptingFragmenterinlineprotected traf() (defined in shaka::media::mp4::Fragmenter)shaka::media::mp4::Fragmenterinlineprotected @@ -124,7 +124,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d8e/webm__audio__client_8cc_source.html b/docs/d1/d8e/webm__audio__client_8cc_source.html index aa11b5f4dc..e5fda96b19 100644 --- a/docs/d1/d8e/webm__audio__client_8cc_source.html +++ b/docs/d1/d8e/webm__audio__client_8cc_source.html @@ -214,7 +214,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d91/classshaka_1_1media_1_1H26xBitReader-members.html b/docs/d1/d91/classshaka_1_1media_1_1H26xBitReader-members.html index 59fa684791..48e472ca8c 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 fad7bd3029..12446309ac 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 c7268c4d49..d488457825 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 045361c083..2c5a0170d2 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 f44c18d8df..4927658cf6 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 32c3c8401f..98eb409e58 100644 --- a/docs/d1/da1/structshaka_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html +++ b/docs/d1/da1/structshaka_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample.html @@ -116,7 +116,7 @@ scoped_refptr< diff --git a/docs/d1/da2/classshaka_1_1media_1_1NalUnitToByteStreamConverter-members.html b/docs/d1/da2/classshaka_1_1media_1_1NalUnitToByteStreamConverter-members.html index 695e6f4d88..3e99b57171 100644 --- a/docs/d1/da2/classshaka_1_1media_1_1NalUnitToByteStreamConverter-members.html +++ b/docs/d1/da2/classshaka_1_1media_1_1NalUnitToByteStreamConverter-members.html @@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html b/docs/d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html index d2d3f5144d..1a30389e05 100644 --- a/docs/d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html +++ b/docs/d1/da5/classshaka_1_1media_1_1VPCodecConfigurationRecord.html @@ -306,7 +306,7 @@ bool video_full_range_flag diff --git a/docs/d1/dad/classshaka_1_1media_1_1Demuxer-members.html b/docs/d1/dad/classshaka_1_1media_1_1Demuxer-members.html index 8bed560d30..63e5af2640 100644 --- a/docs/d1/dad/classshaka_1_1media_1_1Demuxer-members.html +++ b/docs/d1/dad/classshaka_1_1media_1_1Demuxer-members.html @@ -99,13 +99,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); Initialize()shaka::media::Demuxer Parse()shaka::media::Demuxer Run()shaka::media::Demuxer - SetKeySource(scoped_ptr< KeySource > key_source)shaka::media::Demuxer + SetKeySource(std::unique_ptr< KeySource > key_source)shaka::media::Demuxer streams()shaka::media::Demuxerinline ~Demuxer() (defined in shaka::media::Demuxer)shaka::media::Demuxer 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 f036291209..bc957b3e62 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 dff2ed8a17..4308dad808 100644 --- a/docs/d1/db2/decoder__configuration__record_8h_source.html +++ b/docs/d1/db2/decoder__configuration__record_8h_source.html @@ -166,7 +166,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/dc2/h26x__bit__reader_8h_source.html b/docs/d1/dc2/h26x__bit__reader_8h_source.html index 9f24ca2a10..842a43890a 100644 --- a/docs/d1/dc2/h26x__bit__reader_8h_source.html +++ b/docs/d1/dc2/h26x__bit__reader_8h_source.html @@ -192,7 +192,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/dcb/encrypting__fragmenter_8h_source.html b/docs/d1/dcb/encrypting__fragmenter_8h_source.html index 7d4ed94e5e..18b70c2d2c 100644 --- a/docs/d1/dcb/encrypting__fragmenter_8h_source.html +++ b/docs/d1/dcb/encrypting__fragmenter_8h_source.html @@ -96,8 +96,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      7 #ifndef MEDIA_FORMATS_MP4_ENCRYPTING_FRAGMENTER_H_
      8 #define MEDIA_FORMATS_MP4_ENCRYPTING_FRAGMENTER_H_
      9 
      -
      10 #include "packager/base/memory/ref_counted.h"
      -
      11 #include "packager/base/memory/scoped_ptr.h"
      +
      10 #include <memory>
      +
      11 #include "packager/base/memory/ref_counted.h"
      12 #include "packager/media/base/fourccs.h"
      13 #include "packager/media/codecs/video_slice_header_parser.h"
      14 #include "packager/media/codecs/vpx_parser.h"
      @@ -115,9 +115,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      26 
      29  public:
      -
      41  EncryptingFragmenter(scoped_refptr<StreamInfo> info,
      +
      41  EncryptingFragmenter(scoped_refptr<StreamInfo> info,
      42  TrackFragment* traf,
      -
      43  scoped_ptr<EncryptionKey> encryption_key,
      +
      43  std::unique_ptr<EncryptionKey> encryption_key,
      44  int64_t clear_time,
      45  FourCC protection_scheme,
      46  uint8_t crypt_byte_block,
      @@ -142,8 +142,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      74  uint8_t crypt_byte_block() const { return crypt_byte_block_; }
      75  uint8_t skip_byte_block() const { return skip_byte_block_; }
      76 
      -
      77  void set_encryption_key(scoped_ptr<EncryptionKey> encryption_key) {
      -
      78  encryption_key_ = encryption_key.Pass();
      +
      77  void set_encryption_key(std::unique_ptr<EncryptionKey> encryption_key) {
      +
      78  encryption_key_ = std::move(encryption_key);
      79  }
      80 
      81  private:
      @@ -154,8 +154,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      86  bool IsSubsampleEncryptionRequired();
      87 
      88  scoped_refptr<StreamInfo> info_;
      -
      89  scoped_ptr<EncryptionKey> encryption_key_;
      -
      90  scoped_ptr<AesCryptor> encryptor_;
      +
      89  std::unique_ptr<EncryptionKey> encryption_key_;
      +
      90  std::unique_ptr<AesCryptor> encryptor_;
      91  // If this stream contains AVC, subsample encryption specifies that the size
      92  // and type of NAL units remain unencrypted. This function returns the size of
      93  // the size field in bytes. Can be 1, 2 or 4 bytes.
      @@ -167,8 +167,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      99  const uint8_t skip_byte_block_;
      100  MuxerListener* listener_;
      101 
      -
      102  scoped_ptr<VPxParser> vpx_parser_;
      -
      103  scoped_ptr<VideoSliceHeaderParser> header_parser_;
      +
      102  std::unique_ptr<VPxParser> vpx_parser_;
      +
      103  std::unique_ptr<VideoSliceHeaderParser> header_parser_;
      104 
      105  DISALLOW_COPY_AND_ASSIGN(EncryptingFragmenter);
      106 };
      @@ -178,24 +178,24 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      110 } // namespace shaka
      111 
      112 #endif // MEDIA_FORMATS_MP4_ENCRYPTING_FRAGMENTER_H_
      -
      Status AddSample(scoped_refptr< MediaSample > sample) override
      +
      Status AddSample(scoped_refptr< MediaSample > sample) override
      -
      Status InitializeFragment(int64_t first_sample_dts) override
      -
      EncryptingFragmenter(scoped_refptr< StreamInfo > info, TrackFragment *traf, scoped_ptr< EncryptionKey > encryption_key, int64_t clear_time, FourCC protection_scheme, uint8_t crypt_byte_block, uint8_t skip_byte_block, MuxerListener *listener)
      +
      Status InitializeFragment(int64_t first_sample_dts) override
      -
      void FinalizeFragment() override
      Finalize and optimize the fragment.
      -
      virtual void FinalizeFragmentForEncryption()
      Finalize current fragment for encryption.
      +
      void FinalizeFragment() override
      Finalize and optimize the fragment.
      +
      virtual void FinalizeFragmentForEncryption()
      Finalize current fragment for encryption.
      - +
      EncryptingFragmenter generates MP4 fragments with sample encrypted.
      - -
      virtual Status PrepareFragmentForEncryption(bool enable_encryption)
      + +
      virtual Status PrepareFragmentForEncryption(bool enable_encryption)
      +
      EncryptingFragmenter(scoped_refptr< StreamInfo > info, TrackFragment *traf, std::unique_ptr< EncryptionKey > encryption_key, int64_t clear_time, FourCC protection_scheme, uint8_t crypt_byte_block, uint8_t skip_byte_block, MuxerListener *listener)
      diff --git a/docs/d1/dd5/classshaka_1_1media_1_1Cluster.html b/docs/d1/dd5/classshaka_1_1media_1_1Cluster.html index 6211cc418e..534e5be5bc 100644 --- a/docs/d1/dd5/classshaka_1_1media_1_1Cluster.html +++ b/docs/d1/dd5/classshaka_1_1media_1_1Cluster.html @@ -96,9 +96,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); - - + + @@ -108,7 +108,7 @@ int 

      Detailed Description

      -

      Definition at line 14 of file cluster_builder.h.

      +

      Definition at line 16 of file cluster_builder.h.


      The documentation for this class was generated from the following files: 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 e5261e110e..b87056d421 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');

      Public Member Functions

      Cluster (scoped_ptr< uint8_t[]> data, int size)
       
      Cluster (std::unique_ptr< uint8_t[]> data, int size)
       
      const uint8_t * data () const
       
      size () const size () const
      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 b60bb81bb4..d5d9a2065a 100644 --- a/docs/d1/de2/classshaka_1_1media_1_1VideoStreamInfo-members.html +++ b/docs/d1/de2/classshaka_1_1media_1_1VideoStreamInfo-members.html @@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/de2/composition__offset__iterator_8cc_source.html b/docs/d1/de2/composition__offset__iterator_8cc_source.html index bbb3e01f07..38a3aaeded 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 511a55f576..f7ddfb54f1 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 572131449f..f0567b9775 100644 --- a/docs/d1/de7/classshaka_1_1xml_1_1AdaptationSetXmlNode.html +++ b/docs/d1/de7/classshaka_1_1xml_1_1AdaptationSetXmlNode.html @@ -153,7 +153,7 @@ Additional Inherited Members

      Detailed Description

      AdaptationSetType specified in MPD.

      -

      Definition at line 113 of file xml_node.h.

      +

      Definition at line 114 of file xml_node.h.

      Member Function Documentation

      @@ -197,7 +197,7 @@ Additional Inherited Members
      diff --git a/docs/d1/de7/structshaka_1_1media_1_1H265ReferencePictureListModifications-members.html b/docs/d1/de7/structshaka_1_1media_1_1H265ReferencePictureListModifications-members.html index 0096d471ca..d1734077a5 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 821d1e03a4..b76ec48646 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 fd55582a4e..47bc0569b5 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 8cf8c106fd..94ed2f0535 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 47f329ac52..e27d6c2a1d 100644 --- a/docs/d1/df0/aes__encryptor_8h_source.html +++ b/docs/d1/df0/aes__encryptor_8h_source.html @@ -102,100 +102,99 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      13 #include <vector>
      14 
      15 #include "packager/base/macros.h"
      -
      16 #include "packager/base/memory/scoped_ptr.h"
      -
      17 #include "packager/media/base/aes_cryptor.h"
      -
      18 
      -
      19 namespace shaka {
      -
      20 namespace media {
      -
      21 
      -
      22 class AesEncryptor : public AesCryptor {
      -
      23  public:
      -
      30  explicit AesEncryptor(ConstantIvFlag constant_iv_flag);
      -
      31  ~AesEncryptor() override;
      -
      32 
      -
      35  bool InitializeWithIv(const std::vector<uint8_t>& key,
      -
      36  const std::vector<uint8_t>& iv) override;
      -
      37 
      -
      38  private:
      -
      39  DISALLOW_COPY_AND_ASSIGN(AesEncryptor);
      -
      40 };
      -
      41 
      -
      42 // Class which implements AES-CTR counter-mode encryption.
      -
      43 class AesCtrEncryptor : public AesEncryptor {
      -
      44  public:
      - -
      46  ~AesCtrEncryptor() override;
      -
      47 
      -
      48  uint32_t block_offset() const { return block_offset_; }
      -
      49 
      -
      50  private:
      -
      51  bool CryptInternal(const uint8_t* plaintext,
      -
      52  size_t plaintext_size,
      -
      53  uint8_t* ciphertext,
      -
      54  size_t* ciphertext_size) override;
      -
      55  void SetIvInternal() override;
      -
      56 
      -
      57  // Current block offset.
      -
      58  uint32_t block_offset_;
      -
      59  // Current AES-CTR counter.
      -
      60  std::vector<uint8_t> counter_;
      -
      61  // Encrypted counter.
      -
      62  std::vector<uint8_t> encrypted_counter_;
      -
      63 
      -
      64  DISALLOW_COPY_AND_ASSIGN(AesCtrEncryptor);
      -
      65 };
      -
      66 
      -
      67 enum CbcPaddingScheme {
      -
      68  // Residual block is left unencrypted.
      -
      69  kNoPadding,
      -
      70  // Residual block is padded with pkcs5 and encrypted.
      -
      71  kPkcs5Padding,
      -
      72  // Residual block and the next-to-last block are encrypted using ciphertext
      -
      73  // stealing method.
      -
      74  kCtsPadding,
      -
      75 };
      -
      76 
      -
      77 // Class which implements AES-CBC (Cipher block chaining) encryption.
      -
      78 class AesCbcEncryptor : public AesEncryptor {
      -
      79  public:
      -
      84  explicit AesCbcEncryptor(CbcPaddingScheme padding_scheme);
      -
      85 
      -
      93  AesCbcEncryptor(CbcPaddingScheme padding_scheme,
      -
      94  ConstantIvFlag constant_iv_flag);
      -
      95 
      -
      96  ~AesCbcEncryptor() override;
      -
      97 
      -
      98  private:
      -
      99  bool CryptInternal(const uint8_t* plaintext,
      -
      100  size_t plaintext_size,
      -
      101  uint8_t* ciphertext,
      -
      102  size_t* ciphertext_size) override;
      -
      103  void SetIvInternal() override;
      -
      104  size_t NumPaddingBytes(size_t size) const override;
      -
      105 
      -
      106  const CbcPaddingScheme padding_scheme_;
      -
      107  // 16-byte internal iv for crypto operations.
      -
      108  std::vector<uint8_t> internal_iv_;
      -
      109 
      -
      110  DISALLOW_COPY_AND_ASSIGN(AesCbcEncryptor);
      -
      111 };
      -
      112 
      -
      113 } // namespace media
      -
      114 } // namespace shaka
      -
      115 
      -
      116 #endif // MEDIA_BASE_AES_ENCRYPTOR_H_
      +
      16 #include "packager/media/base/aes_cryptor.h"
      +
      17 
      +
      18 namespace shaka {
      +
      19 namespace media {
      +
      20 
      +
      21 class AesEncryptor : public AesCryptor {
      +
      22  public:
      +
      29  explicit AesEncryptor(ConstantIvFlag constant_iv_flag);
      +
      30  ~AesEncryptor() override;
      +
      31 
      +
      34  bool InitializeWithIv(const std::vector<uint8_t>& key,
      +
      35  const std::vector<uint8_t>& iv) override;
      +
      36 
      +
      37  private:
      +
      38  DISALLOW_COPY_AND_ASSIGN(AesEncryptor);
      +
      39 };
      +
      40 
      +
      41 // Class which implements AES-CTR counter-mode encryption.
      +
      42 class AesCtrEncryptor : public AesEncryptor {
      +
      43  public:
      + +
      45  ~AesCtrEncryptor() override;
      +
      46 
      +
      47  uint32_t block_offset() const { return block_offset_; }
      +
      48 
      +
      49  private:
      +
      50  bool CryptInternal(const uint8_t* plaintext,
      +
      51  size_t plaintext_size,
      +
      52  uint8_t* ciphertext,
      +
      53  size_t* ciphertext_size) override;
      +
      54  void SetIvInternal() override;
      +
      55 
      +
      56  // Current block offset.
      +
      57  uint32_t block_offset_;
      +
      58  // Current AES-CTR counter.
      +
      59  std::vector<uint8_t> counter_;
      +
      60  // Encrypted counter.
      +
      61  std::vector<uint8_t> encrypted_counter_;
      +
      62 
      +
      63  DISALLOW_COPY_AND_ASSIGN(AesCtrEncryptor);
      +
      64 };
      +
      65 
      +
      66 enum CbcPaddingScheme {
      +
      67  // Residual block is left unencrypted.
      +
      68  kNoPadding,
      +
      69  // Residual block is padded with pkcs5 and encrypted.
      +
      70  kPkcs5Padding,
      +
      71  // Residual block and the next-to-last block are encrypted using ciphertext
      +
      72  // stealing method.
      +
      73  kCtsPadding,
      +
      74 };
      +
      75 
      +
      76 // Class which implements AES-CBC (Cipher block chaining) encryption.
      +
      77 class AesCbcEncryptor : public AesEncryptor {
      +
      78  public:
      +
      83  explicit AesCbcEncryptor(CbcPaddingScheme padding_scheme);
      +
      84 
      +
      92  AesCbcEncryptor(CbcPaddingScheme padding_scheme,
      +
      93  ConstantIvFlag constant_iv_flag);
      +
      94 
      +
      95  ~AesCbcEncryptor() override;
      +
      96 
      +
      97  private:
      +
      98  bool CryptInternal(const uint8_t* plaintext,
      +
      99  size_t plaintext_size,
      +
      100  uint8_t* ciphertext,
      +
      101  size_t* ciphertext_size) override;
      +
      102  void SetIvInternal() override;
      +
      103  size_t NumPaddingBytes(size_t size) const override;
      +
      104 
      +
      105  const CbcPaddingScheme padding_scheme_;
      +
      106  // 16-byte internal iv for crypto operations.
      +
      107  std::vector<uint8_t> internal_iv_;
      +
      108 
      +
      109  DISALLOW_COPY_AND_ASSIGN(AesCbcEncryptor);
      +
      110 };
      +
      111 
      +
      112 } // namespace media
      +
      113 } // namespace shaka
      +
      114 
      +
      115 #endif // MEDIA_BASE_AES_ENCRYPTOR_H_
      AesCbcEncryptor(CbcPaddingScheme padding_scheme)
      bool InitializeWithIv(const std::vector< uint8_t > &key, const std::vector< uint8_t > &iv) override
      AesEncryptor(ConstantIvFlag constant_iv_flag)
      - +
      const std::vector< uint8_t > & iv() const
      Definition: aes_cryptor.h:81
      - - + + diff --git a/docs/d1/df3/structshaka_1_1MpdOptions.html b/docs/d1/df3/structshaka_1_1MpdOptions.html index 6f0b81224f..f6ef78e1fb 100644 --- a/docs/d1/df3/structshaka_1_1MpdOptions.html +++ b/docs/d1/df3/structshaka_1_1MpdOptions.html @@ -127,7 +127,7 @@ double suggested_presentat diff --git a/docs/d1/df5/nalu__reader_8cc_source.html b/docs/d1/df5/nalu__reader_8cc_source.html index 6417ccb9a6..0932bcff44 100644 --- a/docs/d1/df5/nalu__reader_8cc_source.html +++ b/docs/d1/df5/nalu__reader_8cc_source.html @@ -434,7 +434,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/df9/structshaka_1_1media_1_1mp4_1_1VideoMediaHeader-members.html b/docs/d1/df9/structshaka_1_1media_1_1mp4_1_1VideoMediaHeader-members.html index d2a719f351..e218d2463f 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 2dd5903bfd..392af815f3 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 e2e75b0020..2884ca3c39 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 9ac133fb62..1c885758d8 100644 --- a/docs/d2/d0f/classshaka_1_1MpdBuilder-members.html +++ b/docs/d2/d0f/classshaka_1_1MpdBuilder-members.html @@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); AddAdaptationSet(const std::string &lang)shaka::MpdBuildervirtual AddBaseUrl(const std::string &base_url)shaka::MpdBuilder DynamicMpdBuilderTest (defined in shaka::MpdBuilder)shaka::MpdBuilderfriend - InjectClockForTesting(scoped_ptr< base::Clock > clock)shaka::MpdBuilderinline + InjectClockForTesting(std::unique_ptr< base::Clock > clock)shaka::MpdBuilderinline kDynamic enum value (defined in shaka::MpdBuilder)shaka::MpdBuilder kStatic enum value (defined in shaka::MpdBuilder)shaka::MpdBuilder MakePathsRelativeToMpd(const std::string &mpd_path, MediaInfo *media_info)shaka::MpdBuilderstatic @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d0f/structshaka_1_1media_1_1wvm_1_1PrevSampleData.html b/docs/d2/d0f/structshaka_1_1media_1_1wvm_1_1PrevSampleData.html index 98e8663eb4..e4f709bc2f 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 0a5c2bc7d2..dffab584c2 100644 --- a/docs/d2/d11/classshaka_1_1media_1_1MuxerListener-members.html +++ b/docs/d2/d11/classshaka_1_1media_1_1MuxerListener-members.html @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d17/ts__section__pat_8cc_source.html b/docs/d2/d17/ts__section__pat_8cc_source.html index e96628f454..b887bc3862 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 89e834aac8..dc559fb27b 100644 --- a/docs/d2/d23/threaded__io__file_8cc_source.html +++ b/docs/d2/d23/threaded__io__file_8cc_source.html @@ -106,12 +106,12 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      17 using base::subtle::NoBarrier_Load;
      18 using base::subtle::NoBarrier_Store;
      19 
      -
      20 ThreadedIoFile::ThreadedIoFile(scoped_ptr<File, FileCloser> internal_file,
      +
      20 ThreadedIoFile::ThreadedIoFile(std::unique_ptr<File, FileCloser> internal_file,
      21  Mode mode,
      22  uint64_t io_cache_size,
      23  uint64_t io_block_size)
      24  : File(internal_file->file_name()),
      -
      25  internal_file_(internal_file.Pass()),
      +
      25  internal_file_(std::move(internal_file)),
      26  mode_(mode),
      27  cache_(io_cache_size),
      28  io_buffer_(io_block_size),
      @@ -315,7 +315,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d24/packager__util_8h_source.html b/docs/d2/d24/packager__util_8h_source.html index d90337ef71..d3480a53dd 100644 --- a/docs/d2/d24/packager__util_8h_source.html +++ b/docs/d2/d24/packager__util_8h_source.html @@ -99,49 +99,48 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      10 #define APP_PACKAGER_UTIL_H_
      11 
      12 #include <gflags/gflags.h>
      -
      13 #include <string>
      -
      14 #include <vector>
      -
      15 
      -
      16 #include "packager/base/memory/scoped_ptr.h"
      -
      17 
      -
      18 DECLARE_bool(dump_stream_info);
      -
      19 
      -
      20 namespace shaka {
      -
      21 
      -
      22 struct MpdOptions;
      -
      23 
      -
      24 namespace media {
      -
      25 
      -
      26 class KeySource;
      -
      27 class MediaStream;
      -
      28 class Muxer;
      -
      29 struct MuxerOptions;
      -
      30 
      -
      32 void DumpStreamInfo(const std::vector<MediaStream*>& streams);
      -
      33 
      -
      38 scoped_ptr<KeySource> CreateEncryptionKeySource();
      -
      39 
      -
      44 scoped_ptr<KeySource> CreateDecryptionKeySource();
      -
      45 
      -
      47 bool AssignFlagsFromProfile();
      -
      48 
      -
      50 bool GetMuxerOptions(MuxerOptions* muxer_options);
      -
      51 
      -
      53 bool GetMpdOptions(MpdOptions* mpd_options);
      -
      54 
      -
      64 bool AddStreamToMuxer(const std::vector<MediaStream*>& streams,
      -
      65  const std::string& stream_selector,
      -
      66  const std::string& language_override,
      -
      67  Muxer* muxer);
      -
      68 
      -
      69 } // namespace media
      -
      70 } // namespace shaka
      -
      71 
      -
      72 #endif // APP_PACKAGER_UTIL_H_
      +
      13 #include <memory>
      +
      14 #include <string>
      +
      15 #include <vector>
      +
      16 
      +
      17 DECLARE_bool(dump_stream_info);
      +
      18 
      +
      19 namespace shaka {
      +
      20 
      +
      21 struct MpdOptions;
      +
      22 
      +
      23 namespace media {
      +
      24 
      +
      25 class KeySource;
      +
      26 class MediaStream;
      +
      27 class Muxer;
      +
      28 struct MuxerOptions;
      +
      29 
      +
      31 void DumpStreamInfo(const std::vector<MediaStream*>& streams);
      +
      32 
      +
      37 std::unique_ptr<KeySource> CreateEncryptionKeySource();
      +
      38 
      +
      43 std::unique_ptr<KeySource> CreateDecryptionKeySource();
      +
      44 
      +
      46 bool AssignFlagsFromProfile();
      +
      47 
      +
      49 bool GetMuxerOptions(MuxerOptions* muxer_options);
      +
      50 
      +
      52 bool GetMpdOptions(MpdOptions* mpd_options);
      +
      53 
      +
      63 bool AddStreamToMuxer(const std::vector<MediaStream*>& streams,
      +
      64  const std::string& stream_selector,
      +
      65  const std::string& language_override,
      +
      66  Muxer* muxer);
      +
      67 
      +
      68 } // namespace media
      +
      69 } // namespace shaka
      +
      70 
      +
      71 #endif // APP_PACKAGER_UTIL_H_
      diff --git a/docs/d2/d29/classshaka_1_1media_1_1mp4_1_1KeyRotationFragmenter.html b/docs/d2/d29/classshaka_1_1media_1_1mp4_1_1KeyRotationFragmenter.html index 282912ab67..dbee7b972f 100644 --- a/docs/d2/d29/classshaka_1_1media_1_1mp4_1_1KeyRotationFragmenter.html +++ b/docs/d2/d29/classshaka_1_1media_1_1mp4_1_1KeyRotationFragmenter.html @@ -111,8 +111,8 @@ Public Member Functions  KeyRotationFragmenter (MovieFragment *moof, scoped_refptr< StreamInfo > info, TrackFragment *traf, KeySource *encryption_key_source, KeySource::TrackType track_type, int64_t crypto_period_duration, int64_t clear_time, FourCC protection_scheme, uint8_t crypt_byte_block, uint8_t skip_byte_block, MuxerListener *muxer_listener)   - Public Member Functions inherited from shaka::media::mp4::EncryptingFragmenterEncryptingFragmenter (scoped_refptr< StreamInfo > info, TrackFragment *traf, scoped_ptr< EncryptionKey > encryption_key, int64_t clear_time, FourCC protection_scheme, uint8_t crypt_byte_block, uint8_t skip_byte_block, MuxerListener *listener) -  + EncryptingFragmenter (scoped_refptr< StreamInfo > info, TrackFragment *traf, std::unique_ptr< EncryptionKey > encryption_key, int64_t clear_time, FourCC protection_scheme, uint8_t crypt_byte_block, uint8_t skip_byte_block, MuxerListener *listener) +  Status AddSample (scoped_refptr< MediaSample > sample) override   Status InitializeFragment (int64_t first_sample_dts) override @@ -176,9 +176,9 @@ uint8_t crypt_byte_block uint8_t skip_byte_block () const   - -void set_encryption_key (scoped_ptr< EncryptionKey > encryption_key) -  + +void set_encryption_key (std::unique_ptr< EncryptionKey > encryption_key) +  - Protected Member Functions inherited from shaka::media::mp4::Fragmenter TrackFragmenttraf () @@ -328,7 +328,7 @@ void set_encryption_key diff --git a/docs/d2/d30/tracks__builder_8cc_source.html b/docs/d2/d30/tracks__builder_8cc_source.html index 34d76f877c..cb7756ab9d 100644 --- a/docs/d2/d30/tracks__builder_8cc_source.html +++ b/docs/d2/d30/tracks__builder_8cc_source.html @@ -487,7 +487,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d33/video__slice__header__parser_8h_source.html b/docs/d2/d33/video__slice__header__parser_8h_source.html index d324b31cfe..59194f7955 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 f18bd0ac34..9d2adbf36f 100644 --- a/docs/d2/d35/classshaka_1_1media_1_1WidevineKeySource-members.html +++ b/docs/d2/d35/classshaka_1_1media_1_1WidevineKeySource-members.html @@ -104,8 +104,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); key_production_thread_ (defined in shaka::media::WidevineKeySource)shaka::media::WidevineKeySourceprotected KeySource() (defined in shaka::media::KeySource)shaka::media::KeySource NUM_VALID_TRACK_TYPES enum value (defined in shaka::media::KeySource)shaka::media::KeySource - set_key_fetcher(scoped_ptr< KeyFetcher > key_fetcher)shaka::media::WidevineKeySource - set_signer(scoped_ptr< RequestSigner > signer)shaka::media::WidevineKeySource + set_key_fetcher(std::unique_ptr< KeyFetcher > key_fetcher)shaka::media::WidevineKeySource + set_signer(std::unique_ptr< RequestSigner > signer)shaka::media::WidevineKeySource TRACK_TYPE_AUDIO enum value (defined in shaka::media::KeySource)shaka::media::KeySource TRACK_TYPE_HD enum value (defined in shaka::media::KeySource)shaka::media::KeySource TRACK_TYPE_SD enum value (defined in shaka::media::KeySource)shaka::media::KeySource @@ -119,7 +119,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d3c/structshaka_1_1media_1_1mp4_1_1TrackFragmentHeader-members.html b/docs/d2/d3c/structshaka_1_1media_1_1mp4_1_1TrackFragmentHeader-members.html index 089a22455d..413fd7844a 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 2105c72d3e..c167a6fddd 100644 --- a/docs/d2/d45/program__map__table__writer_8cc_source.html +++ b/docs/d2/d45/program__map__table__writer_8cc_source.html @@ -500,7 +500,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d4c/nal__unit__to__byte__stream__converter_8cc_source.html b/docs/d2/d4c/nal__unit__to__byte__stream__converter_8cc_source.html index 9ef890bdf0..cfa7d6c249 100644 --- a/docs/d2/d4c/nal__unit__to__byte__stream__converter_8cc_source.html +++ b/docs/d2/d4c/nal__unit__to__byte__stream__converter_8cc_source.html @@ -291,7 +291,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d4d/file_8h_source.html b/docs/d2/d4d/file_8h_source.html index 38bdee139c..5ff9842ea8 100644 --- a/docs/d2/d4d/file_8h_source.html +++ b/docs/d2/d4d/file_8h_source.html @@ -171,27 +171,27 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      152 
      153 #endif // PACKAGER_FILE_FILE_H_
      virtual bool Open()=0
      Internal open. Should not be used directly.
      -
      static File * OpenWithNoBuffering(const char *file_name, const char *mode)
      Definition: file.cc:156
      -
      static bool Copy(const char *from_file_name, const char *to_file_name)
      Definition: file.cc:207
      +
      static File * OpenWithNoBuffering(const char *file_name, const char *mode)
      Definition: file.cc:153
      +
      static bool Copy(const char *from_file_name, const char *to_file_name)
      Definition: file.cc:204
      virtual int64_t Size()=0
      virtual ~File()
      Definition: file.h:132
      virtual bool Close()=0
      virtual int64_t Write(const void *buffer, uint64_t length)=0
      Define an abstract file interface.
      Definition: file.h:24
      virtual int64_t Read(void *buffer, uint64_t length)=0
      -
      static int64_t CopyFile(File *source, File *destination)
      Definition: file.cc:236
      +
      static int64_t CopyFile(File *source, File *destination)
      Definition: file.cc:233
      virtual bool Tell(uint64_t *position)=0
      const std::string & file_name() const
      Definition: file.h:91
      -
      static int64_t GetFileSize(const char *file_name)
      Definition: file.cc:180
      -
      static bool ReadFileToString(const char *file_name, std::string *contents)
      Definition: file.cc:189
      +
      static int64_t GetFileSize(const char *file_name)
      Definition: file.cc:177
      +
      static bool ReadFileToString(const char *file_name, std::string *contents)
      Definition: file.cc:186
      virtual bool Flush()=0
      virtual bool Seek(uint64_t position)=0
      Declaration of class which implements a thread-safe circular buffer.
      -
      static bool Delete(const char *file_name)
      Definition: file.cc:167
      +
      static bool Delete(const char *file_name)
      Definition: file.cc:164
      diff --git a/docs/d2/d4f/structshaka_1_1Element-members.html b/docs/d2/d4f/structshaka_1_1Element-members.html index 2938dc890e..707c01d907 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 1d6f8b422f..734cfad3a7 100644 --- a/docs/d2/d51/classshaka_1_1MockMpdNotifier-members.html +++ b/docs/d2/d51/classshaka_1_1MockMpdNotifier-members.html @@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d59/structshaka_1_1media_1_1H264SliceHeader.html b/docs/d2/d59/structshaka_1_1media_1_1H264SliceHeader.html index 5d9a69618e..ed8adc83c6 100644 --- a/docs/d2/d59/structshaka_1_1media_1_1H264SliceHeader.html +++ b/docs/d2/d59/structshaka_1_1media_1_1H264SliceHeader.html @@ -276,7 +276,7 @@ int slice_beta_offset_div2 diff --git a/docs/d2/d5b/classshaka_1_1media_1_1KeySource-members.html b/docs/d2/d5b/classshaka_1_1media_1_1KeySource-members.html index 3bd53f8682..02a2b68bda 100644 --- a/docs/d2/d5b/classshaka_1_1media_1_1KeySource-members.html +++ b/docs/d2/d5b/classshaka_1_1media_1_1KeySource-members.html @@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d5c/classshaka_1_1SimpleMpdNotifier-members.html b/docs/d2/d5c/classshaka_1_1SimpleMpdNotifier-members.html index 151b9568ce..f0f7f1048a 100644 --- a/docs/d2/d5c/classshaka_1_1SimpleMpdNotifier-members.html +++ b/docs/d2/d5c/classshaka_1_1SimpleMpdNotifier-members.html @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d61/structshaka_1_1media_1_1H264ModificationOfPicNum-members.html b/docs/d2/d61/structshaka_1_1media_1_1H264ModificationOfPicNum-members.html index d4fd424a03..f4518ab821 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 65fe64c395..e83befcfdd 100644 --- a/docs/d2/d62/simple__mpd__notifier_8h_source.html +++ b/docs/d2/d62/simple__mpd__notifier_8h_source.html @@ -97,11 +97,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      8 #define MPD_BASE_SIMPLE_MPD_NOTIFIER_H_
      9 
      10 #include <map>
      -
      11 #include <string>
      -
      12 #include <vector>
      -
      13 
      -
      14 #include "packager/base/gtest_prod_util.h"
      -
      15 #include "packager/base/memory/scoped_ptr.h"
      +
      11 #include <memory>
      +
      12 #include <string>
      +
      13 #include <vector>
      +
      14 
      +
      15 #include "packager/base/gtest_prod_util.h"
      16 #include "packager/base/synchronization/lock.h"
      17 #include "packager/mpd/base/mpd_notifier.h"
      18 #include "packager/mpd/base/mpd_notifier_util.h"
      @@ -149,13 +149,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      65  }
      66 
      67  // Testing only method. Sets mpd_builder_.
      -
      68  void SetMpdBuilderForTesting(scoped_ptr<MpdBuilder> mpd_builder) {
      -
      69  mpd_builder_ = mpd_builder.Pass();
      +
      68  void SetMpdBuilderForTesting(std::unique_ptr<MpdBuilder> mpd_builder) {
      +
      69  mpd_builder_ = std::move(mpd_builder);
      70  }
      71 
      72  // MPD output path.
      73  std::string output_path_;
      -
      74  scoped_ptr<MpdBuilder> mpd_builder_;
      +
      74  std::unique_ptr<MpdBuilder> mpd_builder_;
      75  base::Lock lock_;
      76 
      77  typedef std::map<std::string, AdaptationSet*> AdaptationSetMap;
      @@ -186,7 +186,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d62/structshaka_1_1media_1_1mp4_1_1Movie-members.html b/docs/d2/d62/structshaka_1_1media_1_1mp4_1_1Movie-members.html index db08159089..ce35ef0929 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 ea21016694..f116e3d52e 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 8c73e7959a..fd1b4ba99c 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 a2c26936d6..dcbdba924f 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 32d6eeb832..fc42d9360c 100644 --- a/docs/d2/d7b/classshaka_1_1DashIopMpdNotifier-members.html +++ b/docs/d2/d7b/classshaka_1_1DashIopMpdNotifier-members.html @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d7b/simple__mpd__notifier_8cc_source.html b/docs/d2/d7b/simple__mpd__notifier_8cc_source.html index 2abd28cf6f..496dc97cad 100644 --- a/docs/d2/d7b/simple__mpd__notifier_8cc_source.html +++ b/docs/d2/d7b/simple__mpd__notifier_8cc_source.html @@ -239,7 +239,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d7e/aac__audio__specific__config_8h_source.html b/docs/d2/d7e/aac__audio__specific__config_8h_source.html index 52666339c9..6195d3c39b 100644 --- a/docs/d2/d7e/aac__audio__specific__config_8h_source.html +++ b/docs/d2/d7e/aac__audio__specific__config_8h_source.html @@ -164,7 +164,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d7f/structshaka_1_1media_1_1mp4_1_1CuePayloadBox.html b/docs/d2/d7f/structshaka_1_1media_1_1mp4_1_1CuePayloadBox.html index ffb1bd13a6..ecd465c5df 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 bcb9787029..9a340c4394 100644 --- a/docs/d2/d8a/hls__notify__muxer__listener_8h_source.html +++ b/docs/d2/d8a/hls__notify__muxer__listener_8h_source.html @@ -175,7 +175,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d91/structshaka_1_1media_1_1mp4_1_1CuePayloadBox-members.html b/docs/d2/d91/structshaka_1_1media_1_1mp4_1_1CuePayloadBox-members.html index 1977a62c26..64c952652f 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 4a27a252c2..3bbe3bf565 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 c1fc002ad0..42ce9cade6 100644 --- a/docs/d2/d93/classshaka_1_1media_1_1mp2t_1_1PesPacket.html +++ b/docs/d2/d93/classshaka_1_1media_1_1mp2t_1_1PesPacket.html @@ -387,7 +387,7 @@ const std::vector< uint8_t > &  diff --git a/docs/d2/d95/structshaka_1_1media_1_1StreamDescriptor.html b/docs/d2/d95/structshaka_1_1media_1_1StreamDescriptor.html index 24c65a5306..be17bd3b86 100644 --- a/docs/d2/d95/structshaka_1_1media_1_1StreamDescriptor.html +++ b/docs/d2/d95/structshaka_1_1media_1_1StreamDescriptor.html @@ -140,7 +140,7 @@ std::string hls_playlist_n diff --git a/docs/d2/da6/threaded__io__file_8h_source.html b/docs/d2/da6/threaded__io__file_8h_source.html index 78e4f2696c..430d934bdb 100644 --- a/docs/d2/da6/threaded__io__file_8h_source.html +++ b/docs/d2/da6/threaded__io__file_8h_source.html @@ -96,8 +96,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      7 #ifndef PACKAGER_FILE_THREADED_IO_FILE_H_
      8 #define PACKAGER_FILE_THREADED_IO_FILE_H_
      9 
      -
      10 #include "packager/base/atomicops.h"
      -
      11 #include "packager/base/memory/scoped_ptr.h"
      +
      10 #include <memory>
      +
      11 #include "packager/base/atomicops.h"
      12 #include "packager/base/synchronization/waitable_event.h"
      13 #include "packager/media/file/file.h"
      14 #include "packager/media/file/file_closer.h"
      @@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      25  kOutputMode
      26  };
      27 
      -
      28  ThreadedIoFile(scoped_ptr<File, FileCloser> internal_file,
      +
      28  ThreadedIoFile(std::unique_ptr<File, FileCloser> internal_file,
      29  Mode mode,
      30  uint64_t io_cache_size,
      31  uint64_t io_block_size);
      @@ -138,7 +138,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      53  void RunInInputMode();
      54  void RunInOutputMode();
      55 
      -
      56  scoped_ptr<File, FileCloser> internal_file_;
      +
      56  std::unique_ptr<File, FileCloser> internal_file_;
      57  const Mode mode_;
      58  IoCache cache_;
      59  std::vector<uint8_t> io_buffer_;
      @@ -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 ec598d3b1a..da3ee96c4c 100644 --- a/docs/d2/da8/mp4_2segmenter_8cc_source.html +++ b/docs/d2/da8/mp4_2segmenter_8cc_source.html @@ -236,11 +236,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      147 } // namespace
      148 
      149 Segmenter::Segmenter(const MuxerOptions& options,
      -
      150  scoped_ptr<FileType> ftyp,
      -
      151  scoped_ptr<Movie> moov)
      +
      150  std::unique_ptr<FileType> ftyp,
      +
      151  std::unique_ptr<Movie> moov)
      152  : options_(options),
      -
      153  ftyp_(ftyp.Pass()),
      -
      154  moov_(moov.Pass()),
      +
      153  ftyp_(std::move(ftyp)),
      +
      154  moov_(std::move(moov)),
      155  moof_(new MovieFragment()),
      156  fragment_buffer_(new BufferWriter()),
      157  sidx_(new SegmentIndex()),
      @@ -252,7 +252,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      163 
      164 Segmenter::~Segmenter() { STLDeleteElements(&fragmenters_); }
      165 
      -
      166 Status Segmenter::Initialize(const std::vector<MediaStream*>& streams,
      +
      166 Status Segmenter::Initialize(const std::vector<MediaStream*>& streams,
      167  MuxerListener* muxer_listener,
      168  ProgressListener* progress_listener,
      169  KeySource* encryption_key_source,
      @@ -319,7 +319,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      230  continue;
      231  }
      232 
      -
      233  scoped_ptr<EncryptionKey> encryption_key(new EncryptionKey());
      +
      233  std::unique_ptr<EncryptionKey> encryption_key(new EncryptionKey());
      234  Status status =
      235  encryption_key_source->GetKey(track_type, encryption_key.get());
      236  if (!status.ok())
      @@ -348,7 +348,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      259  }
      260 
      261  fragmenters_[i] = new EncryptingFragmenter(
      -
      262  streams[i]->info(), &moof_->tracks[i], encryption_key.Pass(),
      +
      262  streams[i]->info(), &moof_->tracks[i], std::move(encryption_key),
      263  clear_lead_in_seconds * streams[i]->info()->time_scale(),
      264  protection_scheme, pattern.crypt_byte_block, pattern.skip_byte_block,
      265  muxer_listener_);
      @@ -584,15 +584,15 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      This class listens to progress updates events.
      -
      Status Initialize(scoped_ptr< MkvWriter > writer, StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds)
      Definition: segmenter.cc:49
      - +
      static bool GenerateRandomIv(FourCC protection_scheme, std::vector< uint8_t > *iv)
      Definition: aes_cryptor.cc:109
      +
      Status Initialize(std::unique_ptr< MkvWriter > writer, StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds)
      Definition: segmenter.cc:49
      EncryptingFragmenter generates MP4 fragments with sample encrypted.
      virtual void OnProgress(double progress)=0
      -
      KeySource is responsible for encryption key acquisition.
      Definition: key_source.h:31
      +
      KeySource is responsible for encryption key acquisition.
      Definition: key_source.h:30
      void UpdateProgress(uint64_t progress)
      Update segmentation progress using ProgressListener.
      Definition: segmenter.cc:255
      @@ -601,7 +601,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/da9/classshaka_1_1media_1_1BufferWriter-members.html b/docs/d2/da9/classshaka_1_1media_1_1BufferWriter-members.html index c87a67a7ef..99cc4dfa01 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 1b2187e01f..d437c5f28d 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 9dcecad42d..4d1336c38a 100644 --- a/docs/d2/dae/webm__muxer_8cc_source.html +++ b/docs/d2/dae/webm__muxer_8cc_source.html @@ -127,7 +127,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      38  "WebM does not support protection scheme other than 'cenc'.");
      39  }
      40 
      -
      41  scoped_ptr<MkvWriter> writer(new MkvWriter);
      +
      41  std::unique_ptr<MkvWriter> writer(new MkvWriter);
      42  Status status = writer->Open(options().output_file_name);
      43  if (!status.ok())
      44  return status;
      @@ -141,7 +141,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      52  }
      53 
      54  Status initialized = segmenter_->Initialize(
      -
      55  writer.Pass(), streams()[0]->info().get(), progress_listener(),
      +
      55  std::move(writer), streams()[0]->info().get(), progress_listener(),
      56  muxer_listener(), encryption_key_source(), max_sd_pixels(),
      57  clear_lead_in_seconds());
      58 
      @@ -216,7 +216,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      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
      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:180
      +
      static int64_t GetFileSize(const char *file_name)
      Definition: file.cc:177
      virtual void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)=0
      @@ -225,7 +225,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/db1/structshaka_1_1media_1_1mp4_1_1SampleToGroup-members.html b/docs/d2/db1/structshaka_1_1media_1_1mp4_1_1SampleToGroup-members.html index 5da3e491ae..22d8a7fffc 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 57f060766d..857de7b34c 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 b4628a6666..c3b57c0bc9 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 9c78796eed..26c90c3990 100644 --- a/docs/d2/dba/classshaka_1_1media_1_1SegmentTestBase.html +++ b/docs/d2/dba/classshaka_1_1media_1_1SegmentTestBase.html @@ -129,11 +129,11 @@ void SetUp () override void TearDown () override   - + template<typename S > -void CreateAndInitializeSegmenter (const MuxerOptions &options, StreamInfo *info, KeySource *key_source, scoped_ptr< webm::Segmenter > *result) const - Creates a Segmenter of the given type and initializes it.
      -  +void CreateAndInitializeSegmenter (const MuxerOptions &options, StreamInfo *info, KeySource *key_source, std::unique_ptr< webm::Segmenter > *result) const + Creates a Segmenter of the given type and initializes it.
      scoped_refptr< MediaSampleCreateSample (KeyFrameFlag key_frame_flag, uint64_t duration, SideDataFlag side_data_flag)  Creates a new media sample.
      @@ -180,7 +180,7 @@ bool single_segment_ diff --git a/docs/d2/dc3/structshaka_1_1media_1_1mp4_1_1Track-members.html b/docs/d2/dc3/structshaka_1_1media_1_1mp4_1_1Track-members.html index 868f1d8436..9787ff617f 100644 --- a/docs/d2/dc3/structshaka_1_1media_1_1mp4_1_1Track-members.html +++ b/docs/d2/dc3/structshaka_1_1media_1_1mp4_1_1Track-members.html @@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/dc7/structshaka_1_1MpdOptions-members.html b/docs/d2/dc7/structshaka_1_1MpdOptions-members.html index 9acf5259f9..c8d5c9d89a 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 a919cc8c42..eeaac8cc6c 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 5c16b4e232..543915c55d 100644 --- a/docs/d2/dcd/structshaka_1_1media_1_1mp4_1_1EditList-members.html +++ b/docs/d2/dcd/structshaka_1_1media_1_1mp4_1_1EditList-members.html @@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/dd5/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter.html b/docs/d2/dd5/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter.html index 989fea162c..99949d28f2 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,8 +120,8 @@ Public Member Functions  Segmenter (const MuxerOptions &options)   -Status Initialize (scoped_ptr< MkvWriter > writer, StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds) -  +Status Initialize (std::unique_ptr< MkvWriter > writer, StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds) +  Status Finalize ()   Status AddSample (scoped_refptr< MediaSample > sample) @@ -131,9 +131,9 @@ Public Member Functions - - + + @@ -190,7 +190,7 @@ double 

      Protected Member Functions

      -Status DoInitialize (scoped_ptr< MkvWriter > writer) override
       
      +Status DoInitialize (std::unique_ptr< MkvWriter > writer) override
       
      Status DoFinalize () override
       
      cluster_length_sec<

      Detailed Description

      An implementation of a Segmenter for a multi-segment. Since this does not use seeking, it does not matter if the underlying files support seeking.

      -

      Definition at line 25 of file multi_segment_segmenter.h.

      +

      Definition at line 24 of file multi_segment_segmenter.h.

      Member Function Documentation

      @@ -277,7 +277,7 @@ double 
      cluster_length_sec< diff --git a/docs/d2/dd6/mkv__writer_8h_source.html b/docs/d2/dd6/mkv__writer_8h_source.html index 04f98fce41..eeb3adc4a7 100644 --- a/docs/d2/dd6/mkv__writer_8h_source.html +++ b/docs/d2/dd6/mkv__writer_8h_source.html @@ -96,9 +96,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      7 #ifndef MEDIA_FORMATS_WEBM_MKV_WRITER_H_
      8 #define MEDIA_FORMATS_WEBM_MKV_WRITER_H_
      9 
      -
      10 #include <string>
      -
      11 
      -
      12 #include "packager/base/memory/scoped_ptr.h"
      +
      10 #include <memory>
      +
      11 #include <string>
      +
      12 
      13 #include "packager/media/base/status.h"
      14 #include "packager/media/file/file_closer.h"
      15 #include "packager/third_party/libwebm/src/mkvmuxer.hpp"
      @@ -127,7 +127,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      61  File* file() { return file_.get(); }
      62 
      63  private:
      -
      64  scoped_ptr<File, FileCloser> file_;
      +
      64  std::unique_ptr<File, FileCloser> file_;
      65  // Keep track of the position and whether we can seek.
      66  mkvmuxer::int64 position_;
      67  bool seekable_;
      @@ -152,7 +152,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html b/docs/d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html index 024c17c10a..72784b9522 100644 --- a/docs/d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html +++ b/docs/d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html @@ -256,7 +256,7 @@ track_id, const scoped_refptr
      diff --git a/docs/d2/de3/classshaka_1_1media_1_1mp2t_1_1TsSectionPmt.html b/docs/d2/de3/classshaka_1_1media_1_1mp2t_1_1TsSectionPmt.html index 04ee6a7ef4..f7ca8e91d0 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 d5a437378d..8f960639f4 100644 --- a/docs/d2/de6/packager__main_8cc_source.html +++ b/docs/d2/de6/packager__main_8cc_source.html @@ -253,446 +253,445 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      164 // Demux, Mux(es) and worker thread used to remux a source file/stream.
      165 class RemuxJob : public base::SimpleThread {
      166  public:
      -
      167  RemuxJob(scoped_ptr<Demuxer> demuxer)
      -
      168  : SimpleThread("RemuxJob"),
      -
      169  demuxer_(demuxer.Pass()) {}
      -
      170 
      -
      171  ~RemuxJob() override {
      -
      172  STLDeleteElements(&muxers_);
      -
      173  }
      -
      174 
      -
      175  void AddMuxer(scoped_ptr<Muxer> mux) {
      -
      176  muxers_.push_back(mux.release());
      -
      177  }
      -
      178 
      -
      179  Demuxer* demuxer() { return demuxer_.get(); }
      -
      180  Status status() { return status_; }
      -
      181 
      -
      182  private:
      -
      183  void Run() override {
      -
      184  DCHECK(demuxer_);
      -
      185  status_ = demuxer_->Run();
      -
      186  }
      -
      187 
      -
      188  scoped_ptr<Demuxer> demuxer_;
      -
      189  std::vector<Muxer*> muxers_;
      -
      190  Status status_;
      -
      191 
      -
      192  DISALLOW_COPY_AND_ASSIGN(RemuxJob);
      -
      193 };
      -
      194 
      -
      195 bool StreamInfoToTextMediaInfo(const StreamDescriptor& stream_descriptor,
      -
      196  const MuxerOptions& stream_muxer_options,
      -
      197  MediaInfo* text_media_info) {
      -
      198  const std::string& language = stream_descriptor.language;
      -
      199  std::string format = DetermineTextFileFormat(stream_descriptor.input);
      -
      200  if (format.empty()) {
      -
      201  LOG(ERROR) << "Failed to determine the text file format for "
      -
      202  << stream_descriptor.input;
      -
      203  return false;
      -
      204  }
      -
      205 
      -
      206  if (!File::Copy(stream_descriptor.input.c_str(),
      -
      207  stream_muxer_options.output_file_name.c_str())) {
      -
      208  LOG(ERROR) << "Failed to copy the input file (" << stream_descriptor.input
      -
      209  << ") to output file (" << stream_muxer_options.output_file_name
      -
      210  << ").";
      -
      211  return false;
      -
      212  }
      -
      213 
      -
      214  text_media_info->set_media_file_name(stream_muxer_options.output_file_name);
      -
      215  text_media_info->set_container_type(MediaInfo::CONTAINER_TEXT);
      -
      216 
      -
      217  if (stream_muxer_options.bandwidth != 0) {
      -
      218  text_media_info->set_bandwidth(stream_muxer_options.bandwidth);
      -
      219  } else {
      -
      220  // Text files are usually small and since the input is one file; there's no
      -
      221  // way for the player to do ranged requests. So set this value to something
      -
      222  // reasonable.
      -
      223  text_media_info->set_bandwidth(256);
      -
      224  }
      -
      225 
      -
      226  MediaInfo::TextInfo* text_info = text_media_info->mutable_text_info();
      -
      227  text_info->set_format(format);
      -
      228  if (!language.empty())
      -
      229  text_info->set_language(language);
      -
      230 
      -
      231  return true;
      -
      232 }
      -
      233 
      -
      234 scoped_ptr<Muxer> CreateOutputMuxer(const MuxerOptions& options,
      -
      235  MediaContainerName container) {
      -
      236  if (container == CONTAINER_WEBM) {
      -
      237  return scoped_ptr<Muxer>(new webm::WebMMuxer(options));
      -
      238  } else if (container == CONTAINER_MPEG2TS) {
      -
      239  return scoped_ptr<Muxer>(new mp2t::TsMuxer(options));
      -
      240  } else {
      -
      241  DCHECK_EQ(container, CONTAINER_MOV);
      -
      242  return scoped_ptr<Muxer>(new mp4::MP4Muxer(options));
      -
      243  }
      -
      244 }
      -
      245 
      -
      246 bool CreateRemuxJobs(const StreamDescriptorList& stream_descriptors,
      -
      247  const MuxerOptions& muxer_options,
      -
      248  FakeClock* fake_clock,
      -
      249  KeySource* key_source,
      -
      250  MpdNotifier* mpd_notifier,
      -
      251  hls::HlsNotifier* hls_notifier,
      -
      252  std::vector<RemuxJob*>* remux_jobs) {
      -
      253  // No notifiers OR (mpd_notifier XOR hls_notifier); which is NAND.
      -
      254  DCHECK(!(mpd_notifier && hls_notifier));
      -
      255  DCHECK(remux_jobs);
      -
      256 
      -
      257  std::string previous_input;
      -
      258  int stream_number = 0;
      -
      259  for (StreamDescriptorList::const_iterator
      -
      260  stream_iter = stream_descriptors.begin();
      -
      261  stream_iter != stream_descriptors.end();
      -
      262  ++stream_iter, ++stream_number) {
      -
      263  // Process stream descriptor.
      -
      264  MuxerOptions stream_muxer_options(muxer_options);
      -
      265  stream_muxer_options.output_file_name = stream_iter->output;
      -
      266  if (!stream_iter->segment_template.empty()) {
      -
      267  if (!ValidateSegmentTemplate(stream_iter->segment_template)) {
      -
      268  LOG(ERROR) << "ERROR: segment template with '"
      -
      269  << stream_iter->segment_template << "' is invalid.";
      -
      270  return false;
      -
      271  }
      -
      272  stream_muxer_options.segment_template = stream_iter->segment_template;
      -
      273  if (stream_muxer_options.single_segment) {
      -
      274  LOG(WARNING) << "Segment template and single segment are incompatible, "
      -
      275  "setting single segment to false.";
      -
      276  stream_muxer_options.single_segment = false;
      -
      277  }
      -
      278  }
      -
      279  stream_muxer_options.bandwidth = stream_iter->bandwidth;
      -
      280 
      -
      281  // Handle text input.
      -
      282  if (stream_iter->stream_selector == "text") {
      -
      283  MediaInfo text_media_info;
      -
      284  if (!StreamInfoToTextMediaInfo(*stream_iter, stream_muxer_options,
      -
      285  &text_media_info)) {
      -
      286  return false;
      -
      287  }
      -
      288 
      -
      289  if (mpd_notifier) {
      -
      290  uint32 unused;
      -
      291  if (!mpd_notifier->NotifyNewContainer(text_media_info, &unused)) {
      -
      292  LOG(ERROR) << "Failed to process text file " << stream_iter->input;
      -
      293  } else {
      -
      294  mpd_notifier->Flush();
      -
      295  }
      -
      296  } else if (FLAGS_output_media_info) {
      - -
      298  text_media_info,
      -
      299  stream_muxer_options.output_file_name + kMediaInfoSuffix);
      -
      300  } else {
      -
      301  NOTIMPLEMENTED()
      -
      302  << "--mpd_output or --output_media_info flags are "
      -
      303  "required for text output. Skipping manifest related output for "
      -
      304  << stream_iter->input;
      -
      305  }
      -
      306  continue;
      -
      307  }
      -
      308 
      -
      309  if (stream_iter->input != previous_input) {
      -
      310  // New remux job needed. Create demux and job thread.
      -
      311  scoped_ptr<Demuxer> demuxer(new Demuxer(stream_iter->input));
      -
      312  if (FLAGS_enable_widevine_decryption ||
      -
      313  FLAGS_enable_fixed_key_decryption) {
      -
      314  scoped_ptr<KeySource> key_source(CreateDecryptionKeySource());
      -
      315  if (!key_source)
      -
      316  return false;
      -
      317  demuxer->SetKeySource(key_source.Pass());
      -
      318  }
      -
      319  Status status = demuxer->Initialize();
      -
      320  if (!status.ok()) {
      -
      321  LOG(ERROR) << "Demuxer failed to initialize: " << status.ToString();
      -
      322  return false;
      -
      323  }
      -
      324  if (FLAGS_dump_stream_info) {
      -
      325  printf("\nFile \"%s\":\n", stream_iter->input.c_str());
      -
      326  DumpStreamInfo(demuxer->streams());
      -
      327  if (stream_iter->output.empty())
      -
      328  continue; // just need stream info.
      -
      329  }
      -
      330  remux_jobs->push_back(new RemuxJob(demuxer.Pass()));
      -
      331  previous_input = stream_iter->input;
      -
      332  }
      -
      333  DCHECK(!remux_jobs->empty());
      -
      334 
      -
      335  scoped_ptr<Muxer> muxer(
      -
      336  CreateOutputMuxer(stream_muxer_options, stream_iter->output_format));
      -
      337  if (FLAGS_use_fake_clock_for_muxer) muxer->set_clock(fake_clock);
      -
      338 
      -
      339  if (key_source) {
      -
      340  muxer->SetKeySource(key_source,
      -
      341  FLAGS_max_sd_pixels,
      -
      342  FLAGS_clear_lead,
      -
      343  FLAGS_crypto_period_duration,
      -
      344  GetProtectionScheme(FLAGS_protection_scheme));
      -
      345  }
      -
      346 
      -
      347  scoped_ptr<MuxerListener> muxer_listener;
      -
      348  DCHECK(!(FLAGS_output_media_info && mpd_notifier));
      -
      349  if (FLAGS_output_media_info) {
      -
      350  const std::string output_media_info_file_name =
      -
      351  stream_muxer_options.output_file_name + kMediaInfoSuffix;
      -
      352  scoped_ptr<VodMediaInfoDumpMuxerListener>
      -
      353  vod_media_info_dump_muxer_listener(
      -
      354  new VodMediaInfoDumpMuxerListener(output_media_info_file_name));
      -
      355  muxer_listener = vod_media_info_dump_muxer_listener.Pass();
      -
      356  }
      -
      357  if (mpd_notifier) {
      -
      358  scoped_ptr<MpdNotifyMuxerListener> mpd_notify_muxer_listener(
      -
      359  new MpdNotifyMuxerListener(mpd_notifier));
      -
      360  muxer_listener = mpd_notify_muxer_listener.Pass();
      -
      361  }
      -
      362 
      -
      363  if (hls_notifier) {
      -
      364  // TODO(rkuroiwa): Do some smart stuff to group the audios, e.g. detect
      -
      365  // languages.
      -
      366  std::string group_id = stream_iter->hls_group_id;
      -
      367  std::string name = stream_iter->hls_name;
      -
      368  std::string hls_playlist_name = stream_iter->hls_playlist_name;
      -
      369  if (group_id.empty())
      -
      370  group_id = "audio";
      -
      371  if (name.empty())
      -
      372  name = base::StringPrintf("stream_%d", stream_number);
      -
      373  if (hls_playlist_name.empty())
      -
      374  hls_playlist_name = base::StringPrintf("stream_%d.m3u8", stream_number);
      -
      375 
      -
      376  muxer_listener.reset(new HlsNotifyMuxerListener(hls_playlist_name, name,
      -
      377  group_id, hls_notifier));
      -
      378  }
      -
      379 
      -
      380  if (muxer_listener)
      -
      381  muxer->SetMuxerListener(muxer_listener.Pass());
      -
      382 
      -
      383  if (!AddStreamToMuxer(remux_jobs->back()->demuxer()->streams(),
      -
      384  stream_iter->stream_selector,
      -
      385  stream_iter->language,
      -
      386  muxer.get())) {
      -
      387  return false;
      -
      388  }
      -
      389  remux_jobs->back()->AddMuxer(muxer.Pass());
      -
      390  }
      -
      391 
      -
      392  return true;
      -
      393 }
      -
      394 
      -
      395 Status RunRemuxJobs(const std::vector<RemuxJob*>& remux_jobs) {
      -
      396  // Start the job threads.
      -
      397  for (std::vector<RemuxJob*>::const_iterator job_iter = remux_jobs.begin();
      -
      398  job_iter != remux_jobs.end();
      -
      399  ++job_iter) {
      -
      400  (*job_iter)->Start();
      -
      401  }
      -
      402 
      -
      403  // Wait for all jobs to complete or an error occurs.
      -
      404  Status status;
      -
      405  bool all_joined;
      -
      406  do {
      -
      407  all_joined = true;
      -
      408  for (std::vector<RemuxJob*>::const_iterator job_iter = remux_jobs.begin();
      -
      409  job_iter != remux_jobs.end();
      -
      410  ++job_iter) {
      -
      411  if ((*job_iter)->HasBeenJoined()) {
      -
      412  status = (*job_iter)->status();
      -
      413  if (!status.ok())
      -
      414  break;
      -
      415  } else {
      -
      416  all_joined = false;
      -
      417  (*job_iter)->Join();
      -
      418  }
      -
      419  }
      -
      420  } while (!all_joined && status.ok());
      -
      421 
      -
      422  return status;
      -
      423 }
      -
      424 
      -
      425 bool RunPackager(const StreamDescriptorList& stream_descriptors) {
      -
      426  const FourCC protection_scheme = GetProtectionScheme(FLAGS_protection_scheme);
      -
      427  if (protection_scheme == FOURCC_NULL)
      -
      428  return false;
      -
      429 
      -
      430  if (!AssignFlagsFromProfile())
      -
      431  return false;
      -
      432 
      -
      433  if (FLAGS_output_media_info && !FLAGS_mpd_output.empty()) {
      -
      434  NOTIMPLEMENTED() << "ERROR: --output_media_info and --mpd_output do not "
      -
      435  "work together.";
      -
      436  return false;
      -
      437  }
      -
      438  if (FLAGS_output_media_info && !FLAGS_single_segment) {
      -
      439  // TODO(rkuroiwa, kqyang): Support partial media info dump for live.
      -
      440  NOTIMPLEMENTED() << "ERROR: --output_media_info is only supported if "
      -
      441  "--single_segment is true.";
      -
      442  return false;
      -
      443  }
      -
      444 
      -
      445  // Since there isn't a muxer listener that can output both MPD and HLS,
      -
      446  // disallow specifying both MPD and HLS flags.
      -
      447  if (!FLAGS_mpd_output.empty() && !FLAGS_hls_master_playlist_output.empty()) {
      -
      448  LOG(ERROR) << "Cannot output both MPD and HLS.";
      -
      449  return false;
      -
      450  }
      -
      451 
      -
      452  // Get basic muxer options.
      -
      453  MuxerOptions muxer_options;
      -
      454  if (!GetMuxerOptions(&muxer_options))
      -
      455  return false;
      -
      456 
      -
      457  MpdOptions mpd_options;
      -
      458  if (!GetMpdOptions(&mpd_options))
      -
      459  return false;
      -
      460 
      -
      461  // Create encryption key source if needed.
      -
      462  scoped_ptr<KeySource> encryption_key_source;
      -
      463  if (FLAGS_enable_widevine_encryption || FLAGS_enable_fixed_key_encryption) {
      -
      464  encryption_key_source = CreateEncryptionKeySource();
      -
      465  if (!encryption_key_source)
      -
      466  return false;
      -
      467  }
      -
      468 
      -
      469  scoped_ptr<MpdNotifier> mpd_notifier;
      -
      470  if (!FLAGS_mpd_output.empty()) {
      -
      471  DashProfile profile =
      -
      472  FLAGS_single_segment ? kOnDemandProfile : kLiveProfile;
      -
      473  std::vector<std::string> base_urls;
      -
      474  base::SplitString(FLAGS_base_urls, ',', &base_urls);
      -
      475  if (FLAGS_generate_dash_if_iop_compliant_mpd) {
      -
      476  mpd_notifier.reset(new DashIopMpdNotifier(profile, mpd_options, base_urls,
      -
      477  FLAGS_mpd_output));
      -
      478  } else {
      -
      479  mpd_notifier.reset(new SimpleMpdNotifier(profile, mpd_options, base_urls,
      -
      480  FLAGS_mpd_output));
      -
      481  }
      -
      482  if (!mpd_notifier->Init()) {
      -
      483  LOG(ERROR) << "MpdNotifier failed to initialize.";
      -
      484  return false;
      -
      485  }
      -
      486  }
      -
      487 
      -
      488  scoped_ptr<hls::HlsNotifier> hls_notifier;
      -
      489  if (!FLAGS_hls_master_playlist_output.empty()) {
      -
      490  base::FilePath master_playlist_path(
      -
      491  base::FilePath::FromUTF8Unsafe(FLAGS_hls_master_playlist_output));
      -
      492  base::FilePath master_playlist_name = master_playlist_path.BaseName();
      -
      493 
      -
      494  hls_notifier.reset(new hls::SimpleHlsNotifier(
      -
      495  hls::HlsNotifier::HlsProfile::kOnDemandProfile, FLAGS_hls_base_url,
      -
      496  master_playlist_path.DirName().AsEndingWithSeparator().AsUTF8Unsafe(),
      -
      497  master_playlist_name.AsUTF8Unsafe()));
      -
      498  }
      -
      499 
      -
      500  std::vector<RemuxJob*> remux_jobs;
      -
      501  STLElementDeleter<std::vector<RemuxJob*> > scoped_jobs_deleter(&remux_jobs);
      -
      502  FakeClock fake_clock;
      -
      503  if (!CreateRemuxJobs(stream_descriptors, muxer_options, &fake_clock,
      -
      504  encryption_key_source.get(), mpd_notifier.get(),
      -
      505  hls_notifier.get(), &remux_jobs)) {
      -
      506  return false;
      -
      507  }
      -
      508 
      -
      509  Status status = RunRemuxJobs(remux_jobs);
      -
      510  if (!status.ok()) {
      -
      511  LOG(ERROR) << "Packaging Error: " << status.ToString();
      -
      512  return false;
      -
      513  }
      -
      514 
      -
      515  if (hls_notifier) {
      -
      516  if (!hls_notifier->Flush())
      -
      517  return false;
      -
      518  }
      -
      519  if (mpd_notifier) {
      -
      520  if (!mpd_notifier->Flush())
      -
      521  return false;
      -
      522  }
      -
      523 
      -
      524  printf("Packaging completed successfully.\n");
      -
      525  return true;
      -
      526 }
      -
      527 
      -
      528 int PackagerMain(int argc, char** argv) {
      -
      529  base::AtExitManager exit;
      -
      530  // Needed to enable VLOG/DVLOG through --vmodule or --v.
      -
      531  base::CommandLine::Init(argc, argv);
      -
      532 
      -
      533  // Set up logging.
      -
      534  logging::LoggingSettings log_settings;
      -
      535  base::FilePath log_filename;
      -
      536  PathService::Get(base::DIR_EXE, &log_filename);
      -
      537  log_filename = log_filename.AppendASCII("packager.log");
      -
      538  log_settings.logging_dest = logging::LOG_TO_ALL;
      -
      539  log_settings.log_file = log_filename.value().c_str();
      -
      540  log_settings.delete_old = logging::DELETE_OLD_LOG_FILE;
      -
      541  CHECK(logging::InitLogging(log_settings));
      -
      542 
      -
      543  google::SetUsageMessage(base::StringPrintf(kUsage, argv[0]));
      -
      544  google::ParseCommandLineFlags(&argc, &argv, true);
      -
      545  if (argc < 2) {
      -
      546  const std::string version_string = base::StringPrintf(
      -
      547  "shaka-packager version %s", GetPackagerVersion().c_str());
      -
      548  google::ShowUsageWithFlags(version_string.c_str());
      -
      549  return kSuccess;
      -
      550  }
      -
      551 
      - -
      553  return kArgumentValidationFailed;
      -
      554 
      -
      555  if (FLAGS_override_version)
      -
      556  SetPackagerVersionForTesting(FLAGS_test_version);
      -
      557 
      -
      558  LibcryptoThreading libcrypto_threading;
      -
      559  // TODO(tinskip): Make InsertStreamDescriptor a member of
      -
      560  // StreamDescriptorList.
      -
      561  StreamDescriptorList stream_descriptors;
      -
      562  for (int i = 1; i < argc; ++i) {
      -
      563  if (!InsertStreamDescriptor(argv[i], &stream_descriptors))
      -
      564  return kArgumentValidationFailed;
      -
      565  }
      -
      566  return RunPackager(stream_descriptors) ? kSuccess : kPackagingFailed;
      -
      567 }
      -
      568 
      -
      569 } // namespace media
      -
      570 } // namespace shaka
      -
      571 
      -
      572 #if defined(OS_WIN)
      -
      573 // Windows wmain, which converts wide character arguments to UTF-8.
      -
      574 int wmain(int argc, wchar_t* argv[], wchar_t* envp[]) {
      -
      575  std::unique_ptr<char* [], std::function<void(char**)>> utf8_argv(
      -
      576  new char*[argc], [argc](char** utf8_args) {
      -
      577  // TODO(tinskip): This leaks, but if this code is enabled, it crashes.
      -
      578  // Figure out why. I suspect gflags does something funny with the
      -
      579  // argument array.
      -
      580  // for (int idx = 0; idx < argc; ++idx)
      -
      581  // delete[] utf8_args[idx];
      -
      582  delete[] utf8_args;
      -
      583  });
      -
      584  std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
      -
      585  for (int idx = 0; idx < argc; ++idx) {
      -
      586  std::string utf8_arg(converter.to_bytes(argv[idx]));
      -
      587  utf8_arg += '\0';
      -
      588  utf8_argv[idx] = new char[utf8_arg.size()];
      -
      589  memcpy(utf8_argv[idx], &utf8_arg[0], utf8_arg.size());
      -
      590  }
      -
      591  return shaka::media::PackagerMain(argc, utf8_argv.get());
      -
      592 }
      -
      593 #else
      -
      594 int main(int argc, char** argv) {
      -
      595  return shaka::media::PackagerMain(argc, argv);
      -
      596 }
      -
      597 #endif // defined(OS_WIN)
      -
      static bool Copy(const char *from_file_name, const char *to_file_name)
      Definition: file.cc:207
      +
      167  RemuxJob(std::unique_ptr<Demuxer> demuxer)
      +
      168  : SimpleThread("RemuxJob"), demuxer_(std::move(demuxer)) {}
      +
      169 
      +
      170  ~RemuxJob() override {
      +
      171  STLDeleteElements(&muxers_);
      +
      172  }
      +
      173 
      +
      174  void AddMuxer(std::unique_ptr<Muxer> mux) {
      +
      175  muxers_.push_back(mux.release());
      +
      176  }
      +
      177 
      +
      178  Demuxer* demuxer() { return demuxer_.get(); }
      +
      179  Status status() { return status_; }
      +
      180 
      +
      181  private:
      +
      182  void Run() override {
      +
      183  DCHECK(demuxer_);
      +
      184  status_ = demuxer_->Run();
      +
      185  }
      +
      186 
      +
      187  std::unique_ptr<Demuxer> demuxer_;
      +
      188  std::vector<Muxer*> muxers_;
      +
      189  Status status_;
      +
      190 
      +
      191  DISALLOW_COPY_AND_ASSIGN(RemuxJob);
      +
      192 };
      +
      193 
      +
      194 bool StreamInfoToTextMediaInfo(const StreamDescriptor& stream_descriptor,
      +
      195  const MuxerOptions& stream_muxer_options,
      +
      196  MediaInfo* text_media_info) {
      +
      197  const std::string& language = stream_descriptor.language;
      +
      198  std::string format = DetermineTextFileFormat(stream_descriptor.input);
      +
      199  if (format.empty()) {
      +
      200  LOG(ERROR) << "Failed to determine the text file format for "
      +
      201  << stream_descriptor.input;
      +
      202  return false;
      +
      203  }
      +
      204 
      +
      205  if (!File::Copy(stream_descriptor.input.c_str(),
      +
      206  stream_muxer_options.output_file_name.c_str())) {
      +
      207  LOG(ERROR) << "Failed to copy the input file (" << stream_descriptor.input
      +
      208  << ") to output file (" << stream_muxer_options.output_file_name
      +
      209  << ").";
      +
      210  return false;
      +
      211  }
      +
      212 
      +
      213  text_media_info->set_media_file_name(stream_muxer_options.output_file_name);
      +
      214  text_media_info->set_container_type(MediaInfo::CONTAINER_TEXT);
      +
      215 
      +
      216  if (stream_muxer_options.bandwidth != 0) {
      +
      217  text_media_info->set_bandwidth(stream_muxer_options.bandwidth);
      +
      218  } else {
      +
      219  // Text files are usually small and since the input is one file; there's no
      +
      220  // way for the player to do ranged requests. So set this value to something
      +
      221  // reasonable.
      +
      222  text_media_info->set_bandwidth(256);
      +
      223  }
      +
      224 
      +
      225  MediaInfo::TextInfo* text_info = text_media_info->mutable_text_info();
      +
      226  text_info->set_format(format);
      +
      227  if (!language.empty())
      +
      228  text_info->set_language(language);
      +
      229 
      +
      230  return true;
      +
      231 }
      +
      232 
      +
      233 std::unique_ptr<Muxer> CreateOutputMuxer(const MuxerOptions& options,
      +
      234  MediaContainerName container) {
      +
      235  if (container == CONTAINER_WEBM) {
      +
      236  return std::unique_ptr<Muxer>(new webm::WebMMuxer(options));
      +
      237  } else if (container == CONTAINER_MPEG2TS) {
      +
      238  return std::unique_ptr<Muxer>(new mp2t::TsMuxer(options));
      +
      239  } else {
      +
      240  DCHECK_EQ(container, CONTAINER_MOV);
      +
      241  return std::unique_ptr<Muxer>(new mp4::MP4Muxer(options));
      +
      242  }
      +
      243 }
      +
      244 
      +
      245 bool CreateRemuxJobs(const StreamDescriptorList& stream_descriptors,
      +
      246  const MuxerOptions& muxer_options,
      +
      247  FakeClock* fake_clock,
      +
      248  KeySource* key_source,
      +
      249  MpdNotifier* mpd_notifier,
      +
      250  hls::HlsNotifier* hls_notifier,
      +
      251  std::vector<RemuxJob*>* remux_jobs) {
      +
      252  // No notifiers OR (mpd_notifier XOR hls_notifier); which is NAND.
      +
      253  DCHECK(!(mpd_notifier && hls_notifier));
      +
      254  DCHECK(remux_jobs);
      +
      255 
      +
      256  std::string previous_input;
      +
      257  int stream_number = 0;
      +
      258  for (StreamDescriptorList::const_iterator
      +
      259  stream_iter = stream_descriptors.begin();
      +
      260  stream_iter != stream_descriptors.end();
      +
      261  ++stream_iter, ++stream_number) {
      +
      262  // Process stream descriptor.
      +
      263  MuxerOptions stream_muxer_options(muxer_options);
      +
      264  stream_muxer_options.output_file_name = stream_iter->output;
      +
      265  if (!stream_iter->segment_template.empty()) {
      +
      266  if (!ValidateSegmentTemplate(stream_iter->segment_template)) {
      +
      267  LOG(ERROR) << "ERROR: segment template with '"
      +
      268  << stream_iter->segment_template << "' is invalid.";
      +
      269  return false;
      +
      270  }
      +
      271  stream_muxer_options.segment_template = stream_iter->segment_template;
      +
      272  if (stream_muxer_options.single_segment) {
      +
      273  LOG(WARNING) << "Segment template and single segment are incompatible, "
      +
      274  "setting single segment to false.";
      +
      275  stream_muxer_options.single_segment = false;
      +
      276  }
      +
      277  }
      +
      278  stream_muxer_options.bandwidth = stream_iter->bandwidth;
      +
      279 
      +
      280  // Handle text input.
      +
      281  if (stream_iter->stream_selector == "text") {
      +
      282  MediaInfo text_media_info;
      +
      283  if (!StreamInfoToTextMediaInfo(*stream_iter, stream_muxer_options,
      +
      284  &text_media_info)) {
      +
      285  return false;
      +
      286  }
      +
      287 
      +
      288  if (mpd_notifier) {
      +
      289  uint32 unused;
      +
      290  if (!mpd_notifier->NotifyNewContainer(text_media_info, &unused)) {
      +
      291  LOG(ERROR) << "Failed to process text file " << stream_iter->input;
      +
      292  } else {
      +
      293  mpd_notifier->Flush();
      +
      294  }
      +
      295  } else if (FLAGS_output_media_info) {
      + +
      297  text_media_info,
      +
      298  stream_muxer_options.output_file_name + kMediaInfoSuffix);
      +
      299  } else {
      +
      300  NOTIMPLEMENTED()
      +
      301  << "--mpd_output or --output_media_info flags are "
      +
      302  "required for text output. Skipping manifest related output for "
      +
      303  << stream_iter->input;
      +
      304  }
      +
      305  continue;
      +
      306  }
      +
      307 
      +
      308  if (stream_iter->input != previous_input) {
      +
      309  // New remux job needed. Create demux and job thread.
      +
      310  std::unique_ptr<Demuxer> demuxer(new Demuxer(stream_iter->input));
      +
      311  if (FLAGS_enable_widevine_decryption ||
      +
      312  FLAGS_enable_fixed_key_decryption) {
      +
      313  std::unique_ptr<KeySource> key_source(CreateDecryptionKeySource());
      +
      314  if (!key_source)
      +
      315  return false;
      +
      316  demuxer->SetKeySource(std::move(key_source));
      +
      317  }
      +
      318  Status status = demuxer->Initialize();
      +
      319  if (!status.ok()) {
      +
      320  LOG(ERROR) << "Demuxer failed to initialize: " << status.ToString();
      +
      321  return false;
      +
      322  }
      +
      323  if (FLAGS_dump_stream_info) {
      +
      324  printf("\nFile \"%s\":\n", stream_iter->input.c_str());
      +
      325  DumpStreamInfo(demuxer->streams());
      +
      326  if (stream_iter->output.empty())
      +
      327  continue; // just need stream info.
      +
      328  }
      +
      329  remux_jobs->push_back(new RemuxJob(std::move(demuxer)));
      +
      330  previous_input = stream_iter->input;
      +
      331  }
      +
      332  DCHECK(!remux_jobs->empty());
      +
      333 
      +
      334  std::unique_ptr<Muxer> muxer(
      +
      335  CreateOutputMuxer(stream_muxer_options, stream_iter->output_format));
      +
      336  if (FLAGS_use_fake_clock_for_muxer) muxer->set_clock(fake_clock);
      +
      337 
      +
      338  if (key_source) {
      +
      339  muxer->SetKeySource(key_source,
      +
      340  FLAGS_max_sd_pixels,
      +
      341  FLAGS_clear_lead,
      +
      342  FLAGS_crypto_period_duration,
      +
      343  GetProtectionScheme(FLAGS_protection_scheme));
      +
      344  }
      +
      345 
      +
      346  std::unique_ptr<MuxerListener> muxer_listener;
      +
      347  DCHECK(!(FLAGS_output_media_info && mpd_notifier));
      +
      348  if (FLAGS_output_media_info) {
      +
      349  const std::string output_media_info_file_name =
      +
      350  stream_muxer_options.output_file_name + kMediaInfoSuffix;
      +
      351  std::unique_ptr<VodMediaInfoDumpMuxerListener>
      +
      352  vod_media_info_dump_muxer_listener(
      +
      353  new VodMediaInfoDumpMuxerListener(output_media_info_file_name));
      +
      354  muxer_listener = std::move(vod_media_info_dump_muxer_listener);
      +
      355  }
      +
      356  if (mpd_notifier) {
      +
      357  std::unique_ptr<MpdNotifyMuxerListener> mpd_notify_muxer_listener(
      +
      358  new MpdNotifyMuxerListener(mpd_notifier));
      +
      359  muxer_listener = std::move(mpd_notify_muxer_listener);
      +
      360  }
      +
      361 
      +
      362  if (hls_notifier) {
      +
      363  // TODO(rkuroiwa): Do some smart stuff to group the audios, e.g. detect
      +
      364  // languages.
      +
      365  std::string group_id = stream_iter->hls_group_id;
      +
      366  std::string name = stream_iter->hls_name;
      +
      367  std::string hls_playlist_name = stream_iter->hls_playlist_name;
      +
      368  if (group_id.empty())
      +
      369  group_id = "audio";
      +
      370  if (name.empty())
      +
      371  name = base::StringPrintf("stream_%d", stream_number);
      +
      372  if (hls_playlist_name.empty())
      +
      373  hls_playlist_name = base::StringPrintf("stream_%d.m3u8", stream_number);
      +
      374 
      +
      375  muxer_listener.reset(new HlsNotifyMuxerListener(hls_playlist_name, name,
      +
      376  group_id, hls_notifier));
      +
      377  }
      +
      378 
      +
      379  if (muxer_listener)
      +
      380  muxer->SetMuxerListener(std::move(muxer_listener));
      +
      381 
      +
      382  if (!AddStreamToMuxer(remux_jobs->back()->demuxer()->streams(),
      +
      383  stream_iter->stream_selector,
      +
      384  stream_iter->language,
      +
      385  muxer.get())) {
      +
      386  return false;
      +
      387  }
      +
      388  remux_jobs->back()->AddMuxer(std::move(muxer));
      +
      389  }
      +
      390 
      +
      391  return true;
      +
      392 }
      +
      393 
      +
      394 Status RunRemuxJobs(const std::vector<RemuxJob*>& remux_jobs) {
      +
      395  // Start the job threads.
      +
      396  for (std::vector<RemuxJob*>::const_iterator job_iter = remux_jobs.begin();
      +
      397  job_iter != remux_jobs.end();
      +
      398  ++job_iter) {
      +
      399  (*job_iter)->Start();
      +
      400  }
      +
      401 
      +
      402  // Wait for all jobs to complete or an error occurs.
      +
      403  Status status;
      +
      404  bool all_joined;
      +
      405  do {
      +
      406  all_joined = true;
      +
      407  for (std::vector<RemuxJob*>::const_iterator job_iter = remux_jobs.begin();
      +
      408  job_iter != remux_jobs.end();
      +
      409  ++job_iter) {
      +
      410  if ((*job_iter)->HasBeenJoined()) {
      +
      411  status = (*job_iter)->status();
      +
      412  if (!status.ok())
      +
      413  break;
      +
      414  } else {
      +
      415  all_joined = false;
      +
      416  (*job_iter)->Join();
      +
      417  }
      +
      418  }
      +
      419  } while (!all_joined && status.ok());
      +
      420 
      +
      421  return status;
      +
      422 }
      +
      423 
      +
      424 bool RunPackager(const StreamDescriptorList& stream_descriptors) {
      +
      425  const FourCC protection_scheme = GetProtectionScheme(FLAGS_protection_scheme);
      +
      426  if (protection_scheme == FOURCC_NULL)
      +
      427  return false;
      +
      428 
      +
      429  if (!AssignFlagsFromProfile())
      +
      430  return false;
      +
      431 
      +
      432  if (FLAGS_output_media_info && !FLAGS_mpd_output.empty()) {
      +
      433  NOTIMPLEMENTED() << "ERROR: --output_media_info and --mpd_output do not "
      +
      434  "work together.";
      +
      435  return false;
      +
      436  }
      +
      437  if (FLAGS_output_media_info && !FLAGS_single_segment) {
      +
      438  // TODO(rkuroiwa, kqyang): Support partial media info dump for live.
      +
      439  NOTIMPLEMENTED() << "ERROR: --output_media_info is only supported if "
      +
      440  "--single_segment is true.";
      +
      441  return false;
      +
      442  }
      +
      443 
      +
      444  // Since there isn't a muxer listener that can output both MPD and HLS,
      +
      445  // disallow specifying both MPD and HLS flags.
      +
      446  if (!FLAGS_mpd_output.empty() && !FLAGS_hls_master_playlist_output.empty()) {
      +
      447  LOG(ERROR) << "Cannot output both MPD and HLS.";
      +
      448  return false;
      +
      449  }
      +
      450 
      +
      451  // Get basic muxer options.
      +
      452  MuxerOptions muxer_options;
      +
      453  if (!GetMuxerOptions(&muxer_options))
      +
      454  return false;
      +
      455 
      +
      456  MpdOptions mpd_options;
      +
      457  if (!GetMpdOptions(&mpd_options))
      +
      458  return false;
      +
      459 
      +
      460  // Create encryption key source if needed.
      +
      461  std::unique_ptr<KeySource> encryption_key_source;
      +
      462  if (FLAGS_enable_widevine_encryption || FLAGS_enable_fixed_key_encryption) {
      +
      463  encryption_key_source = CreateEncryptionKeySource();
      +
      464  if (!encryption_key_source)
      +
      465  return false;
      +
      466  }
      +
      467 
      +
      468  std::unique_ptr<MpdNotifier> mpd_notifier;
      +
      469  if (!FLAGS_mpd_output.empty()) {
      +
      470  DashProfile profile =
      +
      471  FLAGS_single_segment ? kOnDemandProfile : kLiveProfile;
      +
      472  std::vector<std::string> base_urls;
      +
      473  base::SplitString(FLAGS_base_urls, ',', &base_urls);
      +
      474  if (FLAGS_generate_dash_if_iop_compliant_mpd) {
      +
      475  mpd_notifier.reset(new DashIopMpdNotifier(profile, mpd_options, base_urls,
      +
      476  FLAGS_mpd_output));
      +
      477  } else {
      +
      478  mpd_notifier.reset(new SimpleMpdNotifier(profile, mpd_options, base_urls,
      +
      479  FLAGS_mpd_output));
      +
      480  }
      +
      481  if (!mpd_notifier->Init()) {
      +
      482  LOG(ERROR) << "MpdNotifier failed to initialize.";
      +
      483  return false;
      +
      484  }
      +
      485  }
      +
      486 
      +
      487  std::unique_ptr<hls::HlsNotifier> hls_notifier;
      +
      488  if (!FLAGS_hls_master_playlist_output.empty()) {
      +
      489  base::FilePath master_playlist_path(
      +
      490  base::FilePath::FromUTF8Unsafe(FLAGS_hls_master_playlist_output));
      +
      491  base::FilePath master_playlist_name = master_playlist_path.BaseName();
      +
      492 
      +
      493  hls_notifier.reset(new hls::SimpleHlsNotifier(
      +
      494  hls::HlsNotifier::HlsProfile::kOnDemandProfile, FLAGS_hls_base_url,
      +
      495  master_playlist_path.DirName().AsEndingWithSeparator().AsUTF8Unsafe(),
      +
      496  master_playlist_name.AsUTF8Unsafe()));
      +
      497  }
      +
      498 
      +
      499  std::vector<RemuxJob*> remux_jobs;
      +
      500  STLElementDeleter<std::vector<RemuxJob*> > scoped_jobs_deleter(&remux_jobs);
      +
      501  FakeClock fake_clock;
      +
      502  if (!CreateRemuxJobs(stream_descriptors, muxer_options, &fake_clock,
      +
      503  encryption_key_source.get(), mpd_notifier.get(),
      +
      504  hls_notifier.get(), &remux_jobs)) {
      +
      505  return false;
      +
      506  }
      +
      507 
      +
      508  Status status = RunRemuxJobs(remux_jobs);
      +
      509  if (!status.ok()) {
      +
      510  LOG(ERROR) << "Packaging Error: " << status.ToString();
      +
      511  return false;
      +
      512  }
      +
      513 
      +
      514  if (hls_notifier) {
      +
      515  if (!hls_notifier->Flush())
      +
      516  return false;
      +
      517  }
      +
      518  if (mpd_notifier) {
      +
      519  if (!mpd_notifier->Flush())
      +
      520  return false;
      +
      521  }
      +
      522 
      +
      523  printf("Packaging completed successfully.\n");
      +
      524  return true;
      +
      525 }
      +
      526 
      +
      527 int PackagerMain(int argc, char** argv) {
      +
      528  base::AtExitManager exit;
      +
      529  // Needed to enable VLOG/DVLOG through --vmodule or --v.
      +
      530  base::CommandLine::Init(argc, argv);
      +
      531 
      +
      532  // Set up logging.
      +
      533  logging::LoggingSettings log_settings;
      +
      534  base::FilePath log_filename;
      +
      535  PathService::Get(base::DIR_EXE, &log_filename);
      +
      536  log_filename = log_filename.AppendASCII("packager.log");
      +
      537  log_settings.logging_dest = logging::LOG_TO_ALL;
      +
      538  log_settings.log_file = log_filename.value().c_str();
      +
      539  log_settings.delete_old = logging::DELETE_OLD_LOG_FILE;
      +
      540  CHECK(logging::InitLogging(log_settings));
      +
      541 
      +
      542  google::SetUsageMessage(base::StringPrintf(kUsage, argv[0]));
      +
      543  google::ParseCommandLineFlags(&argc, &argv, true);
      +
      544  if (argc < 2) {
      +
      545  const std::string version_string = base::StringPrintf(
      +
      546  "shaka-packager version %s", GetPackagerVersion().c_str());
      +
      547  google::ShowUsageWithFlags(version_string.c_str());
      +
      548  return kSuccess;
      +
      549  }
      +
      550 
      + +
      552  return kArgumentValidationFailed;
      +
      553 
      +
      554  if (FLAGS_override_version)
      +
      555  SetPackagerVersionForTesting(FLAGS_test_version);
      +
      556 
      +
      557  LibcryptoThreading libcrypto_threading;
      +
      558  // TODO(tinskip): Make InsertStreamDescriptor a member of
      +
      559  // StreamDescriptorList.
      +
      560  StreamDescriptorList stream_descriptors;
      +
      561  for (int i = 1; i < argc; ++i) {
      +
      562  if (!InsertStreamDescriptor(argv[i], &stream_descriptors))
      +
      563  return kArgumentValidationFailed;
      +
      564  }
      +
      565  return RunPackager(stream_descriptors) ? kSuccess : kPackagingFailed;
      +
      566 }
      +
      567 
      +
      568 } // namespace media
      +
      569 } // namespace shaka
      +
      570 
      +
      571 #if defined(OS_WIN)
      +
      572 // Windows wmain, which converts wide character arguments to UTF-8.
      +
      573 int wmain(int argc, wchar_t* argv[], wchar_t* envp[]) {
      +
      574  std::unique_ptr<char* [], std::function<void(char**)>> utf8_argv(
      +
      575  new char*[argc], [argc](char** utf8_args) {
      +
      576  // TODO(tinskip): This leaks, but if this code is enabled, it crashes.
      +
      577  // Figure out why. I suspect gflags does something funny with the
      +
      578  // argument array.
      +
      579  // for (int idx = 0; idx < argc; ++idx)
      +
      580  // delete[] utf8_args[idx];
      +
      581  delete[] utf8_args;
      +
      582  });
      +
      583  std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
      +
      584  for (int idx = 0; idx < argc; ++idx) {
      +
      585  std::string utf8_arg(converter.to_bytes(argv[idx]));
      +
      586  utf8_arg += '\0';
      +
      587  utf8_argv[idx] = new char[utf8_arg.size()];
      +
      588  memcpy(utf8_argv[idx], &utf8_arg[0], utf8_arg.size());
      +
      589  }
      +
      590  return shaka::media::PackagerMain(argc, utf8_argv.get());
      +
      591 }
      +
      592 #else
      +
      593 int main(int argc, char** argv) {
      +
      594  return shaka::media::PackagerMain(argc, argv);
      +
      595 }
      +
      596 #endif // defined(OS_WIN)
      +
      static bool Copy(const char *from_file_name, const char *to_file_name)
      Definition: file.cc:204
      bool ValidateWidevineCryptoFlags()
      static bool WriteMediaInfoToFile(const MediaInfo &media_info, const std::string &output_file_path)
      -
      static bool ReadFileToString(const char *file_name, std::string *contents)
      Definition: file.cc:189
      +
      static bool ReadFileToString(const char *file_name, std::string *contents)
      Definition: file.cc:186
      bool ValidateFixedCryptoFlags()
      diff --git a/docs/d2/de7/classshaka_1_1media_1_1TextStreamInfo-members.html b/docs/d2/de7/classshaka_1_1media_1_1TextStreamInfo-members.html index cf899574c0..04ed480ba9 100644 --- a/docs/d2/de7/classshaka_1_1media_1_1TextStreamInfo-members.html +++ b/docs/d2/de7/classshaka_1_1media_1_1TextStreamInfo-members.html @@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      diff --git a/docs/d2/de7/structshaka_1_1media_1_1mp4_1_1Edit-members.html b/docs/d2/de7/structshaka_1_1media_1_1mp4_1_1Edit-members.html index b92c81267a..5a22b30ba7 100644 --- a/docs/d2/de7/structshaka_1_1media_1_1mp4_1_1Edit-members.html +++ b/docs/d2/de7/structshaka_1_1media_1_1mp4_1_1Edit-members.html @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/de9/mock__muxer__listener_8h_source.html b/docs/d2/de9/mock__muxer__listener_8h_source.html index ef7545114e..6b009c5228 100644 --- a/docs/d2/de9/mock__muxer__listener_8h_source.html +++ b/docs/d2/de9/mock__muxer__listener_8h_source.html @@ -163,7 +163,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/deb/es__parser_8h_source.html b/docs/d2/deb/es__parser_8h_source.html index 0cd72f73e0..a24f2446cb 100644 --- a/docs/d2/deb/es__parser_8h_source.html +++ b/docs/d2/deb/es__parser_8h_source.html @@ -145,7 +145,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/dee/classshaka_1_1media_1_1mp2t_1_1TsSectionPes-members.html b/docs/d2/dee/classshaka_1_1media_1_1mp2t_1_1TsSectionPes-members.html index aae465495e..ce71bd645f 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 @@ -102,13 +102,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); Parse(bool payload_unit_start_indicator, const uint8_t *buf, int size) override (defined in shaka::media::mp2t::TsSectionPes)shaka::media::mp2t::TsSectionPesvirtual Reset() override (defined in shaka::media::mp2t::TsSectionPes)shaka::media::mp2t::TsSectionPesvirtual SpecialPid enum name (defined in shaka::media::mp2t::TsSection)shaka::media::mp2t::TsSection - TsSectionPes(scoped_ptr< EsParser > es_parser) (defined in shaka::media::mp2t::TsSectionPes)shaka::media::mp2t::TsSectionPesexplicit + TsSectionPes(std::unique_ptr< EsParser > es_parser) (defined in shaka::media::mp2t::TsSectionPes)shaka::media::mp2t::TsSectionPesexplicit ~TsSection() (defined in shaka::media::mp2t::TsSection)shaka::media::mp2t::TsSectioninlinevirtual ~TsSectionPes() override (defined in shaka::media::mp2t::TsSectionPes)shaka::media::mp2t::TsSectionPes diff --git a/docs/d2/dee/pes__packet__generator_8cc_source.html b/docs/d2/dee/pes__packet__generator_8cc_source.html index 3d12e1b2fb..49c80ea9c0 100644 --- a/docs/d2/dee/pes__packet__generator_8cc_source.html +++ b/docs/d2/dee/pes__packet__generator_8cc_source.html @@ -268,10 +268,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      179  return true;
      180 }
      181 
      - -
      183  scoped_ptr<EncryptionKey> encryption_key) {
      + +
      183  std::unique_ptr<EncryptionKey> encryption_key) {
      184  if (stream_type_ == kStreamVideo) {
      -
      185  scoped_ptr<AesCbcEncryptor> cbc(
      +
      185  std::unique_ptr<AesCbcEncryptor> cbc(
      186  new AesCbcEncryptor(CbcPaddingScheme::kNoPadding));
      187 
      188  const uint8_t kEncryptedBlocks = 1;
      @@ -279,7 +279,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      190  encryptor_.reset(new AesPatternCryptor(
      191  kEncryptedBlocks, kClearBlocks,
      -
      193  AesCryptor::ConstantIvFlag::kUseConstantIv, cbc.Pass()));
      +
      193  AesCryptor::ConstantIvFlag::kUseConstantIv, std::move(cbc)));
      194  } else if (stream_type_ == kStreamAudio) {
      195  encryptor_.reset(
      196  new AesCbcEncryptor(CbcPaddingScheme::kNoPadding,
      @@ -296,11 +296,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      207  return pes_packets_.size();
      208 }
      209 
      -
      210 scoped_ptr<PesPacket> PesPacketGenerator::GetNextPesPacket() {
      +
      210 std::unique_ptr<PesPacket> PesPacketGenerator::GetNextPesPacket() {
      211  DCHECK(!pes_packets_.empty());
      212  PesPacket* pes = pes_packets_.front();
      213  pes_packets_.pop_front();
      -
      214  return scoped_ptr<PesPacket>(pes);
      +
      214  return std::unique_ptr<PesPacket>(pes);
      215 }
      216 
      @@ -311,16 +311,16 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
      222 } // namespace media
      223 } // namespace shaka
      Abstract class holds stream information.
      Definition: stream_info.h:53
      - + -
      virtual scoped_ptr< PesPacket > GetNextPesPacket()
      +
      virtual std::unique_ptr< PesPacket > GetNextPesPacket()
      -
      virtual bool SetEncryptionKey(scoped_ptr< EncryptionKey > encryption_key)
      - +
      virtual bool Initialize(const StreamInfo &stream)
      -
      Implements pattern-based encryption/decryption.
      +
      Implements pattern-based encryption/decryption.
      Class that carries PES packet information.
      Definition: pes_packet.h:20
      +
      virtual bool SetEncryptionKey(std::unique_ptr< EncryptionKey > encryption_key)
      Holds video stream information.
      Holds audio stream information.
      virtual bool PushSample(scoped_refptr< MediaSample > sample)
      @@ -328,7 +328,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/df8/classshaka_1_1media_1_1SegmentTestBase_1_1ClusterParser.html b/docs/d2/df8/classshaka_1_1media_1_1SegmentTestBase_1_1ClusterParser.html index 15a2f6a753..b5b9977729 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 @@ -120,7 +120,7 @@ int cluster_count () c

      Detailed Description

      -

      Definition at line 79 of file segmenter_test_base.h.

      +

      Definition at line 80 of file segmenter_test_base.h.


      The documentation for this class was generated from the following files:
      • media/formats/webm/segmenter_test_base.h
      • media/formats/webm/segmenter_test_base.cc
      • @@ -128,7 +128,7 @@ int cluster_count () c diff --git a/docs/d2/dfc/classshaka_1_1media_1_1MkvWriter-members.html b/docs/d2/dfc/classshaka_1_1media_1_1MkvWriter-members.html index d0fc3aabc2..b225ff1798 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 ce2451f891..ba87d799ac 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 edff893fb7..fb95f4df5d 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 c73ec9fe45..138711d4a7 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 1169a04994..2e6374922f 100644 --- a/docs/d3/d0a/classshaka_1_1media_1_1MediaParser.html +++ b/docs/d3/d0a/classshaka_1_1media_1_1MediaParser.html @@ -130,7 +130,7 @@ Public Member Functions

        Detailed Description

        -

        Definition at line 26 of file media_parser.h.

        +

        Definition at line 25 of file media_parser.h.

        Member Typedef Documentation

        @@ -149,7 +149,7 @@ Public Member Functions -

        Definition at line 35 of file media_parser.h.

        +

        Definition at line 34 of file media_parser.h.

        @@ -172,7 +172,7 @@ Public Member Functions
        Returns
        true if the sample is accepted, false if something was wrong with the sample and a parsing error should be signaled.
        -

        Definition at line 44 of file media_parser.h.

        +

        Definition at line 43 of file media_parser.h.

        @@ -298,7 +298,7 @@ Public Member Functions diff --git a/docs/d3/d0c/classshaka_1_1media_1_1mp2t_1_1AdtsHeader.html b/docs/d3/d0c/classshaka_1_1media_1_1mp2t_1_1AdtsHeader.html index bf427b1af7..858abcbfac 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 bc92aced07..69aa5f750e 100644 --- a/docs/d3/d12/classshaka_1_1media_1_1LibcryptoThreading-members.html +++ b/docs/d3/d12/classshaka_1_1media_1_1LibcryptoThreading-members.html @@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/d15/udp__file__win_8cc_source.html b/docs/d3/d15/udp__file__win_8cc_source.html index dd8d77b0cc..552781e623 100644 --- a/docs/d3/d15/udp__file__win_8cc_source.html +++ b/docs/d3/d15/udp__file__win_8cc_source.html @@ -160,7 +160,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/d18/classshaka_1_1media_1_1mp2t_1_1TsSectionPat-members.html b/docs/d3/d18/classshaka_1_1media_1_1mp2t_1_1TsSectionPat-members.html index 18a5222c48..77eeeffab7 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 5a51f00fbd..6814b57c0b 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 12d6eef586..e8c977557d 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 77f0ae26d2..dddd6a410a 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 44e3eb323f..f03b56d441 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 32b9ad6256..6d1543c7fd 100644 --- a/docs/d3/d56/decrypt__config_8cc_source.html +++ b/docs/d3/d56/decrypt__config_8cc_source.html @@ -127,7 +127,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/d61/classshaka_1_1media_1_1File.html b/docs/d3/d61/classshaka_1_1media_1_1File.html index 14d0a8188e..7ac6fb2c3a 100644 --- a/docs/d3/d61/classshaka_1_1media_1_1File.html +++ b/docs/d3/d61/classshaka_1_1media_1_1File.html @@ -195,7 +195,7 @@ class ThreadedIoFile
        -

        Do not call the destructor directly (with the "delete" keyword) nor use scoped_ptr; instead use Close().

        +

        Do not call the destructor directly (with the "delete" keyword) nor use std::unique_ptr; instead use Close().

        Definition at line 132 of file file.h.

        @@ -270,7 +270,7 @@ class ThreadedIoFile
        Returns
        true on success, false otherwise.
        -

        Definition at line 207 of file file.cc.

        +

        Definition at line 204 of file file.cc.

        @@ -315,7 +315,7 @@ class ThreadedIoFile
        Returns
        Number of bytes written, or a value < 0 on error.
        -

        Definition at line 236 of file file.cc.

        +

        Definition at line 233 of file file.cc.

        @@ -367,7 +367,7 @@ class ThreadedIoFile
        Returns
        Number of bytes written, or a value < 0 on error.
        -

        Definition at line 240 of file file.cc.

        +

        Definition at line 237 of file file.cc.

        @@ -401,7 +401,7 @@ class ThreadedIoFile
        Returns
        true if successful, false otherwise.
        -

        Definition at line 167 of file file.cc.

        +

        Definition at line 164 of file file.cc.

        @@ -481,7 +481,7 @@ class ThreadedIoFile
        Returns
        The size of a file in bytes on success, a value < 0 otherwise. The file will be opened and closed in the process.
        -

        Definition at line 180 of file file.cc.

        +

        Definition at line 177 of file file.cc.

        @@ -526,7 +526,7 @@ class ThreadedIoFile
        Returns
        A File pointer on success, false otherwise.
        -

        Definition at line 145 of file file.cc.

        +

        Definition at line 142 of file file.cc.

        @@ -571,7 +571,7 @@ class ThreadedIoFile
        Returns
        A File pointer on success, false otherwise.
        -

        Definition at line 156 of file file.cc.

        +

        Definition at line 153 of file file.cc.

        @@ -661,7 +661,7 @@ class ThreadedIoFile
        Returns
        true on success, false otherwise.
        -

        Definition at line 189 of file file.cc.

        +

        Definition at line 186 of file file.cc.

        @@ -811,7 +811,7 @@ class ThreadedIoFile diff --git a/docs/d3/d62/continuity__counter_8h_source.html b/docs/d3/d62/continuity__counter_8h_source.html index 3e35be4acc..3ce38c9aaa 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 8c24797d68..bc54208f5b 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 0e04798047..b0742bdf77 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 69d08a44ec..a856285984 100644 --- a/docs/d3/d67/classshaka_1_1media_1_1WebMVideoClient.html +++ b/docs/d3/d67/classshaka_1_1media_1_1WebMVideoClient.html @@ -190,7 +190,7 @@ An empty scoped_refptr if there was unexpected values in the provided parameters diff --git a/docs/d3/d6b/fixed__key__source_8cc_source.html b/docs/d3/d6b/fixed__key__source_8cc_source.html index cd90ac166f..a71d462810 100644 --- a/docs/d3/d6b/fixed__key__source_8cc_source.html +++ b/docs/d3/d6b/fixed__key__source_8cc_source.html @@ -172,38 +172,38 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        83  return Status::OK;
        84 }
        85 
        -
        86 scoped_ptr<FixedKeySource> FixedKeySource::CreateFromHexStrings(
        +
        86 std::unique_ptr<FixedKeySource> FixedKeySource::CreateFromHexStrings(
        87  const std::string& key_id_hex,
        88  const std::string& key_hex,
        89  const std::string& pssh_boxes_hex,
        90  const std::string& iv_hex) {
        -
        91  scoped_ptr<EncryptionKey> encryption_key(new EncryptionKey());
        +
        91  std::unique_ptr<EncryptionKey> encryption_key(new EncryptionKey());
        92 
        93  if (!base::HexStringToBytes(key_id_hex, &encryption_key->key_id)) {
        94  LOG(ERROR) << "Cannot parse key_id_hex " << key_id_hex;
        -
        95  return scoped_ptr<FixedKeySource>();
        +
        95  return std::unique_ptr<FixedKeySource>();
        96  } else if (encryption_key->key_id.size() != 16) {
        97  LOG(ERROR) << "Invalid key ID size '" << encryption_key->key_id.size()
        98  << "', must be 16 bytes.";
        -
        99  return scoped_ptr<FixedKeySource>();
        +
        99  return std::unique_ptr<FixedKeySource>();
        100  }
        101 
        102  if (!base::HexStringToBytes(key_hex, &encryption_key->key)) {
        103  LOG(ERROR) << "Cannot parse key_hex " << key_hex;
        -
        104  return scoped_ptr<FixedKeySource>();
        +
        104  return std::unique_ptr<FixedKeySource>();
        105  }
        106 
        107  std::vector<uint8_t> pssh_boxes;
        108  if (!pssh_boxes_hex.empty() &&
        109  !base::HexStringToBytes(pssh_boxes_hex, &pssh_boxes)) {
        110  LOG(ERROR) << "Cannot parse pssh_hex " << pssh_boxes_hex;
        -
        111  return scoped_ptr<FixedKeySource>();
        +
        111  return std::unique_ptr<FixedKeySource>();
        112  }
        113 
        114  if (!iv_hex.empty()) {
        115  if (!base::HexStringToBytes(iv_hex, &encryption_key->iv)) {
        116  LOG(ERROR) << "Cannot parse iv_hex " << iv_hex;
        -
        117  return scoped_ptr<FixedKeySource>();
        +
        117  return std::unique_ptr<FixedKeySource>();
        118  }
        119  }
        120 
        @@ -211,7 +211,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        122  pssh_boxes.data(), pssh_boxes.size(),
        123  &encryption_key->key_system_info)) {
        124  LOG(ERROR) << "--pssh argument should be full PSSH boxes.";
        -
        125  return scoped_ptr<FixedKeySource>();
        +
        125  return std::unique_ptr<FixedKeySource>();
        126  }
        127 
        128  // If there aren't any PSSH boxes given, create one with the common system ID.
        @@ -224,20 +224,21 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        135  encryption_key->key_system_info.push_back(info);
        136  }
        137 
        -
        138  return scoped_ptr<FixedKeySource>(new FixedKeySource(encryption_key.Pass()));
        -
        139 }
        -
        140 
        -
        141 FixedKeySource::FixedKeySource() {}
        -
        142 FixedKeySource::FixedKeySource(scoped_ptr<EncryptionKey> key)
        -
        143  : encryption_key_(key.Pass()) {}
        -
        144 
        -
        145 } // namespace media
        -
        146 } // namespace shaka
        -
        static scoped_ptr< FixedKeySource > CreateFromHexStrings(const std::string &key_id_hex, const std::string &key_hex, const std::string &pssh_boxes_hex, const std::string &iv_hex)
        +
        138  return std::unique_ptr<FixedKeySource>(
        +
        139  new FixedKeySource(std::move(encryption_key)));
        +
        140 }
        +
        141 
        +
        142 FixedKeySource::FixedKeySource() {}
        +
        143 FixedKeySource::FixedKeySource(std::unique_ptr<EncryptionKey> key)
        +
        144  : encryption_key_(std::move(key)) {}
        +
        145 
        +
        146 } // namespace media
        +
        147 } // namespace shaka
        Status FetchKeys(const std::vector< uint8_t > &pssh_box) override
        +
        static std::unique_ptr< FixedKeySource > CreateFromHexStrings(const std::string &key_id_hex, const std::string &key_hex, const std::string &pssh_boxes_hex, const std::string &iv_hex)
        static bool ParseBoxes(const uint8_t *data, size_t data_size, std::vector< ProtectionSystemSpecificInfo > *pssh_boxes)
        A key source that uses fixed keys for encryption.
        - +
        Status GetKey(TrackType track_type, EncryptionKey *key) override
        @@ -245,7 +246,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 930dd567aa..00e6366dfa 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 @@ -126,10 +126,10 @@ void   void Cancel ()   -void SetMuxerListener (scoped_ptr< MuxerListener > muxer_listener) -  -void SetProgressListener (scoped_ptr< ProgressListener > progress_listener) -  +void SetMuxerListener (std::unique_ptr< MuxerListener > muxer_listener) +  +void SetProgressListener (std::unique_ptr< ProgressListener > progress_listener) +  const std::vector< MediaStream * > & streams () const   @@ -178,7 +178,7 @@ FourCC protection_scheme diff --git a/docs/d3/d72/fixed__key__source_8h_source.html b/docs/d3/d72/fixed__key__source_8h_source.html index 9a1b3f0066..d7daf4614b 100644 --- a/docs/d3/d72/fixed__key__source_8h_source.html +++ b/docs/d3/d72/fixed__key__source_8h_source.html @@ -96,10 +96,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        7 #ifndef MEDIA_BASE_FIXED_KEY_SOURCE_H_
        8 #define MEDIA_BASE_FIXED_KEY_SOURCE_H_
        9 
        -
        10 #include <string>
        -
        11 #include <vector>
        -
        12 
        -
        13 #include "packager/base/memory/scoped_ptr.h"
        +
        10 #include <memory>
        +
        11 #include <string>
        +
        12 #include <vector>
        +
        13 
        14 #include "packager/media/base/key_source.h"
        15 
        16 namespace shaka {
        @@ -127,7 +127,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        41  TrackType track_type,
        42  EncryptionKey* key) override;
        44 
        -
        54  static scoped_ptr<FixedKeySource> CreateFromHexStrings(
        +
        54  static std::unique_ptr<FixedKeySource> CreateFromHexStrings(
        55  const std::string& key_id_hex,
        56  const std::string& key_hex,
        57  const std::string& pssh_boxes_hex,
        @@ -138,9 +138,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        63 
        64  private:
        -
        65  explicit FixedKeySource(scoped_ptr<EncryptionKey> key);
        +
        65  explicit FixedKeySource(std::unique_ptr<EncryptionKey> key);
        66 
        -
        67  scoped_ptr<EncryptionKey> encryption_key_;
        +
        67  std::unique_ptr<EncryptionKey> encryption_key_;
        68 
        69  DISALLOW_COPY_AND_ASSIGN(FixedKeySource);
        70 };
        @@ -149,18 +149,18 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        73 } // namespace shaka
        74 
        75 #endif // MEDIA_BASE_FIXED_KEY_SOURCE_H_
        -
        static scoped_ptr< FixedKeySource > CreateFromHexStrings(const std::string &key_id_hex, const std::string &key_hex, const std::string &pssh_boxes_hex, const std::string &iv_hex)
        Status FetchKeys(const std::vector< uint8_t > &pssh_box) override
        +
        static std::unique_ptr< FixedKeySource > CreateFromHexStrings(const std::string &key_id_hex, const std::string &key_hex, const std::string &pssh_boxes_hex, const std::string &iv_hex)
        A key source that uses fixed keys for encryption.
        - +
        Status GetKey(TrackType track_type, EncryptionKey *key) override
        -
        KeySource is responsible for encryption key acquisition.
        Definition: key_source.h:31
        +
        KeySource is responsible for encryption key acquisition.
        Definition: key_source.h:30
        Status GetCryptoPeriodKey(uint32_t crypto_period_index, TrackType track_type, EncryptionKey *key) override
        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 6dd3177f77..07bbde73b4 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 @@ -130,10 +130,10 @@ void   void Cancel ()   -void SetMuxerListener (scoped_ptr< MuxerListener > muxer_listener) -  -void SetProgressListener (scoped_ptr< ProgressListener > progress_listener) -  +void SetMuxerListener (std::unique_ptr< MuxerListener > muxer_listener) +  +void SetProgressListener (std::unique_ptr< ProgressListener > progress_listener) +  const std::vector< MediaStream * > & streams () const   @@ -182,7 +182,7 @@ FourCC protection_scheme diff --git a/docs/d3/d75/classshaka_1_1media_1_1AesEncryptor.html b/docs/d3/d75/classshaka_1_1media_1_1AesEncryptor.html index bf1f037bb2..5260aeba53 100644 --- a/docs/d3/d75/classshaka_1_1media_1_1AesEncryptor.html +++ b/docs/d3/d75/classshaka_1_1media_1_1AesEncryptor.html @@ -154,7 +154,7 @@ AES_KEY * mutable_aes_key<

        Detailed Description

        -

        Definition at line 22 of file aes_encryptor.h.

        +

        Definition at line 21 of file aes_encryptor.h.

        Constructor & Destructor Documentation

        @@ -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 99a929cb7f..72bcdffe18 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 14092a2a5c..7747ec9d46 100644 --- a/docs/d3/d76/muxer__flags_8h_source.html +++ b/docs/d3/d76/muxer__flags_8h_source.html @@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/d77/structshaka_1_1media_1_1mp4_1_1TextSampleEntry-members.html b/docs/d3/d77/structshaka_1_1media_1_1mp4_1_1TextSampleEntry-members.html index 04890e4f34..ad2e77ae33 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 1e7e988987..2d190ccdc3 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 f46ebb76b7..12d1e1d92a 100644 --- a/docs/d3/d7c/classshaka_1_1media_1_1WebMAudioClient.html +++ b/docs/d3/d7c/classshaka_1_1media_1_1WebMAudioClient.html @@ -223,7 +223,7 @@ An empty scoped_refptr if there was unexpected values in the provided parameters diff --git a/docs/d3/d80/muxer__util_8h_source.html b/docs/d3/d80/muxer__util_8h_source.html index a0be2cf8f2..08b31e97da 100644 --- a/docs/d3/d80/muxer__util_8h_source.html +++ b/docs/d3/d80/muxer__util_8h_source.html @@ -127,7 +127,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/d87/structshaka_1_1media_1_1mp4_1_1SampleToChunk.html b/docs/d3/d87/structshaka_1_1media_1_1mp4_1_1SampleToChunk.html index d427186c9d..30645d917c 100644 --- a/docs/d3/d87/structshaka_1_1media_1_1mp4_1_1SampleToChunk.html +++ b/docs/d3/d87/structshaka_1_1media_1_1mp4_1_1SampleToChunk.html @@ -182,7 +182,7 @@ Additional Inherited Members diff --git a/docs/d3/d8b/structshaka_1_1media_1_1FileCloser.html b/docs/d3/d8b/structshaka_1_1media_1_1FileCloser.html index 8683164907..11af56dff4 100644 --- a/docs/d3/d8b/structshaka_1_1media_1_1FileCloser.html +++ b/docs/d3/d8b/structshaka_1_1media_1_1FileCloser.html @@ -103,7 +103,7 @@ void operator() ( 

        Detailed Description

        -

        Used by scoped_ptr to automatically close the file when it goes out of scope.

        +

        Used by std::unique_ptr to automatically close the file when it goes out of scope.

        Definition at line 18 of file file_closer.h.


        The documentation for this struct was generated from the following file:
          @@ -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 4be97a7c17..de5a7daa7d 100644 --- a/docs/d3/d8d/webm__audio__client_8h_source.html +++ b/docs/d3/d8d/webm__audio__client_8h_source.html @@ -94,10 +94,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          5 #ifndef MEDIA_FORMATS_WEBM_WEBM_AUDIO_CLIENT_H_
          6 #define MEDIA_FORMATS_WEBM_WEBM_AUDIO_CLIENT_H_
          7 
          -
          8 #include <string>
          -
          9 #include <vector>
          -
          10 
          -
          11 #include "packager/base/memory/scoped_ptr.h"
          +
          8 #include <memory>
          +
          9 #include <string>
          +
          10 #include <vector>
          +
          11 
          12 #include "packager/media/base/audio_stream_info.h"
          13 #include "packager/media/formats/webm/webm_parser.h"
          14 
          @@ -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 0d7cd5a6e4..23bca853ae 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 a6f686fda4..cfee6da13f 100644 --- a/docs/d3/d91/classshaka_1_1media_1_1H264Parser.html +++ b/docs/d3/d91/classshaka_1_1media_1_1H264Parser.html @@ -135,7 +135,7 @@ Result ParseSEI (const diff --git a/docs/d3/da0/ec3__audio__util_8h_source.html b/docs/d3/da0/ec3__audio__util_8h_source.html index 02ece1a2e1..b243a6f803 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 dcf53880ec..c7ce5bbd18 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,8 +121,8 @@ Public Member Functions  Segmenter (const MuxerOptions &options)   -Status Initialize (scoped_ptr< MkvWriter > writer, StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds) -  +Status Initialize (std::unique_ptr< MkvWriter > writer, StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds) +  Status Finalize ()   Status AddSample (scoped_refptr< MediaSample > sample) @@ -144,12 +144,12 @@ void set_index_start ( void set_index_end (uint64_t end)   - -void set_writer (scoped_ptr< MkvWriter > writer) -  - -Status DoInitialize (scoped_ptr< MkvWriter > writer) override -  + +void set_writer (std::unique_ptr< MkvWriter > writer) +  + +Status DoInitialize (std::unique_ptr< MkvWriter > writer) override +  Status DoFinalize () override   @@ -293,7 +293,7 @@ double cluster_length_sec< diff --git a/docs/d3/da2/structshaka_1_1media_1_1mp4_1_1SchemeType.html b/docs/d3/da2/structshaka_1_1media_1_1mp4_1_1SchemeType.html index f7308feb65..215b411bda 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 6f8e1d3260..dcdf3f5ed7 100644 --- a/docs/d3/dad/structshaka_1_1media_1_1mp4_1_1ID3v2.html +++ b/docs/d3/dad/structshaka_1_1media_1_1mp4_1_1ID3v2.html @@ -189,7 +189,7 @@ Additional Inherited Members diff --git a/docs/d3/db4/classshaka_1_1media_1_1WebMWebVTTParser-members.html b/docs/d3/db4/classshaka_1_1media_1_1WebMWebVTTParser-members.html index d17705c534..fe57c52d3c 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 ffde11776d..143f3b6dd0 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 e7eae3dfe0..f73485d024 100644 --- a/docs/d3/db6/webm__parser_8cc_source.html +++ b/docs/d3/db6/webm__parser_8cc_source.html @@ -1068,7 +1068,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/dbc/seek__head_8cc_source.html b/docs/d3/dbc/seek__head_8cc_source.html index 626a1b0381..113f03f2d6 100644 --- a/docs/d3/dbc/seek__head_8cc_source.html +++ b/docs/d3/dbc/seek__head_8cc_source.html @@ -216,7 +216,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/dbe/demuxer_8cc_source.html b/docs/d3/dbe/demuxer_8cc_source.html index 957cea1a46..690a75dc32 100644 --- a/docs/d3/dbe/demuxer_8cc_source.html +++ b/docs/d3/dbe/demuxer_8cc_source.html @@ -138,8 +138,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        49  STLDeleteElements(&streams_);
        50 }
        51 
        -
        52 void Demuxer::SetKeySource(scoped_ptr<KeySource> key_source) {
        -
        53  key_source_ = key_source.Pass();
        +
        52 void Demuxer::SetKeySource(std::unique_ptr<KeySource> key_source) {
        +
        53  key_source_ = std::move(key_source);
        54 }
        55 
        @@ -324,28 +324,28 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        235 
        236 } // namespace media
        237 } // namespace shaka
        -
        void SetKeySource(scoped_ptr< KeySource > key_source)
        Definition: demuxer.cc:52
        virtual bool Open()=0
        Internal open. Should not be used directly.
        virtual bool Close()=0
        - +
        const std::vector< MediaStream * > & streams()
        Definition: demuxer.h:68
        +
        void SetKeySource(std::unique_ptr< KeySource > key_source)
        Definition: demuxer.cc:52
        virtual int64_t Read(void *buffer, uint64_t length)=0
        static scoped_refptr< MediaSample > CreateEOSBuffer()
        Definition: media_sample.cc:80
        Status Parse()
        Read from the source and send it to the parser.
        Definition: demuxer.cc:207
        Status Initialize()
        Definition: demuxer.cc:56
        Demuxer(const std::string &file_name)
        Definition: demuxer.cc:37
        - + 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 53ecdfb1b0..113f0370b0 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 18c1e8d445..336348280d 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 @@ -126,7 +126,7 @@ track_id, const scoped_refptr

        Detailed Description

        -

        Definition at line 31 of file mp2t_media_parser.h.

        +

        Definition at line 30 of file mp2t_media_parser.h.

        Member Function Documentation

        @@ -153,7 +153,7 @@ track_id, const scoped_refptr

        Implements shaka::media::MediaParser.

        -

        Definition at line 171 of file mp2t_media_parser.cc.

        +

        Definition at line 173 of file mp2t_media_parser.cc.

        @@ -205,7 +205,7 @@ track_id, const scoped_refptr

        Implements shaka::media::MediaParser.

        -

        Definition at line 158 of file mp2t_media_parser.cc.

        +

        Definition at line 160 of file mp2t_media_parser.cc.

        @@ -245,7 +245,7 @@ track_id, const scoped_refptr

        Implements shaka::media::MediaParser.

        -

        Definition at line 190 of file mp2t_media_parser.cc.

        +

        Definition at line 192 of file mp2t_media_parser.cc.

        @@ -256,7 +256,7 @@ track_id, const scoped_refptr
        diff --git a/docs/d3/dd0/classshaka_1_1MpdNotifier.html b/docs/d3/dd0/classshaka_1_1MpdNotifier.html index 99540606e0..b1f0857dd8 100644 --- a/docs/d3/dd0/classshaka_1_1MpdNotifier.html +++ b/docs/d3/dd0/classshaka_1_1MpdNotifier.html @@ -472,7 +472,7 @@ Public Member Functions diff --git a/docs/d3/dd0/structshaka_1_1media_1_1mp4_1_1SegmentType.html b/docs/d3/dd0/structshaka_1_1media_1_1mp4_1_1SegmentType.html index 0741b7d04d..13da83d802 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 8f9a8579df..9c02656314 100644 --- a/docs/d3/de4/seek__head_8h_source.html +++ b/docs/d3/de4/seek__head_8h_source.html @@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/de9/classshaka_1_1media_1_1mp4_1_1BoxBuffer-members.html b/docs/d3/de9/classshaka_1_1media_1_1mp4_1_1BoxBuffer-members.html index 6cf2e7e881..5343de9d35 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 40099ac26f..8edc80a28b 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 90ff55fcf8..152d21ec08 100644 --- a/docs/d3/df1/box__reader_8cc_source.html +++ b/docs/d3/df1/box__reader_8cc_source.html @@ -96,9 +96,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        7 #include <inttypes.h>
        8 
        9 #include <limits>
        -
        10 
        -
        11 #include "packager/base/logging.h"
        -
        12 #include "packager/base/memory/scoped_ptr.h"
        +
        10 #include <memory>
        +
        11 
        +
        12 #include "packager/base/logging.h"
        13 #include "packager/base/strings/stringprintf.h"
        14 #include "packager/media/formats/mp4/box.h"
        15 
        @@ -126,7 +126,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        37 BoxReader* BoxReader::ReadBox(const uint8_t* buf,
        38  const size_t buf_size,
        39  bool* err) {
        -
        40  scoped_ptr<BoxReader> reader(new BoxReader(buf, buf_size));
        +
        40  std::unique_ptr<BoxReader> reader(new BoxReader(buf, buf_size));
        41  if (!reader->ReadHeader(err))
        42  return NULL;
        43 
        @@ -159,7 +159,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        70  scanned_ = true;
        71 
        72  while (pos() < size()) {
        -
        73  scoped_ptr<BoxReader> child(
        +
        73  std::unique_ptr<BoxReader> child(
        74  new BoxReader(&data()[pos()], size() - pos()));
        75  bool err;
        76  if (!child->ReadHeader(&err))
        @@ -260,7 +260,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html b/docs/d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html index fb7cab8c10..e3d1f8df31 100644 --- a/docs/d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html +++ b/docs/d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html @@ -123,8 +123,8 @@ Public Types - - + + @@ -167,7 +167,7 @@ AES_KEY * 

        Public Member Functions

         AesPatternCryptor (uint8_t crypt_byte_block, uint8_t skip_byte_block, PatternEncryptionMode encryption_mode, ConstantIvFlag constant_iv_flag, scoped_ptr< AesCryptor > cryptor)
         
         AesPatternCryptor (uint8_t crypt_byte_block, uint8_t skip_byte_block, PatternEncryptionMode encryption_mode, ConstantIvFlag constant_iv_flag, std::unique_ptr< AesCryptor > cryptor)
         
        AesCryptor implementation overrides.
        bool InitializeWithIv (const std::vector< uint8_t > &key, const std::vector< uint8_t > &iv) override
         
        mutable_aes_key<

        Detailed Description

        Implements pattern-based encryption/decryption.

        -

        Definition at line 16 of file aes_pattern_cryptor.h.

        +

        Definition at line 17 of file aes_pattern_cryptor.h.

        Member Enumeration Documentation

        @@ -188,12 +188,12 @@ AES_KEY * 
        mutable_aes_key<
        -

        Definition at line 20 of file aes_pattern_cryptor.h.

        +

        Definition at line 21 of file aes_pattern_cryptor.h.

        Constructor & Destructor Documentation

        - +
        @@ -224,7 +224,7 @@ AES_KEY *  - + @@ -297,7 +297,7 @@ AES_KEY * 
        mutable_aes_key<
        scoped_ptr< AesCryptorstd::unique_ptr< AesCryptor cryptor 
        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 bbe9ed994d..d71bc194b9 100644 --- a/docs/d4/d00/mp4_2multi__segment__segmenter_8cc_source.html +++ b/docs/d4/d00/mp4_2multi__segment__segmenter_8cc_source.html @@ -110,9 +110,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        21 namespace mp4 {
        22 
        23 MultiSegmentSegmenter::MultiSegmentSegmenter(const MuxerOptions& options,
        -
        24  scoped_ptr<FileType> ftyp,
        -
        25  scoped_ptr<Movie> moov)
        -
        26  : Segmenter(options, ftyp.Pass(), moov.Pass()),
        +
        24  std::unique_ptr<FileType> ftyp,
        +
        25  std::unique_ptr<Movie> moov)
        +
        26  : Segmenter(options, std::move(ftyp), std::move(moov)),
        27  styp_(new SegmentType),
        28  num_segments_(0) {
        29  // Use the same brands for styp as ftyp.
        @@ -142,7 +142,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        53  return Status(error::FILE_FAILURE,
        54  "Cannot open file for write " + options().output_file_name);
        55  }
        -
        56  scoped_ptr<BufferWriter> buffer(new BufferWriter);
        +
        56  std::unique_ptr<BufferWriter> buffer(new BufferWriter);
        57  ftyp()->Write(buffer.get());
        58  moov()->Write(buffer.get());
        59  Status status = buffer->WriteToFile(file);
        @@ -224,7 +224,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        135  DCHECK(fragment_buffer());
        136  DCHECK(styp_);
        137 
        -
        138  scoped_ptr<BufferWriter> buffer(new BufferWriter());
        +
        138  std::unique_ptr<BufferWriter> buffer(new BufferWriter());
        139  File* file;
        140  std::string file_name;
        141  if (options().segment_template.empty()) {
        @@ -304,7 +304,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/d08/classshaka_1_1media_1_1mp4_1_1MP4MediaParser-members.html b/docs/d4/d08/classshaka_1_1media_1_1mp4_1_1MP4MediaParser-members.html index 2747b72ab6..a3c752b1a9 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 5655b18b36..a5968e46ed 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 d641e01f0a..7c7e2db65f 100644 --- a/docs/d4/d14/classshaka_1_1media_1_1WebVttMediaParser-members.html +++ b/docs/d4/d14/classshaka_1_1media_1_1WebVttMediaParser-members.html @@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/d18/structshaka_1_1media_1_1mp4_1_1EditListEntry.html b/docs/d4/d18/structshaka_1_1media_1_1mp4_1_1EditListEntry.html index 99f2988415..db9e74706c 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 e876aeecf0..ba96c05936 100644 --- a/docs/d4/d20/classshaka_1_1media_1_1AesCbcEncryptor.html +++ b/docs/d4/d20/classshaka_1_1media_1_1AesCbcEncryptor.html @@ -158,7 +158,7 @@ AES_KEY * mutable_aes_key<

        Detailed Description

        -

        Definition at line 78 of file aes_encryptor.h.

        +

        Definition at line 77 of file aes_encryptor.h.

        Constructor & Destructor Documentation

        @@ -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 12c50a384d..1c02f4de94 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 5857ffb946..0fcf93959a 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 1228552e73..4884ccf6a1 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 3a4077c158..e6ce43b311 100644 --- a/docs/d4/d37/io__cache_8cc_source.html +++ b/docs/d4/d37/io__cache_8cc_source.html @@ -252,7 +252,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/d3a/structshaka_1_1media_1_1H264Sps-members.html b/docs/d4/d3a/structshaka_1_1media_1_1H264Sps-members.html index 693ecc83c3..898c2f8c6e 100644 --- a/docs/d4/d3a/structshaka_1_1media_1_1H264Sps-members.html +++ b/docs/d4/d3a/structshaka_1_1media_1_1H264Sps-members.html @@ -142,7 +142,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/d4a/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationOffset-members.html b/docs/d4/d4a/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationOffset-members.html index c91d54cb3e..7f45de3498 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 71ad8318ab..af8ff1f6c7 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 88a4d20dd6..fc73376fe9 100644 --- a/docs/d4/d58/classshaka_1_1media_1_1Nalu-members.html +++ b/docs/d4/d58/classshaka_1_1media_1_1Nalu-members.html @@ -157,7 +157,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/d59/classshaka_1_1media_1_1WebMWebVTTParser.html b/docs/d4/d59/classshaka_1_1media_1_1WebMWebVTTParser.html index 54b2df2d8e..b0f01ead5a 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 8eec90e11c..ae192daf8d 100644 --- a/docs/d4/d5c/classshaka_1_1media_1_1DecryptConfig-members.html +++ b/docs/d4/d5c/classshaka_1_1media_1_1DecryptConfig-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/d5d/classshaka_1_1media_1_1UdpFile-members.html b/docs/d4/d5d/classshaka_1_1media_1_1UdpFile-members.html index 32f0d7be01..e1675311e6 100644 --- a/docs/d4/d5d/classshaka_1_1media_1_1UdpFile-members.html +++ b/docs/d4/d5d/classshaka_1_1media_1_1UdpFile-members.html @@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/d70/classshaka_1_1DashIopMpdNotifier.html b/docs/d4/d70/classshaka_1_1DashIopMpdNotifier.html index 517de9cf09..7ffd64dbb4 100644 --- a/docs/d4/d70/classshaka_1_1DashIopMpdNotifier.html +++ b/docs/d4/d70/classshaka_1_1DashIopMpdNotifier.html @@ -473,7 +473,7 @@ class DashIopMpdNotifierTe diff --git a/docs/d4/d70/structshaka_1_1SegmentInfo-members.html b/docs/d4/d70/structshaka_1_1SegmentInfo-members.html index 3f7162ef67..8bc2d41d38 100644 --- a/docs/d4/d70/structshaka_1_1SegmentInfo-members.html +++ b/docs/d4/d70/structshaka_1_1SegmentInfo-members.html @@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/d87/nalu__reader_8h_source.html b/docs/d4/d87/nalu__reader_8h_source.html index 3a73712dea..2aab4f0122 100644 --- a/docs/d4/d87/nalu__reader_8h_source.html +++ b/docs/d4/d87/nalu__reader_8h_source.html @@ -297,7 +297,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/d8a/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord.html b/docs/d4/d8a/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord.html index 419f0d17c9..47a2a35db3 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 5dbb7c1dae..2ad2240797 100644 --- a/docs/d4/d8d/structshaka_1_1media_1_1mp4_1_1EC3Specific.html +++ b/docs/d4/d8d/structshaka_1_1media_1_1mp4_1_1EC3Specific.html @@ -173,7 +173,7 @@ Additional Inherited Members diff --git a/docs/d4/da7/segmenter__test__base_8cc_source.html b/docs/d4/da7/segmenter__test__base_8cc_source.html index 056132e740..fed3f228ed 100644 --- a/docs/d4/da7/segmenter__test__base_8cc_source.html +++ b/docs/d4/da7/segmenter__test__base_8cc_source.html @@ -298,7 +298,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        std::string OutputFileName() const
        Gets the file name of the current output file.
        scoped_refptr< MediaSample > CreateSample(KeyFrameFlag key_frame_flag, uint64_t duration, SideDataFlag side_data_flag)
        Creates a new media sample.
        -
        static bool ReadFileToString(const char *file_name, std::string *contents)
        Definition: file.cc:189
        +
        static bool ReadFileToString(const char *file_name, std::string *contents)
        Definition: file.cc:186
        std::string temp_dir
        Specify temporary directory for intermediate files.
        Definition: muxer_options.h:71
        MuxerOptions CreateMuxerOptions() const
        Creates a Muxer options object for testing.
        @@ -310,7 +310,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/dad/structshaka_1_1media_1_1mp4_1_1SampleEncryption.html b/docs/d4/dad/structshaka_1_1media_1_1mp4_1_1SampleEncryption.html index 28ebd8e0a4..3c63185e16 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 4ffdf9b347..3af607d9ad 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 20b1a73f83..e968504036 100644 --- a/docs/d4/db2/cluster__builder_8h_source.html +++ b/docs/d4/db2/cluster__builder_8h_source.html @@ -95,91 +95,93 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        6 #define MEDIA_FORMATS_WEBM_CLUSTER_BUILDER_H_
        7 
        8 #include <stdint.h>
        -
        9 #include "packager/base/memory/scoped_ptr.h"
        +
        9 #include <memory>
        10 
        -
        11 namespace shaka {
        -
        12 namespace media {
        -
        13 
        -
        14 class Cluster {
        -
        15  public:
        -
        16  Cluster(scoped_ptr<uint8_t[]> data, int size);
        -
        17  ~Cluster();
        -
        18 
        -
        19  const uint8_t* data() const { return data_.get(); }
        -
        20  int size() const { return size_; }
        -
        21 
        -
        22  private:
        -
        23  scoped_ptr<uint8_t[]> data_;
        -
        24  int size_;
        -
        25 
        -
        26  DISALLOW_IMPLICIT_CONSTRUCTORS(Cluster);
        -
        27 };
        -
        28 
        - -
        30  public:
        - -
        32  ~ClusterBuilder();
        -
        33 
        -
        34  void SetClusterTimecode(int64_t cluster_timecode);
        -
        35  void AddSimpleBlock(int track_num,
        -
        36  int64_t timecode,
        -
        37  int flags,
        -
        38  const uint8_t* data,
        -
        39  int size);
        -
        40  void AddBlockGroup(int track_num,
        -
        41  int64_t timecode,
        -
        42  int duration,
        -
        43  int flags,
        -
        44  bool is_key_frame,
        -
        45  const uint8_t* data,
        -
        46  int size);
        -
        47  void AddBlockGroupWithoutBlockDuration(int track_num,
        -
        48  int64_t timecode,
        -
        49  int flags,
        -
        50  bool is_key_frame,
        -
        51  const uint8_t* data,
        -
        52  int size);
        -
        53 
        -
        54  scoped_ptr<Cluster> Finish();
        -
        55  scoped_ptr<Cluster> FinishWithUnknownSize();
        -
        56 
        -
        57  private:
        -
        58  void AddBlockGroupInternal(int track_num,
        -
        59  int64_t timecode,
        -
        60  bool include_block_duration,
        -
        61  int duration,
        -
        62  int flags,
        -
        63  bool is_key_frame,
        -
        64  const uint8_t* data,
        -
        65  int size);
        -
        66  void Reset();
        -
        67  void ExtendBuffer(int bytes_needed);
        -
        68  void UpdateUInt64(int offset, int64_t value);
        -
        69  void WriteBlock(uint8_t* buf,
        -
        70  int track_num,
        -
        71  int64_t timecode,
        -
        72  int flags,
        -
        73  const uint8_t* data,
        -
        74  int size);
        -
        75 
        -
        76  scoped_ptr<uint8_t[]> buffer_;
        -
        77  int buffer_size_;
        -
        78  int bytes_used_;
        -
        79  int64_t cluster_timecode_;
        -
        80 
        -
        81  DISALLOW_COPY_AND_ASSIGN(ClusterBuilder);
        -
        82 };
        -
        83 
        -
        84 } // namespace media
        -
        85 } // namespace shaka
        -
        86 
        -
        87 #endif // MEDIA_FORMATS_WEBM_CLUSTER_BUILDER_H_
        - - +
        11 #include "packager/base/macros.h"
        +
        12 
        +
        13 namespace shaka {
        +
        14 namespace media {
        +
        15 
        +
        16 class Cluster {
        +
        17  public:
        +
        18  Cluster(std::unique_ptr<uint8_t[]> data, int size);
        +
        19  ~Cluster();
        +
        20 
        +
        21  const uint8_t* data() const { return data_.get(); }
        +
        22  int size() const { return size_; }
        +
        23 
        +
        24  private:
        +
        25  std::unique_ptr<uint8_t[]> data_;
        +
        26  int size_;
        +
        27 
        +
        28  DISALLOW_IMPLICIT_CONSTRUCTORS(Cluster);
        +
        29 };
        +
        30 
        + +
        32  public:
        + +
        34  ~ClusterBuilder();
        +
        35 
        +
        36  void SetClusterTimecode(int64_t cluster_timecode);
        +
        37  void AddSimpleBlock(int track_num,
        +
        38  int64_t timecode,
        +
        39  int flags,
        +
        40  const uint8_t* data,
        +
        41  int size);
        +
        42  void AddBlockGroup(int track_num,
        +
        43  int64_t timecode,
        +
        44  int duration,
        +
        45  int flags,
        +
        46  bool is_key_frame,
        +
        47  const uint8_t* data,
        +
        48  int size);
        +
        49  void AddBlockGroupWithoutBlockDuration(int track_num,
        +
        50  int64_t timecode,
        +
        51  int flags,
        +
        52  bool is_key_frame,
        +
        53  const uint8_t* data,
        +
        54  int size);
        +
        55 
        +
        56  std::unique_ptr<Cluster> Finish();
        +
        57  std::unique_ptr<Cluster> FinishWithUnknownSize();
        +
        58 
        +
        59  private:
        +
        60  void AddBlockGroupInternal(int track_num,
        +
        61  int64_t timecode,
        +
        62  bool include_block_duration,
        +
        63  int duration,
        +
        64  int flags,
        +
        65  bool is_key_frame,
        +
        66  const uint8_t* data,
        +
        67  int size);
        +
        68  void Reset();
        +
        69  void ExtendBuffer(int bytes_needed);
        +
        70  void UpdateUInt64(int offset, int64_t value);
        +
        71  void WriteBlock(uint8_t* buf,
        +
        72  int track_num,
        +
        73  int64_t timecode,
        +
        74  int flags,
        +
        75  const uint8_t* data,
        +
        76  int size);
        +
        77 
        +
        78  std::unique_ptr<uint8_t[]> buffer_;
        +
        79  int buffer_size_;
        +
        80  int bytes_used_;
        +
        81  int64_t cluster_timecode_;
        +
        82 
        +
        83  DISALLOW_COPY_AND_ASSIGN(ClusterBuilder);
        +
        84 };
        +
        85 
        +
        86 } // namespace media
        +
        87 } // namespace shaka
        +
        88 
        +
        89 #endif // MEDIA_FORMATS_WEBM_CLUSTER_BUILDER_H_
        + + diff --git a/docs/d4/db4/classshaka_1_1MpdNotifierFactory.html b/docs/d4/db4/classshaka_1_1MpdNotifierFactory.html index 08914da645..f2110a65fd 100644 --- a/docs/d4/db4/classshaka_1_1MpdNotifierFactory.html +++ b/docs/d4/db4/classshaka_1_1MpdNotifierFactory.html @@ -98,9 +98,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); - - + +

        Public Member Functions

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

        Detailed Description

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

        @@ -112,7 +113,7 @@ virtual scoped_ptr< diff --git a/docs/d4/db9/structshaka_1_1media_1_1mp4_1_1MediaHeader.html b/docs/d4/db9/structshaka_1_1media_1_1mp4_1_1MediaHeader.html index 3eeb7fdca7..2ba48731ad 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 58ba013621..3ff59b1bb9 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 cc55d3dec2..d38291fc3d 100644 --- a/docs/d4/dd3/bit__reader_8h_source.html +++ b/docs/d4/dd3/bit__reader_8h_source.html @@ -187,7 +187,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/dd4/structshaka_1_1media_1_1mp4_1_1FullBox-members.html b/docs/d4/dd4/structshaka_1_1media_1_1mp4_1_1FullBox-members.html index 2d0f5c7ad1..86639f5b79 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 a135603a45..b452df7200 100644 --- a/docs/d4/ddb/classshaka_1_1media_1_1MemoryFile-members.html +++ b/docs/d4/ddb/classshaka_1_1media_1_1MemoryFile-members.html @@ -119,7 +119,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/dde/webvtt__util_8h_source.html b/docs/d4/dde/webvtt__util_8h_source.html index 62fc3989db..7f2619f853 100644 --- a/docs/d4/dde/webvtt__util_8h_source.html +++ b/docs/d4/dde/webvtt__util_8h_source.html @@ -122,7 +122,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/de3/structshaka_1_1media_1_1mp4_1_1DataReference.html b/docs/d4/de3/structshaka_1_1media_1_1mp4_1_1DataReference.html index 0ca3800269..1c25de4591 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 344987a4ab..fc02863d7e 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 719fe6c984..556b1082a5 100644 --- a/docs/d4/de7/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener-members.html +++ b/docs/d4/de7/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener-members.html @@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/dec/hls__flags_8h_source.html b/docs/d4/dec/hls__flags_8h_source.html index 5606780292..e79598f6da 100644 --- a/docs/d4/dec/hls__flags_8h_source.html +++ b/docs/d4/dec/hls__flags_8h_source.html @@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/df5/request__signer_8cc_source.html b/docs/d4/df5/request__signer_8cc_source.html index 66cb802b4c..0c0fe15d1f 100644 --- a/docs/d4/df5/request__signer_8cc_source.html +++ b/docs/d4/df5/request__signer_8cc_source.html @@ -109,8 +109,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        20 RequestSigner::~RequestSigner() {}
        21 
        22 AesRequestSigner::AesRequestSigner(const std::string& signer_name,
        -
        23  scoped_ptr<AesCbcEncryptor> encryptor)
        -
        24  : RequestSigner(signer_name), aes_cbc_encryptor_(encryptor.Pass()) {
        +
        23  std::unique_ptr<AesCbcEncryptor> encryptor)
        +
        24  : RequestSigner(signer_name), aes_cbc_encryptor_(std::move(encryptor)) {
        25  DCHECK(aes_cbc_encryptor_);
        26 }
        27 AesRequestSigner::~AesRequestSigner() {}
        @@ -129,11 +129,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        40  return NULL;
        41  }
        42 
        -
        43  scoped_ptr<AesCbcEncryptor> encryptor(
        +
        43  std::unique_ptr<AesCbcEncryptor> encryptor(
        44  new AesCbcEncryptor(kPkcs5Padding, AesCryptor::kUseConstantIv));
        45  if (!encryptor->InitializeWithIv(aes_key, iv))
        46  return NULL;
        -
        47  return new AesRequestSigner(signer_name, encryptor.Pass());
        +
        47  return new AesRequestSigner(signer_name, std::move(encryptor));
        48 }
        49 
        50 bool AesRequestSigner::GenerateSignature(const std::string& message,
        @@ -142,43 +142,44 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        53  return true;
        54 }
        55 
        -
        56 RsaRequestSigner::RsaRequestSigner(const std::string& signer_name,
        -
        57  scoped_ptr<RsaPrivateKey> rsa_private_key)
        -
        58  : RequestSigner(signer_name), rsa_private_key_(rsa_private_key.Pass()) {
        -
        59  DCHECK(rsa_private_key_);
        -
        60 }
        -
        61 RsaRequestSigner::~RsaRequestSigner() {}
        -
        62 
        - -
        64  const std::string& signer_name,
        -
        65  const std::string& pkcs1_rsa_key) {
        -
        66  scoped_ptr<RsaPrivateKey> rsa_private_key(
        -
        67  RsaPrivateKey::Create(pkcs1_rsa_key));
        -
        68  if (!rsa_private_key)
        -
        69  return NULL;
        -
        70  return new RsaRequestSigner(signer_name, rsa_private_key.Pass());
        -
        71 }
        -
        72 
        -
        73 bool RsaRequestSigner::GenerateSignature(const std::string& message,
        -
        74  std::string* signature) {
        -
        75  return rsa_private_key_->GenerateSignature(message, signature);
        -
        76 }
        -
        77 
        -
        78 } // namespace media
        -
        79 } // namespace shaka
        -
        static RsaRequestSigner * CreateSigner(const std::string &signer_name, const std::string &pkcs1_rsa_key)
        -
        Abstract class used for signature generation.
        +
        56 RsaRequestSigner::RsaRequestSigner(
        +
        57  const std::string& signer_name,
        +
        58  std::unique_ptr<RsaPrivateKey> rsa_private_key)
        +
        59  : RequestSigner(signer_name), rsa_private_key_(std::move(rsa_private_key)) {
        +
        60  DCHECK(rsa_private_key_);
        +
        61 }
        +
        62 RsaRequestSigner::~RsaRequestSigner() {}
        +
        63 
        + +
        65  const std::string& signer_name,
        +
        66  const std::string& pkcs1_rsa_key) {
        +
        67  std::unique_ptr<RsaPrivateKey> rsa_private_key(
        +
        68  RsaPrivateKey::Create(pkcs1_rsa_key));
        +
        69  if (!rsa_private_key)
        +
        70  return NULL;
        +
        71  return new RsaRequestSigner(signer_name, std::move(rsa_private_key));
        +
        72 }
        +
        73 
        +
        74 bool RsaRequestSigner::GenerateSignature(const std::string& message,
        +
        75  std::string* signature) {
        +
        76  return rsa_private_key_->GenerateSignature(message, signature);
        +
        77 }
        +
        78 
        +
        79 } // namespace media
        +
        80 } // namespace shaka
        +
        static RsaRequestSigner * CreateSigner(const std::string &signer_name, const std::string &pkcs1_rsa_key)
        +
        Abstract class used for signature generation.
        static AesRequestSigner * CreateSigner(const std::string &signer_name, const std::string &aes_key_hex, const std::string &iv_hex)
        - -
        RsaRequestSigner uses RSA-PSS signing.
        + +
        RsaRequestSigner uses RSA-PSS signing.
        bool GenerateSignature(const std::string &message, std::string *signature) override
        RequestSigner implementation override.
        -
        bool GenerateSignature(const std::string &message, std::string *signature) override
        RequestSigner implementation override.
        -
        AesRequestSigner uses AES-CBC signing.
        +
        bool GenerateSignature(const std::string &message, std::string *signature) override
        RequestSigner implementation override.
        +
        AesRequestSigner uses AES-CBC signing.
        static RsaPrivateKey * Create(const std::string &serialized_key)
        Definition: rsa_key.cc:97
        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 492e1802f4..8a33634af8 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 5ef095b22a..62cee7ff32 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 9098e8eb0c..36afa5236d 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 06a4a20201..fab18a96a2 100644 --- a/docs/d4/dff/webm__media__parser_8cc_source.html +++ b/docs/d4/dff/webm__media__parser_8cc_source.html @@ -359,12 +359,12 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        virtual Status FetchKeys(const std::vector< uint8_t > &pssh_box)=0
        void Reset()
        Reset the queue to the empty state.
        Definition: byte_queue.cc:24
        void Peek(const uint8_t **data, int *size) const
        Definition: byte_queue.cc:63
        -
        base::Callback< bool(uint32_t track_id, const scoped_refptr< MediaSample > &media_sample)> NewSampleCB
        Definition: media_parser.h:44
        -
        KeySource is responsible for encryption key acquisition.
        Definition: key_source.h:31
        +
        base::Callback< bool(uint32_t track_id, const scoped_refptr< MediaSample > &media_sample)> NewSampleCB
        Definition: media_parser.h:43
        +
        KeySource is responsible for encryption key acquisition.
        Definition: key_source.h:30
        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 0f7ff0cb43..51ed8afa1a 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 40eee07888..de85f5f00b 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 6d5e73ad15..984ab3e435 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 8eeb308780..447ff707e7 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 3923d16502..abd64f4bc4 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 40231e49f1..2e20b497d7 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 e591c0f992..7a10dedab7 100644 --- a/docs/d5/d15/producer__consumer__queue_8h_source.html +++ b/docs/d5/d15/producer__consumer__queue_8h_source.html @@ -374,7 +374,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/d1a/ts__section_8h_source.html b/docs/d5/d1a/ts__section_8h_source.html index 485080b562..1aae6b072c 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 1b049e3331..d1ed32cc53 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 @@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); cts() const (defined in shaka::media::mp4::TrackRunIterator)shaka::media::mp4::TrackRunIterator dts() const (defined in shaka::media::mp4::TrackRunIterator)shaka::media::mp4::TrackRunIterator duration() const (defined in shaka::media::mp4::TrackRunIterator)shaka::media::mp4::TrackRunIterator - GetDecryptConfig()shaka::media::mp4::TrackRunIterator + GetDecryptConfig()shaka::media::mp4::TrackRunIterator GetMaxClearOffset()shaka::media::mp4::TrackRunIterator Init()shaka::media::mp4::TrackRunIterator Init(const MovieFragment &moof)shaka::media::mp4::TrackRunIterator @@ -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 961c86b453..c3f9d7d5f3 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 a077d4d688..e9bfe828eb 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 ad1690e484..f27f8f2629 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 187773be59..17eabc69f2 100644 --- a/docs/d5/d40/webm_2single__segment__segmenter_8h_source.html +++ b/docs/d5/d40/webm_2single__segment__segmenter_8h_source.html @@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        9 
        10 #include "packager/media/formats/webm/segmenter.h"
        11 
        -
        12 #include "packager/base/memory/scoped_ptr.h"
        +
        12 #include <memory>
        13 #include "packager/media/base/status.h"
        14 #include "packager/media/formats/webm/mkv_writer.h"
        15 
        @@ -122,30 +122,32 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        39  void set_init_end(uint64_t end) { init_end_ = end; }
        40  void set_index_start(uint64_t start) { index_start_ = start; }
        41  void set_index_end(uint64_t end) { index_end_ = end; }
        -
        42  void set_writer(scoped_ptr<MkvWriter> writer) { writer_ = writer.Pass(); }
        -
        43 
        -
        44  // Segmenter implementation overrides.
        -
        45  Status DoInitialize(scoped_ptr<MkvWriter> writer) override;
        -
        46  Status DoFinalize() override;
        -
        47 
        -
        48  private:
        -
        49  // Segmenter implementation overrides.
        -
        50  Status NewSubsegment(uint64_t start_timescale) override;
        -
        51  Status NewSegment(uint64_t start_timescale) override;
        -
        52 
        -
        53  scoped_ptr<MkvWriter> writer_;
        -
        54  uint64_t init_end_;
        -
        55  uint64_t index_start_;
        -
        56  uint64_t index_end_;
        -
        57 
        -
        58  DISALLOW_COPY_AND_ASSIGN(SingleSegmentSegmenter);
        -
        59 };
        -
        60 
        -
        61 } // namespace webm
        -
        62 } // namespace media
        -
        63 } // namespace shaka
        -
        64 
        -
        65 #endif // MEDIA_FORMATS_WEBM_SINGLE_SEGMENT_SEGMENTER_H_
        +
        42  void set_writer(std::unique_ptr<MkvWriter> writer) {
        +
        43  writer_ = std::move(writer);
        +
        44  }
        +
        45 
        +
        46  // Segmenter implementation overrides.
        +
        47  Status DoInitialize(std::unique_ptr<MkvWriter> writer) override;
        +
        48  Status DoFinalize() override;
        +
        49 
        +
        50  private:
        +
        51  // Segmenter implementation overrides.
        +
        52  Status NewSubsegment(uint64_t start_timescale) override;
        +
        53  Status NewSegment(uint64_t start_timescale) override;
        +
        54 
        +
        55  std::unique_ptr<MkvWriter> writer_;
        +
        56  uint64_t init_end_;
        +
        57  uint64_t index_start_;
        +
        58  uint64_t index_end_;
        +
        59 
        +
        60  DISALLOW_COPY_AND_ASSIGN(SingleSegmentSegmenter);
        +
        61 };
        +
        62 
        +
        63 } // namespace webm
        +
        64 } // namespace media
        +
        65 } // namespace shaka
        +
        66 
        +
        67 #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
        @@ -156,7 +158,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/d4b/classshaka_1_1media_1_1mp2t_1_1TsSectionPsi-members.html b/docs/d5/d4b/classshaka_1_1media_1_1mp2t_1_1TsSectionPsi-members.html index 02fcbb060e..7283bfd438 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 44e04c49ba..dd2a6fe211 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 90a8210bcf..3106cae3cd 100644 --- a/docs/d5/d52/ts__section__pes_8h_source.html +++ b/docs/d5/d52/ts__section__pes_8h_source.html @@ -95,73 +95,72 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        6 #define MEDIA_FORMATS_MP2T_TS_SECTION_PES_H_
        7 
        8 #include <stdint.h>
        -
        9 
        +
        9 #include <memory>
        10 #include "packager/base/compiler_specific.h"
        -
        11 #include "packager/base/memory/scoped_ptr.h"
        -
        12 #include "packager/media/base/byte_queue.h"
        -
        13 #include "packager/media/formats/mp2t/ts_section.h"
        -
        14 
        -
        15 namespace shaka {
        -
        16 namespace media {
        -
        17 namespace mp2t {
        -
        18 
        -
        19 class EsParser;
        -
        20 
        -
        21 class TsSectionPes : public TsSection {
        -
        22  public:
        -
        23  explicit TsSectionPes(scoped_ptr<EsParser> es_parser);
        -
        24  ~TsSectionPes() override;
        -
        25 
        -
        26  // TsSection implementation.
        -
        27  bool Parse(bool payload_unit_start_indicator,
        -
        28  const uint8_t* buf,
        -
        29  int size) override;
        -
        30  void Flush() override;
        -
        31  void Reset() override;
        -
        32 
        -
        33  private:
        -
        34  // Emit a reassembled PES packet.
        -
        35  // Return true if successful.
        -
        36  // |emit_for_unknown_size| is used to force emission for PES packets
        -
        37  // whose size is unknown.
        -
        38  bool Emit(bool emit_for_unknown_size);
        -
        39 
        -
        40  // Parse a PES packet, return true if successful.
        -
        41  bool ParseInternal(const uint8_t* raw_pes, int raw_pes_size);
        -
        42 
        -
        43  void ResetPesState();
        -
        44 
        -
        45  // Bytes of the current PES.
        -
        46  ByteQueue pes_byte_queue_;
        -
        47 
        -
        48  // ES parser.
        -
        49  scoped_ptr<EsParser> es_parser_;
        -
        50 
        -
        51  // Do not start parsing before getting a unit start indicator.
        -
        52  bool wait_for_pusi_;
        -
        53 
        -
        54  // Used to unroll PTS and DTS.
        -
        55  bool previous_pts_valid_;
        -
        56  int64_t previous_pts_;
        -
        57  bool previous_dts_valid_;
        -
        58  int64_t previous_dts_;
        -
        59 
        -
        60  DISALLOW_COPY_AND_ASSIGN(TsSectionPes);
        -
        61 };
        -
        62 
        -
        63 } // namespace mp2t
        -
        64 } // namespace media
        -
        65 } // namespace shaka
        -
        66 
        -
        67 #endif
        -
        68 
        - - +
        11 #include "packager/media/base/byte_queue.h"
        +
        12 #include "packager/media/formats/mp2t/ts_section.h"
        +
        13 
        +
        14 namespace shaka {
        +
        15 namespace media {
        +
        16 namespace mp2t {
        +
        17 
        +
        18 class EsParser;
        +
        19 
        +
        20 class TsSectionPes : public TsSection {
        +
        21  public:
        +
        22  explicit TsSectionPes(std::unique_ptr<EsParser> es_parser);
        +
        23  ~TsSectionPes() override;
        +
        24 
        +
        25  // TsSection implementation.
        +
        26  bool Parse(bool payload_unit_start_indicator,
        +
        27  const uint8_t* buf,
        +
        28  int size) override;
        +
        29  void Flush() override;
        +
        30  void Reset() override;
        +
        31 
        +
        32  private:
        +
        33  // Emit a reassembled PES packet.
        +
        34  // Return true if successful.
        +
        35  // |emit_for_unknown_size| is used to force emission for PES packets
        +
        36  // whose size is unknown.
        +
        37  bool Emit(bool emit_for_unknown_size);
        +
        38 
        +
        39  // Parse a PES packet, return true if successful.
        +
        40  bool ParseInternal(const uint8_t* raw_pes, int raw_pes_size);
        +
        41 
        +
        42  void ResetPesState();
        +
        43 
        +
        44  // Bytes of the current PES.
        +
        45  ByteQueue pes_byte_queue_;
        +
        46 
        +
        47  // ES parser.
        +
        48  std::unique_ptr<EsParser> es_parser_;
        +
        49 
        +
        50  // Do not start parsing before getting a unit start indicator.
        +
        51  bool wait_for_pusi_;
        +
        52 
        +
        53  // Used to unroll PTS and DTS.
        +
        54  bool previous_pts_valid_;
        +
        55  int64_t previous_pts_;
        +
        56  bool previous_dts_valid_;
        +
        57  int64_t previous_dts_;
        +
        58 
        +
        59  DISALLOW_COPY_AND_ASSIGN(TsSectionPes);
        +
        60 };
        +
        61 
        +
        62 } // namespace mp2t
        +
        63 } // namespace media
        +
        64 } // namespace shaka
        +
        65 
        +
        66 #endif
        +
        67 
        + + 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 0285eb8612..0cdf61318a 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 6668342097..b286388b62 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 88001b614d..81861d9b5c 100644 --- a/docs/d5/d59/classshaka_1_1MockRepresentation-members.html +++ b/docs/d5/d59/classshaka_1_1MockRepresentation-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); MOCK_METHOD2(UpdateContentProtectionPssh, void(const std::string &drm_uuid, const std::string &pssh)) (defined in shaka::MockRepresentation)shaka::MockRepresentation MOCK_METHOD3(AddNewSegment, void(uint64_t start_time, uint64_t duration, uint64_t size)) (defined in shaka::MockRepresentation)shaka::MockRepresentation MockRepresentation(uint32_t representation_id) (defined in shaka::MockRepresentation)shaka::MockRepresentationexplicit - Representation(const MediaInfo &media_info, const MpdOptions &mpd_options, uint32_t representation_id, scoped_ptr< RepresentationStateChangeListener > state_change_listener)shaka::Representationprotected + Representation(const MediaInfo &media_info, const MpdOptions &mpd_options, uint32_t representation_id, std::unique_ptr< RepresentationStateChangeListener > state_change_listener)shaka::Representationprotected SetSampleDuration(uint32_t sample_duration)shaka::Representationvirtual SuppressFlag enum name (defined in shaka::Representation)shaka::Representation SuppressOnce(SuppressFlag flag)shaka::Representation @@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/d5c/continuity__counter_8cc_source.html b/docs/d5/d5c/continuity__counter_8cc_source.html index a4f8961ab0..642b370ab7 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 0cd6ac6f0b..ae8fad088f 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 @@ -113,9 +113,9 @@ Public Member Functions void Reset () override   - Public Member Functions inherited from shaka::media::mp2t::EsParserH26x -EsParserH26x (Nalu::CodecType type, scoped_ptr< H26xByteToUnitStreamConverter > stream_converter, uint32_t pid, const EmitSampleCB &emit_sample_cb) -  +EsParserH26x (Nalu::CodecType type, std::unique_ptr< H26xByteToUnitStreamConverter > stream_converter, uint32_t pid, const EmitSampleCB &emit_sample_cb) +  bool Parse (const uint8_t *buf, int size, int64_t pts, int64_t dts) override   @@ -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 dbb684a214..e2e263847e 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 b295c308f0..6cb4e0fc78 100644 --- a/docs/d5/d66/classshaka_1_1media_1_1NalUnitToByteStreamConverter.html +++ b/docs/d5/d66/classshaka_1_1media_1_1NalUnitToByteStreamConverter.html @@ -229,7 +229,7 @@ class NalUnitToByteStreamC diff --git a/docs/d5/d6f/vlog__flags_8cc_source.html b/docs/d5/d6f/vlog__flags_8cc_source.html index 0d7e8a4637..10c0bc2dd4 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 41f1d25225..9e3b079a61 100644 --- a/docs/d5/d72/avc__decoder__configuration__record_8cc_source.html +++ b/docs/d5/d72/avc__decoder__configuration__record_8cc_source.html @@ -203,7 +203,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/d7b/box__definitions_8h_source.html b/docs/d5/d7b/box__definitions_8h_source.html index 69baf5aba3..48e36928e7 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 b74e2ee8f2..66543e70e6 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 1d4d48ae66..f48a530af8 100644 --- a/docs/d5/d89/widevine__key__source_8cc_source.html +++ b/docs/d5/d89/widevine__key__source_8cc_source.html @@ -366,361 +366,365 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        277  return GetKeyInternal(crypto_period_index, track_type, key);
        278 }
        279 
        -
        280 void WidevineKeySource::set_signer(scoped_ptr<RequestSigner> signer) {
        -
        281  signer_ = signer.Pass();
        +
        280 void WidevineKeySource::set_signer(std::unique_ptr<RequestSigner> signer) {
        +
        281  signer_ = std::move(signer);
        282 }
        283 
        -
        284 void WidevineKeySource::set_key_fetcher(scoped_ptr<KeyFetcher> key_fetcher) {
        -
        285  key_fetcher_ = key_fetcher.Pass();
        -
        286 }
        -
        287 
        -
        288 Status WidevineKeySource::GetKeyInternal(uint32_t crypto_period_index,
        -
        289  TrackType track_type,
        -
        290  EncryptionKey* key) {
        -
        291  DCHECK(key_pool_);
        -
        292  DCHECK(key);
        -
        293  DCHECK_LE(track_type, NUM_VALID_TRACK_TYPES);
        -
        294  DCHECK_NE(track_type, TRACK_TYPE_UNKNOWN);
        -
        295 
        -
        296  scoped_refptr<RefCountedEncryptionKeyMap> ref_counted_encryption_key_map;
        -
        297  Status status =
        -
        298  key_pool_->Peek(crypto_period_index, &ref_counted_encryption_key_map,
        -
        299  kGetKeyTimeoutInSeconds * 1000);
        -
        300  if (!status.ok()) {
        -
        301  if (status.error_code() == error::STOPPED) {
        -
        302  CHECK(!common_encryption_request_status_.ok());
        -
        303  return common_encryption_request_status_;
        -
        304  }
        -
        305  return status;
        -
        306  }
        -
        307 
        -
        308  EncryptionKeyMap& encryption_key_map = ref_counted_encryption_key_map->map();
        -
        309  if (encryption_key_map.find(track_type) == encryption_key_map.end()) {
        -
        310  return Status(error::INTERNAL_ERROR,
        -
        311  "Cannot find key of type " + TrackTypeToString(track_type));
        -
        312  }
        -
        313  *key = *encryption_key_map[track_type];
        -
        314  return Status::OK;
        -
        315 }
        -
        316 
        -
        317 void WidevineKeySource::FetchKeysTask() {
        -
        318  // Wait until key production is signaled.
        -
        319  start_key_production_.Wait();
        -
        320  if (!key_pool_ || key_pool_->Stopped())
        -
        321  return;
        -
        322 
        -
        323  Status status = FetchKeysInternal(kEnableKeyRotation,
        -
        324  first_crypto_period_index_,
        -
        325  false);
        -
        326  while (status.ok()) {
        -
        327  first_crypto_period_index_ += crypto_period_count_;
        -
        328  status = FetchKeysInternal(kEnableKeyRotation,
        -
        329  first_crypto_period_index_,
        -
        330  false);
        -
        331  }
        -
        332  common_encryption_request_status_ = status;
        -
        333  key_pool_->Stop();
        -
        334 }
        -
        335 
        -
        336 Status WidevineKeySource::FetchKeysInternal(bool enable_key_rotation,
        -
        337  uint32_t first_crypto_period_index,
        -
        338  bool widevine_classic) {
        -
        339  std::string request;
        -
        340  FillRequest(enable_key_rotation,
        -
        341  first_crypto_period_index,
        -
        342  &request);
        -
        343 
        -
        344  std::string message;
        -
        345  Status status = GenerateKeyMessage(request, &message);
        -
        346  if (!status.ok())
        -
        347  return status;
        -
        348  VLOG(1) << "Message: " << message;
        -
        349 
        -
        350  std::string raw_response;
        -
        351  int64_t sleep_duration = kFirstRetryDelayMilliseconds;
        -
        352 
        -
        353  // Perform client side retries if seeing server transient error to workaround
        -
        354  // server limitation.
        -
        355  for (int i = 0; i < kNumTransientErrorRetries; ++i) {
        -
        356  status = key_fetcher_->FetchKeys(server_url_, message, &raw_response);
        -
        357  if (status.ok()) {
        -
        358  VLOG(1) << "Retry [" << i << "] Response:" << raw_response;
        -
        359 
        -
        360  std::string response;
        -
        361  if (!DecodeResponse(raw_response, &response)) {
        -
        362  return Status(error::SERVER_ERROR,
        -
        363  "Failed to decode response '" + raw_response + "'.");
        -
        364  }
        -
        365 
        -
        366  bool transient_error = false;
        -
        367  if (ExtractEncryptionKey(enable_key_rotation,
        -
        368  widevine_classic,
        -
        369  response,
        -
        370  &transient_error))
        -
        371  return Status::OK;
        -
        372 
        -
        373  if (!transient_error) {
        -
        374  return Status(
        -
        375  error::SERVER_ERROR,
        -
        376  "Failed to extract encryption key from '" + response + "'.");
        -
        377  }
        -
        378  } else if (status.error_code() != error::TIME_OUT) {
        -
        379  return status;
        -
        380  }
        -
        381 
        -
        382  // Exponential backoff.
        -
        383  if (i != kNumTransientErrorRetries - 1) {
        -
        384  base::PlatformThread::Sleep(
        -
        385  base::TimeDelta::FromMilliseconds(sleep_duration));
        -
        386  sleep_duration *= 2;
        -
        387  }
        -
        388  }
        -
        389  return Status(error::SERVER_ERROR,
        -
        390  "Failed to recover from server internal error.");
        -
        391 }
        -
        392 
        -
        393 void WidevineKeySource::FillRequest(bool enable_key_rotation,
        -
        394  uint32_t first_crypto_period_index,
        -
        395  std::string* request) {
        -
        396  DCHECK(request);
        -
        397  DCHECK(!request_dict_.empty());
        -
        398 
        -
        399  // Build tracks.
        -
        400  base::ListValue* tracks = new base::ListValue();
        -
        401 
        -
        402  base::DictionaryValue* track_sd = new base::DictionaryValue();
        -
        403  track_sd->SetString("type", "SD");
        -
        404  tracks->Append(track_sd);
        -
        405  base::DictionaryValue* track_hd = new base::DictionaryValue();
        -
        406  track_hd->SetString("type", "HD");
        -
        407  tracks->Append(track_hd);
        -
        408  base::DictionaryValue* track_audio = new base::DictionaryValue();
        -
        409  track_audio->SetString("type", "AUDIO");
        -
        410  tracks->Append(track_audio);
        -
        411 
        -
        412  request_dict_.Set("tracks", tracks);
        -
        413 
        -
        414  // Build DRM types.
        -
        415  base::ListValue* drm_types = new base::ListValue();
        -
        416  drm_types->AppendString("WIDEVINE");
        -
        417  request_dict_.Set("drm_types", drm_types);
        -
        418 
        -
        419  // Build key rotation fields.
        -
        420  if (enable_key_rotation) {
        -
        421  // Javascript/JSON does not support int64_t or unsigned numbers. Use double
        -
        422  // instead as 32-bit integer can be lossless represented using double.
        -
        423  request_dict_.SetDouble("first_crypto_period_index",
        -
        424  first_crypto_period_index);
        -
        425  request_dict_.SetInteger("crypto_period_count", crypto_period_count_);
        -
        426  }
        -
        427 
        -
        428  base::JSONWriter::WriteWithOptions(
        -
        429  request_dict_,
        -
        430  // Write doubles that have no fractional part as a normal integer, i.e.
        -
        431  // without using exponential notation or appending a '.0'.
        -
        432  base::JSONWriter::OPTIONS_OMIT_DOUBLE_TYPE_PRESERVATION, request);
        -
        433 }
        -
        434 
        -
        435 Status WidevineKeySource::GenerateKeyMessage(const std::string& request,
        -
        436  std::string* message) {
        -
        437  DCHECK(message);
        -
        438 
        -
        439  std::string request_base64_string;
        -
        440  base::Base64Encode(request, &request_base64_string);
        -
        441 
        -
        442  base::DictionaryValue request_dict;
        -
        443  request_dict.SetString("request", request_base64_string);
        -
        444 
        -
        445  // Sign the request.
        -
        446  if (signer_) {
        -
        447  std::string signature;
        -
        448  if (!signer_->GenerateSignature(request, &signature))
        -
        449  return Status(error::INTERNAL_ERROR, "Signature generation failed.");
        -
        450 
        -
        451  std::string signature_base64_string;
        -
        452  base::Base64Encode(signature, &signature_base64_string);
        -
        453 
        -
        454  request_dict.SetString("signature", signature_base64_string);
        -
        455  request_dict.SetString("signer", signer_->signer_name());
        -
        456  }
        -
        457 
        -
        458  base::JSONWriter::Write(request_dict, message);
        -
        459  return Status::OK;
        -
        460 }
        -
        461 
        -
        462 bool WidevineKeySource::DecodeResponse(
        -
        463  const std::string& raw_response,
        -
        464  std::string* response) {
        -
        465  DCHECK(response);
        -
        466 
        -
        467  // Extract base64 formatted response from JSON formatted raw response.
        -
        468  scoped_ptr<base::Value> root(base::JSONReader::Read(raw_response));
        -
        469  if (!root) {
        -
        470  LOG(ERROR) << "'" << raw_response << "' is not in JSON format.";
        -
        471  return false;
        -
        472  }
        -
        473  const base::DictionaryValue* response_dict = NULL;
        -
        474  RCHECK(root->GetAsDictionary(&response_dict));
        -
        475 
        -
        476  std::string response_base64_string;
        -
        477  RCHECK(response_dict->GetString("response", &response_base64_string));
        -
        478  RCHECK(base::Base64Decode(response_base64_string, response));
        -
        479  return true;
        -
        480 }
        -
        481 
        -
        482 bool WidevineKeySource::ExtractEncryptionKey(
        -
        483  bool enable_key_rotation,
        -
        484  bool widevine_classic,
        -
        485  const std::string& response,
        -
        486  bool* transient_error) {
        -
        487  DCHECK(transient_error);
        -
        488  *transient_error = false;
        -
        489 
        -
        490  scoped_ptr<base::Value> root(base::JSONReader::Read(response));
        -
        491  if (!root) {
        -
        492  LOG(ERROR) << "'" << response << "' is not in JSON format.";
        -
        493  return false;
        -
        494  }
        -
        495 
        -
        496  const base::DictionaryValue* license_dict = NULL;
        -
        497  RCHECK(root->GetAsDictionary(&license_dict));
        -
        498 
        -
        499  std::string license_status;
        -
        500  RCHECK(license_dict->GetString("status", &license_status));
        -
        501  if (license_status != kLicenseStatusOK) {
        -
        502  LOG(ERROR) << "Received non-OK license response: " << response;
        -
        503  *transient_error = (license_status == kLicenseStatusTransientError);
        -
        504  return false;
        -
        505  }
        -
        506 
        -
        507  const base::ListValue* tracks;
        -
        508  RCHECK(license_dict->GetList("tracks", &tracks));
        -
        509  // Should have at least one track per crypto_period.
        -
        510  RCHECK(enable_key_rotation ? tracks->GetSize() >= 1 * crypto_period_count_
        -
        511  : tracks->GetSize() >= 1);
        -
        512 
        -
        513  int current_crypto_period_index = first_crypto_period_index_;
        -
        514 
        -
        515  EncryptionKeyMap encryption_key_map;
        -
        516  for (size_t i = 0; i < tracks->GetSize(); ++i) {
        -
        517  const base::DictionaryValue* track_dict;
        -
        518  RCHECK(tracks->GetDictionary(i, &track_dict));
        -
        519 
        -
        520  if (enable_key_rotation) {
        -
        521  int crypto_period_index;
        -
        522  RCHECK(
        -
        523  track_dict->GetInteger("crypto_period_index", &crypto_period_index));
        -
        524  if (crypto_period_index != current_crypto_period_index) {
        -
        525  if (crypto_period_index != current_crypto_period_index + 1) {
        -
        526  LOG(ERROR) << "Expecting crypto period index "
        -
        527  << current_crypto_period_index << " or "
        -
        528  << current_crypto_period_index + 1 << "; Seen "
        -
        529  << crypto_period_index << " at track " << i;
        -
        530  return false;
        -
        531  }
        -
        532  if (!PushToKeyPool(&encryption_key_map))
        -
        533  return false;
        -
        534  ++current_crypto_period_index;
        -
        535  }
        -
        536  }
        -
        537 
        -
        538  std::string track_type_str;
        -
        539  RCHECK(track_dict->GetString("type", &track_type_str));
        -
        540  TrackType track_type = GetTrackTypeFromString(track_type_str);
        -
        541  DCHECK_NE(TRACK_TYPE_UNKNOWN, track_type);
        -
        542  RCHECK(encryption_key_map.find(track_type) == encryption_key_map.end());
        -
        543 
        -
        544  scoped_ptr<EncryptionKey> encryption_key(new EncryptionKey());
        -
        545 
        -
        546  if (!GetKeyFromTrack(*track_dict, &encryption_key->key))
        -
        547  return false;
        -
        548 
        -
        549  // Get key ID and PSSH data for CENC content only.
        -
        550  if (!widevine_classic) {
        -
        551  if (!GetKeyIdFromTrack(*track_dict, &encryption_key->key_id))
        -
        552  return false;
        -
        553 
        -
        554  ProtectionSystemSpecificInfo info;
        -
        555  info.add_key_id(encryption_key->key_id);
        -
        556  info.set_system_id(kWidevineSystemId, arraysize(kWidevineSystemId));
        -
        557  info.set_pssh_box_version(0);
        -
        558 
        -
        559  std::vector<uint8_t> pssh_data;
        -
        560  if (!GetPsshDataFromTrack(*track_dict, &pssh_data))
        -
        561  return false;
        -
        562  info.set_pssh_data(pssh_data);
        -
        563 
        -
        564  encryption_key->key_system_info.push_back(info);
        -
        565  }
        -
        566  encryption_key_map[track_type] = encryption_key.release();
        -
        567  }
        -
        568 
        -
        569  // If the flag exists, create a common system ID PSSH box that contains the
        -
        570  // key IDs of all the keys.
        -
        571  if (add_common_pssh_ && !widevine_classic) {
        -
        572  std::set<std::vector<uint8_t>> key_ids;
        -
        573  for (const EncryptionKeyMap::value_type& pair : encryption_key_map) {
        -
        574  key_ids.insert(pair.second->key_id);
        -
        575  }
        -
        576 
        -
        577  // Create a common system PSSH box.
        -
        578  ProtectionSystemSpecificInfo info;
        -
        579  info.set_system_id(kCommonSystemId, arraysize(kCommonSystemId));
        -
        580  info.set_pssh_box_version(1);
        -
        581  for (const std::vector<uint8_t>& key_id : key_ids) {
        -
        582  info.add_key_id(key_id);
        -
        583  }
        -
        584 
        -
        585  for (const EncryptionKeyMap::value_type& pair : encryption_key_map) {
        -
        586  pair.second->key_system_info.push_back(info);
        + +
        285  std::unique_ptr<KeyFetcher> key_fetcher) {
        +
        286  key_fetcher_ = std::move(key_fetcher);
        +
        287 }
        +
        288 
        +
        289 Status WidevineKeySource::GetKeyInternal(uint32_t crypto_period_index,
        +
        290  TrackType track_type,
        +
        291  EncryptionKey* key) {
        +
        292  DCHECK(key_pool_);
        +
        293  DCHECK(key);
        +
        294  DCHECK_LE(track_type, NUM_VALID_TRACK_TYPES);
        +
        295  DCHECK_NE(track_type, TRACK_TYPE_UNKNOWN);
        +
        296 
        +
        297  scoped_refptr<RefCountedEncryptionKeyMap> ref_counted_encryption_key_map;
        +
        298  Status status =
        +
        299  key_pool_->Peek(crypto_period_index, &ref_counted_encryption_key_map,
        +
        300  kGetKeyTimeoutInSeconds * 1000);
        +
        301  if (!status.ok()) {
        +
        302  if (status.error_code() == error::STOPPED) {
        +
        303  CHECK(!common_encryption_request_status_.ok());
        +
        304  return common_encryption_request_status_;
        +
        305  }
        +
        306  return status;
        +
        307  }
        +
        308 
        +
        309  EncryptionKeyMap& encryption_key_map = ref_counted_encryption_key_map->map();
        +
        310  if (encryption_key_map.find(track_type) == encryption_key_map.end()) {
        +
        311  return Status(error::INTERNAL_ERROR,
        +
        312  "Cannot find key of type " + TrackTypeToString(track_type));
        +
        313  }
        +
        314  *key = *encryption_key_map[track_type];
        +
        315  return Status::OK;
        +
        316 }
        +
        317 
        +
        318 void WidevineKeySource::FetchKeysTask() {
        +
        319  // Wait until key production is signaled.
        +
        320  start_key_production_.Wait();
        +
        321  if (!key_pool_ || key_pool_->Stopped())
        +
        322  return;
        +
        323 
        +
        324  Status status = FetchKeysInternal(kEnableKeyRotation,
        +
        325  first_crypto_period_index_,
        +
        326  false);
        +
        327  while (status.ok()) {
        +
        328  first_crypto_period_index_ += crypto_period_count_;
        +
        329  status = FetchKeysInternal(kEnableKeyRotation,
        +
        330  first_crypto_period_index_,
        +
        331  false);
        +
        332  }
        +
        333  common_encryption_request_status_ = status;
        +
        334  key_pool_->Stop();
        +
        335 }
        +
        336 
        +
        337 Status WidevineKeySource::FetchKeysInternal(bool enable_key_rotation,
        +
        338  uint32_t first_crypto_period_index,
        +
        339  bool widevine_classic) {
        +
        340  std::string request;
        +
        341  FillRequest(enable_key_rotation,
        +
        342  first_crypto_period_index,
        +
        343  &request);
        +
        344 
        +
        345  std::string message;
        +
        346  Status status = GenerateKeyMessage(request, &message);
        +
        347  if (!status.ok())
        +
        348  return status;
        +
        349  VLOG(1) << "Message: " << message;
        +
        350 
        +
        351  std::string raw_response;
        +
        352  int64_t sleep_duration = kFirstRetryDelayMilliseconds;
        +
        353 
        +
        354  // Perform client side retries if seeing server transient error to workaround
        +
        355  // server limitation.
        +
        356  for (int i = 0; i < kNumTransientErrorRetries; ++i) {
        +
        357  status = key_fetcher_->FetchKeys(server_url_, message, &raw_response);
        +
        358  if (status.ok()) {
        +
        359  VLOG(1) << "Retry [" << i << "] Response:" << raw_response;
        +
        360 
        +
        361  std::string response;
        +
        362  if (!DecodeResponse(raw_response, &response)) {
        +
        363  return Status(error::SERVER_ERROR,
        +
        364  "Failed to decode response '" + raw_response + "'.");
        +
        365  }
        +
        366 
        +
        367  bool transient_error = false;
        +
        368  if (ExtractEncryptionKey(enable_key_rotation,
        +
        369  widevine_classic,
        +
        370  response,
        +
        371  &transient_error))
        +
        372  return Status::OK;
        +
        373 
        +
        374  if (!transient_error) {
        +
        375  return Status(
        +
        376  error::SERVER_ERROR,
        +
        377  "Failed to extract encryption key from '" + response + "'.");
        +
        378  }
        +
        379  } else if (status.error_code() != error::TIME_OUT) {
        +
        380  return status;
        +
        381  }
        +
        382 
        +
        383  // Exponential backoff.
        +
        384  if (i != kNumTransientErrorRetries - 1) {
        +
        385  base::PlatformThread::Sleep(
        +
        386  base::TimeDelta::FromMilliseconds(sleep_duration));
        +
        387  sleep_duration *= 2;
        +
        388  }
        +
        389  }
        +
        390  return Status(error::SERVER_ERROR,
        +
        391  "Failed to recover from server internal error.");
        +
        392 }
        +
        393 
        +
        394 void WidevineKeySource::FillRequest(bool enable_key_rotation,
        +
        395  uint32_t first_crypto_period_index,
        +
        396  std::string* request) {
        +
        397  DCHECK(request);
        +
        398  DCHECK(!request_dict_.empty());
        +
        399 
        +
        400  // Build tracks.
        +
        401  base::ListValue* tracks = new base::ListValue();
        +
        402 
        +
        403  base::DictionaryValue* track_sd = new base::DictionaryValue();
        +
        404  track_sd->SetString("type", "SD");
        +
        405  tracks->Append(track_sd);
        +
        406  base::DictionaryValue* track_hd = new base::DictionaryValue();
        +
        407  track_hd->SetString("type", "HD");
        +
        408  tracks->Append(track_hd);
        +
        409  base::DictionaryValue* track_audio = new base::DictionaryValue();
        +
        410  track_audio->SetString("type", "AUDIO");
        +
        411  tracks->Append(track_audio);
        +
        412 
        +
        413  request_dict_.Set("tracks", tracks);
        +
        414 
        +
        415  // Build DRM types.
        +
        416  base::ListValue* drm_types = new base::ListValue();
        +
        417  drm_types->AppendString("WIDEVINE");
        +
        418  request_dict_.Set("drm_types", drm_types);
        +
        419 
        +
        420  // Build key rotation fields.
        +
        421  if (enable_key_rotation) {
        +
        422  // Javascript/JSON does not support int64_t or unsigned numbers. Use double
        +
        423  // instead as 32-bit integer can be lossless represented using double.
        +
        424  request_dict_.SetDouble("first_crypto_period_index",
        +
        425  first_crypto_period_index);
        +
        426  request_dict_.SetInteger("crypto_period_count", crypto_period_count_);
        +
        427  }
        +
        428 
        +
        429  base::JSONWriter::WriteWithOptions(
        +
        430  request_dict_,
        +
        431  // Write doubles that have no fractional part as a normal integer, i.e.
        +
        432  // without using exponential notation or appending a '.0'.
        +
        433  base::JSONWriter::OPTIONS_OMIT_DOUBLE_TYPE_PRESERVATION, request);
        +
        434 }
        +
        435 
        +
        436 Status WidevineKeySource::GenerateKeyMessage(const std::string& request,
        +
        437  std::string* message) {
        +
        438  DCHECK(message);
        +
        439 
        +
        440  std::string request_base64_string;
        +
        441  base::Base64Encode(request, &request_base64_string);
        +
        442 
        +
        443  base::DictionaryValue request_dict;
        +
        444  request_dict.SetString("request", request_base64_string);
        +
        445 
        +
        446  // Sign the request.
        +
        447  if (signer_) {
        +
        448  std::string signature;
        +
        449  if (!signer_->GenerateSignature(request, &signature))
        +
        450  return Status(error::INTERNAL_ERROR, "Signature generation failed.");
        +
        451 
        +
        452  std::string signature_base64_string;
        +
        453  base::Base64Encode(signature, &signature_base64_string);
        +
        454 
        +
        455  request_dict.SetString("signature", signature_base64_string);
        +
        456  request_dict.SetString("signer", signer_->signer_name());
        +
        457  }
        +
        458 
        +
        459  base::JSONWriter::Write(request_dict, message);
        +
        460  return Status::OK;
        +
        461 }
        +
        462 
        +
        463 bool WidevineKeySource::DecodeResponse(
        +
        464  const std::string& raw_response,
        +
        465  std::string* response) {
        +
        466  DCHECK(response);
        +
        467 
        +
        468  // Extract base64 formatted response from JSON formatted raw response.
        +
        469  // TODO(kqyang): Remove ".release()" when base is updated to use unique_ptr.
        +
        470  std::unique_ptr<base::Value> root(
        +
        471  base::JSONReader::Read(raw_response).release());
        +
        472  if (!root) {
        +
        473  LOG(ERROR) << "'" << raw_response << "' is not in JSON format.";
        +
        474  return false;
        +
        475  }
        +
        476  const base::DictionaryValue* response_dict = NULL;
        +
        477  RCHECK(root->GetAsDictionary(&response_dict));
        +
        478 
        +
        479  std::string response_base64_string;
        +
        480  RCHECK(response_dict->GetString("response", &response_base64_string));
        +
        481  RCHECK(base::Base64Decode(response_base64_string, response));
        +
        482  return true;
        +
        483 }
        +
        484 
        +
        485 bool WidevineKeySource::ExtractEncryptionKey(
        +
        486  bool enable_key_rotation,
        +
        487  bool widevine_classic,
        +
        488  const std::string& response,
        +
        489  bool* transient_error) {
        +
        490  DCHECK(transient_error);
        +
        491  *transient_error = false;
        +
        492 
        +
        493  // TODO(kqyang): Remove ".release()" when base is updated to use unique_ptr.
        +
        494  std::unique_ptr<base::Value> root(base::JSONReader::Read(response).release());
        +
        495  if (!root) {
        +
        496  LOG(ERROR) << "'" << response << "' is not in JSON format.";
        +
        497  return false;
        +
        498  }
        +
        499 
        +
        500  const base::DictionaryValue* license_dict = NULL;
        +
        501  RCHECK(root->GetAsDictionary(&license_dict));
        +
        502 
        +
        503  std::string license_status;
        +
        504  RCHECK(license_dict->GetString("status", &license_status));
        +
        505  if (license_status != kLicenseStatusOK) {
        +
        506  LOG(ERROR) << "Received non-OK license response: " << response;
        +
        507  *transient_error = (license_status == kLicenseStatusTransientError);
        +
        508  return false;
        +
        509  }
        +
        510 
        +
        511  const base::ListValue* tracks;
        +
        512  RCHECK(license_dict->GetList("tracks", &tracks));
        +
        513  // Should have at least one track per crypto_period.
        +
        514  RCHECK(enable_key_rotation ? tracks->GetSize() >= 1 * crypto_period_count_
        +
        515  : tracks->GetSize() >= 1);
        +
        516 
        +
        517  int current_crypto_period_index = first_crypto_period_index_;
        +
        518 
        +
        519  EncryptionKeyMap encryption_key_map;
        +
        520  for (size_t i = 0; i < tracks->GetSize(); ++i) {
        +
        521  const base::DictionaryValue* track_dict;
        +
        522  RCHECK(tracks->GetDictionary(i, &track_dict));
        +
        523 
        +
        524  if (enable_key_rotation) {
        +
        525  int crypto_period_index;
        +
        526  RCHECK(
        +
        527  track_dict->GetInteger("crypto_period_index", &crypto_period_index));
        +
        528  if (crypto_period_index != current_crypto_period_index) {
        +
        529  if (crypto_period_index != current_crypto_period_index + 1) {
        +
        530  LOG(ERROR) << "Expecting crypto period index "
        +
        531  << current_crypto_period_index << " or "
        +
        532  << current_crypto_period_index + 1 << "; Seen "
        +
        533  << crypto_period_index << " at track " << i;
        +
        534  return false;
        +
        535  }
        +
        536  if (!PushToKeyPool(&encryption_key_map))
        +
        537  return false;
        +
        538  ++current_crypto_period_index;
        +
        539  }
        +
        540  }
        +
        541 
        +
        542  std::string track_type_str;
        +
        543  RCHECK(track_dict->GetString("type", &track_type_str));
        +
        544  TrackType track_type = GetTrackTypeFromString(track_type_str);
        +
        545  DCHECK_NE(TRACK_TYPE_UNKNOWN, track_type);
        +
        546  RCHECK(encryption_key_map.find(track_type) == encryption_key_map.end());
        +
        547 
        +
        548  std::unique_ptr<EncryptionKey> encryption_key(new EncryptionKey());
        +
        549 
        +
        550  if (!GetKeyFromTrack(*track_dict, &encryption_key->key))
        +
        551  return false;
        +
        552 
        +
        553  // Get key ID and PSSH data for CENC content only.
        +
        554  if (!widevine_classic) {
        +
        555  if (!GetKeyIdFromTrack(*track_dict, &encryption_key->key_id))
        +
        556  return false;
        +
        557 
        +
        558  ProtectionSystemSpecificInfo info;
        +
        559  info.add_key_id(encryption_key->key_id);
        +
        560  info.set_system_id(kWidevineSystemId, arraysize(kWidevineSystemId));
        +
        561  info.set_pssh_box_version(0);
        +
        562 
        +
        563  std::vector<uint8_t> pssh_data;
        +
        564  if (!GetPsshDataFromTrack(*track_dict, &pssh_data))
        +
        565  return false;
        +
        566  info.set_pssh_data(pssh_data);
        +
        567 
        +
        568  encryption_key->key_system_info.push_back(info);
        +
        569  }
        +
        570  encryption_key_map[track_type] = encryption_key.release();
        +
        571  }
        +
        572 
        +
        573  // If the flag exists, create a common system ID PSSH box that contains the
        +
        574  // key IDs of all the keys.
        +
        575  if (add_common_pssh_ && !widevine_classic) {
        +
        576  std::set<std::vector<uint8_t>> key_ids;
        +
        577  for (const EncryptionKeyMap::value_type& pair : encryption_key_map) {
        +
        578  key_ids.insert(pair.second->key_id);
        +
        579  }
        +
        580 
        +
        581  // Create a common system PSSH box.
        +
        582  ProtectionSystemSpecificInfo info;
        +
        583  info.set_system_id(kCommonSystemId, arraysize(kCommonSystemId));
        +
        584  info.set_pssh_box_version(1);
        +
        585  for (const std::vector<uint8_t>& key_id : key_ids) {
        +
        586  info.add_key_id(key_id);
        587  }
        -
        588  }
        -
        589 
        -
        590  DCHECK(!encryption_key_map.empty());
        -
        591  if (!enable_key_rotation) {
        -
        592  encryption_key_map_ = encryption_key_map;
        -
        593  return true;
        -
        594  }
        -
        595  return PushToKeyPool(&encryption_key_map);
        -
        596 }
        -
        597 
        -
        598 bool WidevineKeySource::PushToKeyPool(
        -
        599  EncryptionKeyMap* encryption_key_map) {
        -
        600  DCHECK(key_pool_);
        -
        601  DCHECK(encryption_key_map);
        -
        602  Status status =
        -
        603  key_pool_->Push(scoped_refptr<RefCountedEncryptionKeyMap>(
        -
        604  new RefCountedEncryptionKeyMap(encryption_key_map)),
        -
        605  kInfiniteTimeout);
        -
        606  encryption_key_map->clear();
        -
        607  if (!status.ok()) {
        -
        608  DCHECK_EQ(error::STOPPED, status.error_code());
        -
        609  return false;
        -
        610  }
        -
        611  return true;
        -
        612 }
        -
        613 
        -
        614 } // namespace media
        -
        615 } // namespace shaka
        +
        588 
        +
        589  for (const EncryptionKeyMap::value_type& pair : encryption_key_map) {
        +
        590  pair.second->key_system_info.push_back(info);
        +
        591  }
        +
        592  }
        +
        593 
        +
        594  DCHECK(!encryption_key_map.empty());
        +
        595  if (!enable_key_rotation) {
        +
        596  encryption_key_map_ = encryption_key_map;
        +
        597  return true;
        +
        598  }
        +
        599  return PushToKeyPool(&encryption_key_map);
        +
        600 }
        +
        601 
        +
        602 bool WidevineKeySource::PushToKeyPool(
        +
        603  EncryptionKeyMap* encryption_key_map) {
        +
        604  DCHECK(key_pool_);
        +
        605  DCHECK(encryption_key_map);
        +
        606  Status status =
        +
        607  key_pool_->Push(scoped_refptr<RefCountedEncryptionKeyMap>(
        +
        608  new RefCountedEncryptionKeyMap(encryption_key_map)),
        +
        609  kInfiniteTimeout);
        +
        610  encryption_key_map->clear();
        +
        611  if (!status.ok()) {
        +
        612  DCHECK_EQ(error::STOPPED, status.error_code());
        +
        613  return false;
        +
        614  }
        +
        615  return true;
        +
        616 }
        +
        617 
        +
        618 } // namespace media
        +
        619 } // namespace shaka
        -
        void set_signer(scoped_ptr< RequestSigner > signer)
        Status FetchKeys(const std::vector< uint8_t > &pssh_box) override
        Status GetCryptoPeriodKey(uint32_t crypto_period_index, TrackType track_type, EncryptionKey *key) override
        Status GetKey(TrackType track_type, EncryptionKey *key) override
        static std::string TrackTypeToString(TrackType track_type)
        Convert TrackType to string.
        Definition: key_source.cc:33
        -
        void set_key_fetcher(scoped_ptr< KeyFetcher > key_fetcher)
        - +
        static TrackType GetTrackTypeFromString(const std::string &track_type_string)
        Convert string representation of track type to enum representation.
        Definition: key_source.cc:19
        - + +
        void set_key_fetcher(std::unique_ptr< KeyFetcher > key_fetcher)
        WidevineKeySource(const std::string &server_url, bool add_common_pssh)
        +
        void set_signer(std::unique_ptr< RequestSigner > signer)
        bool Parse(const uint8_t *data, size_t data_size)
        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 340fa80be8..2acccb78df 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 ad051f2876..7029f700b3 100644 --- a/docs/d5/d8f/webm__cluster__parser_8cc_source.html +++ b/docs/d5/d8f/webm__cluster__parser_8cc_source.html @@ -445,7 +445,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        356  // Every encrypted Block has a signal byte and IV prepended to it. Current
        357  // encrypted WebM request for comments specification is here
        358  // http://wiki.webmproject.org/encryption/webm-encryption-rfc
        -
        359  scoped_ptr<DecryptConfig> decrypt_config;
        +
        359  std::unique_ptr<DecryptConfig> decrypt_config;
        360  int data_offset = 0;
        361  if (!encryption_key_id.empty() &&
        362  !WebMCreateDecryptConfig(
        @@ -500,7 +500,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        411  streams.push_back(audio_stream_info_);
        412  if (video_stream_info_) {
        413  if (stream_type == kStreamVideo) {
        -
        414  scoped_ptr<VPxParser> vpx_parser;
        +
        414  std::unique_ptr<VPxParser> vpx_parser;
        415  switch (video_stream_info_->codec()) {
        416  case kCodecVP8:
        417  vpx_parser.reset(new VP8Parser);
        @@ -704,14 +704,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        615 
        616 } // namespace media
        617 } // namespace shaka
        -
        base::Callback< void(const std::vector< scoped_refptr< StreamInfo > > &stream_info)> InitCB
        Definition: media_parser.h:35
        +
        base::Callback< void(const std::vector< scoped_refptr< StreamInfo > > &stream_info)> InitCB
        Definition: media_parser.h:34
        int Parse(const uint8_t *buf, int size)
        void Reset()
        Resets the state of the parser so it can start parsing a new list.
        Definition: webm_parser.cc:714
        int Parse(const uint8_t *buf, int size)
        Definition: webm_parser.cc:719
        bool Flush() WARN_UNUSED_RESULT
        static void Parse(const uint8_t *payload, int payload_size, std::string *id, std::string *settings, std::string *content)
        Utility function to parse the WebVTT cue from a byte stream.
        -
        base::Callback< bool(uint32_t track_id, const scoped_refptr< MediaSample > &media_sample)> NewSampleCB
        Definition: media_parser.h:44
        -
        KeySource is responsible for encryption key acquisition.
        Definition: key_source.h:31
        +
        base::Callback< bool(uint32_t track_id, const scoped_refptr< MediaSample > &media_sample)> NewSampleCB
        Definition: media_parser.h:43
        +
        KeySource is responsible for encryption key acquisition.
        Definition: key_source.h:30
        static scoped_refptr< MediaSample > CopyFrom(const uint8_t *data, size_t size, bool is_key_frame)
        Definition: media_sample.cc:45
        WebMClusterParser(int64_t timecode_scale, scoped_refptr< AudioStreamInfo > audio_stream_info, scoped_refptr< VideoStreamInfo > video_stream_info, int64_t audio_default_duration, int64_t video_default_duration, const WebMTracksParser::TextTracks &text_tracks, const std::set< int64_t > &ignored_tracks, const std::string &audio_encryption_key_id, const std::string &video_encryption_key_id, const MediaParser::NewSampleCB &new_sample_cb, const MediaParser::InitCB &init_cb, KeySource *decryption_key_source)
        @@ -721,7 +721,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/d91/es__parser__adts_8cc_source.html b/docs/d5/d91/es__parser__adts_8cc_source.html index cd0725aa6f..99bfc0ed20 100644 --- a/docs/d5/d91/es__parser__adts_8cc_source.html +++ b/docs/d5/d91/es__parser__adts_8cc_source.html @@ -366,7 +366,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/d95/structshaka_1_1media_1_1mp4_1_1EditListEntry-members.html b/docs/d5/d95/structshaka_1_1media_1_1mp4_1_1EditListEntry-members.html index 4813e055bc..d14099fc89 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 d4e38134ca..c07f8cd3a9 100644 --- a/docs/d5/d98/encryptor_8cc_source.html +++ b/docs/d5/d98/encryptor_8cc_source.html @@ -263,7 +263,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        174  Codec codec,
        175  KeySource* key_source,
        176  bool webm_subsample_encryption) {
        -
        177  scoped_ptr<EncryptionKey> encryption_key(new EncryptionKey());
        +
        177  std::unique_ptr<EncryptionKey> encryption_key(new EncryptionKey());
        178  Status status = key_source->GetKey(track_type, encryption_key.get());
        179  if (!status.ok())
        180  return status;
        @@ -272,7 +272,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        183  return Status(error::INTERNAL_ERROR, "Failed to generate random iv.");
        184  }
        185  DCHECK_EQ(kWebMIvSize, encryption_key->iv.size());
        -
        186  scoped_ptr<AesCtrEncryptor> encryptor(new AesCtrEncryptor());
        +
        186  std::unique_ptr<AesCtrEncryptor> encryptor(new AesCtrEncryptor());
        187  const bool initialized =
        188  encryptor->InitializeWithIv(encryption_key->key, encryption_key->iv);
        189  if (!initialized)
        @@ -290,8 +290,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        201  encryptor->iv(), encryption_key->key_system_info);
        202  }
        203 
        -
        204  key_ = encryption_key.Pass();
        -
        205  encryptor_ = encryptor.Pass();
        +
        204  key_ = std::move(encryption_key);
        +
        205  encryptor_ = std::move(encryptor);
        206  return Status::OK;
        207 }
        208 
        @@ -305,18 +305,18 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        const uint8_t * Buffer() const
        Definition: buffer_writer.h:59
        Status Initialize(MuxerListener *muxer_listener, KeySource::TrackType track_type, Codec codec, KeySource *key_source, bool webm_subsample_encryption)
        Definition: encryptor.cc:61
        - +
        static bool GenerateRandomIv(FourCC protection_scheme, std::vector< uint8_t > *iv)
        Definition: aes_cryptor.cc:109
        Class to parse a vp9 bit stream.
        Definition: vp9_parser.h:20
        - +
        Status EncryptFrame(scoped_refptr< MediaSample > sample, bool encrypt_frame)
        Definition: encryptor.cc:76
        -
        KeySource is responsible for encryption key acquisition.
        Definition: key_source.h:31
        +
        KeySource is responsible for encryption key acquisition.
        Definition: key_source.h:30
        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 a12b94f2d1..2cf06981c8 100644 --- a/docs/d5/d9b/vp__codec__configuration__record_8h_source.html +++ b/docs/d5/d9b/vp__codec__configuration__record_8h_source.html @@ -224,7 +224,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/d9d/structshaka_1_1media_1_1H265ReferencePictureListModifications.html b/docs/d5/d9d/structshaka_1_1media_1_1H265ReferencePictureListModifications.html index 07589ab09b..e2bd74df45 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 6bf458d943..3359659b54 100644 --- a/docs/d5/da4/aes__encryptor_8cc_source.html +++ b/docs/d5/da4/aes__encryptor_8cc_source.html @@ -290,14 +290,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
        AesCbcEncryptor(CbcPaddingScheme padding_scheme)
        bool InitializeWithIv(const std::vector< uint8_t > &key, const std::vector< uint8_t > &iv) override
        AesEncryptor(ConstantIvFlag constant_iv_flag)
        - +
        const std::vector< uint8_t > & iv() const
        Definition: aes_cryptor.h:81
        bool SetIv(const std::vector< uint8_t > &iv)
        Definition: aes_cryptor.cc:69
        - + diff --git a/docs/d5/dad/structshaka_1_1media_1_1H265ReferencePictureSet.html b/docs/d5/dad/structshaka_1_1media_1_1H265ReferencePictureSet.html index 6ec0235d38..cd21f4e7fc 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 00bc46b40a..d45384c473 100644 --- a/docs/d5/db1/classshaka_1_1media_1_1StreamInfo.html +++ b/docs/d5/db1/classshaka_1_1media_1_1StreamInfo.html @@ -235,7 +235,7 @@ class base::RefCountedThre diff --git a/docs/d5/db9/classshaka_1_1media_1_1mp2t_1_1EsParserH264.html b/docs/d5/db9/classshaka_1_1media_1_1mp2t_1_1EsParserH264.html index d290092e89..e54d860d98 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 @@ -113,9 +113,9 @@ Public Member Functions void Reset () override   - Public Member Functions inherited from shaka::media::mp2t::EsParserH26x -EsParserH26x (Nalu::CodecType type, scoped_ptr< H26xByteToUnitStreamConverter > stream_converter, uint32_t pid, const EmitSampleCB &emit_sample_cb) -  +EsParserH26x (Nalu::CodecType type, std::unique_ptr< H26xByteToUnitStreamConverter > stream_converter, uint32_t pid, const EmitSampleCB &emit_sample_cb) +  bool Parse (const uint8_t *buf, int size, int64_t pts, int64_t dts) override   @@ -153,7 +153,7 @@ const

        Detailed Description

        -

        Definition at line 26 of file es_parser_h264.h.

        +

        Definition at line 25 of file es_parser_h264.h.


        The documentation for this class was generated from the following files:
        • media/formats/mp2t/es_parser_h264.h
        • media/formats/mp2t/es_parser_h264.cc
        • @@ -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 26d58715e9..a2a99c45a4 100644 --- a/docs/d5/dba/ts__packet_8cc_source.html +++ b/docs/d5/dba/ts__packet_8cc_source.html @@ -93,7 +93,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          4 
          5 #include "packager/media/formats/mp2t/ts_packet.h"
          6 
          -
          7 #include "packager/base/memory/scoped_ptr.h"
          +
          7 #include <memory>
          8 #include "packager/media/base/bit_reader.h"
          9 #include "packager/media/formats/mp2t/mp2t_common.h"
          10 
          @@ -146,7 +146,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          57  return NULL;
          58  }
          59 
          -
          60  scoped_ptr<TsPacket> ts_packet(new TsPacket());
          +
          60  std::unique_ptr<TsPacket> ts_packet(new TsPacket());
          61  bool status = ts_packet->ParseHeader(buf);
          62  if (!status) {
          63  DVLOG(1) << "Parsing header failed";
          @@ -304,7 +304,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/dc1/webm__webvtt__parser_8cc_source.html b/docs/d5/dc1/webm__webvtt__parser_8cc_source.html index 9580877dc5..682ca64680 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 24329b7355..957f245a31 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 f888566b4c..34b1d7750f 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 ebbfa219c1..d6a97ba8c7 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 3eee024afb..b33c212009 100644 --- a/docs/d5/dda/ts__section__psi_8h_source.html +++ b/docs/d5/dda/ts__section__psi_8h_source.html @@ -146,12 +146,12 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          57 
          A class to read bit streams.
          Definition: bit_reader.h:17
          - + diff --git a/docs/d5/de0/bit__reader_8cc_source.html b/docs/d5/de0/bit__reader_8cc_source.html index 77a9327124..19393b6dff 100644 --- a/docs/d5/de0/bit__reader_8cc_source.html +++ b/docs/d5/de0/bit__reader_8cc_source.html @@ -199,7 +199,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html b/docs/d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html index 56aac4fd43..dac34c6057 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 @@ -103,12 +103,13 @@ Public Member Functions   virtual bool PushSample (scoped_refptr< MediaSample > sample)   -virtual bool SetEncryptionKey (scoped_ptr< EncryptionKey > encryption_key) -  +virtual bool SetEncryptionKey (std::unique_ptr< EncryptionKey > encryption_key) +  virtual size_t NumberOfReadyPesPackets ()   -virtual scoped_ptr< PesPacketGetNextPesPacket () -  +virtual std::unique_ptr
          +< PesPacketGetNextPesPacket () +  virtual bool Flush ()   @@ -150,7 +151,7 @@ class  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 a5f25ce224..ced849ae4a 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 4c7e023eeb..cb56d5b1fa 100644 --- a/docs/d6/d26/structshaka_1_1media_1_1VideoStreamInfoParameters.html +++ b/docs/d6/d26/structshaka_1_1media_1_1VideoStreamInfoParameters.html @@ -146,7 +146,7 @@ bool  diff --git a/docs/d6/d2e/mpd__notifier__util_8cc_source.html b/docs/d6/d2e/mpd__notifier__util_8cc_source.html index 5e73f45824..59e613d185 100644 --- a/docs/d6/d2e/mpd__notifier__util_8cc_source.html +++ b/docs/d6/d2e/mpd__notifier__util_8cc_source.html @@ -97,8 +97,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          8 
          9 #include "packager/base/strings/string_number_conversions.h"
          10 #include "packager/base/strings/string_util.h"
          -
          11 #include "packager/media/file/file_closer.h"
          -
          12 #include "packager/media/file/file.h"
          +
          11 #include "packager/media/file/file.h"
          +
          12 #include "packager/media/file/file_closer.h"
          13 #include "packager/mpd/base/mpd_utils.h"
          14 
          15 namespace shaka {
          @@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          26  return false;
          27  }
          28 
          -
          29  scoped_ptr<File, FileCloser> file(File::Open(output_path.c_str(), "w"));
          +
          29  std::unique_ptr<File, FileCloser> file(File::Open(output_path.c_str(), "w"));
          30  if (!file) {
          31  LOG(ERROR) << "Failed to open file for writing: " << output_path;
          32  return false;
          @@ -170,7 +170,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d32/classshaka_1_1media_1_1TextTrack-members.html b/docs/d6/d32/classshaka_1_1media_1_1TextTrack-members.html index 1010211bdb..9bfd156f05 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');
          PesPacketGeneratorTe - +
          @@ -158,7 +159,7 @@ class 
          PesPacketGeneratorTe - + @@ -265,7 +266,7 @@ class  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 a8d92a93e0..38fe9815fc 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');
          scoped_ptr< PesPacket > shaka::media::mp2t::PesPacketGenerator::GetNextPesPacket std::unique_ptr< PesPacket > shaka::media::mp2t::PesPacketGenerator::GetNextPesPacket ( ) PesPacketGeneratorTe - +
          @@ -275,7 +276,7 @@ class  - + @@ -306,7 +307,7 @@ class  diff --git a/docs/d5/dec/decoder__configuration__record_8cc_source.html b/docs/d5/dec/decoder__configuration__record_8cc_source.html index 097cc3ece1..393a24300b 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 f8222ca27c..f53783f95e 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');
          PesPacketGeneratorTe
          bool shaka::media::mp2t::PesPacketGenerator::SetEncryptionKey (scoped_ptr< EncryptionKeystd::unique_ptr< EncryptionKey encryption_key)
          PesPacketGeneratorTe diff --git a/docs/d5/dec/classshaka_1_1media_1_1WebMParserClient.html b/docs/d5/dec/classshaka_1_1media_1_1WebMParserClient.html index fd5f2b8b32..da9ece5acf 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/def/ts__section__pmt_8h_source.html b/docs/d5/def/ts__section__pmt_8h_source.html index 89f9c727ac..ab65bb1312 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 cbbbe72b0f..fedfa58e8d 100644 --- a/docs/d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html +++ b/docs/d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html @@ -535,7 +535,7 @@ Additional Inherited Members
          diff --git a/docs/d5/dfc/file_8cc_source.html b/docs/d5/dfc/file_8cc_source.html index b1f38ff896..7759fe778d 100644 --- a/docs/d5/dfc/file_8cc_source.html +++ b/docs/d5/dfc/file_8cc_source.html @@ -97,290 +97,287 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          8 
          9 #include <gflags/gflags.h>
          10 #include <algorithm>
          -
          11 
          +
          11 #include <memory>
          12 #include "packager/base/logging.h"
          -
          13 #include "packager/base/memory/scoped_ptr.h"
          +
          13 #include "packager/base/strings/string_util.h"
          14 #include "packager/media/file/local_file.h"
          15 #include "packager/media/file/memory_file.h"
          16 #include "packager/media/file/threaded_io_file.h"
          17 #include "packager/media/file/udp_file.h"
          -
          18 #include "packager/base/strings/string_util.h"
          -
          19 
          -
          20 DEFINE_uint64(io_cache_size,
          -
          21  32ULL << 20,
          -
          22  "Size of the threaded I/O cache, in bytes. Specify 0 to disable "
          -
          23  "threaded I/O.");
          -
          24 DEFINE_uint64(io_block_size,
          -
          25  2ULL << 20,
          -
          26  "Size of the block size used for threaded I/O, in bytes.");
          -
          27 
          -
          28 // Needed for Windows weirdness which somewhere defines CopyFile as CopyFileW.
          -
          29 #ifdef CopyFile
          -
          30 #undef CopyFile
          -
          31 #endif // CopyFile
          -
          32 
          -
          33 namespace shaka {
          -
          34 namespace media {
          -
          35 
          -
          36 const char* kLocalFilePrefix = "file://";
          -
          37 const char* kUdpFilePrefix = "udp://";
          -
          38 const char* kMemoryFilePrefix = "memory://";
          -
          39 
          -
          40 namespace {
          -
          41 
          -
          42 typedef File* (*FileFactoryFunction)(const char* file_name, const char* mode);
          -
          43 typedef bool (*FileDeleteFunction)(const char* file_name);
          -
          44 
          -
          45 struct SupportedTypeInfo {
          -
          46  const char* type;
          -
          47  size_t type_length;
          -
          48  const FileFactoryFunction factory_function;
          -
          49  const FileDeleteFunction delete_function;
          -
          50 };
          -
          51 
          -
          52 File* CreateLocalFile(const char* file_name, const char* mode) {
          -
          53  return new LocalFile(file_name, mode);
          -
          54 }
          -
          55 
          -
          56 bool DeleteLocalFile(const char* file_name) {
          -
          57  return LocalFile::Delete(file_name);
          -
          58 }
          -
          59 
          -
          60 File* CreateUdpFile(const char* file_name, const char* mode) {
          -
          61  if (base::strcasecmp(mode, "r")) {
          -
          62  NOTIMPLEMENTED() << "UdpFile only supports read (receive) mode.";
          -
          63  return NULL;
          -
          64  }
          -
          65  return new UdpFile(file_name);
          -
          66 }
          -
          67 
          -
          68 File* CreateMemoryFile(const char* file_name, const char* mode) {
          -
          69  return new MemoryFile(file_name, mode);
          -
          70 }
          -
          71 
          -
          72 bool DeleteMemoryFile(const char* file_name) {
          -
          73  MemoryFile::Delete(file_name);
          -
          74  return true;
          -
          75 }
          -
          76 
          -
          77 static const SupportedTypeInfo kSupportedTypeInfo[] = {
          -
          78  {
          -
          79  kLocalFilePrefix,
          -
          80  strlen(kLocalFilePrefix),
          -
          81  &CreateLocalFile,
          -
          82  &DeleteLocalFile
          -
          83  },
          -
          84  {
          -
          85  kUdpFilePrefix,
          -
          86  strlen(kUdpFilePrefix),
          -
          87  &CreateUdpFile,
          -
          88  NULL
          -
          89  },
          -
          90  {
          -
          91  kMemoryFilePrefix,
          -
          92  strlen(kMemoryFilePrefix),
          -
          93  &CreateMemoryFile,
          -
          94  &DeleteMemoryFile
          -
          95  },
          -
          96 };
          -
          97 
          -
          98 } // namespace
          -
          99 
          -
          100 File* File::Create(const char* file_name, const char* mode) {
          -
          101  scoped_ptr<File, FileCloser> internal_file(
          -
          102  CreateInternalFile(file_name, mode));
          -
          103 
          -
          104  if (!strncmp(file_name, kMemoryFilePrefix, strlen(kMemoryFilePrefix))) {
          -
          105  // Disable caching for memory files.
          -
          106  return internal_file.release();
          -
          107  }
          -
          108 
          -
          109  if (FLAGS_io_cache_size) {
          -
          110  // Enable threaded I/O for "r", "w", and "a" modes only.
          -
          111  if (!strcmp(mode, "r")) {
          -
          112  return new ThreadedIoFile(internal_file.Pass(),
          -
          113  ThreadedIoFile::kInputMode,
          -
          114  FLAGS_io_cache_size,
          -
          115  FLAGS_io_block_size);
          -
          116  } else if (!strcmp(mode, "w") || !strcmp(mode, "a")) {
          -
          117  return new ThreadedIoFile(internal_file.Pass(),
          -
          118  ThreadedIoFile::kOutputMode,
          -
          119  FLAGS_io_cache_size,
          -
          120  FLAGS_io_block_size);
          -
          121  }
          -
          122  }
          -
          123 
          -
          124  // Threaded I/O is disabled.
          -
          125  DLOG(WARNING) << "Threaded I/O is disabled. Performance may be decreased.";
          -
          126  return internal_file.release();
          -
          127 }
          -
          128 
          -
          129 File* File::CreateInternalFile(const char* file_name, const char* mode) {
          -
          130  scoped_ptr<File, FileCloser> internal_file;
          -
          131  for (size_t i = 0; i < arraysize(kSupportedTypeInfo); ++i) {
          -
          132  const SupportedTypeInfo& type_info = kSupportedTypeInfo[i];
          -
          133  if (strncmp(type_info.type, file_name, type_info.type_length) == 0) {
          -
          134  internal_file.reset(type_info.factory_function(
          -
          135  file_name + type_info.type_length, mode));
          -
          136  }
          -
          137  }
          -
          138  // Otherwise we assume it is a local file
          -
          139  if (!internal_file)
          -
          140  internal_file.reset(CreateLocalFile(file_name, mode));
          +
          18 
          +
          19 DEFINE_uint64(io_cache_size,
          +
          20  32ULL << 20,
          +
          21  "Size of the threaded I/O cache, in bytes. Specify 0 to disable "
          +
          22  "threaded I/O.");
          +
          23 DEFINE_uint64(io_block_size,
          +
          24  2ULL << 20,
          +
          25  "Size of the block size used for threaded I/O, in bytes.");
          +
          26 
          +
          27 // Needed for Windows weirdness which somewhere defines CopyFile as CopyFileW.
          +
          28 #ifdef CopyFile
          +
          29 #undef CopyFile
          +
          30 #endif // CopyFile
          +
          31 
          +
          32 namespace shaka {
          +
          33 namespace media {
          +
          34 
          +
          35 const char* kLocalFilePrefix = "file://";
          +
          36 const char* kUdpFilePrefix = "udp://";
          +
          37 const char* kMemoryFilePrefix = "memory://";
          +
          38 
          +
          39 namespace {
          +
          40 
          +
          41 typedef File* (*FileFactoryFunction)(const char* file_name, const char* mode);
          +
          42 typedef bool (*FileDeleteFunction)(const char* file_name);
          +
          43 
          +
          44 struct SupportedTypeInfo {
          +
          45  const char* type;
          +
          46  size_t type_length;
          +
          47  const FileFactoryFunction factory_function;
          +
          48  const FileDeleteFunction delete_function;
          +
          49 };
          +
          50 
          +
          51 File* CreateLocalFile(const char* file_name, const char* mode) {
          +
          52  return new LocalFile(file_name, mode);
          +
          53 }
          +
          54 
          +
          55 bool DeleteLocalFile(const char* file_name) {
          +
          56  return LocalFile::Delete(file_name);
          +
          57 }
          +
          58 
          +
          59 File* CreateUdpFile(const char* file_name, const char* mode) {
          +
          60  if (base::strcasecmp(mode, "r")) {
          +
          61  NOTIMPLEMENTED() << "UdpFile only supports read (receive) mode.";
          +
          62  return NULL;
          +
          63  }
          +
          64  return new UdpFile(file_name);
          +
          65 }
          +
          66 
          +
          67 File* CreateMemoryFile(const char* file_name, const char* mode) {
          +
          68  return new MemoryFile(file_name, mode);
          +
          69 }
          +
          70 
          +
          71 bool DeleteMemoryFile(const char* file_name) {
          +
          72  MemoryFile::Delete(file_name);
          +
          73  return true;
          +
          74 }
          +
          75 
          +
          76 static const SupportedTypeInfo kSupportedTypeInfo[] = {
          +
          77  {
          +
          78  kLocalFilePrefix,
          +
          79  strlen(kLocalFilePrefix),
          +
          80  &CreateLocalFile,
          +
          81  &DeleteLocalFile
          +
          82  },
          +
          83  {
          +
          84  kUdpFilePrefix,
          +
          85  strlen(kUdpFilePrefix),
          +
          86  &CreateUdpFile,
          +
          87  NULL
          +
          88  },
          +
          89  {
          +
          90  kMemoryFilePrefix,
          +
          91  strlen(kMemoryFilePrefix),
          +
          92  &CreateMemoryFile,
          +
          93  &DeleteMemoryFile
          +
          94  },
          +
          95 };
          +
          96 
          +
          97 } // namespace
          +
          98 
          +
          99 File* File::Create(const char* file_name, const char* mode) {
          +
          100  std::unique_ptr<File, FileCloser> internal_file(
          +
          101  CreateInternalFile(file_name, mode));
          +
          102 
          +
          103  if (!strncmp(file_name, kMemoryFilePrefix, strlen(kMemoryFilePrefix))) {
          +
          104  // Disable caching for memory files.
          +
          105  return internal_file.release();
          +
          106  }
          +
          107 
          +
          108  if (FLAGS_io_cache_size) {
          +
          109  // Enable threaded I/O for "r", "w", and "a" modes only.
          +
          110  if (!strcmp(mode, "r")) {
          +
          111  return new ThreadedIoFile(std::move(internal_file),
          +
          112  ThreadedIoFile::kInputMode, FLAGS_io_cache_size,
          +
          113  FLAGS_io_block_size);
          +
          114  } else if (!strcmp(mode, "w") || !strcmp(mode, "a")) {
          +
          115  return new ThreadedIoFile(std::move(internal_file),
          +
          116  ThreadedIoFile::kOutputMode,
          +
          117  FLAGS_io_cache_size, FLAGS_io_block_size);
          +
          118  }
          +
          119  }
          +
          120 
          +
          121  // Threaded I/O is disabled.
          +
          122  DLOG(WARNING) << "Threaded I/O is disabled. Performance may be decreased.";
          +
          123  return internal_file.release();
          +
          124 }
          +
          125 
          +
          126 File* File::CreateInternalFile(const char* file_name, const char* mode) {
          +
          127  std::unique_ptr<File, FileCloser> internal_file;
          +
          128  for (size_t i = 0; i < arraysize(kSupportedTypeInfo); ++i) {
          +
          129  const SupportedTypeInfo& type_info = kSupportedTypeInfo[i];
          +
          130  if (strncmp(type_info.type, file_name, type_info.type_length) == 0) {
          +
          131  internal_file.reset(type_info.factory_function(
          +
          132  file_name + type_info.type_length, mode));
          +
          133  }
          +
          134  }
          +
          135  // Otherwise we assume it is a local file
          +
          136  if (!internal_file)
          +
          137  internal_file.reset(CreateLocalFile(file_name, mode));
          +
          138 
          +
          139  return internal_file.release();
          +
          140 }
          141 
          -
          142  return internal_file.release();
          -
          143 }
          -
          144 
          -
          145 File* File::Open(const char* file_name, const char* mode) {
          -
          146  File* file = File::Create(file_name, mode);
          -
          147  if (!file)
          +
          142 File* File::Open(const char* file_name, const char* mode) {
          +
          143  File* file = File::Create(file_name, mode);
          +
          144  if (!file)
          +
          145  return NULL;
          +
          146  if (!file->Open()) {
          +
          147  delete file;
          148  return NULL;
          -
          149  if (!file->Open()) {
          -
          150  delete file;
          -
          151  return NULL;
          -
          152  }
          -
          153  return file;
          -
          154 }
          -
          155 
          -
          156 File* File::OpenWithNoBuffering(const char* file_name, const char* mode) {
          -
          157  File* file = File::CreateInternalFile(file_name, mode);
          -
          158  if (!file)
          +
          149  }
          +
          150  return file;
          +
          151 }
          +
          152 
          +
          153 File* File::OpenWithNoBuffering(const char* file_name, const char* mode) {
          +
          154  File* file = File::CreateInternalFile(file_name, mode);
          +
          155  if (!file)
          +
          156  return NULL;
          +
          157  if (!file->Open()) {
          +
          158  delete file;
          159  return NULL;
          -
          160  if (!file->Open()) {
          -
          161  delete file;
          -
          162  return NULL;
          -
          163  }
          -
          164  return file;
          -
          165 }
          -
          166 
          -
          167 bool File::Delete(const char* file_name) {
          -
          168  for (size_t i = 0; i < arraysize(kSupportedTypeInfo); ++i) {
          -
          169  const SupportedTypeInfo& type_info = kSupportedTypeInfo[i];
          -
          170  if (strncmp(type_info.type, file_name, type_info.type_length) == 0) {
          -
          171  return type_info.delete_function ?
          -
          172  type_info.delete_function(file_name + type_info.type_length) :
          -
          173  false;
          -
          174  }
          -
          175  }
          -
          176  // Otherwise we assume it is a local file
          -
          177  return DeleteLocalFile(file_name);
          -
          178 }
          -
          179 
          -
          180 int64_t File::GetFileSize(const char* file_name) {
          -
          181  File* file = File::Open(file_name, "r");
          -
          182  if (!file)
          -
          183  return -1;
          -
          184  int64_t res = file->Size();
          -
          185  file->Close();
          -
          186  return res;
          -
          187 }
          +
          160  }
          +
          161  return file;
          +
          162 }
          +
          163 
          +
          164 bool File::Delete(const char* file_name) {
          +
          165  for (size_t i = 0; i < arraysize(kSupportedTypeInfo); ++i) {
          +
          166  const SupportedTypeInfo& type_info = kSupportedTypeInfo[i];
          +
          167  if (strncmp(type_info.type, file_name, type_info.type_length) == 0) {
          +
          168  return type_info.delete_function ?
          +
          169  type_info.delete_function(file_name + type_info.type_length) :
          +
          170  false;
          +
          171  }
          +
          172  }
          +
          173  // Otherwise we assume it is a local file
          +
          174  return DeleteLocalFile(file_name);
          +
          175 }
          +
          176 
          +
          177 int64_t File::GetFileSize(const char* file_name) {
          +
          178  File* file = File::Open(file_name, "r");
          +
          179  if (!file)
          +
          180  return -1;
          +
          181  int64_t res = file->Size();
          +
          182  file->Close();
          +
          183  return res;
          +
          184 }
          +
          185 
          +
          186 bool File::ReadFileToString(const char* file_name, std::string* contents) {
          +
          187  DCHECK(contents);
          188 
          -
          189 bool File::ReadFileToString(const char* file_name, std::string* contents) {
          -
          190  DCHECK(contents);
          -
          191 
          -
          192  File* file = File::Open(file_name, "r");
          -
          193  if (!file)
          -
          194  return false;
          +
          189  File* file = File::Open(file_name, "r");
          +
          190  if (!file)
          +
          191  return false;
          +
          192 
          +
          193  const size_t kBufferSize = 0x40000; // 256KB.
          +
          194  std::unique_ptr<char[]> buf(new char[kBufferSize]);
          195 
          -
          196  const size_t kBufferSize = 0x40000; // 256KB.
          -
          197  scoped_ptr<char[]> buf(new char[kBufferSize]);
          -
          198 
          -
          199  int64_t len;
          -
          200  while ((len = file->Read(buf.get(), kBufferSize)) > 0)
          -
          201  contents->append(buf.get(), len);
          -
          202 
          -
          203  file->Close();
          -
          204  return len == 0;
          -
          205 }
          -
          206 
          -
          207 bool File::Copy(const char* from_file_name, const char* to_file_name) {
          -
          208  std::string content;
          -
          209  if (!ReadFileToString(from_file_name, &content)) {
          -
          210  LOG(ERROR) << "Failed to open file " << from_file_name;
          -
          211  return false;
          -
          212  }
          -
          213 
          -
          214  scoped_ptr<File, FileCloser> output_file(File::Open(to_file_name, "w"));
          -
          215  if (!output_file) {
          -
          216  LOG(ERROR) << "Failed to write to " << to_file_name;
          -
          217  return false;
          -
          218  }
          -
          219 
          -
          220  uint64_t bytes_left = content.size();
          -
          221  uint64_t total_bytes_written = 0;
          -
          222  const char* content_cstr = content.c_str();
          -
          223  while (bytes_left > total_bytes_written) {
          -
          224  const int64_t bytes_written =
          -
          225  output_file->Write(content_cstr + total_bytes_written, bytes_left);
          -
          226  if (bytes_written < 0) {
          -
          227  LOG(ERROR) << "Failure while writing to " << to_file_name;
          -
          228  return false;
          -
          229  }
          -
          230 
          -
          231  total_bytes_written += bytes_written;
          -
          232  }
          -
          233  return true;
          -
          234 }
          -
          235 
          -
          236 int64_t File::CopyFile(File* source, File* destination) {
          -
          237  return CopyFile(source, destination, kWholeFile);
          -
          238 }
          -
          239 
          -
          240 int64_t File::CopyFile(File* source, File* destination, int64_t max_copy) {
          -
          241  DCHECK(source);
          -
          242  DCHECK(destination);
          -
          243  if (max_copy < 0)
          -
          244  max_copy = std::numeric_limits<int64_t>::max();
          -
          245 
          -
          246  const int64_t kBufferSize = 0x40000; // 256KB.
          -
          247  scoped_ptr<uint8_t[]> buffer(new uint8_t[kBufferSize]);
          -
          248  int64_t bytes_copied = 0;
          -
          249  while (bytes_copied < max_copy) {
          -
          250  const int64_t size = std::min(kBufferSize, max_copy - bytes_copied);
          -
          251  const int64_t bytes_read = source->Read(buffer.get(), size);
          -
          252  if (bytes_read < 0)
          -
          253  return bytes_read;
          -
          254  if (bytes_read == 0)
          -
          255  break;
          -
          256 
          -
          257  int64_t total_bytes_written = 0;
          -
          258  while (total_bytes_written < bytes_read) {
          -
          259  const int64_t bytes_written = destination->Write(
          -
          260  buffer.get() + total_bytes_written, bytes_read - total_bytes_written);
          -
          261  if (bytes_written < 0)
          -
          262  return bytes_written;
          +
          196  int64_t len;
          +
          197  while ((len = file->Read(buf.get(), kBufferSize)) > 0)
          +
          198  contents->append(buf.get(), len);
          +
          199 
          +
          200  file->Close();
          +
          201  return len == 0;
          +
          202 }
          +
          203 
          +
          204 bool File::Copy(const char* from_file_name, const char* to_file_name) {
          +
          205  std::string content;
          +
          206  if (!ReadFileToString(from_file_name, &content)) {
          +
          207  LOG(ERROR) << "Failed to open file " << from_file_name;
          +
          208  return false;
          +
          209  }
          +
          210 
          +
          211  std::unique_ptr<File, FileCloser> output_file(File::Open(to_file_name, "w"));
          +
          212  if (!output_file) {
          +
          213  LOG(ERROR) << "Failed to write to " << to_file_name;
          +
          214  return false;
          +
          215  }
          +
          216 
          +
          217  uint64_t bytes_left = content.size();
          +
          218  uint64_t total_bytes_written = 0;
          +
          219  const char* content_cstr = content.c_str();
          +
          220  while (bytes_left > total_bytes_written) {
          +
          221  const int64_t bytes_written =
          +
          222  output_file->Write(content_cstr + total_bytes_written, bytes_left);
          +
          223  if (bytes_written < 0) {
          +
          224  LOG(ERROR) << "Failure while writing to " << to_file_name;
          +
          225  return false;
          +
          226  }
          +
          227 
          +
          228  total_bytes_written += bytes_written;
          +
          229  }
          +
          230  return true;
          +
          231 }
          +
          232 
          +
          233 int64_t File::CopyFile(File* source, File* destination) {
          +
          234  return CopyFile(source, destination, kWholeFile);
          +
          235 }
          +
          236 
          +
          237 int64_t File::CopyFile(File* source, File* destination, int64_t max_copy) {
          +
          238  DCHECK(source);
          +
          239  DCHECK(destination);
          +
          240  if (max_copy < 0)
          +
          241  max_copy = std::numeric_limits<int64_t>::max();
          +
          242 
          +
          243  const int64_t kBufferSize = 0x40000; // 256KB.
          +
          244  std::unique_ptr<uint8_t[]> buffer(new uint8_t[kBufferSize]);
          +
          245  int64_t bytes_copied = 0;
          +
          246  while (bytes_copied < max_copy) {
          +
          247  const int64_t size = std::min(kBufferSize, max_copy - bytes_copied);
          +
          248  const int64_t bytes_read = source->Read(buffer.get(), size);
          +
          249  if (bytes_read < 0)
          +
          250  return bytes_read;
          +
          251  if (bytes_read == 0)
          +
          252  break;
          +
          253 
          +
          254  int64_t total_bytes_written = 0;
          +
          255  while (total_bytes_written < bytes_read) {
          +
          256  const int64_t bytes_written = destination->Write(
          +
          257  buffer.get() + total_bytes_written, bytes_read - total_bytes_written);
          +
          258  if (bytes_written < 0)
          +
          259  return bytes_written;
          +
          260 
          +
          261  total_bytes_written += bytes_written;
          +
          262  }
          263 
          -
          264  total_bytes_written += bytes_written;
          -
          265  }
          -
          266 
          -
          267  DCHECK_EQ(total_bytes_written, bytes_read);
          -
          268  bytes_copied += bytes_read;
          -
          269  }
          +
          264  DCHECK_EQ(total_bytes_written, bytes_read);
          +
          265  bytes_copied += bytes_read;
          +
          266  }
          +
          267 
          +
          268  return bytes_copied;
          +
          269 }
          270 
          -
          271  return bytes_copied;
          -
          272 }
          -
          273 
          -
          274 } // namespace media
          -
          275 } // namespace shaka
          +
          271 } // namespace media
          +
          272 } // namespace shaka
          virtual bool Open()=0
          Internal open. Should not be used directly.
          -
          static File * OpenWithNoBuffering(const char *file_name, const char *mode)
          Definition: file.cc:156
          -
          static bool Copy(const char *from_file_name, const char *to_file_name)
          Definition: file.cc:207
          +
          static File * OpenWithNoBuffering(const char *file_name, const char *mode)
          Definition: file.cc:153
          +
          static bool Copy(const char *from_file_name, const char *to_file_name)
          Definition: file.cc:204
          virtual int64_t Size()=0
          virtual bool Close()=0
          virtual int64_t Write(const void *buffer, uint64_t length)=0
          Define an abstract file interface.
          Definition: file.h:24
          -
          static File * Open(const char *file_name, const char *mode)
          Definition: file.cc:145
          +
          static File * Open(const char *file_name, const char *mode)
          Definition: file.cc:142
          static void Delete(const std::string &file_name)
          Definition: memory_file.cc:134
          virtual int64_t Read(void *buffer, uint64_t length)=0
          -
          static int64_t CopyFile(File *source, File *destination)
          Definition: file.cc:236
          -
          static int64_t GetFileSize(const char *file_name)
          Definition: file.cc:180
          -
          static bool ReadFileToString(const char *file_name, std::string *contents)
          Definition: file.cc:189
          +
          static int64_t CopyFile(File *source, File *destination)
          Definition: file.cc:233
          +
          static int64_t GetFileSize(const char *file_name)
          Definition: file.cc:177
          +
          static bool ReadFileToString(const char *file_name, std::string *contents)
          Definition: file.cc:186
          static bool Delete(const char *file_name)
          Definition: local_file.cc:104
          -
          static bool Delete(const char *file_name)
          Definition: file.cc:167
          +
          static bool Delete(const char *file_name)
          Definition: file.cc:164
          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 6be2d255b6..4088b6cda4 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 d6c24923d5..f76561aca3 100644 --- a/docs/d6/d09/aes__pattern__cryptor_8h_source.html +++ b/docs/d6/d09/aes__pattern__cryptor_8h_source.html @@ -95,60 +95,61 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          6 
          7 #include "packager/media/base/aes_cryptor.h"
          8 
          -
          9 #include "packager/base/macros.h"
          -
          10 #include "packager/base/memory/scoped_ptr.h"
          -
          11 
          -
          12 namespace shaka {
          -
          13 namespace media {
          -
          14 
          -
          16 class AesPatternCryptor : public AesCryptor {
          -
          17  public:
          - - - -
          35  };
          -
          36 
          -
          52  AesPatternCryptor(uint8_t crypt_byte_block,
          -
          53  uint8_t skip_byte_block,
          -
          54  PatternEncryptionMode encryption_mode,
          -
          55  ConstantIvFlag constant_iv_flag,
          -
          56  scoped_ptr<AesCryptor> cryptor);
          -
          57  ~AesPatternCryptor() override;
          -
          58 
          -
          61  bool InitializeWithIv(const std::vector<uint8_t>& key,
          -
          62  const std::vector<uint8_t>& iv) override;
          -
          64 
          -
          65  private:
          -
          66  bool CryptInternal(const uint8_t* text,
          -
          67  size_t text_size,
          -
          68  uint8_t* crypt_text,
          -
          69  size_t* crypt_text_size) override;
          -
          70  void SetIvInternal() override;
          -
          71 
          -
          72  bool NeedEncrypt(size_t input_size, size_t target_data_size);
          -
          73 
          -
          74  const uint8_t crypt_byte_block_;
          -
          75  const uint8_t skip_byte_block_;
          -
          76  const PatternEncryptionMode encryption_mode_;
          -
          77  scoped_ptr<AesCryptor> cryptor_;
          -
          78 
          -
          79  DISALLOW_COPY_AND_ASSIGN(AesPatternCryptor);
          -
          80 };
          -
          81 
          -
          82 } // namespace media
          -
          83 } // namespace shaka
          +
          9 #include <memory>
          +
          10 
          +
          11 #include "packager/base/macros.h"
          +
          12 
          +
          13 namespace shaka {
          +
          14 namespace media {
          +
          15 
          +
          17 class AesPatternCryptor : public AesCryptor {
          +
          18  public:
          + + + +
          36  };
          +
          37 
          +
          53  AesPatternCryptor(uint8_t crypt_byte_block,
          +
          54  uint8_t skip_byte_block,
          +
          55  PatternEncryptionMode encryption_mode,
          +
          56  ConstantIvFlag constant_iv_flag,
          +
          57  std::unique_ptr<AesCryptor> cryptor);
          +
          58  ~AesPatternCryptor() override;
          +
          59 
          +
          62  bool InitializeWithIv(const std::vector<uint8_t>& key,
          +
          63  const std::vector<uint8_t>& iv) override;
          +
          65 
          +
          66  private:
          +
          67  bool CryptInternal(const uint8_t* text,
          +
          68  size_t text_size,
          +
          69  uint8_t* crypt_text,
          +
          70  size_t* crypt_text_size) override;
          +
          71  void SetIvInternal() override;
          +
          72 
          +
          73  bool NeedEncrypt(size_t input_size, size_t target_data_size);
          +
          74 
          +
          75  const uint8_t crypt_byte_block_;
          +
          76  const uint8_t skip_byte_block_;
          +
          77  const PatternEncryptionMode encryption_mode_;
          +
          78  std::unique_ptr<AesCryptor> cryptor_;
          +
          79 
          +
          80  DISALLOW_COPY_AND_ASSIGN(AesPatternCryptor);
          +
          81 };
          +
          82 
          +
          83 } // namespace media
          +
          84 } // namespace shaka
          bool InitializeWithIv(const std::vector< uint8_t > &key, const std::vector< uint8_t > &iv) override
          - -
          AesPatternCryptor(uint8_t crypt_byte_block, uint8_t skip_byte_block, PatternEncryptionMode encryption_mode, ConstantIvFlag constant_iv_flag, scoped_ptr< AesCryptor > cryptor)
          - + +
          const std::vector< uint8_t > & iv() const
          Definition: aes_cryptor.h:81
          - -
          Implements pattern-based encryption/decryption.
          + +
          Implements pattern-based encryption/decryption.
          +
          AesPatternCryptor(uint8_t crypt_byte_block, uint8_t skip_byte_block, PatternEncryptionMode encryption_mode, ConstantIvFlag constant_iv_flag, std::unique_ptr< AesCryptor > cryptor)
          diff --git a/docs/d6/d16/text__stream__info_8cc_source.html b/docs/d6/d16/text__stream__info_8cc_source.html index 9656fd4245..21f2da39b4 100644 --- a/docs/d6/d16/text__stream__info_8cc_source.html +++ b/docs/d6/d16/text__stream__info_8cc_source.html @@ -124,7 +124,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d17/es__parser__h264_8cc_source.html b/docs/d6/d17/es__parser__h264_8cc_source.html index 4c13b3c14e..87e86f653c 100644 --- a/docs/d6/d17/es__parser__h264_8cc_source.html +++ b/docs/d6/d17/es__parser__h264_8cc_source.html @@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          23  const NewStreamInfoCB& new_stream_info_cb,
          24  const EmitSampleCB& emit_sample_cb)
          25  : EsParserH26x(Nalu::kH264,
          -
          26  scoped_ptr<H26xByteToUnitStreamConverter>(
          +
          26  std::unique_ptr<H26xByteToUnitStreamConverter>(
          27  new H264ByteToUnitStreamConverter()),
          28  pid,
          29  emit_sample_cb),
          @@ -258,7 +258,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d1a/structshaka_1_1media_1_1mp4_1_1MovieHeader.html b/docs/d6/d1a/structshaka_1_1media_1_1mp4_1_1MovieHeader.html index 94a4f0941a..881a0b8d29 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
          is_encrypted
          diff --git a/docs/d6/d35/webm__content__encodings_8cc_source.html b/docs/d6/d35/webm__content__encodings_8cc_source.html index 9f6b7de427..74a5fb6d4a 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 e03804b4a2..f12d7d2eb1 100644 --- a/docs/d6/d3b/chunk__info__iterator_8cc_source.html +++ b/docs/d6/d3b/chunk__info__iterator_8cc_source.html @@ -171,7 +171,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d41/encrypting__fragmenter_8cc_source.html b/docs/d6/d41/encrypting__fragmenter_8cc_source.html index be6c931a77..5a34149e5d 100644 --- a/docs/d6/d41/encrypting__fragmenter_8cc_source.html +++ b/docs/d6/d41/encrypting__fragmenter_8cc_source.html @@ -147,355 +147,359 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          58 }
          59 } // namespace
          60 
          - -
          62  scoped_refptr<StreamInfo> info, TrackFragment* traf,
          -
          63  scoped_ptr<EncryptionKey> encryption_key, int64_t clear_time,
          -
          64  FourCC protection_scheme, uint8_t crypt_byte_block, uint8_t skip_byte_block,
          -
          65  MuxerListener* listener)
          -
          66  : Fragmenter(info, traf),
          -
          67  info_(info),
          -
          68  encryption_key_(encryption_key.Pass()),
          -
          69  nalu_length_size_(GetNaluLengthSize(*info)),
          -
          70  video_codec_(GetCodec(*info)),
          -
          71  clear_time_(clear_time),
          -
          72  protection_scheme_(protection_scheme),
          -
          73  crypt_byte_block_(crypt_byte_block),
          -
          74  skip_byte_block_(skip_byte_block),
          -
          75  listener_(listener) {
          -
          76  DCHECK(encryption_key_);
          -
          77  switch (video_codec_) {
          -
          78  case kCodecVP8:
          -
          79  vpx_parser_.reset(new VP8Parser);
          -
          80  break;
          -
          81  case kCodecVP9:
          -
          82  vpx_parser_.reset(new VP9Parser);
          -
          83  break;
          -
          84  case kCodecH264:
          -
          85  header_parser_.reset(new H264VideoSliceHeaderParser);
          -
          86  break;
          -
          87  case kCodecHVC1:
          -
          88  FALLTHROUGH_INTENDED;
          -
          89  case kCodecHEV1:
          -
          90  header_parser_.reset(new H265VideoSliceHeaderParser);
          -
          91  break;
          -
          92  default:
          -
          93  if (nalu_length_size_ > 0) {
          -
          94  LOG(WARNING) << "Unknown video codec '" << video_codec_
          -
          95  << "', whole subsamples will be encrypted.";
          -
          96  }
          -
          97  }
          -
          98 }
          -
          99 
          -
          100 EncryptingFragmenter::~EncryptingFragmenter() {}
          -
          101 
          -
          102 Status EncryptingFragmenter::AddSample(scoped_refptr<MediaSample> sample) {
          -
          103  DCHECK(sample);
          -
          104  if (!fragment_initialized()) {
          -
          105  Status status = InitializeFragment(sample->dts());
          -
          106  if (!status.ok())
          -
          107  return status;
          -
          108  }
          -
          109  if (encryptor_) {
          -
          110  Status status = EncryptSample(sample);
          -
          111  if (!status.ok())
          -
          112  return status;
          -
          113  }
          -
          114  return Fragmenter::AddSample(sample);
          -
          115 }
          -
          116 
          - -
          118  Status status = Fragmenter::InitializeFragment(first_sample_dts);
          -
          119  if (!status.ok())
          -
          120  return status;
          -
          121 
          -
          122  if (header_parser_ && !header_parser_->Initialize(info_->codec_config()))
          -
          123  return Status(error::MUXER_FAILURE, "Fail to read SPS and PPS data.");
          -
          124 
          -
          125  traf()->auxiliary_size.sample_info_sizes.clear();
          -
          126  traf()->auxiliary_offset.offsets.clear();
          -
          127  if (IsSubsampleEncryptionRequired()) {
          -
          128  traf()->sample_encryption.flags |=
          -
          129  SampleEncryption::kUseSubsampleEncryption;
          -
          130  }
          -
          131  traf()->sample_encryption.sample_encryption_entries.clear();
          -
          132 
          -
          133  const bool enable_encryption = clear_time_ <= 0;
          -
          134  if (!enable_encryption) {
          -
          135  // This fragment should be in clear text.
          -
          136  // At most two sample description entries, an encrypted entry and a clear
          -
          137  // entry, are generated. The 1-based clear entry index is always 2.
          -
          138  const uint32_t kClearSampleDescriptionIndex = 2;
          -
          139 
          -
          140  traf()->header.flags |=
          -
          141  TrackFragmentHeader::kSampleDescriptionIndexPresentMask;
          -
          142  traf()->header.sample_description_index = kClearSampleDescriptionIndex;
          -
          143  } else {
          -
          144  if (listener_)
          -
          145  listener_->OnEncryptionStart();
          -
          146  }
          -
          147  return PrepareFragmentForEncryption(enable_encryption);
          -
          148 }
          -
          149 
          - -
          151  if (encryptor_) {
          -
          152  DCHECK_LE(clear_time_, 0);
          - -
          154  } else {
          -
          155  DCHECK_GT(clear_time_, 0);
          -
          156  clear_time_ -= fragment_duration();
          -
          157  }
          - -
          159 }
          -
          160 
          - -
          162  bool enable_encryption) {
          -
          163  return (!enable_encryption || encryptor_) ? Status::OK : CreateEncryptor();
          -
          164 }
          -
          165 
          - -
          167  // The offset will be adjusted in Segmenter after knowing moof size.
          -
          168  traf()->auxiliary_offset.offsets.push_back(0);
          + +
          62  scoped_refptr<StreamInfo> info,
          +
          63  TrackFragment* traf,
          +
          64  std::unique_ptr<EncryptionKey> encryption_key,
          +
          65  int64_t clear_time,
          +
          66  FourCC protection_scheme,
          +
          67  uint8_t crypt_byte_block,
          +
          68  uint8_t skip_byte_block,
          +
          69  MuxerListener* listener)
          +
          70  : Fragmenter(info, traf),
          +
          71  info_(info),
          +
          72  encryption_key_(std::move(encryption_key)),
          +
          73  nalu_length_size_(GetNaluLengthSize(*info)),
          +
          74  video_codec_(GetCodec(*info)),
          +
          75  clear_time_(clear_time),
          +
          76  protection_scheme_(protection_scheme),
          +
          77  crypt_byte_block_(crypt_byte_block),
          +
          78  skip_byte_block_(skip_byte_block),
          +
          79  listener_(listener) {
          +
          80  DCHECK(encryption_key_);
          +
          81  switch (video_codec_) {
          +
          82  case kCodecVP8:
          +
          83  vpx_parser_.reset(new VP8Parser);
          +
          84  break;
          +
          85  case kCodecVP9:
          +
          86  vpx_parser_.reset(new VP9Parser);
          +
          87  break;
          +
          88  case kCodecH264:
          +
          89  header_parser_.reset(new H264VideoSliceHeaderParser);
          +
          90  break;
          +
          91  case kCodecHVC1:
          +
          92  FALLTHROUGH_INTENDED;
          +
          93  case kCodecHEV1:
          +
          94  header_parser_.reset(new H265VideoSliceHeaderParser);
          +
          95  break;
          +
          96  default:
          +
          97  if (nalu_length_size_ > 0) {
          +
          98  LOG(WARNING) << "Unknown video codec '" << video_codec_
          +
          99  << "', whole subsamples will be encrypted.";
          +
          100  }
          +
          101  }
          +
          102 }
          +
          103 
          +
          104 EncryptingFragmenter::~EncryptingFragmenter() {}
          +
          105 
          +
          106 Status EncryptingFragmenter::AddSample(scoped_refptr<MediaSample> sample) {
          +
          107  DCHECK(sample);
          +
          108  if (!fragment_initialized()) {
          +
          109  Status status = InitializeFragment(sample->dts());
          +
          110  if (!status.ok())
          +
          111  return status;
          +
          112  }
          +
          113  if (encryptor_) {
          +
          114  Status status = EncryptSample(sample);
          +
          115  if (!status.ok())
          +
          116  return status;
          +
          117  }
          +
          118  return Fragmenter::AddSample(sample);
          +
          119 }
          +
          120 
          + +
          122  Status status = Fragmenter::InitializeFragment(first_sample_dts);
          +
          123  if (!status.ok())
          +
          124  return status;
          +
          125 
          +
          126  if (header_parser_ && !header_parser_->Initialize(info_->codec_config()))
          +
          127  return Status(error::MUXER_FAILURE, "Fail to read SPS and PPS data.");
          +
          128 
          +
          129  traf()->auxiliary_size.sample_info_sizes.clear();
          +
          130  traf()->auxiliary_offset.offsets.clear();
          +
          131  if (IsSubsampleEncryptionRequired()) {
          +
          132  traf()->sample_encryption.flags |=
          +
          133  SampleEncryption::kUseSubsampleEncryption;
          +
          134  }
          +
          135  traf()->sample_encryption.sample_encryption_entries.clear();
          +
          136 
          +
          137  const bool enable_encryption = clear_time_ <= 0;
          +
          138  if (!enable_encryption) {
          +
          139  // This fragment should be in clear text.
          +
          140  // At most two sample description entries, an encrypted entry and a clear
          +
          141  // entry, are generated. The 1-based clear entry index is always 2.
          +
          142  const uint32_t kClearSampleDescriptionIndex = 2;
          +
          143 
          +
          144  traf()->header.flags |=
          +
          145  TrackFragmentHeader::kSampleDescriptionIndexPresentMask;
          +
          146  traf()->header.sample_description_index = kClearSampleDescriptionIndex;
          +
          147  } else {
          +
          148  if (listener_)
          +
          149  listener_->OnEncryptionStart();
          +
          150  }
          +
          151  return PrepareFragmentForEncryption(enable_encryption);
          +
          152 }
          +
          153 
          + +
          155  if (encryptor_) {
          +
          156  DCHECK_LE(clear_time_, 0);
          + +
          158  } else {
          +
          159  DCHECK_GT(clear_time_, 0);
          +
          160  clear_time_ -= fragment_duration();
          +
          161  }
          + +
          163 }
          +
          164 
          + +
          166  bool enable_encryption) {
          +
          167  return (!enable_encryption || encryptor_) ? Status::OK : CreateEncryptor();
          +
          168 }
          169 
          -
          170  // For 'cbcs' scheme, Constant IVs SHALL be used.
          -
          171  const uint8_t per_sample_iv_size =
          -
          172  (protection_scheme_ == FOURCC_cbcs) ? 0 :
          -
          173  static_cast<uint8_t>(encryptor_->iv().size());
          -
          174  traf()->sample_encryption.iv_size = per_sample_iv_size;
          -
          175 
          -
          176  // Optimize saiz box.
          -
          177  SampleAuxiliaryInformationSize& saiz = traf()->auxiliary_size;
          -
          178  saiz.sample_count = traf()->runs[0].sample_sizes.size();
          -
          179  if (!saiz.sample_info_sizes.empty()) {
          -
          180  if (!OptimizeSampleEntries(&saiz.sample_info_sizes,
          -
          181  &saiz.default_sample_info_size)) {
          -
          182  saiz.default_sample_info_size = 0;
          -
          183  }
          -
          184  } else {
          -
          185  // |sample_info_sizes| table is filled in only for subsample encryption,
          -
          186  // otherwise |sample_info_size| is just the IV size.
          -
          187  DCHECK(!IsSubsampleEncryptionRequired());
          -
          188  saiz.default_sample_info_size = static_cast<uint8_t>(per_sample_iv_size);
          -
          189  }
          -
          190 
          -
          191  // It should only happen with full sample encryption + constant iv, i.e.
          -
          192  // 'cbcs' applying to audio.
          -
          193  if (saiz.default_sample_info_size == 0 && saiz.sample_info_sizes.empty()) {
          -
          194  DCHECK_EQ(protection_scheme_, FOURCC_cbcs);
          -
          195  DCHECK(!IsSubsampleEncryptionRequired());
          -
          196  // ISO/IEC 23001-7:2016(E) The sample auxiliary information would then be
          -
          197  // empty and should be emitted. Clear saiz and saio boxes so they are not
          -
          198  // written.
          -
          199  saiz.sample_count = 0;
          -
          200  traf()->auxiliary_offset.offsets.clear();
          -
          201  }
          -
          202 }
          -
          203 
          - -
          205  DCHECK(encryption_key_);
          -
          206  scoped_ptr<AesCryptor> encryptor;
          -
          207  switch (protection_scheme_) {
          -
          208  case FOURCC_cenc:
          -
          209  encryptor.reset(new AesCtrEncryptor);
          -
          210  break;
          -
          211  case FOURCC_cbc1:
          -
          212  encryptor.reset(new AesCbcEncryptor(kNoPadding));
          -
          213  break;
          -
          214  case FOURCC_cens:
          -
          215  encryptor.reset(new AesPatternCryptor(
          -
          216  crypt_byte_block(), skip_byte_block(),
          - -
          218  AesCryptor::kDontUseConstantIv,
          -
          219  scoped_ptr<AesCryptor>(new AesCtrEncryptor())));
          -
          220  break;
          -
          221  case FOURCC_cbcs:
          -
          222  encryptor.reset(new AesPatternCryptor(
          -
          223  crypt_byte_block(), skip_byte_block(),
          - -
          225  AesCryptor::kUseConstantIv,
          -
          226  scoped_ptr<AesCryptor>(new AesCbcEncryptor(kNoPadding))));
          -
          227  break;
          -
          228  default:
          -
          229  return Status(error::MUXER_FAILURE, "Unsupported protection scheme.");
          -
          230  }
          -
          231 
          -
          232  DCHECK(!encryption_key_->iv.empty());
          -
          233  const bool initialized =
          -
          234  encryptor->InitializeWithIv(encryption_key_->key, encryption_key_->iv);
          -
          235  if (!initialized)
          -
          236  return Status(error::MUXER_FAILURE, "Failed to create the encryptor.");
          -
          237  encryptor_ = encryptor.Pass();
          -
          238  return Status::OK;
          -
          239 }
          -
          240 
          -
          241 void EncryptingFragmenter::EncryptBytes(uint8_t* data, uint32_t size) {
          -
          242  DCHECK(encryptor_);
          -
          243  CHECK(encryptor_->Crypt(data, size, data));
          -
          244 }
          -
          245 
          -
          246 Status EncryptingFragmenter::EncryptSample(scoped_refptr<MediaSample> sample) {
          -
          247  DCHECK(encryptor_);
          -
          248 
          -
          249  SampleEncryptionEntry sample_encryption_entry;
          -
          250  // For 'cbcs' scheme, Constant IVs SHALL be used.
          -
          251  if (protection_scheme_ != FOURCC_cbcs)
          -
          252  sample_encryption_entry.initialization_vector = encryptor_->iv();
          -
          253  uint8_t* data = sample->writable_data();
          -
          254  if (IsSubsampleEncryptionRequired()) {
          -
          255  if (vpx_parser_) {
          -
          256  std::vector<VPxFrameInfo> vpx_frames;
          -
          257  if (!vpx_parser_->Parse(sample->data(), sample->data_size(),
          -
          258  &vpx_frames)) {
          -
          259  return Status(error::MUXER_FAILURE, "Failed to parse vpx frame.");
          -
          260  }
          -
          261 
          -
          262  const bool is_superframe = vpx_frames.size() > 1;
          -
          263  for (const VPxFrameInfo& frame : vpx_frames) {
          -
          264  SubsampleEntry subsample;
          -
          265  subsample.clear_bytes =
          -
          266  static_cast<uint16_t>(frame.uncompressed_header_size);
          -
          267  subsample.cipher_bytes =
          -
          268  frame.frame_size - frame.uncompressed_header_size;
          -
          269 
          -
          270  // "VP Codec ISO Media File Format Binding" document requires that the
          -
          271  // encrypted bytes of each frame within the superframe must be block
          -
          272  // aligned so that the counter state can be computed for each frame
          -
          273  // within the superframe.
          -
          274  // ISO/IEC 23001-7:2016 10.2 'cbc1' 10.3 'cens'
          -
          275  // The BytesOfProtectedData size SHALL be a multiple of 16 bytes to
          -
          276  // avoid partial blocks in Subsamples.
          -
          277  if (is_superframe || protection_scheme_ == FOURCC_cbc1 ||
          -
          278  protection_scheme_ == FOURCC_cens) {
          -
          279  const uint16_t misalign_bytes =
          -
          280  subsample.cipher_bytes % kCencBlockSize;
          -
          281  subsample.clear_bytes += misalign_bytes;
          -
          282  subsample.cipher_bytes -= misalign_bytes;
          -
          283  }
          -
          284 
          -
          285  sample_encryption_entry.subsamples.push_back(subsample);
          -
          286  if (subsample.cipher_bytes > 0)
          -
          287  EncryptBytes(data + subsample.clear_bytes, subsample.cipher_bytes);
          -
          288  data += frame.frame_size;
          -
          289  }
          -
          290  // Add subsample for the superframe index if exists.
          -
          291  if (is_superframe) {
          -
          292  size_t index_size = sample->data() + sample->data_size() - data;
          -
          293  DCHECK_LE(index_size, 2 + vpx_frames.size() * 4);
          -
          294  DCHECK_GE(index_size, 2 + vpx_frames.size() * 1);
          -
          295  SubsampleEntry subsample;
          -
          296  subsample.clear_bytes = static_cast<uint16_t>(index_size);
          -
          297  subsample.cipher_bytes = 0;
          -
          298  sample_encryption_entry.subsamples.push_back(subsample);
          -
          299  }
          -
          300  } else {
          -
          301  const Nalu::CodecType nalu_type =
          -
          302  (video_codec_ == kCodecHVC1 || video_codec_ == kCodecHEV1)
          -
          303  ? Nalu::kH265
          -
          304  : Nalu::kH264;
          -
          305  NaluReader reader(nalu_type, nalu_length_size_, data,
          -
          306  sample->data_size());
          -
          307 
          -
          308  // Store the current length of clear data. This is used to squash
          -
          309  // multiple unencrypted NAL units into fewer subsample entries.
          -
          310  uint64_t accumulated_clear_bytes = 0;
          + +
          171  // The offset will be adjusted in Segmenter after knowing moof size.
          +
          172  traf()->auxiliary_offset.offsets.push_back(0);
          +
          173 
          +
          174  // For 'cbcs' scheme, Constant IVs SHALL be used.
          +
          175  const uint8_t per_sample_iv_size =
          +
          176  (protection_scheme_ == FOURCC_cbcs) ? 0 :
          +
          177  static_cast<uint8_t>(encryptor_->iv().size());
          +
          178  traf()->sample_encryption.iv_size = per_sample_iv_size;
          +
          179 
          +
          180  // Optimize saiz box.
          +
          181  SampleAuxiliaryInformationSize& saiz = traf()->auxiliary_size;
          +
          182  saiz.sample_count = traf()->runs[0].sample_sizes.size();
          +
          183  if (!saiz.sample_info_sizes.empty()) {
          +
          184  if (!OptimizeSampleEntries(&saiz.sample_info_sizes,
          +
          185  &saiz.default_sample_info_size)) {
          +
          186  saiz.default_sample_info_size = 0;
          +
          187  }
          +
          188  } else {
          +
          189  // |sample_info_sizes| table is filled in only for subsample encryption,
          +
          190  // otherwise |sample_info_size| is just the IV size.
          +
          191  DCHECK(!IsSubsampleEncryptionRequired());
          +
          192  saiz.default_sample_info_size = static_cast<uint8_t>(per_sample_iv_size);
          +
          193  }
          +
          194 
          +
          195  // It should only happen with full sample encryption + constant iv, i.e.
          +
          196  // 'cbcs' applying to audio.
          +
          197  if (saiz.default_sample_info_size == 0 && saiz.sample_info_sizes.empty()) {
          +
          198  DCHECK_EQ(protection_scheme_, FOURCC_cbcs);
          +
          199  DCHECK(!IsSubsampleEncryptionRequired());
          +
          200  // ISO/IEC 23001-7:2016(E) The sample auxiliary information would then be
          +
          201  // empty and should be emitted. Clear saiz and saio boxes so they are not
          +
          202  // written.
          +
          203  saiz.sample_count = 0;
          +
          204  traf()->auxiliary_offset.offsets.clear();
          +
          205  }
          +
          206 }
          +
          207 
          + +
          209  DCHECK(encryption_key_);
          +
          210  std::unique_ptr<AesCryptor> encryptor;
          +
          211  switch (protection_scheme_) {
          +
          212  case FOURCC_cenc:
          +
          213  encryptor.reset(new AesCtrEncryptor);
          +
          214  break;
          +
          215  case FOURCC_cbc1:
          +
          216  encryptor.reset(new AesCbcEncryptor(kNoPadding));
          +
          217  break;
          +
          218  case FOURCC_cens:
          +
          219  encryptor.reset(new AesPatternCryptor(
          +
          220  crypt_byte_block(), skip_byte_block(),
          + +
          222  AesCryptor::kDontUseConstantIv,
          +
          223  std::unique_ptr<AesCryptor>(new AesCtrEncryptor())));
          +
          224  break;
          +
          225  case FOURCC_cbcs:
          +
          226  encryptor.reset(new AesPatternCryptor(
          +
          227  crypt_byte_block(), skip_byte_block(),
          + +
          229  AesCryptor::kUseConstantIv,
          +
          230  std::unique_ptr<AesCryptor>(new AesCbcEncryptor(kNoPadding))));
          +
          231  break;
          +
          232  default:
          +
          233  return Status(error::MUXER_FAILURE, "Unsupported protection scheme.");
          +
          234  }
          +
          235 
          +
          236  DCHECK(!encryption_key_->iv.empty());
          +
          237  const bool initialized =
          +
          238  encryptor->InitializeWithIv(encryption_key_->key, encryption_key_->iv);
          +
          239  if (!initialized)
          +
          240  return Status(error::MUXER_FAILURE, "Failed to create the encryptor.");
          +
          241  encryptor_ = std::move(encryptor);
          +
          242  return Status::OK;
          +
          243 }
          +
          244 
          +
          245 void EncryptingFragmenter::EncryptBytes(uint8_t* data, uint32_t size) {
          +
          246  DCHECK(encryptor_);
          +
          247  CHECK(encryptor_->Crypt(data, size, data));
          +
          248 }
          +
          249 
          +
          250 Status EncryptingFragmenter::EncryptSample(scoped_refptr<MediaSample> sample) {
          +
          251  DCHECK(encryptor_);
          +
          252 
          +
          253  SampleEncryptionEntry sample_encryption_entry;
          +
          254  // For 'cbcs' scheme, Constant IVs SHALL be used.
          +
          255  if (protection_scheme_ != FOURCC_cbcs)
          +
          256  sample_encryption_entry.initialization_vector = encryptor_->iv();
          +
          257  uint8_t* data = sample->writable_data();
          +
          258  if (IsSubsampleEncryptionRequired()) {
          +
          259  if (vpx_parser_) {
          +
          260  std::vector<VPxFrameInfo> vpx_frames;
          +
          261  if (!vpx_parser_->Parse(sample->data(), sample->data_size(),
          +
          262  &vpx_frames)) {
          +
          263  return Status(error::MUXER_FAILURE, "Failed to parse vpx frame.");
          +
          264  }
          +
          265 
          +
          266  const bool is_superframe = vpx_frames.size() > 1;
          +
          267  for (const VPxFrameInfo& frame : vpx_frames) {
          +
          268  SubsampleEntry subsample;
          +
          269  subsample.clear_bytes =
          +
          270  static_cast<uint16_t>(frame.uncompressed_header_size);
          +
          271  subsample.cipher_bytes =
          +
          272  frame.frame_size - frame.uncompressed_header_size;
          +
          273 
          +
          274  // "VP Codec ISO Media File Format Binding" document requires that the
          +
          275  // encrypted bytes of each frame within the superframe must be block
          +
          276  // aligned so that the counter state can be computed for each frame
          +
          277  // within the superframe.
          +
          278  // ISO/IEC 23001-7:2016 10.2 'cbc1' 10.3 'cens'
          +
          279  // The BytesOfProtectedData size SHALL be a multiple of 16 bytes to
          +
          280  // avoid partial blocks in Subsamples.
          +
          281  if (is_superframe || protection_scheme_ == FOURCC_cbc1 ||
          +
          282  protection_scheme_ == FOURCC_cens) {
          +
          283  const uint16_t misalign_bytes =
          +
          284  subsample.cipher_bytes % kCencBlockSize;
          +
          285  subsample.clear_bytes += misalign_bytes;
          +
          286  subsample.cipher_bytes -= misalign_bytes;
          +
          287  }
          +
          288 
          +
          289  sample_encryption_entry.subsamples.push_back(subsample);
          +
          290  if (subsample.cipher_bytes > 0)
          +
          291  EncryptBytes(data + subsample.clear_bytes, subsample.cipher_bytes);
          +
          292  data += frame.frame_size;
          +
          293  }
          +
          294  // Add subsample for the superframe index if exists.
          +
          295  if (is_superframe) {
          +
          296  size_t index_size = sample->data() + sample->data_size() - data;
          +
          297  DCHECK_LE(index_size, 2 + vpx_frames.size() * 4);
          +
          298  DCHECK_GE(index_size, 2 + vpx_frames.size() * 1);
          +
          299  SubsampleEntry subsample;
          +
          300  subsample.clear_bytes = static_cast<uint16_t>(index_size);
          +
          301  subsample.cipher_bytes = 0;
          +
          302  sample_encryption_entry.subsamples.push_back(subsample);
          +
          303  }
          +
          304  } else {
          +
          305  const Nalu::CodecType nalu_type =
          +
          306  (video_codec_ == kCodecHVC1 || video_codec_ == kCodecHEV1)
          +
          307  ? Nalu::kH265
          +
          308  : Nalu::kH264;
          +
          309  NaluReader reader(nalu_type, nalu_length_size_, data,
          +
          310  sample->data_size());
          311 
          -
          312  Nalu nalu;
          -
          313  NaluReader::Result result;
          -
          314  while ((result = reader.Advance(&nalu)) == NaluReader::kOk) {
          -
          315  if (nalu.is_video_slice()) {
          -
          316  // For video-slice NAL units, encrypt the video slice. This skips
          -
          317  // the frame header. If this is an unrecognized codec (e.g. H.265),
          -
          318  // the whole NAL unit will be encrypted.
          -
          319  const int64_t video_slice_header_size =
          -
          320  header_parser_ ? header_parser_->GetHeaderSize(nalu) : 0;
          -
          321  if (video_slice_header_size < 0)
          -
          322  return Status(error::MUXER_FAILURE, "Failed to read slice header.");
          -
          323 
          -
          324  uint64_t current_clear_bytes =
          -
          325  nalu.header_size() + video_slice_header_size;
          -
          326  uint64_t cipher_bytes = nalu.payload_size() - video_slice_header_size;
          +
          312  // Store the current length of clear data. This is used to squash
          +
          313  // multiple unencrypted NAL units into fewer subsample entries.
          +
          314  uint64_t accumulated_clear_bytes = 0;
          +
          315 
          +
          316  Nalu nalu;
          +
          317  NaluReader::Result result;
          +
          318  while ((result = reader.Advance(&nalu)) == NaluReader::kOk) {
          +
          319  if (nalu.is_video_slice()) {
          +
          320  // For video-slice NAL units, encrypt the video slice. This skips
          +
          321  // the frame header. If this is an unrecognized codec (e.g. H.265),
          +
          322  // the whole NAL unit will be encrypted.
          +
          323  const int64_t video_slice_header_size =
          +
          324  header_parser_ ? header_parser_->GetHeaderSize(nalu) : 0;
          +
          325  if (video_slice_header_size < 0)
          +
          326  return Status(error::MUXER_FAILURE, "Failed to read slice header.");
          327 
          -
          328  // ISO/IEC 23001-7:2016 10.2 'cbc1' 10.3 'cens'
          -
          329  // The BytesOfProtectedData size SHALL be a multiple of 16 bytes to
          -
          330  // avoid partial blocks in Subsamples.
          -
          331  if (protection_scheme_ == FOURCC_cbc1 ||
          -
          332  protection_scheme_ == FOURCC_cens) {
          -
          333  const uint16_t misalign_bytes = cipher_bytes % kCencBlockSize;
          -
          334  current_clear_bytes += misalign_bytes;
          -
          335  cipher_bytes -= misalign_bytes;
          -
          336  }
          -
          337 
          -
          338  const uint8_t* nalu_data = nalu.data() + current_clear_bytes;
          -
          339  EncryptBytes(const_cast<uint8_t*>(nalu_data), cipher_bytes);
          -
          340 
          -
          341  AddSubsamples(
          -
          342  accumulated_clear_bytes + nalu_length_size_ + current_clear_bytes,
          -
          343  cipher_bytes, &sample_encryption_entry.subsamples);
          -
          344  accumulated_clear_bytes = 0;
          -
          345  } else {
          -
          346  // For non-video-slice NAL units, don't encrypt.
          -
          347  accumulated_clear_bytes +=
          -
          348  nalu_length_size_ + nalu.header_size() + nalu.payload_size();
          -
          349  }
          -
          350  }
          -
          351  if (result != NaluReader::kEOStream)
          -
          352  return Status(error::MUXER_FAILURE, "Failed to parse NAL units.");
          -
          353  AddSubsamples(accumulated_clear_bytes, 0,
          -
          354  &sample_encryption_entry.subsamples);
          -
          355  }
          -
          356  DCHECK_EQ(sample_encryption_entry.GetTotalSizeOfSubsamples(),
          -
          357  sample->data_size());
          -
          358 
          -
          359  // The length of per-sample auxiliary datum, defined in CENC ch. 7.
          -
          360  traf()->auxiliary_size.sample_info_sizes.push_back(
          -
          361  sample_encryption_entry.ComputeSize());
          -
          362  } else {
          -
          363  DCHECK_LE(crypt_byte_block(), 1u);
          -
          364  DCHECK_EQ(skip_byte_block(), 0u);
          -
          365  EncryptBytes(data, sample->data_size());
          -
          366  }
          -
          367 
          -
          368  traf()->sample_encryption.sample_encryption_entries.push_back(
          -
          369  sample_encryption_entry);
          -
          370  encryptor_->UpdateIv();
          -
          371  return Status::OK;
          -
          372 }
          -
          373 
          -
          374 bool EncryptingFragmenter::IsSubsampleEncryptionRequired() {
          -
          375  return vpx_parser_ || nalu_length_size_ != 0;
          +
          328  uint64_t current_clear_bytes =
          +
          329  nalu.header_size() + video_slice_header_size;
          +
          330  uint64_t cipher_bytes = nalu.payload_size() - video_slice_header_size;
          +
          331 
          +
          332  // ISO/IEC 23001-7:2016 10.2 'cbc1' 10.3 'cens'
          +
          333  // The BytesOfProtectedData size SHALL be a multiple of 16 bytes to
          +
          334  // avoid partial blocks in Subsamples.
          +
          335  if (protection_scheme_ == FOURCC_cbc1 ||
          +
          336  protection_scheme_ == FOURCC_cens) {
          +
          337  const uint16_t misalign_bytes = cipher_bytes % kCencBlockSize;
          +
          338  current_clear_bytes += misalign_bytes;
          +
          339  cipher_bytes -= misalign_bytes;
          +
          340  }
          +
          341 
          +
          342  const uint8_t* nalu_data = nalu.data() + current_clear_bytes;
          +
          343  EncryptBytes(const_cast<uint8_t*>(nalu_data), cipher_bytes);
          +
          344 
          +
          345  AddSubsamples(
          +
          346  accumulated_clear_bytes + nalu_length_size_ + current_clear_bytes,
          +
          347  cipher_bytes, &sample_encryption_entry.subsamples);
          +
          348  accumulated_clear_bytes = 0;
          +
          349  } else {
          +
          350  // For non-video-slice NAL units, don't encrypt.
          +
          351  accumulated_clear_bytes +=
          +
          352  nalu_length_size_ + nalu.header_size() + nalu.payload_size();
          +
          353  }
          +
          354  }
          +
          355  if (result != NaluReader::kEOStream)
          +
          356  return Status(error::MUXER_FAILURE, "Failed to parse NAL units.");
          +
          357  AddSubsamples(accumulated_clear_bytes, 0,
          +
          358  &sample_encryption_entry.subsamples);
          +
          359  }
          +
          360  DCHECK_EQ(sample_encryption_entry.GetTotalSizeOfSubsamples(),
          +
          361  sample->data_size());
          +
          362 
          +
          363  // The length of per-sample auxiliary datum, defined in CENC ch. 7.
          +
          364  traf()->auxiliary_size.sample_info_sizes.push_back(
          +
          365  sample_encryption_entry.ComputeSize());
          +
          366  } else {
          +
          367  DCHECK_LE(crypt_byte_block(), 1u);
          +
          368  DCHECK_EQ(skip_byte_block(), 0u);
          +
          369  EncryptBytes(data, sample->data_size());
          +
          370  }
          +
          371 
          +
          372  traf()->sample_encryption.sample_encryption_entries.push_back(
          +
          373  sample_encryption_entry);
          +
          374  encryptor_->UpdateIv();
          +
          375  return Status::OK;
          376 }
          377 
          -
          378 } // namespace mp4
          -
          379 } // namespace media
          -
          380 } // namespace shaka
          +
          378 bool EncryptingFragmenter::IsSubsampleEncryptionRequired() {
          +
          379  return vpx_parser_ || nalu_length_size_ != 0;
          +
          380 }
          +
          381 
          +
          382 } // namespace mp4
          +
          383 } // namespace media
          +
          384 } // namespace shaka
          -
          Status AddSample(scoped_refptr< MediaSample > sample) override
          -
          Status InitializeFragment(int64_t first_sample_dts) override
          -
          EncryptingFragmenter(scoped_refptr< StreamInfo > info, TrackFragment *traf, scoped_ptr< EncryptionKey > encryption_key, int64_t clear_time, FourCC protection_scheme, uint8_t crypt_byte_block, uint8_t skip_byte_block, MuxerListener *listener)
          +
          Status AddSample(scoped_refptr< MediaSample > sample) override
          +
          Status InitializeFragment(int64_t first_sample_dts) override
          virtual Status AddSample(scoped_refptr< MediaSample > sample)
          Definition: fragmenter.cc:47
          virtual void OnEncryptionStart()=0
          -
          void FinalizeFragment() override
          Finalize and optimize the fragment.
          +
          void FinalizeFragment() override
          Finalize and optimize the fragment.
          virtual Status InitializeFragment(int64_t first_sample_dts)
          Definition: fragmenter.cc:92
          - +
          virtual void FinalizeFragment()
          Finalize and optimize the fragment.
          Definition: fragmenter.cc:111
          - -
          virtual void FinalizeFragmentForEncryption()
          Finalize current fragment for encryption.
          + +
          virtual void FinalizeFragmentForEncryption()
          Finalize current fragment for encryption.
          Class to parse a vp9 bit stream.
          Definition: vp9_parser.h:20
          -
          Implements pattern-based encryption/decryption.
          - +
          Implements pattern-based encryption/decryption.
          + - -
          virtual Status PrepareFragmentForEncryption(bool enable_encryption)
          + +
          virtual Status PrepareFragmentForEncryption(bool enable_encryption)
          +
          EncryptingFragmenter(scoped_refptr< StreamInfo > info, TrackFragment *traf, std::unique_ptr< EncryptionKey > encryption_key, int64_t clear_time, FourCC protection_scheme, uint8_t crypt_byte_block, uint8_t skip_byte_block, MuxerListener *listener)
          bool OptimizeSampleEntries(std::vector< T > *entries, T *default_value)
          Definition: fragmenter.h:102
          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 307dbedc4e..34f86a32bf 100644 --- a/docs/d6/d4e/webm_2multi__segment__segmenter_8cc_source.html +++ b/docs/d6/d4e/webm_2multi__segment__segmenter_8cc_source.html @@ -120,8 +120,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          31  return false;
          32 }
          33 
          -
          34 Status MultiSegmentSegmenter::DoInitialize(scoped_ptr<MkvWriter> writer) {
          -
          35  writer_ = writer.Pass();
          +
          34 Status MultiSegmentSegmenter::DoInitialize(std::unique_ptr<MkvWriter> writer) {
          +
          35  writer_ = std::move(writer);
          36  return WriteSegmentHeader(0, writer_.get());
          37 }
          38 
          @@ -188,7 +188,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d55/aes__cryptor_8cc_source.html b/docs/d6/d55/aes__cryptor_8cc_source.html index 07aae6709c..39576d8c88 100644 --- a/docs/d6/d55/aes__cryptor_8cc_source.html +++ b/docs/d6/d55/aes__cryptor_8cc_source.html @@ -231,7 +231,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html b/docs/d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html index 1d6ad28e4f..6b6c59223a 100644 --- a/docs/d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html +++ b/docs/d6/d57/classshaka_1_1media_1_1AVCDecoderConfigurationRecord.html @@ -244,7 +244,7 @@ void  diff --git a/docs/d6/d59/protection__system__specific__info_8h_source.html b/docs/d6/d59/protection__system__specific__info_8h_source.html index 2a346b3a5f..a9333b6bee 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 4e2db5d083..99f7cf0754 100644 --- a/docs/d6/d60/classshaka_1_1media_1_1VPCodecConfigurationRecord-members.html +++ b/docs/d6/d60/classshaka_1_1media_1_1VPCodecConfigurationRecord-members.html @@ -134,7 +134,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d6c/h26x__bit__reader_8cc_source.html b/docs/d6/d6c/h26x__bit__reader_8cc_source.html index 3cd66ae497..a4f94ee952 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 ebb67670fa..0f7e43c8e8 100644 --- a/docs/d6/d6e/ts__section__pes_8cc_source.html +++ b/docs/d6/d6e/ts__section__pes_8cc_source.html @@ -171,13 +171,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          82 namespace media {
          83 namespace mp2t {
          84 
          -
          85 TsSectionPes::TsSectionPes(scoped_ptr<EsParser> es_parser)
          -
          86  : es_parser_(es_parser.release()),
          -
          87  wait_for_pusi_(true),
          -
          88  previous_pts_valid_(false),
          -
          89  previous_pts_(0),
          -
          90  previous_dts_valid_(false),
          -
          91  previous_dts_(0) {
          +
          85 TsSectionPes::TsSectionPes(std::unique_ptr<EsParser> es_parser)
          +
          86  : es_parser_(es_parser.release()),
          +
          87  wait_for_pusi_(true),
          +
          88  previous_pts_valid_(false),
          +
          89  previous_pts_(0),
          +
          90  previous_dts_valid_(false),
          +
          91  previous_dts_(0) {
          92  DCHECK(es_parser_);
          93 }
          94 
          @@ -405,7 +405,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d71/scoped__xml__ptr_8h_source.html b/docs/d6/d71/scoped__xml__ptr_8h_source.html index 09bdb8ae66..5818a226aa 100644 --- a/docs/d6/d71/scoped__xml__ptr_8h_source.html +++ b/docs/d6/d71/scoped__xml__ptr_8h_source.html @@ -93,7 +93,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          4 // license that can be found in the LICENSE file or at
          5 // https://developers.google.com/open-source/licenses/bsd
          6 //
          -
          7 // scoped_ptr alias for libxml2 objects. Deleters for the objects are also
          +
          7 // unique_ptr alias for libxml2 objects. Deleters for the objects are also
          8 // defined in this file.
          9 
          10 #ifndef MPD_BASE_XML_SCOPED_XML_PTR_H_
          @@ -102,13 +102,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          13 #include <libxml/tree.h>
          14 #include <libxml/xmlschemas.h>
          15 
          -
          16 #include "packager/base/memory/scoped_ptr.h"
          +
          16 #include <memory>
          17 
          18 namespace shaka {
          19 namespace xml {
          20 
          23 struct XmlDeleter {
          -
          24  // Called by scoped_ptr. http://goo.gl/YaLbcS
          +
          24  // Called by std::unique_ptr.
          25  inline void operator()(xmlSchemaParserCtxtPtr ptr) const {
          26  xmlSchemaFreeParserCtxt(ptr);
          27  }
          @@ -122,16 +122,17 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          35 };
          36 
          37 template <typename XmlType>
          -
          38 using scoped_xml_ptr = scoped_ptr<XmlType, XmlDeleter>;
          +
          38 using scoped_xml_ptr = std::unique_ptr<XmlType, XmlDeleter>;
          39 
          40 } // namespace xml
          41 } // namespace shaka
          -
          42 #endif // MPD_BASE_XML_SCOPED_XML_PTR_H_
          +
          42 
          +
          43 #endif // MPD_BASE_XML_SCOPED_XML_PTR_H_
          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 eb4ad5959e..e732efa783 100644 --- a/docs/d6/d77/dash__iop__mpd__notifier_8h_source.html +++ b/docs/d6/d77/dash__iop__mpd__notifier_8h_source.html @@ -168,8 +168,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          89  }
          90 
          91  // Testing only method. Sets mpd_builder_.
          -
          92  void SetMpdBuilderForTesting(scoped_ptr<MpdBuilder> mpd_builder) {
          -
          93  mpd_builder_ = mpd_builder.Pass();
          +
          92  void SetMpdBuilderForTesting(std::unique_ptr<MpdBuilder> mpd_builder) {
          +
          93  mpd_builder_ = std::move(mpd_builder);
          94  }
          95 
          96  std::map<std::string, std::list<AdaptationSet*>> adaptation_set_list_map_;
          @@ -180,7 +180,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          101 
          102  // MPD output path.
          103  std::string output_path_;
          -
          104  scoped_ptr<MpdBuilder> mpd_builder_;
          +
          104  std::unique_ptr<MpdBuilder> mpd_builder_;
          105  base::Lock lock_;
          106 
          107  // Next group ID to use for AdapationSets that can be grouped.
          @@ -210,7 +210,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d79/structshaka_1_1media_1_1mp4_1_1VTTAdditionalTextBox.html b/docs/d6/d79/structshaka_1_1media_1_1mp4_1_1VTTAdditionalTextBox.html index 8784656f99..ab9cd5da40 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 02bc2596b3..3f704ae35b 100644 --- a/docs/d6/d7b/webm__tracks__parser_8h_source.html +++ b/docs/d6/d7b/webm__tracks__parser_8h_source.html @@ -95,106 +95,105 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          6 #define MEDIA_FORMATS_WEBM_WEBM_TRACKS_PARSER_H_
          7 
          8 #include <map>
          -
          9 #include <set>
          -
          10 #include <string>
          -
          11 #include <vector>
          -
          12 
          -
          13 #include "packager/base/compiler_specific.h"
          -
          14 #include "packager/base/memory/scoped_ptr.h"
          -
          15 #include "packager/base/time/time.h"
          -
          16 #include "packager/media/base/audio_stream_info.h"
          -
          17 #include "packager/media/base/text_track_config.h"
          -
          18 #include "packager/media/base/video_stream_info.h"
          -
          19 #include "packager/media/formats/webm/webm_audio_client.h"
          -
          20 #include "packager/media/formats/webm/webm_content_encodings_client.h"
          -
          21 #include "packager/media/formats/webm/webm_parser.h"
          -
          22 #include "packager/media/formats/webm/webm_video_client.h"
          -
          23 
          -
          24 namespace shaka {
          -
          25 namespace media {
          -
          26 
          - -
          29  public:
          -
          30  explicit WebMTracksParser(bool ignore_text_tracks);
          -
          31  ~WebMTracksParser() override;
          -
          32 
          -
          37  int Parse(const uint8_t* buf, int size);
          -
          38 
          -
          39  int64_t audio_track_num() const { return audio_track_num_; }
          -
          40  int64_t video_track_num() const { return video_track_num_; }
          -
          41 
          -
          46  int64_t GetAudioDefaultDuration(const double timecode_scale_in_us) const;
          -
          47  int64_t GetVideoDefaultDuration(const double timecode_scale_in_us) const;
          -
          48 
          -
          49  const std::set<int64_t>& ignored_tracks() const { return ignored_tracks_; }
          -
          50 
          -
          51  const std::string& audio_encryption_key_id() const {
          -
          52  return audio_encryption_key_id_;
          -
          53  }
          -
          54 
          -
          55  scoped_refptr<AudioStreamInfo> audio_stream_info() {
          -
          56  return audio_stream_info_;
          -
          57  }
          -
          58 
          -
          59  const std::string& video_encryption_key_id() const {
          -
          60  return video_encryption_key_id_;
          -
          61  }
          -
          62 
          -
          63  scoped_refptr<VideoStreamInfo> video_stream_info() {
          -
          64  return video_stream_info_;
          -
          65  }
          -
          66 
          -
          67  typedef std::map<int, TextTrackConfig> TextTracks;
          -
          68 
          -
          69  const TextTracks& text_tracks() const {
          -
          70  return text_tracks_;
          -
          71  }
          -
          72 
          -
          73  private:
          -
          74  // WebMParserClient implementation.
          -
          75  WebMParserClient* OnListStart(int id) override;
          -
          76  bool OnListEnd(int id) override;
          -
          77  bool OnUInt(int id, int64_t val) override;
          -
          78  bool OnFloat(int id, double val) override;
          -
          79  bool OnBinary(int id, const uint8_t* data, int size) override;
          -
          80  bool OnString(int id, const std::string& str) override;
          -
          81 
          -
          82  int64_t track_type_;
          -
          83  int64_t track_num_;
          -
          84  std::string track_name_;
          -
          85  std::string track_language_;
          -
          86  std::string codec_id_;
          -
          87  std::vector<uint8_t> codec_private_;
          -
          88  int64_t seek_preroll_;
          -
          89  int64_t codec_delay_;
          -
          90  int64_t default_duration_;
          -
          91  scoped_ptr<WebMContentEncodingsClient> track_content_encodings_client_;
          -
          92 
          -
          93  int64_t audio_track_num_;
          -
          94  int64_t audio_default_duration_;
          -
          95  int64_t video_track_num_;
          -
          96  int64_t video_default_duration_;
          -
          97  bool ignore_text_tracks_;
          -
          98  TextTracks text_tracks_;
          -
          99  std::set<int64_t> ignored_tracks_;
          -
          100  std::string audio_encryption_key_id_;
          -
          101  std::string video_encryption_key_id_;
          -
          102 
          -
          103  WebMAudioClient audio_client_;
          -
          104  scoped_refptr<AudioStreamInfo> audio_stream_info_;
          -
          105 
          -
          106  WebMVideoClient video_client_;
          -
          107  scoped_refptr<VideoStreamInfo> video_stream_info_;
          -
          108 
          -
          109  DISALLOW_COPY_AND_ASSIGN(WebMTracksParser);
          -
          110 };
          -
          111 
          -
          112 } // namespace media
          -
          113 } // namespace shaka
          -
          114 
          -
          115 #endif // MEDIA_FORMATS_WEBM_WEBM_TRACKS_PARSER_H_
          +
          9 #include <memory>
          +
          10 #include <set>
          +
          11 #include <string>
          +
          12 #include <vector>
          +
          13 
          +
          14 #include "packager/base/time/time.h"
          +
          15 #include "packager/media/base/audio_stream_info.h"
          +
          16 #include "packager/media/base/text_track_config.h"
          +
          17 #include "packager/media/base/video_stream_info.h"
          +
          18 #include "packager/media/formats/webm/webm_audio_client.h"
          +
          19 #include "packager/media/formats/webm/webm_content_encodings_client.h"
          +
          20 #include "packager/media/formats/webm/webm_parser.h"
          +
          21 #include "packager/media/formats/webm/webm_video_client.h"
          +
          22 
          +
          23 namespace shaka {
          +
          24 namespace media {
          +
          25 
          + +
          28  public:
          +
          29  explicit WebMTracksParser(bool ignore_text_tracks);
          +
          30  ~WebMTracksParser() override;
          +
          31 
          +
          36  int Parse(const uint8_t* buf, int size);
          +
          37 
          +
          38  int64_t audio_track_num() const { return audio_track_num_; }
          +
          39  int64_t video_track_num() const { return video_track_num_; }
          +
          40 
          +
          45  int64_t GetAudioDefaultDuration(const double timecode_scale_in_us) const;
          +
          46  int64_t GetVideoDefaultDuration(const double timecode_scale_in_us) const;
          +
          47 
          +
          48  const std::set<int64_t>& ignored_tracks() const { return ignored_tracks_; }
          +
          49 
          +
          50  const std::string& audio_encryption_key_id() const {
          +
          51  return audio_encryption_key_id_;
          +
          52  }
          +
          53 
          +
          54  scoped_refptr<AudioStreamInfo> audio_stream_info() {
          +
          55  return audio_stream_info_;
          +
          56  }
          +
          57 
          +
          58  const std::string& video_encryption_key_id() const {
          +
          59  return video_encryption_key_id_;
          +
          60  }
          +
          61 
          +
          62  scoped_refptr<VideoStreamInfo> video_stream_info() {
          +
          63  return video_stream_info_;
          +
          64  }
          +
          65 
          +
          66  typedef std::map<int, TextTrackConfig> TextTracks;
          +
          67 
          +
          68  const TextTracks& text_tracks() const {
          +
          69  return text_tracks_;
          +
          70  }
          +
          71 
          +
          72  private:
          +
          73  // WebMParserClient implementation.
          +
          74  WebMParserClient* OnListStart(int id) override;
          +
          75  bool OnListEnd(int id) override;
          +
          76  bool OnUInt(int id, int64_t val) override;
          +
          77  bool OnFloat(int id, double val) override;
          +
          78  bool OnBinary(int id, const uint8_t* data, int size) override;
          +
          79  bool OnString(int id, const std::string& str) override;
          +
          80 
          +
          81  int64_t track_type_;
          +
          82  int64_t track_num_;
          +
          83  std::string track_name_;
          +
          84  std::string track_language_;
          +
          85  std::string codec_id_;
          +
          86  std::vector<uint8_t> codec_private_;
          +
          87  int64_t seek_preroll_;
          +
          88  int64_t codec_delay_;
          +
          89  int64_t default_duration_;
          +
          90  std::unique_ptr<WebMContentEncodingsClient> track_content_encodings_client_;
          +
          91 
          +
          92  int64_t audio_track_num_;
          +
          93  int64_t audio_default_duration_;
          +
          94  int64_t video_track_num_;
          +
          95  int64_t video_default_duration_;
          +
          96  bool ignore_text_tracks_;
          +
          97  TextTracks text_tracks_;
          +
          98  std::set<int64_t> ignored_tracks_;
          +
          99  std::string audio_encryption_key_id_;
          +
          100  std::string video_encryption_key_id_;
          +
          101 
          +
          102  WebMAudioClient audio_client_;
          +
          103  scoped_refptr<AudioStreamInfo> audio_stream_info_;
          +
          104 
          +
          105  WebMVideoClient video_client_;
          +
          106  scoped_refptr<VideoStreamInfo> video_stream_info_;
          +
          107 
          +
          108  DISALLOW_COPY_AND_ASSIGN(WebMTracksParser);
          +
          109 };
          +
          110 
          +
          111 } // namespace media
          +
          112 } // namespace shaka
          +
          113 
          +
          114 #endif // MEDIA_FORMATS_WEBM_WEBM_TRACKS_PARSER_H_
          int64_t GetAudioDefaultDuration(const double timecode_scale_in_us) const
          -
          Parser for WebM Tracks element.
          +
          Parser for WebM Tracks element.
          Helper class used to parse a Video element inside a TrackEntry element.
          int Parse(const uint8_t *buf, int size)
          @@ -202,7 +201,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d7c/structshaka_1_1media_1_1mp4_1_1AC3Specific-members.html b/docs/d6/d7c/structshaka_1_1media_1_1mp4_1_1AC3Specific-members.html index 53647db03e..c4ad78f8bb 100644 --- a/docs/d6/d7c/structshaka_1_1media_1_1mp4_1_1AC3Specific-members.html +++ b/docs/d6/d7c/structshaka_1_1media_1_1mp4_1_1AC3Specific-members.html @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d86/bandwidth__estimator_8cc_source.html b/docs/d6/d86/bandwidth__estimator_8cc_source.html index 07eddf702a..7ba4a07c9c 100644 --- a/docs/d6/d86/bandwidth__estimator_8cc_source.html +++ b/docs/d6/d86/bandwidth__estimator_8cc_source.html @@ -154,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d8a/vp9__parser_8cc_source.html b/docs/d6/d8a/vp9__parser_8cc_source.html index 06fabdba15..6022a83ba8 100644 --- a/docs/d6/d8a/vp9__parser_8cc_source.html +++ b/docs/d6/d8a/vp9__parser_8cc_source.html @@ -660,7 +660,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d8f/classshaka_1_1xml_1_1RepresentationBaseXmlNode-members.html b/docs/d6/d8f/classshaka_1_1xml_1_1RepresentationBaseXmlNode-members.html index 0746aa8f7a..e0d30c62c6 100644 --- a/docs/d6/d8f/classshaka_1_1xml_1_1RepresentationBaseXmlNode-members.html +++ b/docs/d6/d8f/classshaka_1_1xml_1_1RepresentationBaseXmlNode-members.html @@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d9b/h264__parser_8h_source.html b/docs/d6/d9b/h264__parser_8h_source.html index 91e88f60c4..cd49917023 100644 --- a/docs/d6/d9b/h264__parser_8h_source.html +++ b/docs/d6/d9b/h264__parser_8h_source.html @@ -439,7 +439,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d9f/hls__flags_8cc_source.html b/docs/d6/d9f/hls__flags_8cc_source.html index bfbed3597c..9b3808a90e 100644 --- a/docs/d6/d9f/hls__flags_8cc_source.html +++ b/docs/d6/d9f/hls__flags_8cc_source.html @@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/da0/ts__section__pat_8h_source.html b/docs/d6/da0/ts__section__pat_8h_source.html index b0b099d5e1..e4f5ecb790 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 f77477d9f4..b666e679c7 100644 --- a/docs/d6/da3/mpd__builder_8h_source.html +++ b/docs/d6/da3/mpd__builder_8h_source.html @@ -164,8 +164,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          101  MediaInfo* media_info);
          102 
          103  // Inject a |clock| that returns the current time.
          -
          105  void InjectClockForTesting(scoped_ptr<base::Clock> clock) {
          -
          106  clock_ = clock.Pass();
          +
          105  void InjectClockForTesting(std::unique_ptr<base::Clock> clock) {
          +
          106  clock_ = std::move(clock);
          107  }
          108 
          109  private:
          @@ -219,7 +219,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          157 
          158  // By default, this returns the current time. This can be injected for
          159  // testing.
          -
          160  scoped_ptr<base::Clock> clock_;
          +
          160  std::unique_ptr<base::Clock> clock_;
          161 
          162  DISALLOW_COPY_AND_ASSIGN(MpdBuilder);
          163 };
          @@ -424,11 +424,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          503  uint32_t id() const { return id_; }
          504 
          505  protected:
          - +
          515  const MediaInfo& media_info,
          516  const MpdOptions& mpd_options,
          517  uint32_t representation_id,
          -
          518  scoped_ptr<RepresentationStateChangeListener> state_change_listener);
          +
          518  std::unique_ptr<RepresentationStateChangeListener> state_change_listener);
          519 
          520  private:
          521  friend class AdaptationSet;
          @@ -480,7 +480,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          567 
          568  // If this is not null, then Representation is responsible for calling the
          569  // right methods at right timings.
          -
          570  scoped_ptr<RepresentationStateChangeListener> state_change_listener_;
          +
          570  std::unique_ptr<RepresentationStateChangeListener> state_change_listener_;
          571 
          572  // Bit vector for tracking witch attributes should not be output.
          573  int output_suppression_flags_;
          @@ -492,23 +492,22 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          579 
          580 #endif // MPD_BASE_MPD_BUILDER_H_
          void OnSetFrameRateForRepresentation(uint32_t representation_id, uint32_t frame_duration, uint32_t timescale)
          Definition: mpd_builder.cc:868
          -
          RepresentationType in MPD.
          Definition: xml_node.h:128
          +
          RepresentationType in MPD.
          Definition: xml_node.h:129
          virtual void AddNewSegment(uint64_t start_time, uint64_t duration, uint64_t size)
          virtual void OnSetFrameRateForRepresentation(uint32_t frame_duration, uint32_t timescale)=0
          bool WriteMpdToFile(media::File *output_file)
          Definition: mpd_builder.cc:423
          +
          Representation(const MediaInfo &media_info, const MpdOptions &mpd_options, uint32_t representation_id, std::unique_ptr< RepresentationStateChangeListener > state_change_listener)
          AdaptationSet(uint32_t adaptation_set_id, const std::string &lang, const MpdOptions &mpd_options, MpdBuilder::MpdType mpd_type, base::AtomicSequenceNumber *representation_counter)
          Definition: mpd_builder.cc:674
          virtual void SetSampleDuration(uint32_t sample_duration)
          virtual Representation * AddRepresentation(const MediaInfo &media_info)
          Definition: mpd_builder.cc:693
          This class generates DASH MPDs (Media Presentation Descriptions).
          Definition: mpd_builder.h:58
          uint32_t id() const
          Definition: mpd_builder.h:503
          - +
          Define an abstract file interface.
          Definition: file.h:24
          virtual void AddContentProtectionElement(const ContentProtectionElement &element)
          Definition: mpd_builder.cc:737
          -
          Representation(const MediaInfo &media_info, const MpdOptions &mpd_options, uint32_t representation_id, scoped_ptr< RepresentationStateChangeListener > state_change_listener)
          -
          void InjectClockForTesting(scoped_ptr< base::Clock > clock)
          This is for testing.
          Definition: mpd_builder.h:105
          virtual void AddRole(Role role)
          Definition: mpd_builder.cc:749
          void AddBaseUrl(const std::string &base_url)
          Definition: mpd_builder.cc:409
          virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
          Definition: mpd_builder.cc:743
          @@ -527,6 +526,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          virtual int Group() const
          Definition: mpd_builder.cc:846
          Defines Mpd Options.
          Definition: mpd_options.h:15
          void OnNewSegmentForRepresentation(uint32_t representation_id, uint64_t start_time, uint64_t duration)
          Definition: mpd_builder.cc:857
          +
          void InjectClockForTesting(std::unique_ptr< base::Clock > clock)
          This is for testing.
          Definition: mpd_builder.h:105
          virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
          virtual void OnNewSegmentForRepresentation(uint64_t start_time, uint64_t duration)=0
          @@ -534,7 +534,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/da4/classshaka_1_1media_1_1AVCDecoderConfigurationRecord-members.html b/docs/d6/da4/classshaka_1_1media_1_1AVCDecoderConfigurationRecord-members.html index 444bfac603..d302856c26 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 fc84edf9c2..75da80f897 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 1330dc163a..13a97b8498 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 97eadb52fd..aec7cee0d2 100644 --- a/docs/d6/daa/structshaka_1_1media_1_1mp4_1_1VTTCueBox.html +++ b/docs/d6/daa/structshaka_1_1media_1_1mp4_1_1VTTCueBox.html @@ -185,7 +185,7 @@ Additional Inherited Members diff --git a/docs/d6/db1/classshaka_1_1media_1_1MediaStream-members.html b/docs/d6/db1/classshaka_1_1media_1_1MediaStream-members.html index 7057dd1d6f..ed9a20c59d 100644 --- a/docs/d6/db1/classshaka_1_1media_1_1MediaStream-members.html +++ b/docs/d6/db1/classshaka_1_1media_1_1MediaStream-members.html @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html b/docs/d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html index d417ebeaad..2125d3a3f6 100644 --- a/docs/d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html +++ b/docs/d6/db1/classshaka_1_1media_1_1VideoStreamInfo.html @@ -429,7 +429,7 @@ void set_language (con diff --git a/docs/d6/db1/structshaka_1_1media_1_1VideoStreamInfoParameters-members.html b/docs/d6/db1/structshaka_1_1media_1_1VideoStreamInfoParameters-members.html index a602b2eebb..c1a4cfcd9c 100644 --- a/docs/d6/db1/structshaka_1_1media_1_1VideoStreamInfoParameters-members.html +++ b/docs/d6/db1/structshaka_1_1media_1_1VideoStreamInfoParameters-members.html @@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/dc7/classshaka_1_1media_1_1mp2t_1_1EsParserH26x-members.html b/docs/d6/dc7/classshaka_1_1media_1_1mp2t_1_1EsParserH26x-members.html index cc0a62bbe5..201d3722d1 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 @@ -95,7 +95,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); - + @@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          EmitSampleCB typedef (defined in shaka::media::mp2t::EsParser)shaka::media::mp2t::EsParser
          EsParser(uint32_t pid) (defined in shaka::media::mp2t::EsParser)shaka::media::mp2t::EsParserinline
          EsParserH26x(Nalu::CodecType type, scoped_ptr< H26xByteToUnitStreamConverter > stream_converter, uint32_t pid, const EmitSampleCB &emit_sample_cb) (defined in shaka::media::mp2t::EsParserH26x)shaka::media::mp2t::EsParserH26x
          EsParserH26x(Nalu::CodecType type, std::unique_ptr< H26xByteToUnitStreamConverter > stream_converter, uint32_t pid, const EmitSampleCB &emit_sample_cb) (defined in shaka::media::mp2t::EsParserH26x)shaka::media::mp2t::EsParserH26x
          Flush() override (defined in shaka::media::mp2t::EsParserH26x)shaka::media::mp2t::EsParserH26xvirtual
          NewStreamInfoCB typedef (defined in shaka::media::mp2t::EsParser)shaka::media::mp2t::EsParser
          Parse(const uint8_t *buf, int size, int64_t pts, int64_t dts) override (defined in shaka::media::mp2t::EsParserH26x)shaka::media::mp2t::EsParserH26xvirtual
          diff --git a/docs/d6/dc8/mkv__writer_8cc_source.html b/docs/d6/dc8/mkv__writer_8cc_source.html index 0266b6189b..5b810d3e42 100644 --- a/docs/d6/dc8/mkv__writer_8cc_source.html +++ b/docs/d6/dc8/mkv__writer_8cc_source.html @@ -186,7 +186,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          int64_t WriteFromFile(File *source)
          Definition: mkv_writer.cc:56
          void ElementStartNotify(mkvmuxer::uint64 element_id, mkvmuxer::int64 position) override
          Definition: mkv_writer.cc:90
          mkvmuxer::int64 Position() const override
          Definition: mkv_writer.cc:71
          -
          static int64_t CopyFile(File *source, File *destination)
          Definition: file.cc:236
          +
          static int64_t CopyFile(File *source, File *destination)
          Definition: file.cc:233
          bool Seekable() const override
          Definition: mkv_writer.cc:86
          Status Open(const std::string &name)
          Definition: mkv_writer.cc:16
          @@ -195,7 +195,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/dcb/structshaka_1_1media_1_1mp4_1_1SampleEncryptionEntry.html b/docs/d6/dcb/structshaka_1_1media_1_1mp4_1_1SampleEncryptionEntry.html index 450c2a5cb1..971a2e0805 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 a922b6e66d..b45beedf4f 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 7c6643fae6..54a44ede39 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 729dd6f505..ca7666a599 100644 --- a/docs/d6/dcf/classshaka_1_1media_1_1mp2t_1_1EsParserAdts.html +++ b/docs/d6/dcf/classshaka_1_1media_1_1mp2t_1_1EsParserAdts.html @@ -148,7 +148,7 @@ const scoped_refptr
          diff --git a/docs/d6/dd0/structshaka_1_1media_1_1H264SEIMessage.html b/docs/d6/dd0/structshaka_1_1media_1_1H264SEIMessage.html index 582c478462..4fe269bd86 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 03057ddc06..5d86a43a92 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 0d11cbc3ba..8ee26509ae 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 54bcba1bec..5b2b98aa5e 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 b345cc0e39..d2e0ce9c79 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 7746360253..e898afb44a 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 5f7443c1f8..daa3684815 100644 --- a/docs/d6/de9/ts__segmenter_8cc_source.html +++ b/docs/d6/de9/ts__segmenter_8cc_source.html @@ -134,7 +134,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          45  }
          46 
          47  if (encryption_key_source) {
          -
          48  scoped_ptr<EncryptionKey> encryption_key(new EncryptionKey());
          +
          48  std::unique_ptr<EncryptionKey> encryption_key(new EncryptionKey());
          49  const KeySource::TrackType type =
          50  GetTrackTypeForEncryption(stream_info, max_sd_pixels);
          51  Status status = encryption_key_source->GetKey(type, encryption_key.get());
          @@ -147,7 +147,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          58  if (!status.ok())
          59  return status;
          60 
          -
          61  encryption_key_ = encryption_key.Pass();
          +
          61  encryption_key_ = std::move(encryption_key);
          62  clear_lead_in_seconds_ = clear_lead_in_seconds;
          63 
          64  if (listener_) {
          @@ -198,13 +198,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          109  return WritePesPacketsToFile();
          110 }
          111 
          -
          112 void TsSegmenter::InjectTsWriterForTesting(scoped_ptr<TsWriter> writer) {
          -
          113  ts_writer_ = writer.Pass();
          +
          112 void TsSegmenter::InjectTsWriterForTesting(std::unique_ptr<TsWriter> writer) {
          +
          113  ts_writer_ = std::move(writer);
          114 }
          115 
          - -
          117  scoped_ptr<PesPacketGenerator> generator) {
          -
          118  pes_packet_generator_ = generator.Pass();
          + +
          117  std::unique_ptr<PesPacketGenerator> generator) {
          +
          118  pes_packet_generator_ = std::move(generator);
          119 }
          120 
          @@ -227,14 +227,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          138 
          139 Status TsSegmenter::WritePesPacketsToFile() {
          140  while (pes_packet_generator_->NumberOfReadyPesPackets() > 0u) {
          -
          141  scoped_ptr<PesPacket> pes_packet =
          +
          141  std::unique_ptr<PesPacket> pes_packet =
          142  pes_packet_generator_->GetNextPesPacket();
          143 
          144  Status status = OpenNewSegmentIfClosed(pes_packet->pts());
          145  if (!status.ok())
          146  return status;
          147 
          -
          148  if (!ts_writer_->AddPesPacket(pes_packet.Pass()))
          +
          148  if (!ts_writer_->AddPesPacket(std::move(pes_packet)))
          149  return Status(error::MUXER_FAILURE, "Failed to add PES packet.");
          150  }
          151  return Status::OK;
          @@ -276,7 +276,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          187  if (listener_)
          188  listener_->OnEncryptionStart();
          189 
          -
          190  if (!pes_packet_generator_->SetEncryptionKey(encryption_key_.Pass()))
          +
          190  if (!pes_packet_generator_->SetEncryptionKey(std::move(encryption_key_)))
          191  return Status(error::INTERNAL_ERROR, "Failed to set encryption key.");
          192  ts_writer_->SignalEncrypted();
          193  }
          @@ -295,16 +295,16 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          virtual void OnEncryptionStart()=0
          This structure contains the list of configuration options for Muxer.
          Definition: muxer_options.h:18
          virtual Status GetKey(TrackType track_type, EncryptionKey *key)=0
          -
          void InjectTsWriterForTesting(scoped_ptr< TsWriter > writer)
          Only for testing.
          TsSegmenter(const MuxerOptions &options, MuxerListener *listener)
          Definition: ts_segmenter.cc:27
          - +
          static bool GenerateRandomIv(FourCC protection_scheme, std::vector< uint8_t > *iv)
          Definition: aes_cryptor.cc:109
          +
          void InjectPesPacketGeneratorForTesting(std::unique_ptr< PesPacketGenerator > generator)
          Only for testing.
          void SetTsWriterFileOpenedForTesting(bool value)
          Only for testing.
          -
          void InjectPesPacketGeneratorForTesting(scoped_ptr< PesPacketGenerator > generator)
          Only for testing.
          +
          void InjectTsWriterForTesting(std::unique_ptr< TsWriter > writer)
          Only for testing.
          -
          static int64_t GetFileSize(const char *file_name)
          Definition: file.cc:180
          +
          static int64_t GetFileSize(const char *file_name)
          Definition: file.cc:177
          -
          KeySource is responsible for encryption key acquisition.
          Definition: key_source.h:31
          +
          KeySource is responsible for encryption key acquisition.
          Definition: key_source.h:30
          Status Initialize(const StreamInfo &stream_info, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds)
          Definition: ts_segmenter.cc:34
          @@ -313,7 +313,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/ded/ts__packet_8h_source.html b/docs/d6/ded/ts__packet_8h_source.html index d08335f49d..da8b119d95 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 f8cd225e9f..544ca35e67 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 d8cc6f4a27..9f642281a6 100644 --- a/docs/d6/dff/classshaka_1_1media_1_1Nalu.html +++ b/docs/d6/dff/classshaka_1_1media_1_1Nalu.html @@ -240,7 +240,7 @@ bool can_start_access_unit diff --git a/docs/d7/d01/structshaka_1_1media_1_1mp4_1_1SampleGroupDescription.html b/docs/d7/d01/structshaka_1_1media_1_1mp4_1_1SampleGroupDescription.html index 43e53993d4..e9af968d14 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 a52fd3399a..f257f378d5 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 46a63a611a..7663708d0d 100644 --- a/docs/d7/d0b/muxer__listener__test__helper_8h_source.html +++ b/docs/d7/d0b/muxer__listener__test__helper_8h_source.html @@ -206,7 +206,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d7/d12/media__parser_8h_source.html b/docs/d7/d12/media__parser_8h_source.html index 56b5a5ed55..0ecae8719f 100644 --- a/docs/d7/d12/media__parser_8h_source.html +++ b/docs/d7/d12/media__parser_8h_source.html @@ -96,61 +96,60 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          7 #ifndef MEDIA_BASE_MEDIA_PARSER_H_
          8 #define MEDIA_BASE_MEDIA_PARSER_H_
          9 
          -
          10 #include <string>
          -
          11 #include <vector>
          -
          12 
          +
          10 #include <memory>
          +
          11 #include <string>
          +
          12 #include <vector>
          13 #include "packager/base/callback.h"
          14 #include "packager/base/compiler_specific.h"
          15 #include "packager/base/memory/ref_counted.h"
          -
          16 #include "packager/base/memory/scoped_ptr.h"
          -
          17 #include "packager/media/base/container_names.h"
          -
          18 
          -
          19 namespace shaka {
          -
          20 namespace media {
          -
          21 
          -
          22 class KeySource;
          -
          23 class MediaSample;
          -
          24 class StreamInfo;
          -
          25 
          -
          26 class MediaParser {
          -
          27  public:
          -
          28  MediaParser() {}
          -
          29  virtual ~MediaParser() {}
          -
          30 
          -
          34  typedef base::Callback<
          -
          35  void(const std::vector<scoped_refptr<StreamInfo> >& stream_info)> InitCB;
          -
          36 
          -
          42  typedef base::Callback<bool(uint32_t track_id,
          -
          43  const scoped_refptr<MediaSample>& media_sample)>
          - -
          45 
          -
          53  virtual void Init(const InitCB& init_cb,
          -
          54  const NewSampleCB& new_sample_cb,
          -
          55  KeySource* decryption_key_source) = 0;
          -
          56 
          -
          60  virtual bool Flush() WARN_UNUSED_RESULT = 0;
          -
          61 
          -
          64  virtual bool Parse(const uint8_t* buf, int size) WARN_UNUSED_RESULT = 0;
          -
          65 
          -
          66  private:
          -
          67  DISALLOW_COPY_AND_ASSIGN(MediaParser);
          -
          68 };
          -
          69 
          -
          70 } // namespace media
          -
          71 } // namespace shaka
          -
          72 
          -
          73 #endif // MEDIA_BASE_MEDIA_PARSER_H_
          - -
          base::Callback< void(const std::vector< scoped_refptr< StreamInfo > > &stream_info)> InitCB
          Definition: media_parser.h:35
          +
          16 #include "packager/media/base/container_names.h"
          +
          17 
          +
          18 namespace shaka {
          +
          19 namespace media {
          +
          20 
          +
          21 class KeySource;
          +
          22 class MediaSample;
          +
          23 class StreamInfo;
          +
          24 
          +
          25 class MediaParser {
          +
          26  public:
          +
          27  MediaParser() {}
          +
          28  virtual ~MediaParser() {}
          +
          29 
          +
          33  typedef base::Callback<
          +
          34  void(const std::vector<scoped_refptr<StreamInfo> >& stream_info)> InitCB;
          +
          35 
          +
          41  typedef base::Callback<bool(uint32_t track_id,
          +
          42  const scoped_refptr<MediaSample>& media_sample)>
          + +
          44 
          +
          52  virtual void Init(const InitCB& init_cb,
          +
          53  const NewSampleCB& new_sample_cb,
          +
          54  KeySource* decryption_key_source) = 0;
          +
          55 
          +
          59  virtual bool Flush() WARN_UNUSED_RESULT = 0;
          +
          60 
          +
          63  virtual bool Parse(const uint8_t* buf, int size) WARN_UNUSED_RESULT = 0;
          +
          64 
          +
          65  private:
          +
          66  DISALLOW_COPY_AND_ASSIGN(MediaParser);
          +
          67 };
          +
          68 
          +
          69 } // namespace media
          +
          70 } // namespace shaka
          +
          71 
          +
          72 #endif // MEDIA_BASE_MEDIA_PARSER_H_
          + +
          base::Callback< void(const std::vector< scoped_refptr< StreamInfo > > &stream_info)> InitCB
          Definition: media_parser.h:34
          virtual bool Parse(const uint8_t *buf, int size) WARN_UNUSED_RESULT=0
          virtual void Init(const InitCB &init_cb, const NewSampleCB &new_sample_cb, KeySource *decryption_key_source)=0
          virtual bool Flush() WARN_UNUSED_RESULT=0
          -
          base::Callback< bool(uint32_t track_id, const scoped_refptr< MediaSample > &media_sample)> NewSampleCB
          Definition: media_parser.h:44
          -
          KeySource is responsible for encryption key acquisition.
          Definition: key_source.h:31
          +
          base::Callback< bool(uint32_t track_id, const scoped_refptr< MediaSample > &media_sample)> NewSampleCB
          Definition: media_parser.h:43
          +
          KeySource is responsible for encryption key acquisition.
          Definition: key_source.h:30
          diff --git a/docs/d7/d15/mpd__notifier_8h_source.html b/docs/d7/d15/mpd__notifier_8h_source.html index 1d730db446..96a37678e9 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 5ae87581d0..d48cc60122 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 0d38d2f0d0..846b516567 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 5e0206d7b1..940db3772e 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 0efa0f4c3b..0ae99a2c4c 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 4c235e86ab..b9715a412e 100644 --- a/docs/d7/d29/structshaka_1_1media_1_1mp4_1_1CompositionTimeToSample-members.html +++ b/docs/d7/d29/structshaka_1_1media_1_1mp4_1_1CompositionTimeToSample-members.html @@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d7/d36/classshaka_1_1media_1_1ContentEncoding-members.html b/docs/d7/d36/classshaka_1_1media_1_1ContentEncoding-members.html index f501c4dda8..58b9415e92 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 bbb9a10961..c39dcdfec6 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 7e36fe4954..fe775b6f3c 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 a8ae38ac16..54f0368003 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 7ee5681026..67bb72e38b 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 07ac0465a4..8aab37acca 100644 --- a/docs/d7/d54/classshaka_1_1media_1_1H26xByteToUnitStreamConverter-members.html +++ b/docs/d7/d54/classshaka_1_1media_1_1H26xByteToUnitStreamConverter-members.html @@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d7/d59/classshaka_1_1media_1_1DecryptorSource.html b/docs/d7/d59/classshaka_1_1media_1_1DecryptorSource.html index 802d153962..6f4cbcb38c 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 2d6536248b..49971a3728 100644 --- a/docs/d7/d6d/classshaka_1_1media_1_1MediaSample.html +++ b/docs/d7/d6d/classshaka_1_1media_1_1MediaSample.html @@ -198,7 +198,7 @@ class base::RefCountedThre

          Detailed Description

          Class to hold a media sample.

          -

          Definition at line 22 of file media_sample.h.

          +

          Definition at line 21 of file media_sample.h.

          Member Function Documentation

          @@ -411,7 +411,7 @@ class base::RefCountedThre
          diff --git a/docs/d7/d75/structshaka_1_1media_1_1mp4_1_1MediaHeader-members.html b/docs/d7/d75/structshaka_1_1media_1_1mp4_1_1MediaHeader-members.html index b187bdd7af..deb9102604 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 ca70003cee..342f6b36d4 100644 --- a/docs/d7/d78/structshaka_1_1media_1_1H264SEIMessage-members.html +++ b/docs/d7/d78/structshaka_1_1media_1_1H264SEIMessage-members.html @@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d7/d7a/classshaka_1_1media_1_1UdpFile.html b/docs/d7/d7a/classshaka_1_1media_1_1UdpFile.html index d730de197e..d611e3d8b3 100644 --- a/docs/d7/d7a/classshaka_1_1media_1_1UdpFile.html +++ b/docs/d7/d7a/classshaka_1_1media_1_1UdpFile.html @@ -463,7 +463,7 @@ Additional Inherited Members diff --git a/docs/d7/d7c/vlog__flags_8h_source.html b/docs/d7/d7c/vlog__flags_8h_source.html index 59fa038ed2..a024b17ed8 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 77fe178a80..5a70c35078 100644 --- a/docs/d7/d87/video__stream__info_8h_source.html +++ b/docs/d7/d87/video__stream__info_8h_source.html @@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d7/d9c/structshaka_1_1media_1_1H265SliceHeader_1_1LongTermPicsInfo.html b/docs/d7/d9c/structshaka_1_1media_1_1H265SliceHeader_1_1LongTermPicsInfo.html index b35a8b88cf..7cd6a03d88 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 7ebdf6f3ff..6234d275b1 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 710ec37784..b931f41982 100644 --- a/docs/d7/da4/track__run__iterator_8h_source.html +++ b/docs/d7/da4/track__run__iterator_8h_source.html @@ -94,9 +94,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          5 #ifndef MEDIA_FORMATS_MP4_TRACK_RUN_ITERATOR_H_
          6 #define MEDIA_FORMATS_MP4_TRACK_RUN_ITERATOR_H_
          7 
          -
          8 #include <vector>
          -
          9 
          -
          10 #include "packager/base/memory/scoped_ptr.h"
          +
          8 #include <memory>
          +
          9 #include <vector>
          +
          10 
          11 #include "packager/media/formats/mp4/box_definitions.h"
          12 
          13 namespace shaka {
          @@ -147,7 +147,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          95  int64_t duration() const;
          96  bool is_keyframe() const;
          98 
          -
          101  scoped_ptr<DecryptConfig> GetDecryptConfig();
          +
          101  std::unique_ptr<DecryptConfig> GetDecryptConfig();
          102 
          103  private:
          104  void ResetRun();
          @@ -174,7 +174,6 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          125 } // namespace shaka
          126 
          127 #endif // MEDIA_FORMATS_MP4_TRACK_RUN_ITERATOR_H_
          -
          scoped_ptr< DecryptConfig > GetDecryptConfig()
          const VideoSampleEntry & video_description() const
          Only valid if is_video() is true.
          @@ -185,6 +184,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); +
          std::unique_ptr< DecryptConfig > GetDecryptConfig()
          const AudioSampleEntry & audio_description() const
          Only valid if is_audio() is true.
          @@ -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 51d6a3cc01..55483b2598 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 cd892b6223..4d40a8a084 100644 --- a/docs/d7/db0/mpd__writer_8h_source.html +++ b/docs/d7/db0/mpd__writer_8h_source.html @@ -99,11 +99,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          10 #define MPD_UTIL_MPD_WRITER_H_
          11 
          12 #include <list>
          -
          13 #include <string>
          -
          14 #include <vector>
          -
          15 
          -
          16 #include "packager/base/macros.h"
          -
          17 #include "packager/base/memory/scoped_ptr.h"
          +
          13 #include <memory>
          +
          14 #include <string>
          +
          15 #include <vector>
          +
          16 
          +
          17 #include "packager/base/macros.h"
          18 #include "packager/mpd/base/mpd_notifier.h"
          19 #include "packager/mpd/base/mpd_options.h"
          20 
          @@ -120,7 +120,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          35  virtual ~MpdNotifierFactory() {}
          36 
          -
          37  virtual scoped_ptr<MpdNotifier> Create(
          +
          37  virtual std::unique_ptr<MpdNotifier> Create(
          38  DashProfile dash_profile,
          39  const MpdOptions& mpd_options,
          40  const std::vector<std::string>& base_urls,
          @@ -163,26 +163,27 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          77  private:
          78  friend class MpdWriterTest;
          79 
          -
          80  void SetMpdNotifierFactoryForTest(scoped_ptr<MpdNotifierFactory> factory);
          -
          81 
          -
          82  std::list<MediaInfo> media_infos_;
          -
          83  std::vector<std::string> base_urls_;
          -
          84 
          -
          85  scoped_ptr<MpdNotifierFactory> notifier_factory_;
          -
          86 
          -
          87  DISALLOW_COPY_AND_ASSIGN(MpdWriter);
          -
          88 };
          -
          89 
          -
          90 } // namespace shaka
          -
          91 
          -
          92 #endif // MPD_UTIL_MPD_WRITER_H_
          +
          80  void SetMpdNotifierFactoryForTest(
          +
          81  std::unique_ptr<MpdNotifierFactory> factory);
          +
          82 
          +
          83  std::list<MediaInfo> media_infos_;
          +
          84  std::vector<std::string> base_urls_;
          +
          85 
          +
          86  std::unique_ptr<MpdNotifierFactory> notifier_factory_;
          +
          87 
          +
          88  DISALLOW_COPY_AND_ASSIGN(MpdWriter);
          +
          89 };
          +
          90 
          +
          91 } // namespace shaka
          +
          92 
          +
          93 #endif // MPD_UTIL_MPD_WRITER_H_
          Defines Mpd Options.
          Definition: mpd_options.h:15
          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 95ebd886c5..aaf38be21e 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 4b2c161378..cf10df86ec 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 c8f5670854..7d5ce15dd1 100644 --- a/docs/d7/dc6/byte__queue_8h_source.html +++ b/docs/d7/dc6/byte__queue_8h_source.html @@ -96,55 +96,57 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          7 
          8 #include <stdint.h>
          9 
          -
          10 #include "packager/base/memory/scoped_ptr.h"
          +
          10 #include <memory>
          11 
          -
          12 namespace shaka {
          -
          13 namespace media {
          -
          14 
          -
          20 class ByteQueue {
          -
          21  public:
          -
          22  ByteQueue();
          -
          23  ~ByteQueue();
          -
          24 
          -
          26  void Reset();
          -
          27 
          -
          29  void Push(const uint8_t* data, int size);
          -
          30 
          -
          33  void Peek(const uint8_t** data, int* size) const;
          -
          34 
          -
          37  void Pop(int count);
          -
          38 
          -
          39  private:
          -
          40  // Returns a pointer to the front of the queue.
          -
          41  uint8_t* front() const;
          -
          42 
          -
          43  scoped_ptr<uint8_t[]> buffer_;
          +
          12 #include "packager/base/macros.h"
          +
          13 
          +
          14 namespace shaka {
          +
          15 namespace media {
          +
          16 
          +
          22 class ByteQueue {
          +
          23  public:
          +
          24  ByteQueue();
          +
          25  ~ByteQueue();
          +
          26 
          +
          28  void Reset();
          +
          29 
          +
          31  void Push(const uint8_t* data, int size);
          +
          32 
          +
          35  void Peek(const uint8_t** data, int* size) const;
          +
          36 
          +
          39  void Pop(int count);
          +
          40 
          +
          41  private:
          +
          42  // Returns a pointer to the front of the queue.
          +
          43  uint8_t* front() const;
          44 
          -
          45  // Size of |buffer_|.
          -
          46  size_t size_;
          -
          47 
          -
          48  // Offset from the start of |buffer_| that marks the front of the queue.
          -
          49  size_t offset_;
          -
          50 
          -
          51  // Number of bytes stored in the queue.
          -
          52  int used_;
          -
          53 
          -
          54  DISALLOW_COPY_AND_ASSIGN(ByteQueue);
          -
          55 };
          -
          56 
          -
          57 } // namespace media
          -
          58 } // namespace shaka
          -
          59 
          -
          60 #endif // MEDIA_BASE_BYTE_QUEUE_H_
          +
          45  std::unique_ptr<uint8_t[]> buffer_;
          +
          46 
          +
          47  // Size of |buffer_|.
          +
          48  size_t size_;
          +
          49 
          +
          50  // Offset from the start of |buffer_| that marks the front of the queue.
          +
          51  size_t offset_;
          +
          52 
          +
          53  // Number of bytes stored in the queue.
          +
          54  int used_;
          +
          55 
          +
          56  DISALLOW_COPY_AND_ASSIGN(ByteQueue);
          +
          57 };
          +
          58 
          +
          59 } // namespace media
          +
          60 } // namespace shaka
          +
          61 
          +
          62 #endif // MEDIA_BASE_BYTE_QUEUE_H_
          void Push(const uint8_t *data, int size)
          Append new bytes to the end of the queue.
          Definition: byte_queue.cc:29
          void Pop(int count)
          Definition: byte_queue.cc:70
          void Reset()
          Reset the queue to the empty state.
          Definition: byte_queue.cc:24
          void Peek(const uint8_t **data, int *size) const
          Definition: byte_queue.cc:63
          - + diff --git a/docs/d7/dd0/mpd__notifier__util_8h_source.html b/docs/d7/dd0/mpd__notifier__util_8h_source.html index 8468eabcaa..22137b95fe 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 8febcb9e3d..20ac031f26 100644 --- a/docs/d7/dd4/request__signer_8h_source.html +++ b/docs/d7/dd4/request__signer_8h_source.html @@ -96,89 +96,90 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          7 #ifndef MEDIA_BASE_REQUEST_SIGNER_H_
          8 #define MEDIA_BASE_REQUEST_SIGNER_H_
          9 
          -
          10 #include <string>
          -
          11 
          -
          12 #include "packager/base/memory/scoped_ptr.h"
          -
          13 
          -
          14 namespace shaka {
          -
          15 namespace media {
          -
          16 
          -
          17 class AesCbcEncryptor;
          -
          18 class RsaPrivateKey;
          -
          19 
          - -
          22  public:
          -
          23  virtual ~RequestSigner();
          -
          24 
          -
          28  virtual bool GenerateSignature(const std::string& message,
          -
          29  std::string* signature) = 0;
          -
          30 
          -
          31  const std::string& signer_name() const { return signer_name_; }
          -
          32 
          -
          33  protected:
          -
          34  explicit RequestSigner(const std::string& signer_name);
          -
          35 
          -
          36  private:
          -
          37  std::string signer_name_;
          -
          38 
          -
          39  DISALLOW_COPY_AND_ASSIGN(RequestSigner);
          -
          40 };
          -
          41 
          - -
          44  public:
          -
          45  ~AesRequestSigner() override;
          -
          46 
          -
          49  static AesRequestSigner* CreateSigner(const std::string& signer_name,
          -
          50  const std::string& aes_key_hex,
          -
          51  const std::string& iv_hex);
          -
          52 
          -
          54  bool GenerateSignature(const std::string& message,
          -
          55  std::string* signature) override;
          -
          56 
          -
          57  private:
          -
          58  AesRequestSigner(const std::string& signer_name,
          -
          59  scoped_ptr<AesCbcEncryptor> encryptor);
          -
          60 
          -
          61  scoped_ptr<AesCbcEncryptor> aes_cbc_encryptor_;
          -
          62 
          -
          63  DISALLOW_COPY_AND_ASSIGN(AesRequestSigner);
          -
          64 };
          -
          65 
          - -
          68  public:
          -
          69  ~RsaRequestSigner() override;
          -
          70 
          -
          73  static RsaRequestSigner* CreateSigner(const std::string& signer_name,
          -
          74  const std::string& pkcs1_rsa_key);
          -
          75 
          -
          77  bool GenerateSignature(const std::string& message,
          -
          78  std::string* signature) override;
          -
          79 
          -
          80  private:
          -
          81  RsaRequestSigner(const std::string& signer_name,
          -
          82  scoped_ptr<RsaPrivateKey> rsa_private_key);
          -
          83 
          -
          84  scoped_ptr<RsaPrivateKey> rsa_private_key_;
          -
          85 
          -
          86  DISALLOW_COPY_AND_ASSIGN(RsaRequestSigner);
          -
          87 };
          -
          88 
          -
          89 } // namespace media
          -
          90 } // namespace shaka
          -
          91 
          -
          92 #endif // MEDIA_BASE_REQUEST_SIGNER_H_
          -
          static RsaRequestSigner * CreateSigner(const std::string &signer_name, const std::string &pkcs1_rsa_key)
          -
          Abstract class used for signature generation.
          +
          10 #include <memory>
          +
          11 #include <string>
          +
          12 
          +
          13 #include "packager/base/macros.h"
          +
          14 
          +
          15 namespace shaka {
          +
          16 namespace media {
          +
          17 
          +
          18 class AesCbcEncryptor;
          +
          19 class RsaPrivateKey;
          +
          20 
          + +
          23  public:
          +
          24  virtual ~RequestSigner();
          +
          25 
          +
          29  virtual bool GenerateSignature(const std::string& message,
          +
          30  std::string* signature) = 0;
          +
          31 
          +
          32  const std::string& signer_name() const { return signer_name_; }
          +
          33 
          +
          34  protected:
          +
          35  explicit RequestSigner(const std::string& signer_name);
          +
          36 
          +
          37  private:
          +
          38  std::string signer_name_;
          +
          39 
          +
          40  DISALLOW_COPY_AND_ASSIGN(RequestSigner);
          +
          41 };
          +
          42 
          + +
          45  public:
          +
          46  ~AesRequestSigner() override;
          +
          47 
          +
          50  static AesRequestSigner* CreateSigner(const std::string& signer_name,
          +
          51  const std::string& aes_key_hex,
          +
          52  const std::string& iv_hex);
          +
          53 
          +
          55  bool GenerateSignature(const std::string& message,
          +
          56  std::string* signature) override;
          +
          57 
          +
          58  private:
          +
          59  AesRequestSigner(const std::string& signer_name,
          +
          60  std::unique_ptr<AesCbcEncryptor> encryptor);
          +
          61 
          +
          62  std::unique_ptr<AesCbcEncryptor> aes_cbc_encryptor_;
          +
          63 
          +
          64  DISALLOW_COPY_AND_ASSIGN(AesRequestSigner);
          +
          65 };
          +
          66 
          + +
          69  public:
          +
          70  ~RsaRequestSigner() override;
          +
          71 
          +
          74  static RsaRequestSigner* CreateSigner(const std::string& signer_name,
          +
          75  const std::string& pkcs1_rsa_key);
          +
          76 
          +
          78  bool GenerateSignature(const std::string& message,
          +
          79  std::string* signature) override;
          +
          80 
          +
          81  private:
          +
          82  RsaRequestSigner(const std::string& signer_name,
          +
          83  std::unique_ptr<RsaPrivateKey> rsa_private_key);
          +
          84 
          +
          85  std::unique_ptr<RsaPrivateKey> rsa_private_key_;
          +
          86 
          +
          87  DISALLOW_COPY_AND_ASSIGN(RsaRequestSigner);
          +
          88 };
          +
          89 
          +
          90 } // namespace media
          +
          91 } // namespace shaka
          +
          92 
          +
          93 #endif // MEDIA_BASE_REQUEST_SIGNER_H_
          +
          static RsaRequestSigner * CreateSigner(const std::string &signer_name, const std::string &pkcs1_rsa_key)
          +
          Abstract class used for signature generation.
          static AesRequestSigner * CreateSigner(const std::string &signer_name, const std::string &aes_key_hex, const std::string &iv_hex)
          -
          RsaRequestSigner uses RSA-PSS signing.
          +
          RsaRequestSigner uses RSA-PSS signing.
          bool GenerateSignature(const std::string &message, std::string *signature) override
          RequestSigner implementation override.
          -
          bool GenerateSignature(const std::string &message, std::string *signature) override
          RequestSigner implementation override.
          -
          AesRequestSigner uses AES-CBC signing.
          +
          bool GenerateSignature(const std::string &message, std::string *signature) override
          RequestSigner implementation override.
          +
          AesRequestSigner uses AES-CBC signing.
          virtual bool GenerateSignature(const std::string &message, std::string *signature)=0
          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 364b22585f..93b13c1ddd 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 @@ -129,7 +129,7 @@ track_id, const scoped_refptr

          Detailed Description

          -

          Definition at line 33 of file mp4_media_parser.h.

          +

          Definition at line 31 of file mp4_media_parser.h.

          Member Function Documentation

          @@ -285,7 +285,7 @@ track_id, const scoped_refptr
          diff --git a/docs/d7/dd6/key__source_8cc_source.html b/docs/d7/dd6/key__source_8cc_source.html index 0a08a83e73..a3a8765e58 100644 --- a/docs/d7/dd6/key__source_8cc_source.html +++ b/docs/d7/dd6/key__source_8cc_source.html @@ -142,7 +142,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d7/dda/classshaka_1_1media_1_1ByteQueue.html b/docs/d7/dda/classshaka_1_1media_1_1ByteQueue.html index 36fbfb93a0..d96211c94c 100644 --- a/docs/d7/dda/classshaka_1_1media_1_1ByteQueue.html +++ b/docs/d7/dda/classshaka_1_1media_1_1ByteQueue.html @@ -114,7 +114,7 @@ void 

          Detailed Description

          Represents a queue of bytes. Data is added to the end of the queue via an Push() and removed via Pop(). The contents of the queue can be observed via the Peek() method. This class manages the underlying storage of the queue and tries to minimize the number of buffer copies when data is appended and removed.

          -

          Definition at line 20 of file byte_queue.h.

          +

          Definition at line 22 of file byte_queue.h.

          Member Function Documentation

          @@ -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 0f27645b0b..446848f691 100644 --- a/docs/d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html +++ b/docs/d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html @@ -135,7 +135,7 @@ Additional Inherited Members

          Detailed Description

          RsaRequestSigner uses RSA-PSS signing.

          -

          Definition at line 67 of file request_signer.h.

          +

          Definition at line 68 of file request_signer.h.

          Member Function Documentation

          @@ -171,7 +171,7 @@ Additional Inherited Members

          Create an RsaSigner object using a DER encoded PKCS#1 RSAPrivateKey.

          Returns
          The created RsaRequestSigner object on success, NULL otherwise.
          -

          Definition at line 63 of file request_signer.cc.

          +

          Definition at line 64 of file request_signer.cc.

          @@ -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 f72fedcdf2..9766d5eff6 100644 --- a/docs/d7/de0/classshaka_1_1media_1_1HttpKeyFetcher.html +++ b/docs/d7/de0/classshaka_1_1media_1_1HttpKeyFetcher.html @@ -311,7 +311,7 @@ KeyFetcher implementation overrides. diff --git a/docs/d7/de0/structshaka_1_1media_1_1mp4_1_1SampleToGroupEntry.html b/docs/d7/de0/structshaka_1_1media_1_1mp4_1_1SampleToGroupEntry.html index e6312c97e4..2104d85ed9 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 9fc797a6de..faaecdeccd 100644 --- a/docs/d7/dec/h264__byte__to__unit__stream__converter_8h_source.html +++ b/docs/d7/dec/h264__byte__to__unit__stream__converter_8h_source.html @@ -134,7 +134,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d7/dee/mpd__generator_8cc_source.html b/docs/d7/dee/mpd__generator_8cc_source.html index 1a9d35e272..e9046ed8a6 100644 --- a/docs/d7/dee/mpd__generator_8cc_source.html +++ b/docs/d7/dee/mpd__generator_8cc_source.html @@ -227,7 +227,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d7/def/mp4__media__parser_8cc_source.html b/docs/d7/def/mp4__media__parser_8cc_source.html index a5678c412e..052691966c 100644 --- a/docs/d7/def/mp4__media__parser_8cc_source.html +++ b/docs/d7/def/mp4__media__parser_8cc_source.html @@ -245,7 +245,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          156 }
          157 
          158 bool MP4MediaParser::LoadMoov(const std::string& file_path) {
          -
          159  scoped_ptr<File, FileCloser> file(
          +
          159  std::unique_ptr<File, FileCloser> file(
          160  File::OpenWithNoBuffering(file_path.c_str(), "r"));
          161  if (!file) {
          162  LOG(ERROR) << "Unable to open media file '" << file_path << "'";
          @@ -326,7 +326,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          237  if (!size)
          238  return false;
          239 
          -
          240  scoped_ptr<BoxReader> reader(BoxReader::ReadBox(buf, size, err));
          +
          240  std::unique_ptr<BoxReader> reader(BoxReader::ReadBox(buf, size, err));
          241  if (reader.get() == NULL)
          242  return false;
          243 
          @@ -779,7 +779,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          690  return false;
          691  }
          692 
          -
          693  scoped_ptr<DecryptConfig> decrypt_config = runs_->GetDecryptConfig();
          +
          693  std::unique_ptr<DecryptConfig> decrypt_config = runs_->GetDecryptConfig();
          694  if (!decrypt_config ||
          695  !decryptor_source_->DecryptSampleBuffer(decrypt_config.get(),
          696  stream_sample->writable_data(),
          @@ -839,14 +839,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          750 } // namespace shaka
          void PeekAt(int64_t offset, const uint8_t **buf, int *size)
          -
          static File * OpenWithNoBuffering(const char *file_name, const char *mode)
          Definition: file.cc:156
          +
          static File * OpenWithNoBuffering(const char *file_name, const char *mode)
          Definition: file.cc:153
          bool Flush() override WARN_UNUSED_RESULT
          bool Trim(int64_t max_offset)
          bool Parse(const uint8_t *buf, int size) override WARN_UNUSED_RESULT
          virtual Status FetchKeys(const std::vector< uint8_t > &pssh_box)=0
          static std::string GetCodecString(Codec codec, uint8_t audio_object_type)
          bool LoadMoov(const std::string &file_path)
          -
          KeySource is responsible for encryption key acquisition.
          Definition: key_source.h:31
          +
          KeySource is responsible for encryption key acquisition.
          Definition: key_source.h:30
          static scoped_refptr< MediaSample > CopyFrom(const uint8_t *data, size_t size, bool is_key_frame)
          Definition: media_sample.cc:45
          void Init(const InitCB &init_cb, const NewSampleCB &new_sample_cb, KeySource *decryption_key_source) override
          DecryptorSource wraps KeySource and is responsible for decryptor management.
          @@ -855,7 +855,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d7/df9/byte__queue_8cc_source.html b/docs/d7/df9/byte__queue_8cc_source.html index 4e0536943b..2b941e35f0 100644 --- a/docs/d7/df9/byte__queue_8cc_source.html +++ b/docs/d7/df9/byte__queue_8cc_source.html @@ -130,7 +130,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          41  // Sanity check to make sure we didn't overflow.
          42  CHECK_GT(new_size, size_);
          43 
          -
          44  scoped_ptr<uint8_t[]> new_buffer(new uint8_t[new_size]);
          +
          44  std::unique_ptr<uint8_t[]> new_buffer(new uint8_t[new_size]);
          45 
          46  // Copy the data from the old buffer to the start of the new one.
          47  if (used_ > 0)
          @@ -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 86370ce0f4..fc74f6b543 100644 --- a/docs/d8/d08/classshaka_1_1media_1_1H264ByteToUnitStreamConverter.html +++ b/docs/d8/d08/classshaka_1_1media_1_1H264ByteToUnitStreamConverter.html @@ -171,7 +171,7 @@ static const size_t kUnitS diff --git a/docs/d8/d08/classshaka_1_1media_1_1WebMClusterParser-members.html b/docs/d8/d08/classshaka_1_1media_1_1WebMClusterParser-members.html index d815e039e8..d13af62bd3 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 bc619fb548..727c944821 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 @@ -93,18 +93,18 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');

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

          - + - +
          AddPesPacket(scoped_ptr< PesPacket > pes_packet)shaka::media::mp2t::TsWritervirtual
          AddPesPacket(std::unique_ptr< PesPacket > pes_packet)shaka::media::mp2t::TsWritervirtual
          FinalizeSegment()shaka::media::mp2t::TsWritervirtual
          Initialize(const StreamInfo &stream_info)shaka::media::mp2t::TsWritervirtual
          NewSegment(const std::string &file_name)shaka::media::mp2t::TsWritervirtual
          SetProgramMapTableWriterForTesting(scoped_ptr< ProgramMapTableWriter > table_writer)shaka::media::mp2t::TsWriter
          SetProgramMapTableWriterForTesting(std::unique_ptr< ProgramMapTableWriter > table_writer)shaka::media::mp2t::TsWriter
          SignalEncrypted()shaka::media::mp2t::TsWritervirtual
          TsWriter() (defined in shaka::media::mp2t::TsWriter)shaka::media::mp2t::TsWriter
          ~TsWriter() (defined in shaka::media::mp2t::TsWriter)shaka::media::mp2t::TsWritervirtual
          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 849189fd4f..942026d89d 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 1784401722..6ff2a52ba2 100644 --- a/docs/d8/d0d/media__sample_8cc_source.html +++ b/docs/d8/d0d/media__sample_8cc_source.html @@ -189,13 +189,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          static scoped_refptr< MediaSample > FromMetadata(const uint8_t *metadata, size_t metadata_size)
          Definition: media_sample.cc:67
          static scoped_refptr< MediaSample > CreateEOSBuffer()
          Definition: media_sample.cc:80
          std::string ToString() const
          Definition: media_sample.cc:84
          -
          Class to hold a media sample.
          Definition: media_sample.h:22
          +
          Class to hold a media sample.
          Definition: media_sample.h:21
          static scoped_refptr< MediaSample > CopyFrom(const uint8_t *data, size_t size, bool is_key_frame)
          Definition: media_sample.cc:45
          static scoped_refptr< MediaSample > CreateEmptyMediaSample()
          Create a MediaSample object with default members.
          Definition: media_sample.cc:74
          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 da4ef3ae26..73a0d52475 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 72fa0dc167..25d6dec769 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 0c446add32..a2bea659ac 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 390a6bfc19..9fca256cb3 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 32be0ffab4..1f3df96786 100644 --- a/docs/d8/d16/structshaka_1_1media_1_1MuxerOptions-members.html +++ b/docs/d8/d16/structshaka_1_1media_1_1MuxerOptions-members.html @@ -110,7 +110,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/d19/bandwidth__estimator_8h_source.html b/docs/d8/d19/bandwidth__estimator_8h_source.html index 9ea7954f7c..c6f5bc1827 100644 --- a/docs/d8/d19/bandwidth__estimator_8h_source.html +++ b/docs/d8/d19/bandwidth__estimator_8h_source.html @@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/d20/structshaka_1_1media_1_1mp4_1_1WebVTTConfigurationBox.html b/docs/d8/d20/structshaka_1_1media_1_1mp4_1_1WebVTTConfigurationBox.html index 5c46a6ed12..7cfa2459fd 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 9029d0a336..3201cc7588 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 6b4a515672..12bf7c631a 100644 --- a/docs/d8/d28/es__parser__h265_8h_source.html +++ b/docs/d8/d28/es__parser__h265_8h_source.html @@ -99,11 +99,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          10 #include <stdint.h>
          11 
          12 #include <list>
          -
          13 #include <utility>
          -
          14 
          -
          15 #include "packager/base/callback.h"
          -
          16 #include "packager/base/compiler_specific.h"
          -
          17 #include "packager/base/memory/scoped_ptr.h"
          +
          13 #include <memory>
          +
          14 #include <utility>
          +
          15 
          +
          16 #include "packager/base/callback.h"
          +
          17 #include "packager/base/compiler_specific.h"
          18 #include "packager/media/formats/mp2t/es_parser_h26x.h"
          19 
          20 namespace shaka {
          @@ -141,7 +141,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          52  scoped_refptr<StreamInfo> last_video_decoder_config_;
          53  bool decoder_config_check_pending_;
          54 
          -
          55  scoped_ptr<H265Parser> h265_parser_;
          +
          55  std::unique_ptr<H265Parser> h265_parser_;
          56 };
          57 
          58 } // namespace mp2t
          @@ -155,7 +155,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/d33/webm__content__encodings__client_8h_source.html b/docs/d8/d33/webm__content__encodings__client_8h_source.html index 392246e7c3..3e8e6fa1e1 100644 --- a/docs/d8/d33/webm__content__encodings__client_8h_source.html +++ b/docs/d8/d33/webm__content__encodings__client_8h_source.html @@ -94,11 +94,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          5 #ifndef MEDIA_FORMATS_WEBM_WEBM_CONTENT_ENCODINGS_CLIENT_H_
          6 #define MEDIA_FORMATS_WEBM_WEBM_CONTENT_ENCODINGS_CLIENT_H_
          7 
          -
          8 #include <vector>
          -
          9 
          -
          10 #include "packager/base/callback.h"
          -
          11 #include "packager/base/compiler_specific.h"
          -
          12 #include "packager/base/memory/scoped_ptr.h"
          +
          8 #include <memory>
          +
          9 #include <vector>
          +
          10 
          +
          11 #include "packager/base/callback.h"
          +
          12 #include "packager/base/compiler_specific.h"
          13 #include "packager/media/formats/webm/webm_content_encodings.h"
          14 #include "packager/media/formats/webm/webm_parser.h"
          15 
          @@ -120,7 +120,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          33  bool OnBinary(int id, const uint8_t* data, int size) override;
          34 
          35  private:
          -
          36  scoped_ptr<ContentEncoding> cur_content_encoding_;
          +
          36  std::unique_ptr<ContentEncoding> cur_content_encoding_;
          37  bool content_encryption_encountered_;
          38  ContentEncodings content_encodings_;
          39 
          @@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/d3e/classshaka_1_1media_1_1StreamDescriptorCompareFn.html b/docs/d8/d3e/classshaka_1_1media_1_1StreamDescriptorCompareFn.html index b842e0df1d..d35654e284 100644 --- a/docs/d8/d3e/classshaka_1_1media_1_1StreamDescriptorCompareFn.html +++ b/docs/d8/d3e/classshaka_1_1media_1_1StreamDescriptorCompareFn.html @@ -109,7 +109,7 @@ bool operator() (const diff --git a/docs/d8/d4d/aes__decryptor_8h_source.html b/docs/d8/d4d/aes__decryptor_8h_source.html index c35721a19c..c60771d0f1 100644 --- a/docs/d8/d4d/aes__decryptor_8h_source.html +++ b/docs/d8/d4d/aes__decryptor_8h_source.html @@ -147,7 +147,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/d5b/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry.html b/docs/d8/d5b/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry.html index 9140f34e0b..3da9482801 100644 --- a/docs/d8/d5b/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry.html +++ b/docs/d8/d5b/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry.html @@ -206,7 +206,7 @@ Additional Inherited Members diff --git a/docs/d8/d5c/classshaka_1_1media_1_1MediaStream.html b/docs/d8/d5c/classshaka_1_1media_1_1MediaStream.html index c53af52375..7d595e4b50 100644 --- a/docs/d8/d5c/classshaka_1_1media_1_1MediaStream.html +++ b/docs/d8/d5c/classshaka_1_1media_1_1MediaStream.html @@ -225,7 +225,7 @@ const scoped_refptr< diff --git a/docs/d8/d6a/classshaka_1_1media_1_1ClusterBuilder-members.html b/docs/d8/d6a/classshaka_1_1media_1_1ClusterBuilder-members.html index b673b23980..55e8d32aef 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 bd4622ee2a..6aa8a0661d 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 2c0e640735..d4662cb8d3 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 2d9efba1e7..f8bfe00943 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 2f308ab69b..98911ded5f 100644 --- a/docs/d8/d86/classshaka_1_1media_1_1WebMTracksParser.html +++ b/docs/d8/d86/classshaka_1_1media_1_1WebMTracksParser.html @@ -163,7 +163,7 @@ Additional Inherited Members

          Detailed Description

          Parser for WebM Tracks element.

          -

          Definition at line 28 of file webm_tracks_parser.h.

          +

          Definition at line 27 of file webm_tracks_parser.h.

          Member Function Documentation

          @@ -225,7 +225,7 @@ The number of bytes parsed on success.
          diff --git a/docs/d8/d88/structshaka_1_1media_1_1mp4_1_1MovieExtends-members.html b/docs/d8/d88/structshaka_1_1media_1_1mp4_1_1MovieExtends-members.html index 181fd840e8..4178467d56 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 62c13ff60e..82429af018 100644 --- a/docs/d8/d8e/classshaka_1_1AdaptationSet.html +++ b/docs/d8/d8e/classshaka_1_1AdaptationSet.html @@ -582,7 +582,7 @@ template<MpdBuilder::MpdType type> diff --git a/docs/d8/d91/classshaka_1_1media_1_1AesCtrEncryptor-members.html b/docs/d8/d91/classshaka_1_1media_1_1AesCtrEncryptor-members.html index 07a2985dc8..fbeac2b3ae 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 9d39865459..1234e27ad1 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 bcfc546610..4215969cb1 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 1b1ce2b486..59b57d560b 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 35f3692f3c..11f6d3abe6 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 08e4de6da4..db5642b6c9 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 0ad7c27c18..2001b453aa 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 2fcb33bb13..5a4680856c 100644 --- a/docs/d8/d9a/fragmenter_8cc_source.html +++ b/docs/d8/d9a/fragmenter_8cc_source.html @@ -301,7 +301,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/d9c/webm__tracks__parser_8cc_source.html b/docs/d8/d9c/webm__tracks__parser_8cc_source.html index e6c0d3d907..d683720206 100644 --- a/docs/d8/d9c/webm__tracks__parser_8cc_source.html +++ b/docs/d8/d9c/webm__tracks__parser_8cc_source.html @@ -440,7 +440,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/d9f/udp__file_8h_source.html b/docs/d8/d9f/udp__file_8h_source.html index 22ba63bf55..f13d043d3b 100644 --- a/docs/d8/d9f/udp__file_8h_source.html +++ b/docs/d8/d9f/udp__file_8h_source.html @@ -147,7 +147,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/da3/classshaka_1_1media_1_1DecryptorSource-members.html b/docs/d8/da3/classshaka_1_1media_1_1DecryptorSource-members.html index 2b10ea636e..2ccf2ad5cf 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 ea9a54972f..ac8c65debd 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 dd1ffdea30..3a3ebe20dc 100644 --- a/docs/d8/da6/classshaka_1_1media_1_1NaluReader-members.html +++ b/docs/d8/da6/classshaka_1_1media_1_1NaluReader-members.html @@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/daa/stream__info_8h_source.html b/docs/d8/daa/stream__info_8h_source.html index 6caafced23..85189216db 100644 --- a/docs/d8/daa/stream__info_8h_source.html +++ b/docs/d8/daa/stream__info_8h_source.html @@ -205,7 +205,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/daf/namespaceshaka.html b/docs/d8/daf/namespaceshaka.html index b7b6244435..5fed2f8f37 100644 --- a/docs/d8/daf/namespaceshaka.html +++ b/docs/d8/daf/namespaceshaka.html @@ -566,7 +566,7 @@ const char kPsshElementNam diff --git a/docs/d8/db7/classshaka_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html b/docs/d8/db7/classshaka_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html index 76e6be2051..d28f9621c4 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 @@ -107,18 +107,18 @@ Inheritance diagram for shaka::media::mp4::MultiSegmentSegmenter: - - + + - - + + @@ -259,7 +259,7 @@ void 

          Public Member Functions

          MultiSegmentSegmenter (const MuxerOptions &options, scoped_ptr< FileType > ftyp, scoped_ptr< Movie > moov)
           
          MultiSegmentSegmenter (const MuxerOptions &options, std::unique_ptr< FileType > ftyp, std::unique_ptr< Movie > moov)
           
          Segmenter implementation overrides.
          bool GetInitRange (size_t *offset, size_t *size) override
           
          bool GetIndexRange (size_t *offset, size_t *size) override
           
          - Public Member Functions inherited from shaka::media::mp4::Segmenter
          Segmenter (const MuxerOptions &options, scoped_ptr< FileType > ftyp, scoped_ptr< Movie > moov)
           
          Segmenter (const MuxerOptions &options, std::unique_ptr< FileType > ftyp, std::unique_ptr< Movie > moov)
           
          Status Initialize (const std::vector< MediaStream * > &streams, MuxerListener *muxer_listener, ProgressListener *progress_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds, double crypto_period_duration_in_seconds, FourCC protection_scheme)
           
          Status Finalize ()
          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 3106f7ea17..043cc506fe 100644 --- a/docs/d8/db9/classshaka_1_1media_1_1WebMContentEncodingsClient-members.html +++ b/docs/d8/db9/classshaka_1_1media_1_1WebMContentEncodingsClient-members.html @@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          diff --git a/docs/d8/dc3/structshaka_1_1media_1_1mp4_1_1CueTimeBox.html b/docs/d8/dc3/structshaka_1_1media_1_1mp4_1_1CueTimeBox.html index d27c826db2..2b15b5dab1 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 4d730975ac..b15b73ba24 100644 --- a/docs/d8/dca/ts__writer_8h_source.html +++ b/docs/d8/dca/ts__writer_8h_source.html @@ -98,9 +98,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          9 
          10 #include <list>
          11 #include <map>
          -
          12 #include <vector>
          -
          13 
          -
          14 #include "packager/base/memory/scoped_ptr.h"
          +
          12 #include <memory>
          +
          13 #include <vector>
          +
          14 
          15 #include "packager/media/base/media_stream.h"
          16 #include "packager/media/file/file.h"
          17 #include "packager/media/file/file_closer.h"
          @@ -125,10 +125,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          46 
          50  virtual bool FinalizeSegment();
          51 
          -
          56  virtual bool AddPesPacket(scoped_ptr<PesPacket> pes_packet);
          +
          56  virtual bool AddPesPacket(std::unique_ptr<PesPacket> pes_packet);
          57 
          - -
          60  scoped_ptr<ProgramMapTableWriter> table_writer);
          + +
          60  std::unique_ptr<ProgramMapTableWriter> table_writer);
          61 
          62  private:
          63  // True if further segments generated by this instance should be encrypted.
          @@ -138,9 +138,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          67  ContinuityCounter pat_continuity_counter_;
          68  ContinuityCounter elementary_stream_continuity_counter_;
          69 
          -
          70  scoped_ptr<ProgramMapTableWriter> pmt_writer_;
          +
          70  std::unique_ptr<ProgramMapTableWriter> pmt_writer_;
          71 
          -
          72  scoped_ptr<File, FileCloser> current_file_;
          +
          72  std::unique_ptr<File, FileCloser> current_file_;
          73 
          74  DISALLOW_COPY_AND_ASSIGN(TsWriter);
          75 };
          @@ -152,9 +152,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          81 #endif // PACKAGER_MEDIA_FORMATS_MP2T_TS_WRITER_H_
          Abstract class holds stream information.
          Definition: stream_info.h:53
          virtual bool NewSegment(const std::string &file_name)
          Definition: ts_writer.cc:199
          -
          void SetProgramMapTableWriterForTesting(scoped_ptr< ProgramMapTableWriter > table_writer)
          Only for testing.
          Definition: ts_writer.cc:250
          +
          virtual bool AddPesPacket(std::unique_ptr< PesPacket > pes_packet)
          Definition: ts_writer.cc:238
          -
          virtual bool AddPesPacket(scoped_ptr< PesPacket > pes_packet)
          Definition: ts_writer.cc:238
          +
          void SetProgramMapTableWriterForTesting(std::unique_ptr< ProgramMapTableWriter > table_writer)
          Only for testing.
          Definition: ts_writer.cc:250
          virtual bool FinalizeSegment()
          Definition: ts_writer.cc:234
          virtual bool Initialize(const StreamInfo &stream_info)
          Definition: ts_writer.cc:165
          @@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/dcd/structshaka_1_1media_1_1mp4_1_1DecodingTime-members.html b/docs/d8/dcd/structshaka_1_1media_1_1mp4_1_1DecodingTime-members.html index 91a28a4015..baf1371176 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 67e2d7ad20..720ad15e24 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 f6df4418c0..d524fd49b6 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 a4d4039fbb..c764eb7f48 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 83a065dbbc..d47dcf2990 100644 --- a/docs/d8/de1/classshaka_1_1SimpleMpdNotifier.html +++ b/docs/d8/de1/classshaka_1_1SimpleMpdNotifier.html @@ -471,7 +471,7 @@ class SimpleMpdNotifierTes diff --git a/docs/d8/de6/webm__crypto__helpers_8h_source.html b/docs/d8/de6/webm__crypto__helpers_8h_source.html index bbbff455a8..4dd0f08df8 100644 --- a/docs/d8/de6/webm__crypto__helpers_8h_source.html +++ b/docs/d8/de6/webm__crypto__helpers_8h_source.html @@ -95,28 +95,27 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          6 #define MEDIA_FORMATS_WEBM_WEBM_CRYPTO_HELPERS_H_
          7 
          8 #include <stdint.h>
          -
          9 
          -
          10 #include "packager/base/memory/scoped_ptr.h"
          -
          11 #include "packager/media/base/decrypt_config.h"
          -
          12 
          -
          13 namespace shaka {
          -
          14 namespace media {
          -
          15 
          -
          24 bool WebMCreateDecryptConfig(const uint8_t* data,
          -
          25  int data_size,
          -
          26  const uint8_t* key_id,
          -
          27  int key_id_size,
          -
          28  scoped_ptr<DecryptConfig>* decrypt_config,
          -
          29  int* data_offset);
          -
          30 
          -
          31 } // namespace media
          -
          32 } // namespace shaka
          -
          33 
          -
          34 #endif // MEDIA_FORMATS_WEBM_WEBM_CRYPT_HELPERS_H_
          +
          9 #include <memory>
          +
          10 #include "packager/media/base/decrypt_config.h"
          +
          11 
          +
          12 namespace shaka {
          +
          13 namespace media {
          +
          14 
          +
          23 bool WebMCreateDecryptConfig(const uint8_t* data,
          +
          24  int data_size,
          +
          25  const uint8_t* key_id,
          +
          26  int key_id_size,
          +
          27  std::unique_ptr<DecryptConfig>* decrypt_config,
          +
          28  int* data_offset);
          +
          29 
          +
          30 } // namespace media
          +
          31 } // namespace shaka
          +
          32 
          +
          33 #endif // MEDIA_FORMATS_WEBM_WEBM_CRYPT_HELPERS_H_
          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 597c76eed7..8334b50118 100644 --- a/docs/d8/deb/classshaka_1_1media_1_1mp2t_1_1EsParser-members.html +++ b/docs/d8/deb/classshaka_1_1media_1_1mp2t_1_1EsParser-members.html @@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/dee/classshaka_1_1media_1_1AudioTimestampHelper-members.html b/docs/d8/dee/classshaka_1_1media_1_1AudioTimestampHelper-members.html index d21ace8c3c..650abef427 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 ffb3fe8f70..2cb6b1f8b0 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 6e1a92d54f..f1fdb7ecbb 100644 --- a/docs/d8/df0/webm_2single__segment__segmenter_8cc_source.html +++ b/docs/d8/df0/webm_2single__segment__segmenter_8cc_source.html @@ -107,8 +107,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          18 
          19 SingleSegmentSegmenter::~SingleSegmentSegmenter() {}
          20 
          -
          21 Status SingleSegmentSegmenter::DoInitialize(scoped_ptr<MkvWriter> writer) {
          -
          22  writer_ = writer.Pass();
          +
          21 Status SingleSegmentSegmenter::DoInitialize(std::unique_ptr<MkvWriter> writer) {
          +
          22  writer_ = std::move(writer);
          23  Status ret = WriteSegmentHeader(0, writer_.get());
          24  init_end_ = writer_->Position() - 1;
          25  seek_head()->set_cluster_pos(init_end_ + 1 - segment_payload_pos());
          @@ -181,7 +181,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/df7/classshaka_1_1media_1_1SegmentTestBase-members.html b/docs/d8/df7/classshaka_1_1media_1_1SegmentTestBase-members.html index ffc75d09a3..be2f6ba827 100644 --- a/docs/d8/df7/classshaka_1_1media_1_1SegmentTestBase-members.html +++ b/docs/d8/df7/classshaka_1_1media_1_1SegmentTestBase-members.html @@ -93,7 +93,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');

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

          - + @@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          CreateAndInitializeSegmenter(const MuxerOptions &options, StreamInfo *info, KeySource *key_source, scoped_ptr< webm::Segmenter > *result) const shaka::media::SegmentTestBaseinlineprotected
          CreateAndInitializeSegmenter(const MuxerOptions &options, StreamInfo *info, KeySource *key_source, std::unique_ptr< webm::Segmenter > *result) const shaka::media::SegmentTestBaseinlineprotected
          CreateMuxerOptions() const shaka::media::SegmentTestBaseprotected
          CreateSample(KeyFrameFlag key_frame_flag, uint64_t duration, SideDataFlag side_data_flag)shaka::media::SegmentTestBaseprotected
          CreateVideoStreamInfo() const shaka::media::SegmentTestBaseprotected
          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 26cca81614..074855d1d1 100644 --- a/docs/d8/dfa/nal__unit__to__byte__stream__converter_8h_source.html +++ b/docs/d8/dfa/nal__unit__to__byte__stream__converter_8h_source.html @@ -147,7 +147,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/d00/structshaka_1_1media_1_1OnMediaEndParameters-members.html b/docs/d9/d00/structshaka_1_1media_1_1OnMediaEndParameters-members.html index 40384aea60..51f83e3d7e 100644 --- a/docs/d9/d00/structshaka_1_1media_1_1OnMediaEndParameters-members.html +++ b/docs/d9/d00/structshaka_1_1media_1_1OnMediaEndParameters-members.html @@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/d01/mp4_2single__segment__segmenter_8h_source.html b/docs/d9/d01/mp4_2single__segment__segmenter_8h_source.html index 94d6341819..c946b04f61 100644 --- a/docs/d9/d01/mp4_2single__segment__segmenter_8h_source.html +++ b/docs/d9/d01/mp4_2single__segment__segmenter_8h_source.html @@ -106,8 +106,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          29  public:
          30  SingleSegmentSegmenter(const MuxerOptions& options,
          -
          31  scoped_ptr<FileType> ftyp,
          -
          32  scoped_ptr<Movie> moov);
          +
          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;
          @@ -119,9 +119,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          44  Status DoFinalize() override;
          45  Status DoFinalizeSegment() override;
          46 
          -
          47  scoped_ptr<SegmentIndex> vod_sidx_;
          +
          47  std::unique_ptr<SegmentIndex> vod_sidx_;
          48  std::string temp_file_name_;
          -
          49  scoped_ptr<File, FileCloser> temp_file_;
          +
          49  std::unique_ptr<File, FileCloser> temp_file_;
          50 
          51  DISALLOW_COPY_AND_ASSIGN(SingleSegmentSegmenter);
          52 };
          @@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/d08/mock__mpd__builder_8h_source.html b/docs/d9/d08/mock__mpd__builder_8h_source.html index 4c99dc9cd2..d219ff134c 100644 --- a/docs/d9/d08/mock__mpd__builder_8h_source.html +++ b/docs/d9/d08/mock__mpd__builder_8h_source.html @@ -180,7 +180,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/d0b/classshaka_1_1media_1_1HlsNotifyMuxerListener-members.html b/docs/d9/d0b/classshaka_1_1media_1_1HlsNotifyMuxerListener-members.html index d8d70197ca..2038392c59 100644 --- a/docs/d9/d0b/classshaka_1_1media_1_1HlsNotifyMuxerListener-members.html +++ b/docs/d9/d0b/classshaka_1_1media_1_1HlsNotifyMuxerListener-members.html @@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/d0c/classshaka_1_1media_1_1RsaPublicKey.html b/docs/d9/d0c/classshaka_1_1media_1_1RsaPublicKey.html index 82b8c80293..286871e394 100644 --- a/docs/d9/d0c/classshaka_1_1media_1_1RsaPublicKey.html +++ b/docs/d9/d0c/classshaka_1_1media_1_1RsaPublicKey.html @@ -218,7 +218,7 @@ Static Public Member Functions diff --git a/docs/d9/d13/classshaka_1_1media_1_1BufferReader.html b/docs/d9/d13/classshaka_1_1media_1_1BufferReader.html index f8a221b2a4..4cde838ea8 100644 --- a/docs/d9/d13/classshaka_1_1media_1_1BufferReader.html +++ b/docs/d9/d13/classshaka_1_1media_1_1BufferReader.html @@ -276,7 +276,7 @@ bool ReadNBytesInto8s diff --git a/docs/d9/d15/key__rotation__fragmenter_8cc_source.html b/docs/d9/d15/key__rotation__fragmenter_8cc_source.html index 4f43cc7c92..bad21e54e1 100644 --- a/docs/d9/d15/key__rotation__fragmenter_8cc_source.html +++ b/docs/d9/d15/key__rotation__fragmenter_8cc_source.html @@ -119,7 +119,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          30  MuxerListener* muxer_listener)
          31  : EncryptingFragmenter(info,
          32  traf,
          -
          33  scoped_ptr<EncryptionKey>(new EncryptionKey()),
          +
          33  std::unique_ptr<EncryptionKey>(new EncryptionKey()),
          34  clear_time,
          35  protection_scheme,
          36  crypt_byte_block,
          @@ -144,7 +144,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          55  int64_t current_crypto_period_index =
          56  traf()->decode_time.decode_time / crypto_period_duration_;
          57  if (current_crypto_period_index != prev_crypto_period_index_) {
          -
          58  scoped_ptr<EncryptionKey> encryption_key(new EncryptionKey());
          +
          58  std::unique_ptr<EncryptionKey> encryption_key(new EncryptionKey());
          59  Status status = encryption_key_source_->GetCryptoPeriodKey(
          60  current_crypto_period_index, track_type_, encryption_key.get());
          61  if (!status.ok())
          @@ -155,7 +155,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          66  return Status(error::INTERNAL_ERROR, "Failed to generate random iv.");
          67  }
          68  }
          -
          69  set_encryption_key(encryption_key.Pass());
          +
          69  set_encryption_key(std::move(encryption_key));
          70  prev_crypto_period_index_ = current_crypto_period_index;
          71  need_to_refresh_encryptor = true;
          72  }
          @@ -230,21 +230,21 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          virtual Status GetCryptoPeriodKey(uint32_t crypto_period_index, TrackType track_type, EncryptionKey *key)=0
          const std::vector< uint8_t > & iv() const
          Definition: aes_cryptor.h:81
          - +
          static bool GenerateRandomIv(FourCC protection_scheme, std::vector< uint8_t > *iv)
          Definition: aes_cryptor.cc:109
          EncryptingFragmenter generates MP4 fragments with sample encrypted.
          - + -
          KeySource is responsible for encryption key acquisition.
          Definition: key_source.h:31
          +
          KeySource is responsible for encryption key acquisition.
          Definition: key_source.h:30
          Status PrepareFragmentForEncryption(bool enable_encryption) override
          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 a4c74ae897..d07d819cae 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 12b9f1c836..86d39a8174 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 d7630bb99e..7f1119e94e 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 @@ -109,9 +109,9 @@ Inheritance diagram for shaka::media::mp4::Segmenter: - - + + @@ -430,7 +430,7 @@ void 

          Public Member Functions

          Segmenter (const MuxerOptions &options, scoped_ptr< FileType > ftyp, scoped_ptr< Movie > moov)
           
          Segmenter (const MuxerOptions &options, std::unique_ptr< FileType > ftyp, std::unique_ptr< Movie > moov)
           
          Status Initialize (const std::vector< MediaStream * > &streams, MuxerListener *muxer_listener, ProgressListener *progress_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds, double crypto_period_duration_in_seconds, FourCC protection_scheme)
           
          Status Finalize ()
          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 967c98c8e4..1d62a5b883 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 5fea4097fb..15cb1168cf 100644 --- a/docs/d9/d3a/classshaka_1_1media_1_1File-members.html +++ b/docs/d9/d3a/classshaka_1_1media_1_1File-members.html @@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/d3b/webm__content__encodings_8h_source.html b/docs/d9/d3b/webm__content__encodings_8h_source.html index f0a2a286fb..562e1f003f 100644 --- a/docs/d9/d3b/webm__content__encodings_8h_source.html +++ b/docs/d9/d3b/webm__content__encodings_8h_source.html @@ -95,91 +95,90 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          6 #define MEDIA_FORMATS_WEBM_WEBM_CONTENT_ENCODINGS_H_
          7 
          8 #include <stdint.h>
          -
          9 #include <string>
          -
          10 
          -
          11 #include "packager/base/memory/scoped_ptr.h"
          -
          12 
          -
          13 namespace shaka {
          -
          14 namespace media {
          -
          15 
          - -
          17  public:
          -
          20 
          -
          21  static const int kOrderInvalid = -1;
          -
          22 
          -
          23  enum Scope {
          -
          24  kScopeInvalid = 0,
          -
          25  kScopeAllFrameContents = 1,
          -
          26  kScopeTrackPrivateData = 2,
          -
          27  kScopeNextContentEncodingData = 4,
          -
          28  kScopeMax = 7,
          -
          29  };
          -
          30 
          -
          31  enum Type {
          -
          32  kTypeInvalid = -1,
          -
          33  kTypeCompression = 0,
          -
          34  kTypeEncryption = 1,
          -
          35  };
          -
          36 
          -
          37  enum EncryptionAlgo {
          -
          38  kEncAlgoInvalid = -1,
          -
          39  kEncAlgoNotEncrypted = 0,
          -
          40  kEncAlgoDes = 1,
          -
          41  kEncAlgo3des = 2,
          -
          42  kEncAlgoTwofish = 3,
          -
          43  kEncAlgoBlowfish = 4,
          -
          44  kEncAlgoAes = 5,
          -
          45  };
          -
          46 
          -
          47  enum CipherMode {
          -
          48  kCipherModeInvalid = 0,
          -
          49  kCipherModeCtr = 1,
          -
          50  };
          -
          51 
          -
          52  ContentEncoding();
          -
          53  ~ContentEncoding();
          -
          54 
          -
          55  int64_t order() const { return order_; }
          -
          56  void set_order(int64_t order) { order_ = order; }
          -
          57 
          -
          58  Scope scope() const { return scope_; }
          -
          59  void set_scope(Scope scope) { scope_ = scope; }
          -
          60 
          -
          61  Type type() const { return type_; }
          -
          62  void set_type(Type type) { type_ = type; }
          -
          63 
          -
          64  EncryptionAlgo encryption_algo() const { return encryption_algo_; }
          -
          65  void set_encryption_algo(EncryptionAlgo encryption_algo) {
          -
          66  encryption_algo_ = encryption_algo;
          -
          67  }
          -
          68 
          -
          69  const std::string& encryption_key_id() const { return encryption_key_id_; }
          -
          70  void SetEncryptionKeyId(const uint8_t* encryption_key_id, int size);
          -
          71 
          -
          72  CipherMode cipher_mode() const { return cipher_mode_; }
          -
          73  void set_cipher_mode(CipherMode mode) { cipher_mode_ = mode; }
          -
          74 
          -
          75  private:
          -
          76  int64_t order_;
          -
          77  Scope scope_;
          -
          78  Type type_;
          -
          79  EncryptionAlgo encryption_algo_;
          -
          80  std::string encryption_key_id_;
          -
          81  CipherMode cipher_mode_;
          -
          82 
          -
          83  DISALLOW_COPY_AND_ASSIGN(ContentEncoding);
          -
          84 };
          -
          85 
          -
          86 } // namespace media
          -
          87 } // namespace shaka
          -
          88 
          -
          89 #endif // MEDIA_FORMATS_WEBM_WEBM_CONTENT_ENCODINGS_H_
          - - +
          9 #include <memory>
          +
          10 #include <string>
          +
          11 
          +
          12 namespace shaka {
          +
          13 namespace media {
          +
          14 
          + +
          16  public:
          +
          19 
          +
          20  static const int kOrderInvalid = -1;
          +
          21 
          +
          22  enum Scope {
          +
          23  kScopeInvalid = 0,
          +
          24  kScopeAllFrameContents = 1,
          +
          25  kScopeTrackPrivateData = 2,
          +
          26  kScopeNextContentEncodingData = 4,
          +
          27  kScopeMax = 7,
          +
          28  };
          +
          29 
          +
          30  enum Type {
          +
          31  kTypeInvalid = -1,
          +
          32  kTypeCompression = 0,
          +
          33  kTypeEncryption = 1,
          +
          34  };
          +
          35 
          +
          36  enum EncryptionAlgo {
          +
          37  kEncAlgoInvalid = -1,
          +
          38  kEncAlgoNotEncrypted = 0,
          +
          39  kEncAlgoDes = 1,
          +
          40  kEncAlgo3des = 2,
          +
          41  kEncAlgoTwofish = 3,
          +
          42  kEncAlgoBlowfish = 4,
          +
          43  kEncAlgoAes = 5,
          +
          44  };
          +
          45 
          +
          46  enum CipherMode {
          +
          47  kCipherModeInvalid = 0,
          +
          48  kCipherModeCtr = 1,
          +
          49  };
          +
          50 
          +
          51  ContentEncoding();
          +
          52  ~ContentEncoding();
          +
          53 
          +
          54  int64_t order() const { return order_; }
          +
          55  void set_order(int64_t order) { order_ = order; }
          +
          56 
          +
          57  Scope scope() const { return scope_; }
          +
          58  void set_scope(Scope scope) { scope_ = scope; }
          +
          59 
          +
          60  Type type() const { return type_; }
          +
          61  void set_type(Type type) { type_ = type; }
          +
          62 
          +
          63  EncryptionAlgo encryption_algo() const { return encryption_algo_; }
          +
          64  void set_encryption_algo(EncryptionAlgo encryption_algo) {
          +
          65  encryption_algo_ = encryption_algo;
          +
          66  }
          +
          67 
          +
          68  const std::string& encryption_key_id() const { return encryption_key_id_; }
          +
          69  void SetEncryptionKeyId(const uint8_t* encryption_key_id, int size);
          +
          70 
          +
          71  CipherMode cipher_mode() const { return cipher_mode_; }
          +
          72  void set_cipher_mode(CipherMode mode) { cipher_mode_ = mode; }
          +
          73 
          +
          74  private:
          +
          75  int64_t order_;
          +
          76  Scope scope_;
          +
          77  Type type_;
          +
          78  EncryptionAlgo encryption_algo_;
          +
          79  std::string encryption_key_id_;
          +
          80  CipherMode cipher_mode_;
          +
          81 
          +
          82  DISALLOW_COPY_AND_ASSIGN(ContentEncoding);
          +
          83 };
          +
          84 
          +
          85 } // namespace media
          +
          86 } // namespace shaka
          +
          87 
          +
          88 #endif // MEDIA_FORMATS_WEBM_WEBM_CONTENT_ENCODINGS_H_
          + + 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 c45e772c99..a23e71b6ef 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 3ea33a332a..7a1ae88597 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 7ff4b0c54a..01ab3a33f3 100644 --- a/docs/d9/d57/classshaka_1_1media_1_1mp4_1_1ChunkInfoIterator.html +++ b/docs/d9/d57/classshaka_1_1media_1_1mp4_1_1ChunkInfoIterator.html @@ -320,7 +320,7 @@ Public Member Functions diff --git a/docs/d9/d66/classshaka_1_1media_1_1mp2t_1_1EsParserAdts-members.html b/docs/d9/d66/classshaka_1_1media_1_1mp2t_1_1EsParserAdts-members.html index ed4cbd9782..b359ecc075 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 62df4d1fb7..a9ea31b151 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 3bf4287b9a..8fe48229aa 100644 --- a/docs/d9/d6a/structshaka_1_1media_1_1H264SliceHeader-members.html +++ b/docs/d9/d6a/structshaka_1_1media_1_1H264SliceHeader-members.html @@ -154,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/d76/ts__muxer_8cc_source.html b/docs/d9/d76/ts__muxer_8cc_source.html index 7236577c67..e42425e3f7 100644 --- a/docs/d9/d76/ts__muxer_8cc_source.html +++ b/docs/d9/d76/ts__muxer_8cc_source.html @@ -155,7 +155,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/d81/classshaka_1_1media_1_1ClosureThread-members.html b/docs/d9/d81/classshaka_1_1media_1_1ClosureThread-members.html index 092a7cf3cd..7f5bf3be11 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 ad7604b293..48afc0a623 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 389ea5dacb..02c0d0d593 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 761dc98526..49c0738d00 100644 --- a/docs/d9/d8c/classshaka_1_1media_1_1AesRequestSigner.html +++ b/docs/d9/d8c/classshaka_1_1media_1_1AesRequestSigner.html @@ -135,7 +135,7 @@ Additional Inherited Members

          Detailed Description

          AesRequestSigner uses AES-CBC signing.

          -

          Definition at line 43 of file request_signer.h.

          +

          Definition at line 44 of file request_signer.h.

          Member Function Documentation

          @@ -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 9db5fad579..7d7018f730 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 a2efbf4bfa..9a353c886b 100644 --- a/docs/d9/d90/text__track_8h_source.html +++ b/docs/d9/d90/text__track_8h_source.html @@ -94,10 +94,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          5 #ifndef MEDIA_BASE_TEXT_TRACK_H_
          6 #define MEDIA_BASE_TEXT_TRACK_H_
          7 
          -
          8 #include <string>
          -
          9 
          -
          10 #include "packager/base/callback.h"
          -
          11 #include "packager/base/memory/scoped_ptr.h"
          +
          8 #include <memory>
          +
          9 #include <string>
          +
          10 
          +
          11 #include "packager/base/callback.h"
          12 #include "packager/base/time/time.h"
          13 
          14 namespace shaka {
          @@ -121,10 +121,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          33  const std::string& settings) = 0;
          34 };
          35 
          -
          36 typedef base::Callback<scoped_ptr<TextTrack>
          -
          37  (TextKind kind,
          -
          38  const std::string& label,
          -
          39  const std::string& language)> AddTextTrackCB;
          +
          36 typedef base::Callback<std::unique_ptr<TextTrack>(TextKind kind,
          +
          37  const std::string& label,
          +
          38  const std::string& language)>
          +
          39  AddTextTrackCB;
          40 
          41 } // namespace media
          42 } // namespace shaka
          @@ -134,7 +134,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/d93/media__stream_8h_source.html b/docs/d9/d93/media__stream_8h_source.html index 1109688739..ec8b5a2d59 100644 --- a/docs/d9/d93/media__stream_8h_source.html +++ b/docs/d9/d93/media__stream_8h_source.html @@ -97,9 +97,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          8 #define MEDIA_BASE_MEDIA_STREAM_H_
          9 
          10 #include <deque>
          -
          11 
          -
          12 #include "packager/base/memory/ref_counted.h"
          -
          13 #include "packager/base/memory/scoped_ptr.h"
          +
          11 #include <memory>
          +
          12 
          +
          13 #include "packager/base/memory/ref_counted.h"
          14 #include "packager/media/base/status.h"
          15 
          16 namespace shaka {
          @@ -170,7 +170,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/da4/stream__descriptor_8h_source.html b/docs/d9/da4/stream__descriptor_8h_source.html index 88a5ebcc7c..5409638b03 100644 --- a/docs/d9/da4/stream__descriptor_8h_source.html +++ b/docs/d9/da4/stream__descriptor_8h_source.html @@ -144,7 +144,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html b/docs/d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html index faeec53d6b..831091e13c 100644 --- a/docs/d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html +++ b/docs/d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html @@ -513,7 +513,7 @@ Additional Inherited Members diff --git a/docs/d9/da6/structshaka_1_1media_1_1Cue-members.html b/docs/d9/da6/structshaka_1_1media_1_1Cue-members.html index 9a313d1c28..b06b412761 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 236b706349..fa7f734eea 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 @@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); 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, scoped_ptr< FileType > ftyp, scoped_ptr< Movie > moov) (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenter + 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 @@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/db2/classshaka_1_1media_1_1mp4_1_1CompositionOffsetIterator-members.html b/docs/d9/db2/classshaka_1_1media_1_1mp4_1_1CompositionOffsetIterator-members.html index ece14047f9..f7febe7d39 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 0a6eb64819..15751cd3d8 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 86b0b7431d..cc3ebf2bfc 100644 --- a/docs/d9/db9/muxer_8cc_source.html +++ b/docs/d9/db9/muxer_8cc_source.html @@ -95,130 +95,132 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          6 
          7 #include "packager/media/base/muxer.h"
          8 
          -
          9 #include "packager/media/base/fourccs.h"
          -
          10 #include "packager/media/base/media_sample.h"
          -
          11 #include "packager/media/base/media_stream.h"
          -
          12 
          -
          13 namespace shaka {
          -
          14 namespace media {
          -
          15 
          -
          16 Muxer::Muxer(const MuxerOptions& options)
          -
          17  : options_(options),
          -
          18  initialized_(false),
          -
          19  encryption_key_source_(NULL),
          -
          20  max_sd_pixels_(0),
          -
          21  clear_lead_in_seconds_(0),
          -
          22  crypto_period_duration_in_seconds_(0),
          -
          23  protection_scheme_(FOURCC_NULL),
          -
          24  cancelled_(false),
          -
          25  clock_(NULL) {}
          -
          26 
          -
          27 Muxer::~Muxer() {}
          +
          9 #include <algorithm>
          +
          10 
          +
          11 #include "packager/media/base/fourccs.h"
          +
          12 #include "packager/media/base/media_sample.h"
          +
          13 #include "packager/media/base/media_stream.h"
          +
          14 
          +
          15 namespace shaka {
          +
          16 namespace media {
          +
          17 
          +
          18 Muxer::Muxer(const MuxerOptions& options)
          +
          19  : options_(options),
          +
          20  initialized_(false),
          +
          21  encryption_key_source_(NULL),
          +
          22  max_sd_pixels_(0),
          +
          23  clear_lead_in_seconds_(0),
          +
          24  crypto_period_duration_in_seconds_(0),
          +
          25  protection_scheme_(FOURCC_NULL),
          +
          26  cancelled_(false),
          +
          27  clock_(NULL) {}
          28 
          -
          29 void Muxer::SetKeySource(KeySource* encryption_key_source,
          -
          30  uint32_t max_sd_pixels,
          -
          31  double clear_lead_in_seconds,
          -
          32  double crypto_period_duration_in_seconds,
          -
          33  FourCC protection_scheme) {
          -
          34  DCHECK(encryption_key_source);
          -
          35  encryption_key_source_ = encryption_key_source;
          -
          36  max_sd_pixels_ = max_sd_pixels;
          -
          37  clear_lead_in_seconds_ = clear_lead_in_seconds;
          -
          38  crypto_period_duration_in_seconds_ = crypto_period_duration_in_seconds;
          -
          39  protection_scheme_ = protection_scheme;
          -
          40 }
          -
          41 
          - -
          43  DCHECK(stream);
          -
          44  stream->Connect(this);
          -
          45  streams_.push_back(stream);
          -
          46 }
          -
          47 
          - -
          49  DCHECK(!streams_.empty());
          -
          50 
          -
          51  Status status;
          -
          52  // Start the streams.
          -
          53  for (std::vector<MediaStream*>::iterator it = streams_.begin();
          -
          54  it != streams_.end();
          -
          55  ++it) {
          -
          56  status = (*it)->Start(MediaStream::kPull);
          -
          57  if (!status.ok())
          -
          58  return status;
          -
          59  }
          -
          60 
          -
          61  uint32_t current_stream_id = 0;
          -
          62  while (status.ok()) {
          -
          63  if (cancelled_)
          -
          64  return Status(error::CANCELLED, "muxer run cancelled");
          -
          65 
          -
          66  scoped_refptr<MediaSample> sample;
          -
          67  status = streams_[current_stream_id]->PullSample(&sample);
          -
          68  if (!status.ok())
          -
          69  break;
          -
          70  status = AddSample(streams_[current_stream_id], sample);
          -
          71 
          -
          72  // Switch to next stream if the current stream is ready for fragmentation.
          -
          73  if (status.error_code() == error::FRAGMENT_FINALIZED) {
          -
          74  current_stream_id = (current_stream_id + 1) % streams_.size();
          -
          75  status.Clear();
          -
          76  }
          -
          77  }
          -
          78  // Finalize the muxer after reaching end of stream.
          -
          79  return status.error_code() == error::END_OF_STREAM ? Finalize() : status;
          -
          80 }
          -
          81 
          -
          82 void Muxer::Cancel() {
          -
          83  cancelled_ = true;
          -
          84 }
          -
          85 
          -
          86 void Muxer::SetMuxerListener(scoped_ptr<MuxerListener> muxer_listener) {
          -
          87  muxer_listener_ = muxer_listener.Pass();
          -
          88 }
          -
          89 
          - -
          91  scoped_ptr<ProgressListener> progress_listener) {
          -
          92  progress_listener_ = progress_listener.Pass();
          -
          93 }
          -
          94 
          -
          95 Status Muxer::AddSample(const MediaStream* stream,
          -
          96  scoped_refptr<MediaSample> sample) {
          -
          97  DCHECK(std::find(streams_.begin(), streams_.end(), stream) != streams_.end());
          -
          98 
          -
          99  if (!initialized_) {
          -
          100  Status status = Initialize();
          -
          101  if (!status.ok())
          -
          102  return status;
          -
          103  initialized_ = true;
          -
          104  }
          -
          105  if (sample->end_of_stream()) {
          -
          106  // EOS sample should be sent only when the sample was pushed from Demuxer
          -
          107  // to Muxer. In this case, there should be only one stream in Muxer.
          -
          108  DCHECK_EQ(1u, streams_.size());
          -
          109  return Finalize();
          -
          110  } else if (sample->is_encrypted()) {
          -
          111  LOG(ERROR) << "Unable to multiplex encrypted media sample";
          -
          112  return Status(error::INTERNAL_ERROR, "Encrypted media sample.");
          -
          113  }
          -
          114  return DoAddSample(stream, sample);
          -
          115 }
          -
          116 
          -
          117 } // namespace media
          -
          118 } // namespace shaka
          - -
          void SetProgressListener(scoped_ptr< ProgressListener > progress_listener)
          Definition: muxer.cc:90
          -
          void SetMuxerListener(scoped_ptr< MuxerListener > muxer_listener)
          Definition: muxer.cc:86
          -
          void AddStream(MediaStream *stream)
          Add video/audio stream.
          Definition: muxer.cc:42
          -
          void SetKeySource(KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds, double crypto_period_duration_in_seconds, FourCC protection_scheme)
          Definition: muxer.cc:29
          -
          Status Run()
          Drive the remuxing from muxer side (pull).
          Definition: muxer.cc:48
          +
          29 Muxer::~Muxer() {}
          +
          30 
          +
          31 void Muxer::SetKeySource(KeySource* encryption_key_source,
          +
          32  uint32_t max_sd_pixels,
          +
          33  double clear_lead_in_seconds,
          +
          34  double crypto_period_duration_in_seconds,
          +
          35  FourCC protection_scheme) {
          +
          36  DCHECK(encryption_key_source);
          +
          37  encryption_key_source_ = encryption_key_source;
          +
          38  max_sd_pixels_ = max_sd_pixels;
          +
          39  clear_lead_in_seconds_ = clear_lead_in_seconds;
          +
          40  crypto_period_duration_in_seconds_ = crypto_period_duration_in_seconds;
          +
          41  protection_scheme_ = protection_scheme;
          +
          42 }
          +
          43 
          + +
          45  DCHECK(stream);
          +
          46  stream->Connect(this);
          +
          47  streams_.push_back(stream);
          +
          48 }
          +
          49 
          + +
          51  DCHECK(!streams_.empty());
          +
          52 
          +
          53  Status status;
          +
          54  // Start the streams.
          +
          55  for (std::vector<MediaStream*>::iterator it = streams_.begin();
          +
          56  it != streams_.end();
          +
          57  ++it) {
          +
          58  status = (*it)->Start(MediaStream::kPull);
          +
          59  if (!status.ok())
          +
          60  return status;
          +
          61  }
          +
          62 
          +
          63  uint32_t current_stream_id = 0;
          +
          64  while (status.ok()) {
          +
          65  if (cancelled_)
          +
          66  return Status(error::CANCELLED, "muxer run cancelled");
          +
          67 
          +
          68  scoped_refptr<MediaSample> sample;
          +
          69  status = streams_[current_stream_id]->PullSample(&sample);
          +
          70  if (!status.ok())
          +
          71  break;
          +
          72  status = AddSample(streams_[current_stream_id], sample);
          +
          73 
          +
          74  // Switch to next stream if the current stream is ready for fragmentation.
          +
          75  if (status.error_code() == error::FRAGMENT_FINALIZED) {
          +
          76  current_stream_id = (current_stream_id + 1) % streams_.size();
          +
          77  status.Clear();
          +
          78  }
          +
          79  }
          +
          80  // Finalize the muxer after reaching end of stream.
          +
          81  return status.error_code() == error::END_OF_STREAM ? Finalize() : status;
          +
          82 }
          +
          83 
          +
          84 void Muxer::Cancel() {
          +
          85  cancelled_ = true;
          +
          86 }
          +
          87 
          +
          88 void Muxer::SetMuxerListener(std::unique_ptr<MuxerListener> muxer_listener) {
          +
          89  muxer_listener_ = std::move(muxer_listener);
          +
          90 }
          +
          91 
          + +
          93  std::unique_ptr<ProgressListener> progress_listener) {
          +
          94  progress_listener_ = std::move(progress_listener);
          +
          95 }
          +
          96 
          +
          97 Status Muxer::AddSample(const MediaStream* stream,
          +
          98  scoped_refptr<MediaSample> sample) {
          +
          99  DCHECK(std::find(streams_.begin(), streams_.end(), stream) != streams_.end());
          +
          100 
          +
          101  if (!initialized_) {
          +
          102  Status status = Initialize();
          +
          103  if (!status.ok())
          +
          104  return status;
          +
          105  initialized_ = true;
          +
          106  }
          +
          107  if (sample->end_of_stream()) {
          +
          108  // EOS sample should be sent only when the sample was pushed from Demuxer
          +
          109  // to Muxer. In this case, there should be only one stream in Muxer.
          +
          110  DCHECK_EQ(1u, streams_.size());
          +
          111  return Finalize();
          +
          112  } else if (sample->is_encrypted()) {
          +
          113  LOG(ERROR) << "Unable to multiplex encrypted media sample";
          +
          114  return Status(error::INTERNAL_ERROR, "Encrypted media sample.");
          +
          115  }
          +
          116  return DoAddSample(stream, sample);
          +
          117 }
          +
          118 
          +
          119 } // namespace media
          +
          120 } // namespace shaka
          + +
          void AddStream(MediaStream *stream)
          Add video/audio stream.
          Definition: muxer.cc:44
          +
          void SetKeySource(KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds, double crypto_period_duration_in_seconds, FourCC protection_scheme)
          Definition: muxer.cc:31
          +
          Status Run()
          Drive the remuxing from muxer side (pull).
          Definition: muxer.cc:50
          void Connect(Muxer *muxer)
          Definition: media_stream.cc:55
          +
          void SetProgressListener(std::unique_ptr< ProgressListener > progress_listener)
          Definition: muxer.cc:92
          -
          KeySource is responsible for encryption key acquisition.
          Definition: key_source.h:31
          +
          KeySource is responsible for encryption key acquisition.
          Definition: key_source.h:30
          +
          void SetMuxerListener(std::unique_ptr< MuxerListener > muxer_listener)
          Definition: muxer.cc:88
          diff --git a/docs/d9/dbd/classshaka_1_1media_1_1MemoryFile.html b/docs/d9/dbd/classshaka_1_1media_1_1MemoryFile.html index 1b3783fee2..df0fdc984f 100644 --- a/docs/d9/dbd/classshaka_1_1media_1_1MemoryFile.html +++ b/docs/d9/dbd/classshaka_1_1media_1_1MemoryFile.html @@ -485,7 +485,7 @@ bool  diff --git a/docs/d9/dc4/classshaka_1_1media_1_1BufferReader-members.html b/docs/d9/dc4/classshaka_1_1media_1_1BufferReader-members.html index 02c06689e3..792cc18730 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 ffe7498206..4203d2c7b1 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 a481c129d0..505b445170 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 cc14e5248b..e7d56ef5db 100644 --- a/docs/d9/dcc/webm__video__client_8h_source.html +++ b/docs/d9/dcc/webm__video__client_8h_source.html @@ -94,10 +94,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          5 #ifndef MEDIA_FORMATS_WEBM_WEBM_VIDEO_CLIENT_H_
          6 #define MEDIA_FORMATS_WEBM_WEBM_VIDEO_CLIENT_H_
          7 
          -
          8 #include <string>
          -
          9 #include <vector>
          -
          10 
          -
          11 #include "packager/base/memory/scoped_ptr.h"
          +
          8 #include <memory>
          +
          9 #include <string>
          +
          10 #include <vector>
          +
          11 
          12 #include "packager/media/base/video_stream_info.h"
          13 #include "packager/media/formats/webm/webm_parser.h"
          14 
          @@ -149,7 +149,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/de3/muxer__listener__internal_8cc_source.html b/docs/d9/de3/muxer__listener__internal_8cc_source.html index e1063742ae..b9bf2e02e0 100644 --- a/docs/d9/de3/muxer__listener__internal_8cc_source.html +++ b/docs/d9/de3/muxer__listener__internal_8cc_source.html @@ -348,7 +348,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/de6/classshaka_1_1media_1_1LocalFile.html b/docs/d9/de6/classshaka_1_1media_1_1LocalFile.html index 1e9325c7d8..07c4956d55 100644 --- a/docs/d9/de6/classshaka_1_1media_1_1LocalFile.html +++ b/docs/d9/de6/classshaka_1_1media_1_1LocalFile.html @@ -502,7 +502,7 @@ bool  diff --git a/docs/d9/dea/classshaka_1_1media_1_1FixedKeySource-members.html b/docs/d9/dea/classshaka_1_1media_1_1FixedKeySource-members.html index 67263350b2..4ef50fb506 100644 --- a/docs/d9/dea/classshaka_1_1media_1_1FixedKeySource-members.html +++ b/docs/d9/dea/classshaka_1_1media_1_1FixedKeySource-members.html @@ -93,7 +93,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');

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

          - + @@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          CreateFromHexStrings(const std::string &key_id_hex, const std::string &key_hex, const std::string &pssh_boxes_hex, const std::string &iv_hex)shaka::media::FixedKeySourcestatic
          CreateFromHexStrings(const std::string &key_id_hex, const std::string &key_hex, const std::string &pssh_boxes_hex, const std::string &iv_hex)shaka::media::FixedKeySourcestatic
          FetchKeys(const std::vector< uint8_t > &pssh_box) overrideshaka::media::FixedKeySourcevirtual
          FetchKeys(const std::vector< std::vector< uint8_t >> &key_ids) overrideshaka::media::FixedKeySourcevirtual
          FetchKeys(uint32_t asset_id) overrideshaka::media::FixedKeySourcevirtual
          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 7421f1a989..0bf511dd5e 100644 --- a/docs/d9/ded/aac__audio__specific__config_8cc_source.html +++ b/docs/d9/ded/aac__audio__specific__config_8cc_source.html @@ -358,7 +358,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/df8/structshaka_1_1media_1_1mp4_1_1TrackFragmentDecodeTime-members.html b/docs/d9/df8/structshaka_1_1media_1_1mp4_1_1TrackFragmentDecodeTime-members.html index 6bffccdbb4..8d48b966af 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 d086ad7de0..f71d36c1c3 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 99b8f8400c..eb5d2bbceb 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 b9cb1a44a6..ddf9785c39 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 0a2d31beb3..ce39655bee 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 78942b4a73..d5cbaf0594 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 6f5ee35514..e236f4cd54 100644 --- a/docs/da/d1c/classshaka_1_1media_1_1mp2t_1_1TsSection.html +++ b/docs/da/d1c/classshaka_1_1media_1_1mp2t_1_1TsSection.html @@ -141,7 +141,7 @@ virtual void Reset ()= diff --git a/docs/da/d22/key__rotation__fragmenter_8h_source.html b/docs/da/d22/key__rotation__fragmenter_8h_source.html index 01b3d3443d..217dbda8d4 100644 --- a/docs/da/d22/key__rotation__fragmenter_8h_source.html +++ b/docs/da/d22/key__rotation__fragmenter_8h_source.html @@ -149,14 +149,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          EncryptingFragmenter generates MP4 fragments with sample encrypted.
          -
          KeySource is responsible for encryption key acquisition.
          Definition: key_source.h:31
          +
          KeySource is responsible for encryption key acquisition.
          Definition: key_source.h:30
          Status PrepareFragmentForEncryption(bool enable_encryption) override
          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 1eaf363933..e5b85503b0 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 @@ -109,9 +109,9 @@ Inheritance diagram for shaka::media::mp2t::EsParserH26x: - - + + @@ -159,7 +159,7 @@ const scoped_refptr
          diff --git a/docs/da/d23/ts__muxer_8h_source.html b/docs/da/d23/ts__muxer_8h_source.html index a08cd4abe5..37d8d1db53 100644 --- a/docs/da/d23/ts__muxer_8h_source.html +++ b/docs/da/d23/ts__muxer_8h_source.html @@ -119,7 +119,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          32  void FireOnMediaStartEvent();
          33  void FireOnMediaEndEvent();
          34 
          -
          35  scoped_ptr<TsSegmenter> segmenter_;
          +
          35  std::unique_ptr<TsSegmenter> segmenter_;
          36 
          37  DISALLOW_COPY_AND_ASSIGN(TsMuxer);
          38 };
          @@ -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 7532511cf2..9f065d7db4 100644 --- a/docs/da/d24/h265__parser_8h_source.html +++ b/docs/da/d24/h265__parser_8h_source.html @@ -97,9 +97,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          8 #define MEDIA_CODECS_H265_PARSER_H_
          9 
          10 #include <map>
          -
          11 #include <vector>
          -
          12 
          -
          13 #include "packager/base/memory/scoped_ptr.h"
          +
          11 #include <memory>
          +
          12 #include <vector>
          +
          13 
          14 #include "packager/media/codecs/h26x_bit_reader.h"
          15 
          16 namespace shaka {
          @@ -450,7 +450,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/d2a/text__stream__info_8h_source.html b/docs/da/d2a/text__stream__info_8h_source.html index 7940dabbd5..7e73e64adf 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 9922926457..b765c89308 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 @@ -108,8 +108,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); - - + + @@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');

          Public Member Functions

          EsParserH26x (Nalu::CodecType type, scoped_ptr< H26xByteToUnitStreamConverter > stream_converter, uint32_t pid, const EmitSampleCB &emit_sample_cb)
           
          EsParserH26x (Nalu::CodecType type, std::unique_ptr< H26xByteToUnitStreamConverter > stream_converter, uint32_t pid, const EmitSampleCB &emit_sample_cb)
           
          bool Parse (const uint8_t *buf, int size, int64_t pts, int64_t dts) override
           
          Run()shaka::media::Muxer
          set_clock(base::Clock *clock)shaka::media::Muxerinline
          SetKeySource(KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds, double crypto_period_duration_in_seconds, FourCC protection_scheme)shaka::media::Muxer
          SetMuxerListener(scoped_ptr< MuxerListener > muxer_listener)shaka::media::Muxer
          SetProgressListener(scoped_ptr< ProgressListener > progress_listener)shaka::media::Muxer
          SetMuxerListener(std::unique_ptr< MuxerListener > muxer_listener)shaka::media::Muxer
          SetProgressListener(std::unique_ptr< ProgressListener > progress_listener)shaka::media::Muxer
          streams() const (defined in shaka::media::Muxer)shaka::media::Muxerinline
          WebMMuxer(const MuxerOptions &options)shaka::media::webm::WebMMuxerexplicit
          ~Muxer() (defined in shaka::media::Muxer)shaka::media::Muxervirtual
          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 49ac56914c..9827bd870c 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 13e966e7a8..b65f4927c1 100644 --- a/docs/da/d41/mp4_2multi__segment__segmenter_8h_source.html +++ b/docs/da/d41/mp4_2multi__segment__segmenter_8h_source.html @@ -107,8 +107,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          32  public:
          33  MultiSegmentSegmenter(const MuxerOptions& options,
          -
          34  scoped_ptr<FileType> ftyp,
          -
          35  scoped_ptr<Movie> moov);
          +
          34  std::unique_ptr<FileType> ftyp,
          +
          35  std::unique_ptr<Movie> moov);
          36  ~MultiSegmentSegmenter() override;
          37 
          40  bool GetInitRange(size_t* offset, size_t* size) override;
          @@ -123,7 +123,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          50  // Write segment to file.
          51  Status WriteSegment();
          52 
          -
          53  scoped_ptr<SegmentType> styp_;
          +
          53  std::unique_ptr<SegmentType> styp_;
          54  uint32_t num_segments_;
          55 
          56  DISALLOW_COPY_AND_ASSIGN(MultiSegmentSegmenter);
          @@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/d43/structshaka_1_1ContentProtectionElement.html b/docs/da/d43/structshaka_1_1ContentProtectionElement.html index c92b4914ea..459e1a864e 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 d4c7ff085d..836755b4ea 100644 --- a/docs/da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html +++ b/docs/da/d4e/classshaka_1_1media_1_1AudioStreamInfo.html @@ -313,7 +313,7 @@ Static Public Member Functions diff --git a/docs/da/d50/structshaka_1_1media_1_1mp4_1_1MovieExtendsHeader.html b/docs/da/d50/structshaka_1_1media_1_1mp4_1_1MovieExtendsHeader.html index 1bb768d765..329a726849 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 8b699a1ece..1cdbc204e2 100644 --- a/docs/da/d53/es__parser__h265_8cc_source.html +++ b/docs/da/d53/es__parser__h265_8cc_source.html @@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          26  const NewStreamInfoCB& new_stream_info_cb,
          27  const EmitSampleCB& emit_sample_cb)
          28  : EsParserH26x(Nalu::kH265,
          -
          29  scoped_ptr<H26xByteToUnitStreamConverter>(
          +
          29  std::unique_ptr<H26xByteToUnitStreamConverter>(
          30  new H265ByteToUnitStreamConverter()),
          31  pid,
          32  emit_sample_cb),
          @@ -256,7 +256,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/d59/structshaka_1_1media_1_1mp4_1_1CompactSampleSize.html b/docs/da/d59/structshaka_1_1media_1_1mp4_1_1CompactSampleSize.html index e7ae283fb7..86f2345e25 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 6836016de6..89af823ae4 100644 --- a/docs/da/d5c/widevine__key__source_8h_source.html +++ b/docs/da/d5c/widevine__key__source_8h_source.html @@ -97,133 +97,132 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          8 #define MEDIA_BASE_WIDEVINE_KEY_SOURCE_H_
          9 
          10 #include <map>
          -
          11 
          -
          12 #include "packager/base/memory/scoped_ptr.h"
          -
          13 #include "packager/base/synchronization/waitable_event.h"
          -
          14 #include "packager/base/values.h"
          -
          15 #include "packager/media/base/closure_thread.h"
          -
          16 #include "packager/media/base/key_source.h"
          -
          17 
          -
          18 namespace shaka {
          -
          19 namespace media {
          -
          20 
          -
          21 const uint8_t kWidevineSystemId[] = {0xed, 0xef, 0x8b, 0xa9, 0x79, 0xd6,
          -
          22  0x4a, 0xce, 0xa3, 0xc8, 0x27, 0xdc,
          -
          23  0xd5, 0x1d, 0x21, 0xed};
          -
          24 
          -
          25 class KeyFetcher;
          -
          26 class RequestSigner;
          -
          27 template <class T> class ProducerConsumerQueue;
          -
          28 
          -
          31 class WidevineKeySource : public KeySource {
          -
          32  public:
          -
          34  WidevineKeySource(const std::string& server_url, bool add_common_pssh);
          -
          35 
          -
          36  ~WidevineKeySource() override;
          -
          37 
          -
          40  Status FetchKeys(const std::vector<uint8_t>& pssh_box) override;
          -
          41  Status FetchKeys(const std::vector<std::vector<uint8_t>>& key_ids) override;
          -
          42  Status FetchKeys(uint32_t asset_id) override;
          -
          43 
          -
          44  Status GetKey(TrackType track_type, EncryptionKey* key) override;
          -
          45  Status GetKey(const std::vector<uint8_t>& key_id,
          -
          46  EncryptionKey* key) override;
          -
          47  Status GetCryptoPeriodKey(uint32_t crypto_period_index,
          -
          48  TrackType track_type,
          -
          49  EncryptionKey* key) override;
          -
          51 
          -
          56  Status FetchKeys(const std::vector<uint8_t>& content_id,
          -
          57  const std::string& policy);
          -
          58 
          -
          61  void set_signer(scoped_ptr<RequestSigner> signer);
          -
          62 
          -
          65  void set_key_fetcher(scoped_ptr<KeyFetcher> key_fetcher);
          -
          66 
          -
          67  protected:
          -
          68  ClosureThread key_production_thread_;
          -
          69 
          -
          70  private:
          -
          71  typedef std::map<TrackType, EncryptionKey*> EncryptionKeyMap;
          -
          72  class RefCountedEncryptionKeyMap;
          - - -
          75 
          -
          76  // Internal routine for getting keys.
          -
          77  Status GetKeyInternal(uint32_t crypto_period_index,
          -
          78  TrackType track_type,
          -
          79  EncryptionKey* key);
          -
          80 
          -
          81  // The closure task to fetch keys repeatedly.
          -
          82  void FetchKeysTask();
          -
          83 
          -
          84  // Fetch keys from server.
          -
          85  Status FetchKeysInternal(bool enable_key_rotation,
          -
          86  uint32_t first_crypto_period_index,
          -
          87  bool widevine_classic);
          -
          88 
          -
          89  // Fill |request| with necessary fields for Widevine encryption request.
          -
          90  // |request| should not be NULL.
          -
          91  void FillRequest(bool enable_key_rotation,
          -
          92  uint32_t first_crypto_period_index,
          -
          93  std::string* request);
          -
          94  // Base64 escape and format the request. Optionally sign the request if a
          -
          95  // signer is provided. |message| should not be NULL. Return OK on success.
          -
          96  Status GenerateKeyMessage(const std::string& request, std::string* message);
          -
          97  // Decode |response| from JSON formatted |raw_response|.
          -
          98  // |response| should not be NULL.
          -
          99  bool DecodeResponse(const std::string& raw_response, std::string* response);
          -
          100  // Extract encryption key from |response|, which is expected to be properly
          -
          101  // formatted. |transient_error| will be set to true if it fails and the
          -
          102  // failure is because of a transient error from the server. |transient_error|
          -
          103  // should not be NULL.
          -
          104  bool ExtractEncryptionKey(bool enable_key_rotation,
          -
          105  bool widevine_classic,
          -
          106  const std::string& response,
          -
          107  bool* transient_error);
          -
          108  // Push the keys to the key pool.
          -
          109  bool PushToKeyPool(EncryptionKeyMap* encryption_key_map);
          -
          110 
          -
          111  // The fetcher object used to fetch keys from the license service.
          -
          112  // It is initialized to a default fetcher on class initialization.
          -
          113  // Can be overridden using set_key_fetcher for testing or other purposes.
          -
          114  scoped_ptr<KeyFetcher> key_fetcher_;
          -
          115  std::string server_url_;
          -
          116  scoped_ptr<RequestSigner> signer_;
          -
          117  base::DictionaryValue request_dict_;
          -
          118 
          -
          119  const uint32_t crypto_period_count_;
          -
          120  base::Lock lock_;
          -
          121  bool add_common_pssh_;
          -
          122  bool key_production_started_;
          -
          123  base::WaitableEvent start_key_production_;
          -
          124  uint32_t first_crypto_period_index_;
          -
          125  scoped_ptr<EncryptionKeyQueue> key_pool_;
          -
          126  EncryptionKeyMap encryption_key_map_; // For non key rotation request.
          -
          127  Status common_encryption_request_status_;
          -
          128 
          -
          129  DISALLOW_COPY_AND_ASSIGN(WidevineKeySource);
          -
          130 };
          -
          131 
          -
          132 } // namespace media
          -
          133 } // namespace shaka
          -
          134 
          -
          135 #endif // MEDIA_BASE_WIDEVINE_KEY_SOURCE_H_
          -
          void set_signer(scoped_ptr< RequestSigner > signer)
          +
          11 #include <memory>
          +
          12 #include "packager/base/synchronization/waitable_event.h"
          +
          13 #include "packager/base/values.h"
          +
          14 #include "packager/media/base/closure_thread.h"
          +
          15 #include "packager/media/base/key_source.h"
          +
          16 
          +
          17 namespace shaka {
          +
          18 namespace media {
          +
          19 
          +
          20 const uint8_t kWidevineSystemId[] = {0xed, 0xef, 0x8b, 0xa9, 0x79, 0xd6,
          +
          21  0x4a, 0xce, 0xa3, 0xc8, 0x27, 0xdc,
          +
          22  0xd5, 0x1d, 0x21, 0xed};
          +
          23 
          +
          24 class KeyFetcher;
          +
          25 class RequestSigner;
          +
          26 template <class T> class ProducerConsumerQueue;
          +
          27 
          +
          30 class WidevineKeySource : public KeySource {
          +
          31  public:
          +
          33  WidevineKeySource(const std::string& server_url, bool add_common_pssh);
          +
          34 
          +
          35  ~WidevineKeySource() override;
          +
          36 
          +
          39  Status FetchKeys(const std::vector<uint8_t>& pssh_box) override;
          +
          40  Status FetchKeys(const std::vector<std::vector<uint8_t>>& key_ids) override;
          +
          41  Status FetchKeys(uint32_t asset_id) override;
          +
          42 
          +
          43  Status GetKey(TrackType track_type, EncryptionKey* key) override;
          +
          44  Status GetKey(const std::vector<uint8_t>& key_id,
          +
          45  EncryptionKey* key) override;
          +
          46  Status GetCryptoPeriodKey(uint32_t crypto_period_index,
          +
          47  TrackType track_type,
          +
          48  EncryptionKey* key) override;
          +
          50 
          +
          55  Status FetchKeys(const std::vector<uint8_t>& content_id,
          +
          56  const std::string& policy);
          +
          57 
          +
          60  void set_signer(std::unique_ptr<RequestSigner> signer);
          +
          61 
          +
          64  void set_key_fetcher(std::unique_ptr<KeyFetcher> key_fetcher);
          +
          65 
          +
          66  protected:
          +
          67  ClosureThread key_production_thread_;
          +
          68 
          +
          69  private:
          +
          70  typedef std::map<TrackType, EncryptionKey*> EncryptionKeyMap;
          +
          71  class RefCountedEncryptionKeyMap;
          + + +
          74 
          +
          75  // Internal routine for getting keys.
          +
          76  Status GetKeyInternal(uint32_t crypto_period_index,
          +
          77  TrackType track_type,
          +
          78  EncryptionKey* key);
          +
          79 
          +
          80  // The closure task to fetch keys repeatedly.
          +
          81  void FetchKeysTask();
          +
          82 
          +
          83  // Fetch keys from server.
          +
          84  Status FetchKeysInternal(bool enable_key_rotation,
          +
          85  uint32_t first_crypto_period_index,
          +
          86  bool widevine_classic);
          +
          87 
          +
          88  // Fill |request| with necessary fields for Widevine encryption request.
          +
          89  // |request| should not be NULL.
          +
          90  void FillRequest(bool enable_key_rotation,
          +
          91  uint32_t first_crypto_period_index,
          +
          92  std::string* request);
          +
          93  // Base64 escape and format the request. Optionally sign the request if a
          +
          94  // signer is provided. |message| should not be NULL. Return OK on success.
          +
          95  Status GenerateKeyMessage(const std::string& request, std::string* message);
          +
          96  // Decode |response| from JSON formatted |raw_response|.
          +
          97  // |response| should not be NULL.
          +
          98  bool DecodeResponse(const std::string& raw_response, std::string* response);
          +
          99  // Extract encryption key from |response|, which is expected to be properly
          +
          100  // formatted. |transient_error| will be set to true if it fails and the
          +
          101  // failure is because of a transient error from the server. |transient_error|
          +
          102  // should not be NULL.
          +
          103  bool ExtractEncryptionKey(bool enable_key_rotation,
          +
          104  bool widevine_classic,
          +
          105  const std::string& response,
          +
          106  bool* transient_error);
          +
          107  // Push the keys to the key pool.
          +
          108  bool PushToKeyPool(EncryptionKeyMap* encryption_key_map);
          +
          109 
          +
          110  // The fetcher object used to fetch keys from the license service.
          +
          111  // It is initialized to a default fetcher on class initialization.
          +
          112  // Can be overridden using set_key_fetcher for testing or other purposes.
          +
          113  std::unique_ptr<KeyFetcher> key_fetcher_;
          +
          114  std::string server_url_;
          +
          115  std::unique_ptr<RequestSigner> signer_;
          +
          116  base::DictionaryValue request_dict_;
          +
          117 
          +
          118  const uint32_t crypto_period_count_;
          +
          119  base::Lock lock_;
          +
          120  bool add_common_pssh_;
          +
          121  bool key_production_started_;
          +
          122  base::WaitableEvent start_key_production_;
          +
          123  uint32_t first_crypto_period_index_;
          +
          124  std::unique_ptr<EncryptionKeyQueue> key_pool_;
          +
          125  EncryptionKeyMap encryption_key_map_; // For non key rotation request.
          +
          126  Status common_encryption_request_status_;
          +
          127 
          +
          128  DISALLOW_COPY_AND_ASSIGN(WidevineKeySource);
          +
          129 };
          +
          130 
          +
          131 } // namespace media
          +
          132 } // namespace shaka
          +
          133 
          +
          134 #endif // MEDIA_BASE_WIDEVINE_KEY_SOURCE_H_
          Status FetchKeys(const std::vector< uint8_t > &pssh_box) override
          Status GetCryptoPeriodKey(uint32_t crypto_period_index, TrackType track_type, EncryptionKey *key) override
          Status GetKey(TrackType track_type, EncryptionKey *key) override
          -
          void set_key_fetcher(scoped_ptr< KeyFetcher > key_fetcher)
          - - + + +
          void set_key_fetcher(std::unique_ptr< KeyFetcher > key_fetcher)
          WidevineKeySource(const std::string &server_url, bool add_common_pssh)
          -
          KeySource is responsible for encryption key acquisition.
          Definition: key_source.h:31
          +
          void set_signer(std::unique_ptr< RequestSigner > signer)
          +
          KeySource is responsible for encryption key acquisition.
          Definition: key_source.h:30
          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 dd76bfa1e8..13aba9f8ca 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 56ade0dd75..e0c3e61750 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 @@ -107,18 +107,18 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); 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, scoped_ptr< FileType > ftyp, scoped_ptr< Movie > moov) (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenter + 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, scoped_ptr< FileType > ftyp, scoped_ptr< Movie > moov) (defined in shaka::media::mp4::SingleSegmentSegmenter)shaka::media::mp4::SingleSegmentSegmenter + 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 d9a3c93020..fbc8a9de28 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 bbaa1c685c..5cf8e5caa1 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 b10483d51b..61d1d08c56 100644 --- a/docs/da/d7a/fixed__key__encryption__flags_8h_source.html +++ b/docs/da/d7a/fixed__key__encryption__flags_8h_source.html @@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/d85/classshaka_1_1media_1_1mp2t_1_1TsSegmenter-members.html b/docs/da/d85/classshaka_1_1media_1_1mp2t_1_1TsSegmenter-members.html index 336ab24c74..017539f478 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 @@ -96,15 +96,15 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); AddSample(scoped_refptr< MediaSample > sample)shaka::media::mp2t::TsSegmenter Finalize()shaka::media::mp2t::TsSegmenter Initialize(const StreamInfo &stream_info, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds)shaka::media::mp2t::TsSegmenter - InjectPesPacketGeneratorForTesting(scoped_ptr< PesPacketGenerator > generator)shaka::media::mp2t::TsSegmenter - InjectTsWriterForTesting(scoped_ptr< TsWriter > writer)shaka::media::mp2t::TsSegmenter + InjectPesPacketGeneratorForTesting(std::unique_ptr< PesPacketGenerator > generator)shaka::media::mp2t::TsSegmenter + InjectTsWriterForTesting(std::unique_ptr< TsWriter > writer)shaka::media::mp2t::TsSegmenter SetTsWriterFileOpenedForTesting(bool value)shaka::media::mp2t::TsSegmenter TsSegmenter(const MuxerOptions &options, MuxerListener *listener)shaka::media::mp2t::TsSegmenter ~TsSegmenter() (defined in shaka::media::mp2t::TsSegmenter)shaka::media::mp2t::TsSegmenter diff --git a/docs/da/d88/mp4__muxer_8cc_source.html b/docs/da/d88/mp4__muxer_8cc_source.html index d2dcf02af8..ef2c72cc54 100644 --- a/docs/da/d88/mp4__muxer_8cc_source.html +++ b/docs/da/d88/mp4__muxer_8cc_source.html @@ -174,8 +174,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          85 Status MP4Muxer::Initialize() {
          86  DCHECK(!streams().empty());
          87 
          -
          88  scoped_ptr<FileType> ftyp(new FileType);
          -
          89  scoped_ptr<Movie> moov(new Movie);
          +
          88  std::unique_ptr<FileType> ftyp(new FileType);
          +
          89  std::unique_ptr<Movie> moov(new Movie);
          90 
          91  ftyp->major_brand = FOURCC_dash;
          92  ftyp->compatible_brands.push_back(FOURCC_iso6);
          @@ -224,11 +224,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          135  }
          136 
          137  if (options().single_segment) {
          -
          138  segmenter_.reset(
          -
          139  new SingleSegmentSegmenter(options(), ftyp.Pass(), moov.Pass()));
          +
          138  segmenter_.reset(new SingleSegmentSegmenter(options(), std::move(ftyp),
          +
          139  std::move(moov)));
          140  } else {
          141  segmenter_.reset(
          -
          142  new MultiSegmentSegmenter(options(), ftyp.Pass(), moov.Pass()));
          +
          142  new MultiSegmentSegmenter(options(), std::move(ftyp), std::move(moov)));
          143  }
          144 
          145  const Status segmenter_initialized = segmenter_->Initialize(
          @@ -496,14 +496,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          MP4Muxer(const MuxerOptions &options)
          Create a MP4Muxer object from MuxerOptions.
          Definition: mp4_muxer.cc:82
          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:180
          +
          static int64_t GetFileSize(const char *file_name)
          Definition: file.cc:177
          virtual void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)=0
          diff --git a/docs/da/d8b/classshaka_1_1media_1_1WebMMediaParser-members.html b/docs/da/d8b/classshaka_1_1media_1_1WebMMediaParser-members.html index d450180a9a..09d023b1f6 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 a831370edd..eaee0b7a03 100644 --- a/docs/da/d8e/container__names_8cc_source.html +++ b/docs/da/d8e/container__names_8cc_source.html @@ -1863,7 +1863,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/d9b/structshaka_1_1media_1_1mp4_1_1CompositionOffset-members.html b/docs/da/d9b/structshaka_1_1media_1_1mp4_1_1CompositionOffset-members.html index 90359dd515..01732be19a 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 60535ac3b9..1d588c6e26 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 83a56d5b7e..e7a102e51b 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 7ecb6a17d1..35323e479b 100644 --- a/docs/da/d9f/classshaka_1_1media_1_1MockMuxerListener-members.html +++ b/docs/da/d9f/classshaka_1_1media_1_1MockMuxerListener-members.html @@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/da1/classshaka_1_1media_1_1mp2t_1_1TsPacket.html b/docs/da/da1/classshaka_1_1media_1_1mp2t_1_1TsPacket.html index de70230d0a..ed82183649 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 e1604bb8d3..c7946c5584 100644 --- a/docs/da/db2/classshaka_1_1Representation-members.html +++ b/docs/da/db2/classshaka_1_1Representation-members.html @@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); kSuppressHeight enum value (defined in shaka::Representation)shaka::Representation kSuppressWidth enum value (defined in shaka::Representation)shaka::Representation MpdBuilderTest (defined in shaka::Representation)shaka::Representationfriend - Representation(const MediaInfo &media_info, const MpdOptions &mpd_options, uint32_t representation_id, scoped_ptr< RepresentationStateChangeListener > state_change_listener)shaka::Representationprotected + Representation(const MediaInfo &media_info, const MpdOptions &mpd_options, uint32_t representation_id, std::unique_ptr< RepresentationStateChangeListener > state_change_listener)shaka::Representationprotected SetSampleDuration(uint32_t sample_duration)shaka::Representationvirtual SuppressFlag enum name (defined in shaka::Representation)shaka::Representation SuppressOnce(SuppressFlag flag)shaka::Representation @@ -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 a7462c9f28..777b58f04a 100644 --- a/docs/da/dbb/structshaka_1_1media_1_1mp4_1_1HandlerReference.html +++ b/docs/da/dbb/structshaka_1_1media_1_1mp4_1_1HandlerReference.html @@ -182,7 +182,7 @@ Additional Inherited Members diff --git a/docs/da/dc3/status_8cc_source.html b/docs/da/dc3/status_8cc_source.html index 2dd4b534b8..aeaf3cda9c 100644 --- a/docs/da/dc3/status_8cc_source.html +++ b/docs/da/dc3/status_8cc_source.html @@ -168,7 +168,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/dc4/structshaka_1_1media_1_1mp4_1_1TrackHeader.html b/docs/da/dc4/structshaka_1_1media_1_1mp4_1_1TrackHeader.html index 2ac0601a03..dce158cfe0 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 d9028992b1..675efaea93 100644 --- a/docs/da/dcb/es__descriptor_8h_source.html +++ b/docs/da/dcb/es__descriptor_8h_source.html @@ -183,7 +183,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/dd0/structshaka_1_1media_1_1mp4_1_1Edit.html b/docs/da/dd0/structshaka_1_1media_1_1mp4_1_1Edit.html index 66244d2930..8cf75d9d24 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 a5336b40cd..4510651f80 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 ffc344acea..8ae126995f 100644 --- a/docs/da/dd1/fragmenter_8h_source.html +++ b/docs/da/dd1/fragmenter_8h_source.html @@ -96,11 +96,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          7 #ifndef MEDIA_FORMATS_MP4_FRAGMENTER_H_
          8 #define MEDIA_FORMATS_MP4_FRAGMENTER_H_
          9 
          -
          10 #include <vector>
          -
          11 
          -
          12 #include "packager/base/logging.h"
          -
          13 #include "packager/base/memory/ref_counted.h"
          -
          14 #include "packager/base/memory/scoped_ptr.h"
          +
          10 #include <memory>
          +
          11 #include <vector>
          +
          12 
          +
          13 #include "packager/base/logging.h"
          +
          14 #include "packager/base/memory/ref_counted.h"
          15 #include "packager/media/base/status.h"
          16 
          17 namespace shaka {
          @@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          93  int64_t presentation_start_time_;
          94  int64_t earliest_presentation_time_;
          95  int64_t first_sap_time_;
          -
          96  scoped_ptr<BufferWriter> data_;
          +
          96  std::unique_ptr<BufferWriter> data_;
          97 
          98  DISALLOW_COPY_AND_ASSIGN(Fragmenter);
          99 };
          @@ -206,7 +206,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/dd2/classshaka_1_1media_1_1mp2t_1_1TsPacket-members.html b/docs/da/dd2/classshaka_1_1media_1_1mp2t_1_1TsPacket-members.html index f0866ead79..ad6f05764f 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 bd0f3af612..8ff55eacd8 100644 --- a/docs/da/dd6/classshaka_1_1media_1_1H264ByteToUnitStreamConverter-members.html +++ b/docs/da/dd6/classshaka_1_1media_1_1H264ByteToUnitStreamConverter-members.html @@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/dd8/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser-members.html b/docs/da/dd8/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser-members.html index 8c0240ebd0..c72428367c 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 7a17a01cdb..0a18ab82e8 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 b65872dec9..b8ac8e3dc6 100644 --- a/docs/da/ddd/classshaka_1_1media_1_1WidevineKeySource.html +++ b/docs/da/ddd/classshaka_1_1media_1_1WidevineKeySource.html @@ -112,10 +112,10 @@ Public Member Functions   Status FetchKeys (const std::vector< uint8_t > &content_id, const std::string &policy)   -void set_signer (scoped_ptr< RequestSigner > signer) -  -void set_key_fetcher (scoped_ptr< KeyFetcher > key_fetcher) -  +void set_signer (std::unique_ptr< RequestSigner > signer) +  +void set_key_fetcher (std::unique_ptr< KeyFetcher > key_fetcher) + 
          KeySource implementation overrides.
          Status FetchKeys (const std::vector< uint8_t > &pssh_box) override   @@ -163,7 +163,7 @@ static std::string 

          Detailed Description

          WidevineKeySource talks to the Widevine encryption service to acquire the encryption keys.

          -

          Definition at line 31 of file widevine_key_source.h.

          +

          Definition at line 30 of file widevine_key_source.h.

          Constructor & Destructor Documentation

          @@ -493,14 +493,14 @@ static std::string  +
          - + @@ -518,14 +518,14 @@ static std::string 
          void shaka::media::WidevineKeySource::set_key_fetcher (scoped_ptr< KeyFetcherstd::unique_ptr< KeyFetcher key_fetcher)
          +
          - + @@ -550,7 +550,7 @@ static std::string 
          void shaka::media::WidevineKeySource::set_signer (scoped_ptr< RequestSignerstd::unique_ptr< RequestSigner signer)
          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 1f8c68f353..d39bfe42c2 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 c49e60e6b8..0d632ea23b 100644 --- a/docs/da/de2/mock__mpd__builder_8cc_source.html +++ b/docs/da/de2/mock__mpd__builder_8cc_source.html @@ -116,14 +116,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          27  : Representation(MediaInfo(),
          28  kDefaultMpdOptions,
          29  representation_id,
          -
          30  scoped_ptr<RepresentationStateChangeListener>()) {}
          +
          30  std::unique_ptr<RepresentationStateChangeListener>()) {}
          31 MockRepresentation::~MockRepresentation() {}
          32 
          33 } // namespace shaka
          diff --git a/docs/da/de4/classshaka_1_1media_1_1WebMClusterParser.html b/docs/da/de4/classshaka_1_1media_1_1WebMClusterParser.html index 455f9b522f..fa1b93635e 100644 --- a/docs/da/de4/classshaka_1_1media_1_1WebMClusterParser.html +++ b/docs/da/de4/classshaka_1_1media_1_1WebMClusterParser.html @@ -365,7 +365,7 @@ The number of bytes parsed on success. diff --git a/docs/da/de6/structshaka_1_1media_1_1mp4_1_1SchemeType-members.html b/docs/da/de6/structshaka_1_1media_1_1mp4_1_1SchemeType-members.html index de94d7a4b1..eac3cf51b4 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 acd4f7bac6..eb9cf856ca 100644 --- a/docs/da/de8/classshaka_1_1media_1_1AudioStreamInfo-members.html +++ b/docs/da/de8/classshaka_1_1media_1_1AudioStreamInfo-members.html @@ -126,7 +126,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          diff --git a/docs/da/de9/structshaka_1_1media_1_1mp4_1_1ProtectionSchemeInfo.html b/docs/da/de9/structshaka_1_1media_1_1mp4_1_1ProtectionSchemeInfo.html index c7408078e5..9b44dc7e3c 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 4589fbfa5a..9dcd9edfb0 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 820752c152..d189daa677 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 95902ff4fc..5a47d4b23d 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 6dd1f27bc9..db80cf12d3 100644 --- a/docs/da/df9/classshaka_1_1media_1_1AesPatternCryptor-members.html +++ b/docs/da/df9/classshaka_1_1media_1_1AesPatternCryptor-members.html @@ -95,7 +95,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); - + @@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          aes_key() const (defined in shaka::media::AesCryptor)shaka::media::AesCryptorinlineprotected
          AesCryptor(ConstantIvFlag constant_iv_flag)shaka::media::AesCryptorexplicit
          AesPatternCryptor(uint8_t crypt_byte_block, uint8_t skip_byte_block, PatternEncryptionMode encryption_mode, ConstantIvFlag constant_iv_flag, scoped_ptr< AesCryptor > cryptor)shaka::media::AesPatternCryptor
          AesPatternCryptor(uint8_t crypt_byte_block, uint8_t skip_byte_block, PatternEncryptionMode encryption_mode, ConstantIvFlag constant_iv_flag, std::unique_ptr< AesCryptor > cryptor)shaka::media::AesPatternCryptor
          ConstantIvFlag enum name (defined in shaka::media::AesCryptor)shaka::media::AesCryptor
          Crypt(const std::vector< uint8_t > &text, std::vector< uint8_t > *crypt_text) (defined in shaka::media::AesCryptor)shaka::media::AesCryptor
          Crypt(const std::string &text, std::string *crypt_text) (defined in shaka::media::AesCryptor)shaka::media::AesCryptor
          diff --git a/docs/db/d05/structshaka_1_1media_1_1H265SliceHeader.html b/docs/db/d05/structshaka_1_1media_1_1H265SliceHeader.html index 3df944808e..e8164be790 100644 --- a/docs/db/d05/structshaka_1_1media_1_1H265SliceHeader.html +++ b/docs/db/d05/structshaka_1_1media_1_1H265SliceHeader.html @@ -236,7 +236,7 @@ std::vector< int > e diff --git a/docs/db/d11/structshaka_1_1media_1_1mp4_1_1CodecConfiguration.html b/docs/db/d11/structshaka_1_1media_1_1mp4_1_1CodecConfiguration.html index f6a213b401..8d4a38b576 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 a4ebbc76d1..2a62e4ba83 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 0de7ac57b9..c899343185 100644 --- a/docs/db/d14/structshaka_1_1media_1_1H264WeightingFactors-members.html +++ b/docs/db/d14/structshaka_1_1media_1_1H264WeightingFactors-members.html @@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d21/structshaka_1_1media_1_1mp4_1_1SubtitleMediaHeader.html b/docs/db/d21/structshaka_1_1media_1_1mp4_1_1SubtitleMediaHeader.html index 46e0ea29c8..aa474e99d1 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 8383f97eb3..bd5a8cecbe 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 @@ -127,10 +127,10 @@ void   void Cancel ()   -void SetMuxerListener (scoped_ptr< MuxerListener > muxer_listener) -  -void SetProgressListener (scoped_ptr< ProgressListener > progress_listener) -  +void SetMuxerListener (std::unique_ptr< MuxerListener > muxer_listener) +  +void SetProgressListener (std::unique_ptr< ProgressListener > progress_listener) +  const std::vector< MediaStream * > & streams () const   @@ -179,7 +179,7 @@ FourCC protection_scheme diff --git a/docs/db/d31/h26x__byte__to__unit__stream__converter_8h_source.html b/docs/db/d31/h26x__byte__to__unit__stream__converter_8h_source.html index 972793b75a..fb5fe786c2 100644 --- a/docs/db/d31/h26x__byte__to__unit__stream__converter_8h_source.html +++ b/docs/db/d31/h26x__byte__to__unit__stream__converter_8h_source.html @@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d31/track__run__iterator_8cc_source.html b/docs/db/d31/track__run__iterator_8cc_source.html index 44140ea509..b4818f2366 100644 --- a/docs/db/d31/track__run__iterator_8cc_source.html +++ b/docs/db/d31/track__run__iterator_8cc_source.html @@ -677,7 +677,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          588  return video_description().sinf.info.track_encryption;
          589 }
          590 
          -
          591 scoped_ptr<DecryptConfig> TrackRunIterator::GetDecryptConfig() {
          +
          591 std::unique_ptr<DecryptConfig> TrackRunIterator::GetDecryptConfig() {
          592  size_t sample_idx = sample_itr_ - run_itr_->samples.begin();
          593  DCHECK_LT(sample_idx, run_itr_->sample_encryption_entries.size());
          594  const SampleEncryptionEntry& sample_encryption_entry =
          @@ -690,7 +690,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          601  if (total_size_of_subsamples != 0 &&
          602  total_size_of_subsamples != static_cast<size_t>(sample_size())) {
          603  LOG(ERROR) << "Incorrect CENC subsample size.";
          -
          604  return scoped_ptr<DecryptConfig>();
          +
          604  return std::unique_ptr<DecryptConfig>();
          605  }
          606 
          607  FourCC protection_scheme = is_audio() ? audio_description().sinf.type.type
          @@ -704,10 +704,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          615  iv = track_encryption().default_constant_iv;
          616  if (iv.empty()) {
          617  LOG(ERROR) << "IV cannot be empty.";
          -
          618  return scoped_ptr<DecryptConfig>();
          +
          618  return std::unique_ptr<DecryptConfig>();
          619  }
          620  }
          -
          621  return scoped_ptr<DecryptConfig>(new DecryptConfig(
          +
          621  return std::unique_ptr<DecryptConfig>(new DecryptConfig(
          622  track_encryption().default_kid, iv, sample_encryption_entry.subsamples,
          623  protection_scheme, track_encryption().default_crypt_byte_block,
          624  track_encryption().default_skip_byte_block));
          @@ -717,7 +717,6 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          628 } // namespace media
          629 } // namespace shaka
          -
          scoped_ptr< DecryptConfig > GetDecryptConfig()
          @@ -748,6 +747,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          bool ParseFromSampleEncryptionData(uint8_t iv_size, std::vector< SampleEncryptionEntry > *sample_encryption_entries) const
          +
          std::unique_ptr< DecryptConfig > GetDecryptConfig()
          @@ -767,7 +767,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d38/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator-members.html b/docs/db/d38/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator-members.html index 53db58c14b..c56d655f41 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 @@ -94,18 +94,18 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');

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

          - + - +
          Flush()shaka::media::mp2t::PesPacketGeneratorvirtual
          GetNextPesPacket()shaka::media::mp2t::PesPacketGeneratorvirtual
          GetNextPesPacket()shaka::media::mp2t::PesPacketGeneratorvirtual
          Initialize(const StreamInfo &stream)shaka::media::mp2t::PesPacketGeneratorvirtual
          NumberOfReadyPesPackets()shaka::media::mp2t::PesPacketGeneratorvirtual
          PesPacketGenerator() (defined in shaka::media::mp2t::PesPacketGenerator)shaka::media::mp2t::PesPacketGenerator
          PesPacketGeneratorTest (defined in shaka::media::mp2t::PesPacketGenerator)shaka::media::mp2t::PesPacketGeneratorfriend
          PushSample(scoped_refptr< MediaSample > sample)shaka::media::mp2t::PesPacketGeneratorvirtual
          SetEncryptionKey(scoped_ptr< EncryptionKey > encryption_key)shaka::media::mp2t::PesPacketGeneratorvirtual
          SetEncryptionKey(std::unique_ptr< EncryptionKey > encryption_key)shaka::media::mp2t::PesPacketGeneratorvirtual
          ~PesPacketGenerator() (defined in shaka::media::mp2t::PesPacketGenerator)shaka::media::mp2t::PesPacketGeneratorvirtual
          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 42e39a585e..5f5c59cf8c 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 3ebce34c10..c10655fb8b 100644 --- a/docs/db/d45/mpd__notify__muxer__listener_8h_source.html +++ b/docs/db/d45/mpd__notify__muxer__listener_8h_source.html @@ -99,10 +99,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          10 #define MEDIA_EVENT_MPD_NOTIFY_MUXER_LISTENER_H_
          11 
          12 #include <list>
          -
          13 #include <vector>
          -
          14 
          -
          15 #include "packager/base/compiler_specific.h"
          -
          16 #include "packager/base/memory/scoped_ptr.h"
          +
          13 #include <memory>
          +
          14 #include <vector>
          +
          15 
          +
          16 #include "packager/base/macros.h"
          17 #include "packager/media/base/muxer_options.h"
          18 #include "packager/media/event/muxer_listener.h"
          19 
          @@ -153,7 +153,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          69 
          70  MpdNotifier* const mpd_notifier_;
          71  uint32_t notification_id_;
          -
          72  scoped_ptr<MediaInfo> media_info_;
          +
          72  std::unique_ptr<MediaInfo> media_info_;
          73 
          74  bool is_encrypted_;
          75  // Storage for values passed to OnEncryptionInfoReady().
          @@ -189,7 +189,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d4b/classshaka_1_1MockAdaptationSet.html b/docs/db/d4b/classshaka_1_1MockAdaptationSet.html index 6eb73d55f9..16f3b256e4 100644 --- a/docs/db/d4b/classshaka_1_1MockAdaptationSet.html +++ b/docs/db/d4b/classshaka_1_1MockAdaptationSet.html @@ -183,7 +183,7 @@ Additional Inherited Members diff --git a/docs/db/d4e/classshaka_1_1media_1_1mp4_1_1CompositionOffsetIterator.html b/docs/db/d4e/classshaka_1_1media_1_1mp4_1_1CompositionOffsetIterator.html index b65174775d..3e9251c0fd 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 d13c4dc8a1..7c92ebe129 100644 --- a/docs/db/d51/mp2t__media__parser_8h_source.html +++ b/docs/db/d51/mp2t__media__parser_8h_source.html @@ -96,104 +96,103 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          7 
          8 #include <deque>
          9 #include <map>
          -
          10 
          -
          11 #include "packager/base/compiler_specific.h"
          +
          10 #include <memory>
          +
          11 
          12 #include "packager/base/memory/ref_counted.h"
          -
          13 #include "packager/base/memory/scoped_ptr.h"
          -
          14 #include "packager/media/base/byte_queue.h"
          -
          15 #include "packager/media/base/media_parser.h"
          -
          16 #include "packager/media/base/stream_info.h"
          -
          17 
          -
          18 namespace shaka {
          -
          19 namespace media {
          -
          20 
          -
          21 class MediaSample;
          -
          22 
          -
          23 namespace mp2t {
          -
          24 
          -
          25 class PidState;
          -
          26 class TsPacket;
          -
          27 class TsSection;
          -
          28 
          -
          29 typedef std::deque<scoped_refptr<MediaSample> > SampleQueue;
          -
          30 
          -
          31 class Mp2tMediaParser : public MediaParser {
          -
          32  public:
          - -
          34  ~Mp2tMediaParser() override;
          -
          35 
          -
          38  void Init(const InitCB& init_cb,
          -
          39  const NewSampleCB& new_sample_cb,
          -
          40  KeySource* decryption_key_source) override;
          -
          41  bool Flush() override WARN_UNUSED_RESULT;
          -
          42  bool Parse(const uint8_t* buf, int size) override WARN_UNUSED_RESULT;
          -
          44 
          -
          45  private:
          -
          46  typedef std::map<int, PidState*> PidMap;
          -
          47 
          -
          48  // Callback invoked to register a Program Map Table.
          -
          49  // Note: Does nothing if the PID is already registered.
          -
          50  void RegisterPmt(int program_number, int pmt_pid);
          -
          51 
          -
          52  // Callback invoked to register a PES pid.
          -
          53  // Possible values for |media_type| are defined in:
          -
          54  // ISO-13818.1 / ITU H.222 Table 2.34 "Media type assignments".
          -
          55  // |pes_pid| is part of the Program Map Table refered by |pmt_pid|.
          -
          56  void RegisterPes(int pmt_pid, int pes_pid, int media_type);
          -
          57 
          -
          58  // Callback invoked each time the audio/video decoder configuration is
          -
          59  // changed.
          -
          60  void OnNewStreamInfo(const scoped_refptr<StreamInfo>& new_stream_info);
          -
          61 
          -
          62  // Callback invoked by the ES media parser
          -
          63  // to emit a new audio/video access unit.
          -
          64  void OnEmitSample(uint32_t pes_pid,
          -
          65  const scoped_refptr<MediaSample>& new_sample);
          -
          66 
          -
          67  // Invoke the initialization callback if needed.
          -
          68  bool FinishInitializationIfNeeded();
          -
          69 
          -
          70  bool EmitRemainingSamples();
          -
          71 
          -
          74  void set_sbr_in_mime_type(bool sbr_in_mimetype) {
          -
          75  sbr_in_mimetype_ = sbr_in_mimetype; }
          -
          76 
          -
          77  // List of callbacks.
          -
          78  InitCB init_cb_;
          -
          79  NewSampleCB new_sample_cb_;
          -
          80 
          -
          81  bool sbr_in_mimetype_;
          -
          82 
          -
          83  // Bytes of the TS media.
          -
          84  ByteQueue ts_byte_queue_;
          -
          85 
          -
          86  // List of PIDs and their states.
          -
          87  PidMap pids_;
          -
          88 
          -
          89  // Whether |init_cb_| has been invoked.
          -
          90  bool is_initialized_;
          -
          91 
          -
          92  DISALLOW_COPY_AND_ASSIGN(Mp2tMediaParser);
          -
          93 };
          -
          94 
          -
          95 } // namespace mp2t
          -
          96 } // namespace media
          -
          97 } // namespace shaka
          -
          98 
          -
          99 #endif
          - -
          base::Callback< void(const std::vector< scoped_refptr< StreamInfo > > &stream_info)> InitCB
          Definition: media_parser.h:35
          -
          void Init(const InitCB &init_cb, const NewSampleCB &new_sample_cb, KeySource *decryption_key_source) override
          - -
          bool Flush() override WARN_UNUSED_RESULT
          -
          base::Callback< bool(uint32_t track_id, const scoped_refptr< MediaSample > &media_sample)> NewSampleCB
          Definition: media_parser.h:44
          - -
          KeySource is responsible for encryption key acquisition.
          Definition: key_source.h:31
          -
          bool Parse(const uint8_t *buf, int size) override WARN_UNUSED_RESULT
          +
          13 #include "packager/media/base/byte_queue.h"
          +
          14 #include "packager/media/base/media_parser.h"
          +
          15 #include "packager/media/base/stream_info.h"
          +
          16 
          +
          17 namespace shaka {
          +
          18 namespace media {
          +
          19 
          +
          20 class MediaSample;
          +
          21 
          +
          22 namespace mp2t {
          +
          23 
          +
          24 class PidState;
          +
          25 class TsPacket;
          +
          26 class TsSection;
          +
          27 
          +
          28 typedef std::deque<scoped_refptr<MediaSample> > SampleQueue;
          +
          29 
          +
          30 class Mp2tMediaParser : public MediaParser {
          +
          31  public:
          + +
          33  ~Mp2tMediaParser() override;
          +
          34 
          +
          37  void Init(const InitCB& init_cb,
          +
          38  const NewSampleCB& new_sample_cb,
          +
          39  KeySource* decryption_key_source) override;
          +
          40  bool Flush() override WARN_UNUSED_RESULT;
          +
          41  bool Parse(const uint8_t* buf, int size) override WARN_UNUSED_RESULT;
          +
          43 
          +
          44  private:
          +
          45  typedef std::map<int, PidState*> PidMap;
          +
          46 
          +
          47  // Callback invoked to register a Program Map Table.
          +
          48  // Note: Does nothing if the PID is already registered.
          +
          49  void RegisterPmt(int program_number, int pmt_pid);
          +
          50 
          +
          51  // Callback invoked to register a PES pid.
          +
          52  // Possible values for |media_type| are defined in:
          +
          53  // ISO-13818.1 / ITU H.222 Table 2.34 "Media type assignments".
          +
          54  // |pes_pid| is part of the Program Map Table refered by |pmt_pid|.
          +
          55  void RegisterPes(int pmt_pid, int pes_pid, int media_type);
          +
          56 
          +
          57  // Callback invoked each time the audio/video decoder configuration is
          +
          58  // changed.
          +
          59  void OnNewStreamInfo(const scoped_refptr<StreamInfo>& new_stream_info);
          +
          60 
          +
          61  // Callback invoked by the ES media parser
          +
          62  // to emit a new audio/video access unit.
          +
          63  void OnEmitSample(uint32_t pes_pid,
          +
          64  const scoped_refptr<MediaSample>& new_sample);
          +
          65 
          +
          66  // Invoke the initialization callback if needed.
          +
          67  bool FinishInitializationIfNeeded();
          +
          68 
          +
          69  bool EmitRemainingSamples();
          +
          70 
          +
          73  void set_sbr_in_mime_type(bool sbr_in_mimetype) {
          +
          74  sbr_in_mimetype_ = sbr_in_mimetype; }
          +
          75 
          +
          76  // List of callbacks.
          +
          77  InitCB init_cb_;
          +
          78  NewSampleCB new_sample_cb_;
          +
          79 
          +
          80  bool sbr_in_mimetype_;
          +
          81 
          +
          82  // Bytes of the TS media.
          +
          83  ByteQueue ts_byte_queue_;
          +
          84 
          +
          85  // List of PIDs and their states.
          +
          86  PidMap pids_;
          +
          87 
          +
          88  // Whether |init_cb_| has been invoked.
          +
          89  bool is_initialized_;
          +
          90 
          +
          91  DISALLOW_COPY_AND_ASSIGN(Mp2tMediaParser);
          +
          92 };
          +
          93 
          +
          94 } // namespace mp2t
          +
          95 } // namespace media
          +
          96 } // namespace shaka
          +
          97 
          +
          98 #endif
          + +
          base::Callback< void(const std::vector< scoped_refptr< StreamInfo > > &stream_info)> InitCB
          Definition: media_parser.h:34
          +
          void Init(const InitCB &init_cb, const NewSampleCB &new_sample_cb, KeySource *decryption_key_source) override
          + +
          bool Flush() override WARN_UNUSED_RESULT
          +
          base::Callback< bool(uint32_t track_id, const scoped_refptr< MediaSample > &media_sample)> NewSampleCB
          Definition: media_parser.h:43
          + +
          KeySource is responsible for encryption key acquisition.
          Definition: key_source.h:30
          +
          bool Parse(const uint8_t *buf, int size) override WARN_UNUSED_RESULT
          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 d386cb8650..73121e5310 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 @@ -96,56 +96,55 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          7 #ifndef MEDIA_FORMATS_WEBM_TWO_PASS_SINGLE_SEGMENT_SEGMENTER_H_
          8 #define MEDIA_FORMATS_WEBM_TWO_PASS_SINGLE_SEGMENT_SEGMENTER_H_
          9 
          -
          10 #include <string>
          -
          11 
          -
          12 #include "packager/media/formats/webm/single_segment_segmenter.h"
          -
          13 
          -
          14 #include "packager/base/memory/scoped_ptr.h"
          -
          15 #include "packager/media/base/status.h"
          -
          16 #include "packager/media/formats/webm/mkv_writer.h"
          -
          17 
          -
          18 namespace shaka {
          -
          19 namespace media {
          -
          20 
          -
          21 struct MuxerOptions;
          -
          22 
          -
          23 namespace webm {
          -
          24 
          - -
          28  public:
          -
          29  explicit TwoPassSingleSegmentSegmenter(const MuxerOptions& options);
          - -
          31 
          -
          32  // Segmenter implementation overrides.
          -
          33  Status DoInitialize(scoped_ptr<MkvWriter> writer) override;
          -
          34  Status DoFinalize() override;
          -
          35 
          -
          36  private:
          -
          41  bool CopyFileWithClusterRewrite(File* source,
          -
          42  MkvWriter* dest,
          -
          43  uint64_t last_size);
          -
          44 
          -
          45  scoped_ptr<MkvWriter> real_writer_;
          -
          46  std::string temp_file_name_;
          -
          47 
          -
          48  DISALLOW_COPY_AND_ASSIGN(TwoPassSingleSegmentSegmenter);
          -
          49 };
          -
          50 
          -
          51 } // namespace webm
          -
          52 } // namespace media
          -
          53 } // namespace shaka
          -
          54 
          -
          55 #endif // MEDIA_FORMATS_WEBM_TWO_PASS_SINGLE_SEGMENT_SEGMENTER_H_
          +
          10 #include <memory>
          +
          11 #include <string>
          +
          12 
          +
          13 #include "packager/media/base/status.h"
          +
          14 #include "packager/media/formats/webm/mkv_writer.h"
          +
          15 #include "packager/media/formats/webm/single_segment_segmenter.h"
          +
          16 
          +
          17 namespace shaka {
          +
          18 namespace media {
          +
          19 
          +
          20 struct MuxerOptions;
          +
          21 
          +
          22 namespace webm {
          +
          23 
          + +
          27  public:
          +
          28  explicit TwoPassSingleSegmentSegmenter(const MuxerOptions& options);
          + +
          30 
          +
          31  // Segmenter implementation overrides.
          +
          32  Status DoInitialize(std::unique_ptr<MkvWriter> writer) override;
          +
          33  Status DoFinalize() override;
          +
          34 
          +
          35  private:
          +
          40  bool CopyFileWithClusterRewrite(File* source,
          +
          41  MkvWriter* dest,
          +
          42  uint64_t last_size);
          +
          43 
          +
          44  std::unique_ptr<MkvWriter> real_writer_;
          +
          45  std::string temp_file_name_;
          +
          46 
          +
          47  DISALLOW_COPY_AND_ASSIGN(TwoPassSingleSegmentSegmenter);
          +
          48 };
          +
          49 
          +
          50 } // namespace webm
          +
          51 } // namespace media
          +
          52 } // namespace shaka
          +
          53 
          +
          54 #endif // MEDIA_FORMATS_WEBM_TWO_PASS_SINGLE_SEGMENT_SEGMENTER_H_
          Define an abstract file interface.
          Definition: file.h:24
          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
          - + diff --git a/docs/db/d5a/classshaka_1_1media_1_1VP9Parser.html b/docs/db/d5a/classshaka_1_1media_1_1VP9Parser.html index 03915dfa1d..ceeb4d781e 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 37788dc945..56f9002774 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 3c7afcf47f..4a13d3c50b 100644 --- a/docs/db/d64/webvtt__media__parser_8h_source.html +++ b/docs/db/d64/webvtt__media__parser_8h_source.html @@ -170,18 +170,18 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          84 
          85 #endif // MEDIA_FORMATS_WEBVTT_WEBVTT_MEDIA_PARSER_H_
          void Init(const InitCB &init_cb, const NewSampleCB &new_sample_cb, KeySource *decryption_key_source) override
          - + -
          base::Callback< void(const std::vector< scoped_refptr< StreamInfo > > &stream_info)> InitCB
          Definition: media_parser.h:35
          +
          base::Callback< void(const std::vector< scoped_refptr< StreamInfo > > &stream_info)> InitCB
          Definition: media_parser.h:34
          bool Parse(const uint8_t *buf, int size) override WARN_UNUSED_RESULT
          bool Flush() override WARN_UNUSED_RESULT
          -
          base::Callback< bool(uint32_t track_id, const scoped_refptr< MediaSample > &media_sample)> NewSampleCB
          Definition: media_parser.h:44
          -
          KeySource is responsible for encryption key acquisition.
          Definition: key_source.h:31
          +
          base::Callback< bool(uint32_t track_id, const scoped_refptr< MediaSample > &media_sample)> NewSampleCB
          Definition: media_parser.h:43
          +
          KeySource is responsible for encryption key acquisition.
          Definition: key_source.h:30
          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 0dd553f782..ce2cb19f03 100644 --- a/docs/db/d66/structshaka_1_1media_1_1mp4_1_1SegmentType-members.html +++ b/docs/db/d66/structshaka_1_1media_1_1mp4_1_1SegmentType-members.html @@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d71/http__key__fetcher_8h_source.html b/docs/db/d71/http__key__fetcher_8h_source.html index ba674172e8..3681613bd3 100644 --- a/docs/db/d71/http__key__fetcher_8h_source.html +++ b/docs/db/d71/http__key__fetcher_8h_source.html @@ -150,7 +150,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d74/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord-members.html b/docs/db/d74/classshaka_1_1media_1_1HEVCDecoderConfigurationRecord-members.html index ef42bb1ebc..f324b9d1d1 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 cb1a26757a..1f8c97b974 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 @@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); cluster_length_sec() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected cues() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected DoFinalize() override (defined in shaka::media::webm::TwoPassSingleSegmentSegmenter)shaka::media::webm::TwoPassSingleSegmentSegmentervirtual - DoInitialize(scoped_ptr< MkvWriter > writer) override (defined in shaka::media::webm::TwoPassSingleSegmentSegmenter)shaka::media::webm::TwoPassSingleSegmentSegmentervirtual + DoInitialize(std::unique_ptr< MkvWriter > writer) override (defined in shaka::media::webm::TwoPassSingleSegmentSegmenter)shaka::media::webm::TwoPassSingleSegmentSegmentervirtual Finalize()shaka::media::webm::Segmenter FromBMFFTimescale(uint64_t time_timescale)shaka::media::webm::Segmenterprotected FromWebMTimecode(uint64_t time_webm_timecode)shaka::media::webm::Segmenterprotected @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); 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 - Initialize(scoped_ptr< MkvWriter > writer, StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds)shaka::media::webm::Segmenter + Initialize(std::unique_ptr< MkvWriter > writer, StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds)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 @@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); 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(scoped_ptr< MkvWriter > writer) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected + 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 @@ -130,7 +130,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d78/classshaka_1_1media_1_1mp2t_1_1ContinuityCounter-members.html b/docs/db/d78/classshaka_1_1media_1_1mp2t_1_1ContinuityCounter-members.html index d4a88f0796..378efb25cf 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 3a0c996b6c..1abd0b3763 100644 --- a/docs/db/d7e/muxer__options_8cc_source.html +++ b/docs/db/d7e/muxer__options_8cc_source.html @@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d84/classshaka_1_1media_1_1AACAudioSpecificConfig-members.html b/docs/db/d84/classshaka_1_1media_1_1AACAudioSpecificConfig-members.html index 9c4ba00ad0..21878dff35 100644 --- a/docs/db/d84/classshaka_1_1media_1_1AACAudioSpecificConfig-members.html +++ b/docs/db/d84/classshaka_1_1media_1_1AACAudioSpecificConfig-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d86/classshaka_1_1media_1_1NaluReader.html b/docs/db/d86/classshaka_1_1media_1_1NaluReader.html index cfd808a315..02801c5836 100644 --- a/docs/db/d86/classshaka_1_1media_1_1NaluReader.html +++ b/docs/db/d86/classshaka_1_1media_1_1NaluReader.html @@ -228,7 +228,7 @@ static bool FindStartCode< diff --git a/docs/db/d8f/mp4__muxer_8h_source.html b/docs/db/d8f/mp4__muxer_8h_source.html index 20b36fa358..9e2a95c924 100644 --- a/docs/db/d8f/mp4__muxer_8h_source.html +++ b/docs/db/d8f/mp4__muxer_8h_source.html @@ -150,7 +150,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
          64  // Get time in seconds since midnight, Jan. 1, 1904, in UTC Time.
          65  uint64_t IsoTimeNow();
          66 
          -
          67  scoped_ptr<Segmenter> segmenter_;
          +
          67  std::unique_ptr<Segmenter> segmenter_;
          68 
          69  DISALLOW_COPY_AND_ASSIGN(MP4Muxer);
          70 };
          @@ -173,7 +173,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d94/classshaka_1_1media_1_1ClusterBuilder.html b/docs/db/d94/classshaka_1_1media_1_1ClusterBuilder.html index f23e24b20e..7265e0d9d7 100644 --- a/docs/db/d94/classshaka_1_1media_1_1ClusterBuilder.html +++ b/docs/db/d94/classshaka_1_1media_1_1ClusterBuilder.html @@ -108,16 +108,16 @@ void AddBlockGroup (in void AddBlockGroupWithoutBlockDuration (int track_num, int64_t timecode, int flags, bool is_key_frame, const uint8_t *data, int size)   - -scoped_ptr< ClusterFinish () -  - -scoped_ptr< ClusterFinishWithUnknownSize () -  + +std::unique_ptr< ClusterFinish () +  + +std::unique_ptr< ClusterFinishWithUnknownSize () + 

          Detailed Description

          -

          Definition at line 29 of file cluster_builder.h.

          +

          Definition at line 31 of file cluster_builder.h.


          The documentation for this class was generated from the following files:
          • media/formats/webm/cluster_builder.h
          • media/formats/webm/cluster_builder.cc
          • @@ -125,7 +125,7 @@ scoped_ptr< diff --git a/docs/db/d95/classshaka_1_1media_1_1mp4_1_1Fragmenter.html b/docs/db/d95/classshaka_1_1media_1_1mp4_1_1Fragmenter.html index 53c7f3744b..05c27b9673 100644 --- a/docs/db/d95/classshaka_1_1media_1_1mp4_1_1Fragmenter.html +++ b/docs/db/d95/classshaka_1_1media_1_1mp4_1_1Fragmenter.html @@ -339,7 +339,7 @@ template<typename T > diff --git a/docs/db/d95/structshaka_1_1media_1_1mp4_1_1ChunkLargeOffset.html b/docs/db/d95/structshaka_1_1media_1_1mp4_1_1ChunkLargeOffset.html index ca6e5eb85d..e2347881e5 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 93e0a8f6e7..e70f108173 100644 --- a/docs/db/d96/wvm__media__parser_8h_source.html +++ b/docs/db/d96/wvm__media__parser_8h_source.html @@ -97,11 +97,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            8 
            9 #include <deque>
            10 #include <map>
            -
            11 #include <string>
            -
            12 #include <vector>
            -
            13 
            -
            14 #include "packager/base/compiler_specific.h"
            -
            15 #include "packager/base/memory/scoped_ptr.h"
            +
            11 #include <memory>
            +
            12 #include <string>
            +
            13 #include <vector>
            +
            14 
            +
            15 #include "packager/base/compiler_specific.h"
            16 #include "packager/media/base/media_parser.h"
            17 #include "packager/media/base/network_util.h"
            18 #include "packager/media/codecs/h264_byte_to_unit_stream_converter.h"
            @@ -338,7 +338,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            252  std::deque<DemuxStreamIdMediaSample> media_sample_queue_;
            253  std::vector<uint8_t> sample_data_;
            254  KeySource* decryption_key_source_;
            -
            255  scoped_ptr<AesCbcDecryptor> content_decryptor_;
            +
            255  std::unique_ptr<AesCbcDecryptor> content_decryptor_;
            256 
            257  DISALLOW_COPY_AND_ASSIGN(WvmMediaParser);
            258 };
            @@ -348,22 +348,22 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            262 } // namespace shaka
            263 
            264 #endif // MEDIA_FORMATS_WVM_WVM_MEDIA_PARSER_H_
            - +
            void Init(const InitCB &init_cb, const NewSampleCB &new_sample_cb, KeySource *decryption_key_source) override
            bool Flush() override WARN_UNUSED_RESULT
            -
            base::Callback< void(const std::vector< scoped_refptr< StreamInfo > > &stream_info)> InitCB
            Definition: media_parser.h:35
            - +
            base::Callback< void(const std::vector< scoped_refptr< StreamInfo > > &stream_info)> InitCB
            Definition: media_parser.h:34
            +
            bool Parse(const uint8_t *buf, int size) override WARN_UNUSED_RESULT
            -
            base::Callback< bool(uint32_t track_id, const scoped_refptr< MediaSample > &media_sample)> NewSampleCB
            Definition: media_parser.h:44
            -
            KeySource is responsible for encryption key acquisition.
            Definition: key_source.h:31
            +
            base::Callback< bool(uint32_t track_id, const scoped_refptr< MediaSample > &media_sample)> NewSampleCB
            Definition: media_parser.h:43
            +
            KeySource is responsible for encryption key acquisition.
            Definition: key_source.h:30
            diff --git a/docs/db/da4/classBandwidthEstimator-members.html b/docs/db/da4/classBandwidthEstimator-members.html index b3c23e0978..2c9a74b3d7 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 84d345dcd8..9d3763f230 100644 --- a/docs/db/da6/memory__file_8h_source.html +++ b/docs/db/da6/memory__file_8h_source.html @@ -154,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/dab/classshaka_1_1media_1_1TextStreamInfo.html b/docs/db/dab/classshaka_1_1media_1_1TextStreamInfo.html index b1a666c15b..309bfab269 100644 --- a/docs/db/dab/classshaka_1_1media_1_1TextStreamInfo.html +++ b/docs/db/dab/classshaka_1_1media_1_1TextStreamInfo.html @@ -282,7 +282,7 @@ void set_language (con diff --git a/docs/db/dae/classshaka_1_1media_1_1WebMInfoParser.html b/docs/db/dae/classshaka_1_1media_1_1WebMInfoParser.html index 9dc01603d7..e3559596c9 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 4a28a3d3dc..3f4bd17a47 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 9b33ec11d6..2bf2557842 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 624447dbaf..f3a2c53c10 100644 --- a/docs/db/db8/structshaka_1_1media_1_1OnMediaEndParameters.html +++ b/docs/db/db8/structshaka_1_1media_1_1OnMediaEndParameters.html @@ -130,7 +130,7 @@ uint64_t file_size diff --git a/docs/db/db8/structshaka_1_1media_1_1mp4_1_1TrackEncryption.html b/docs/db/db8/structshaka_1_1media_1_1mp4_1_1TrackEncryption.html index 3b53235d7f..ce8ce3062f 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 8be851a2f3..95228c9ab8 100644 --- a/docs/db/dcb/classshaka_1_1media_1_1VPxParser.html +++ b/docs/db/dcb/classshaka_1_1media_1_1VPxParser.html @@ -205,7 +205,7 @@ Protected Member Functions diff --git a/docs/db/dcc/classshaka_1_1media_1_1webm_1_1Encryptor-members.html b/docs/db/dcc/classshaka_1_1media_1_1webm_1_1Encryptor-members.html index b8820c9f7d..912f3b6ffa 100644 --- a/docs/db/dcc/classshaka_1_1media_1_1webm_1_1Encryptor-members.html +++ b/docs/db/dcc/classshaka_1_1media_1_1webm_1_1Encryptor-members.html @@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/dcd/classshaka_1_1MpdWriter.html b/docs/db/dcd/classshaka_1_1MpdWriter.html index f420a5010e..a91fcdea77 100644 --- a/docs/db/dcd/classshaka_1_1MpdWriter.html +++ b/docs/db/dcd/classshaka_1_1MpdWriter.html @@ -123,7 +123,7 @@ class MpdWriterTest diff --git a/docs/db/dcd/structshaka_1_1media_1_1mp4_1_1DTSSpecific-members.html b/docs/db/dcd/structshaka_1_1media_1_1mp4_1_1DTSSpecific-members.html index 63a11814ed..e085f90bbc 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 f1b41e3dbd..c927b9c322 100644 --- a/docs/db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html +++ b/docs/db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html @@ -531,7 +531,7 @@ Additional Inherited Members diff --git a/docs/db/dd2/chunk__info__iterator_8h_source.html b/docs/db/dd2/chunk__info__iterator_8h_source.html index 90b407c6dd..d984ec0137 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 8aa75c0075..5e590bd6e9 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 aa64bffa51..5809d53f6e 100644 --- a/docs/db/dde/h265__parser_8cc_source.html +++ b/docs/db/dde/h265__parser_8cc_source.html @@ -95,8 +95,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            6 
            7 #include "packager/media/codecs/h265_parser.h"
            8 
            -
            9 #include <algorithm>
            -
            10 #include <math.h>
            +
            9 #include <math.h>
            +
            10 #include <algorithm>
            11 
            12 #include "packager/base/logging.h"
            13 #include "packager/base/stl_util.h"
            @@ -499,7 +499,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            410  H26xBitReader* br = &reader;
            411 
            412  *pps_id = -1;
            -
            413  scoped_ptr<H265Pps> pps(new H265Pps);
            +
            413  std::unique_ptr<H265Pps> pps(new H265Pps);
            414 
            415  TRUE_OR_RETURN(br->ReadUE(&pps->pic_parameter_set_id));
            416  TRUE_OR_RETURN(br->ReadUE(&pps->seq_parameter_set_id));
            @@ -609,7 +609,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            520 
            521  *sps_id = -1;
            522 
            -
            523  scoped_ptr<H265Sps> sps(new H265Sps);
            +
            523  std::unique_ptr<H265Sps> sps(new H265Sps);
            524 
            525  TRUE_OR_RETURN(br->ReadBits(4, &sps->video_parameter_set_id));
            526  TRUE_OR_RETURN(br->ReadBits(3, &sps->max_sub_layers_minus1));
            @@ -1221,7 +1221,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/dec/audio__timestamp__helper_8cc_source.html b/docs/db/dec/audio__timestamp__helper_8cc_source.html index 28f872052e..476d23fb42 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 f7691632c2..7dc14f05d5 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 be425d3418..f558d6b659 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 10b05e7443..4ab54cac48 100644 --- a/docs/db/df6/classshaka_1_1media_1_1Cluster-members.html +++ b/docs/db/df6/classshaka_1_1media_1_1Cluster-members.html @@ -93,14 +93,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');

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

            - +
            Cluster(scoped_ptr< uint8_t[]> data, int size) (defined in shaka::media::Cluster)shaka::media::Cluster
            Cluster(std::unique_ptr< uint8_t[]> data, int size) (defined in shaka::media::Cluster)shaka::media::Cluster
            data() const (defined in shaka::media::Cluster)shaka::media::Clusterinline
            size() const (defined in shaka::media::Cluster)shaka::media::Clusterinline
            ~Cluster() (defined in shaka::media::Cluster)shaka::media::Cluster
            diff --git a/docs/db/df6/muxer_8h_source.html b/docs/db/df6/muxer_8h_source.html index c8990032de..5bd98153d5 100644 --- a/docs/db/df6/muxer_8h_source.html +++ b/docs/db/df6/muxer_8h_source.html @@ -98,10 +98,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            9 #ifndef MEDIA_BASE_MUXER_H_
            10 #define MEDIA_BASE_MUXER_H_
            11 
            -
            12 #include <vector>
            -
            13 
            -
            14 #include "packager/base/memory/ref_counted.h"
            -
            15 #include "packager/base/memory/scoped_ptr.h"
            +
            12 #include <memory>
            +
            13 #include <vector>
            +
            14 
            +
            15 #include "packager/base/memory/ref_counted.h"
            16 #include "packager/base/time/clock.h"
            17 #include "packager/media/base/fourccs.h"
            18 #include "packager/media/base/muxer_options.h"
            @@ -133,9 +133,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            61 
            64  void Cancel();
            65 
            -
            68  void SetMuxerListener(scoped_ptr<MuxerListener> muxer_listener);
            +
            68  void SetMuxerListener(std::unique_ptr<MuxerListener> muxer_listener);
            69 
            -
            72  void SetProgressListener(scoped_ptr<ProgressListener> progress_listener);
            +
            72  void SetProgressListener(std::unique_ptr<ProgressListener> progress_listener);
            73 
            74  const std::vector<MediaStream*>& streams() const { return streams_; }
            75 
            @@ -185,8 +185,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            125  FourCC protection_scheme_;
            126  bool cancelled_;
            127 
            -
            128  scoped_ptr<MuxerListener> muxer_listener_;
            -
            129  scoped_ptr<ProgressListener> progress_listener_;
            +
            128  std::unique_ptr<MuxerListener> muxer_listener_;
            +
            129  std::unique_ptr<ProgressListener> progress_listener_;
            130  // An external injected clock, can be NULL.
            131  base::Clock* clock_;
            132 
            @@ -197,22 +197,22 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            137 } // namespace shaka
            138 
            139 #endif // MEDIA_BASE_MUXER_H_
            - +
            This structure contains the list of configuration options for Muxer.
            Definition: muxer_options.h:18
            -
            void SetProgressListener(scoped_ptr< ProgressListener > progress_listener)
            Definition: muxer.cc:90
            -
            void SetMuxerListener(scoped_ptr< MuxerListener > muxer_listener)
            Definition: muxer.cc:86
            -
            void AddStream(MediaStream *stream)
            Add video/audio stream.
            Definition: muxer.cc:42
            -
            void SetKeySource(KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds, double crypto_period_duration_in_seconds, FourCC protection_scheme)
            Definition: muxer.cc:29
            -
            Status Run()
            Drive the remuxing from muxer side (pull).
            Definition: muxer.cc:48
            +
            void AddStream(MediaStream *stream)
            Add video/audio stream.
            Definition: muxer.cc:44
            +
            void SetKeySource(KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds, double crypto_period_duration_in_seconds, FourCC protection_scheme)
            Definition: muxer.cc:31
            +
            Status Run()
            Drive the remuxing from muxer side (pull).
            Definition: muxer.cc:50
            +
            void SetProgressListener(std::unique_ptr< ProgressListener > progress_listener)
            Definition: muxer.cc:92
            -
            KeySource is responsible for encryption key acquisition.
            Definition: key_source.h:31
            +
            KeySource is responsible for encryption key acquisition.
            Definition: key_source.h:30
            void set_clock(base::Clock *clock)
            Definition: muxer.h:82
            +
            void SetMuxerListener(std::unique_ptr< MuxerListener > muxer_listener)
            Definition: muxer.cc:88
            diff --git a/docs/db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html b/docs/db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html index 22cac0a3f4..f6f7789eeb 100644 --- a/docs/db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html +++ b/docs/db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html @@ -171,7 +171,7 @@ static const size_t kUnitS diff --git a/docs/db/dfb/mpd__utils_8cc_source.html b/docs/db/dfb/mpd__utils_8cc_source.html index ce4fd4fad3..06d14f945a 100644 --- a/docs/db/dfb/mpd__utils_8cc_source.html +++ b/docs/db/dfb/mpd__utils_8cc_source.html @@ -444,7 +444,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/dfc/mpd__notify__muxer__listener_8cc_source.html b/docs/db/dfc/mpd__notify__muxer__listener_8cc_source.html index d28ce464ad..8939255151 100644 --- a/docs/db/dfc/mpd__notify__muxer__listener_8cc_source.html +++ b/docs/db/dfc/mpd__notify__muxer__listener_8cc_source.html @@ -99,8 +99,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            10 
            11 #include "packager/base/logging.h"
            12 #include "packager/media/base/audio_stream_info.h"
            -
            13 #include "packager/media/base/video_stream_info.h"
            -
            14 #include "packager/media/base/protection_system_specific_info.h"
            +
            13 #include "packager/media/base/protection_system_specific_info.h"
            +
            14 #include "packager/media/base/video_stream_info.h"
            15 #include "packager/media/event/muxer_listener_internal.h"
            16 #include "packager/mpd/base/media_info.pb.h"
            17 #include "packager/mpd/base/mpd_notifier.h"
            @@ -150,7 +150,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            61  const StreamInfo& stream_info,
            62  uint32_t time_scale,
            63  ContainerType container_type) {
            -
            64  scoped_ptr<MediaInfo> media_info(new MediaInfo());
            +
            64  std::unique_ptr<MediaInfo> media_info(new MediaInfo());
            65  if (!internal::GenerateMediaInfo(muxer_options,
            66  stream_info,
            67  time_scale,
            @@ -169,7 +169,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            80  // TODO(kqyang): Check return result.
            81  mpd_notifier_->NotifyNewContainer(*media_info, &notification_id_);
            82  } else {
            -
            83  media_info_ = media_info.Pass();
            +
            83  media_info_ = std::move(media_info);
            84  }
            85 }
            86 
            @@ -274,7 +274,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/dff/structshaka_1_1media_1_1mp4_1_1ChunkInfo-members.html b/docs/db/dff/structshaka_1_1media_1_1mp4_1_1ChunkInfo-members.html index 02c65fd71a..b4aba7b6fc 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 2ab1187237..ceb5da0d2d 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 eed4488de9..7795e4164c 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 f464a569b5..85f615406e 100644 --- a/docs/dc/d06/classshaka_1_1media_1_1StreamInfo-members.html +++ b/docs/dc/d06/classshaka_1_1media_1_1StreamInfo-members.html @@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/d0b/classshaka_1_1media_1_1ESDescriptor-members.html b/docs/dc/d0b/classshaka_1_1media_1_1ESDescriptor-members.html index 75e40966fc..09080e6cd4 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 0cf34fb32d..4badd46d53 100644 --- a/docs/dc/d16/classshaka_1_1media_1_1SeekHead.html +++ b/docs/dc/d16/classshaka_1_1media_1_1SeekHead.html @@ -148,7 +148,7 @@ void set_tracks_pos (u diff --git a/docs/dc/d18/classshaka_1_1media_1_1wvm_1_1WvmMediaParser.html b/docs/dc/d18/classshaka_1_1media_1_1wvm_1_1WvmMediaParser.html index 44bbee595a..9d93d9e3c4 100644 --- a/docs/dc/d18/classshaka_1_1media_1_1wvm_1_1WvmMediaParser.html +++ b/docs/dc/d18/classshaka_1_1media_1_1wvm_1_1WvmMediaParser.html @@ -256,7 +256,7 @@ track_id, const scoped_refptr
            diff --git a/docs/dc/d18/structshaka_1_1media_1_1mp4_1_1ProtectionSchemeInfo-members.html b/docs/dc/d18/structshaka_1_1media_1_1mp4_1_1ProtectionSchemeInfo-members.html index 32733ce35e..1c040c4038 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 2015180ff2..ca30507ebc 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 d74ff8b600..e9bc78bf91 100644 --- a/docs/dc/d22/dash__iop__mpd__notifier_8cc_source.html +++ b/docs/dc/d22/dash__iop__mpd__notifier_8cc_source.html @@ -394,7 +394,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/d3b/fixed__key__encryption__flags_8cc_source.html b/docs/dc/d3b/fixed__key__encryption__flags_8cc_source.html index 4a77932261..365146e6ef 100644 --- a/docs/dc/d3b/fixed__key__encryption__flags_8cc_source.html +++ b/docs/dc/d3b/fixed__key__encryption__flags_8cc_source.html @@ -166,7 +166,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/d3c/webm__cluster__parser_8h_source.html b/docs/dc/d3c/webm__cluster__parser_8h_source.html index bb9945d75d..684663dc11 100644 --- a/docs/dc/d3c/webm__cluster__parser_8h_source.html +++ b/docs/dc/d3c/webm__cluster__parser_8h_source.html @@ -96,11 +96,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            7 
            8 #include <deque>
            9 #include <map>
            -
            10 #include <set>
            -
            11 #include <string>
            -
            12 
            -
            13 #include "packager/base/compiler_specific.h"
            -
            14 #include "packager/base/memory/scoped_ptr.h"
            +
            10 #include <memory>
            +
            11 #include <set>
            +
            12 #include <string>
            +
            13 
            +
            14 #include "packager/base/compiler_specific.h"
            15 #include "packager/media/base/decryptor_source.h"
            16 #include "packager/media/base/media_parser.h"
            17 #include "packager/media/base/media_sample.h"
            @@ -243,7 +243,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            190  scoped_refptr<VideoStreamInfo> video_stream_info_;
            191  std::set<int64_t> ignored_tracks_;
            192 
            -
            193  scoped_ptr<DecryptorSource> decryptor_source_;
            +
            193  std::unique_ptr<DecryptorSource> decryptor_source_;
            194  std::string audio_encryption_key_id_;
            195  std::string video_encryption_key_id_;
            196 
            @@ -256,12 +256,12 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            203  MediaParser::InitCB init_cb_;
            204 
            205  int64_t last_block_timecode_ = -1;
            -
            206  scoped_ptr<uint8_t[]> block_data_;
            +
            206  std::unique_ptr<uint8_t[]> block_data_;
            207  int block_data_size_ = -1;
            208  int64_t block_duration_ = -1;
            209  int64_t block_add_id_ = -1;
            210 
            -
            211  scoped_ptr<uint8_t[]> block_additional_data_;
            +
            211  std::unique_ptr<uint8_t[]> block_additional_data_;
            212  // Must be 0 if |block_additional_data_| is null. Must be > 0 if
            213  // |block_additional_data_| is NOT null.
            214  int block_additional_data_size_ = 0;
            @@ -288,11 +288,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            235 #endif // MEDIA_FORMATS_WEBM_WEBM_CLUSTER_PARSER_H_
            -
            base::Callback< void(const std::vector< scoped_refptr< StreamInfo > > &stream_info)> InitCB
            Definition: media_parser.h:35
            +
            base::Callback< void(const std::vector< scoped_refptr< StreamInfo > > &stream_info)> InitCB
            Definition: media_parser.h:34
            int Parse(const uint8_t *buf, int size)
            bool Flush() WARN_UNUSED_RESULT
            -
            base::Callback< bool(uint32_t track_id, const scoped_refptr< MediaSample > &media_sample)> NewSampleCB
            Definition: media_parser.h:44
            +
            base::Callback< bool(uint32_t track_id, const scoped_refptr< MediaSample > &media_sample)> NewSampleCB
            Definition: media_parser.h:43
            WebMClusterParser(int64_t timecode_scale, scoped_refptr< AudioStreamInfo > audio_stream_info, scoped_refptr< VideoStreamInfo > video_stream_info, int64_t audio_default_duration, int64_t video_default_duration, const WebMTracksParser::TextTracks &text_tracks, const std::set< int64_t > &ignored_tracks, const std::string &audio_encryption_key_id, const std::string &video_encryption_key_id, const MediaParser::NewSampleCB &new_sample_cb, const MediaParser::InitCB &init_cb, KeySource *decryption_key_source)
            @@ -301,7 +301,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/d3f/key__source_8h_source.html b/docs/dc/d3f/key__source_8h_source.html index 0607d8b225..0ed386de0a 100644 --- a/docs/dc/d3f/key__source_8h_source.html +++ b/docs/dc/d3f/key__source_8h_source.html @@ -99,77 +99,76 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            10 #include <string>
            11 #include <vector>
            12 
            -
            13 #include "packager/base/memory/scoped_ptr.h"
            -
            14 #include "packager/media/base/protection_system_specific_info.h"
            -
            15 #include "packager/media/base/status.h"
            -
            16 
            -
            17 namespace shaka {
            -
            18 namespace media {
            -
            19 
            -
            20 struct EncryptionKey {
            -
            21  EncryptionKey();
            -
            22  ~EncryptionKey();
            -
            23 
            -
            24  std::vector<ProtectionSystemSpecificInfo> key_system_info;
            -
            25  std::vector<uint8_t> key_id;
            -
            26  std::vector<uint8_t> key;
            -
            27  std::vector<uint8_t> iv;
            -
            28 };
            -
            29 
            -
            31 class KeySource {
            -
            32  public:
            -
            33  enum TrackType {
            -
            34  TRACK_TYPE_UNKNOWN = 0,
            -
            35  TRACK_TYPE_SD = 1,
            -
            36  TRACK_TYPE_HD = 2,
            -
            37  TRACK_TYPE_AUDIO = 3,
            -
            38  TRACK_TYPE_UNSPECIFIED = 4,
            -
            39  NUM_VALID_TRACK_TYPES = 4
            -
            40  };
            -
            41 
            -
            42  KeySource();
            -
            43  virtual ~KeySource();
            -
            44 
            -
            48  virtual Status FetchKeys(const std::vector<uint8_t>& pssh_box) = 0;
            -
            49 
            -
            53  virtual Status FetchKeys(
            -
            54  const std::vector<std::vector<uint8_t>>& key_ids) = 0;
            -
            55 
            -
            60  virtual Status FetchKeys(uint32_t asset_id) = 0;
            -
            61 
            -
            67  virtual Status GetKey(TrackType track_type, EncryptionKey* key) = 0;
            -
            68 
            -
            74  virtual Status GetKey(const std::vector<uint8_t>& key_id,
            -
            75  EncryptionKey* key) = 0;
            -
            76 
            -
            84  virtual Status GetCryptoPeriodKey(uint32_t crypto_period_index,
            -
            85  TrackType track_type,
            -
            86  EncryptionKey* key) = 0;
            -
            87 
            -
            89  static TrackType GetTrackTypeFromString(const std::string& track_type_string);
            -
            90 
            -
            92  static std::string TrackTypeToString(TrackType track_type);
            -
            93 
            -
            94  private:
            -
            95  DISALLOW_COPY_AND_ASSIGN(KeySource);
            -
            96 };
            -
            97 
            -
            98 } // namespace media
            -
            99 } // namespace shaka
            -
            100 
            -
            101 #endif // MEDIA_BASE_KEY_SOURCE_H_
            +
            13 #include "packager/media/base/protection_system_specific_info.h"
            +
            14 #include "packager/media/base/status.h"
            +
            15 
            +
            16 namespace shaka {
            +
            17 namespace media {
            +
            18 
            +
            19 struct EncryptionKey {
            +
            20  EncryptionKey();
            +
            21  ~EncryptionKey();
            +
            22 
            +
            23  std::vector<ProtectionSystemSpecificInfo> key_system_info;
            +
            24  std::vector<uint8_t> key_id;
            +
            25  std::vector<uint8_t> key;
            +
            26  std::vector<uint8_t> iv;
            +
            27 };
            +
            28 
            +
            30 class KeySource {
            +
            31  public:
            +
            32  enum TrackType {
            +
            33  TRACK_TYPE_UNKNOWN = 0,
            +
            34  TRACK_TYPE_SD = 1,
            +
            35  TRACK_TYPE_HD = 2,
            +
            36  TRACK_TYPE_AUDIO = 3,
            +
            37  TRACK_TYPE_UNSPECIFIED = 4,
            +
            38  NUM_VALID_TRACK_TYPES = 4
            +
            39  };
            +
            40 
            +
            41  KeySource();
            +
            42  virtual ~KeySource();
            +
            43 
            +
            47  virtual Status FetchKeys(const std::vector<uint8_t>& pssh_box) = 0;
            +
            48 
            +
            52  virtual Status FetchKeys(
            +
            53  const std::vector<std::vector<uint8_t>>& key_ids) = 0;
            +
            54 
            +
            59  virtual Status FetchKeys(uint32_t asset_id) = 0;
            +
            60 
            +
            66  virtual Status GetKey(TrackType track_type, EncryptionKey* key) = 0;
            +
            67 
            +
            73  virtual Status GetKey(const std::vector<uint8_t>& key_id,
            +
            74  EncryptionKey* key) = 0;
            +
            75 
            +
            83  virtual Status GetCryptoPeriodKey(uint32_t crypto_period_index,
            +
            84  TrackType track_type,
            +
            85  EncryptionKey* key) = 0;
            +
            86 
            +
            88  static TrackType GetTrackTypeFromString(const std::string& track_type_string);
            +
            89 
            +
            91  static std::string TrackTypeToString(TrackType track_type);
            +
            92 
            +
            93  private:
            +
            94  DISALLOW_COPY_AND_ASSIGN(KeySource);
            +
            95 };
            +
            96 
            +
            97 } // namespace media
            +
            98 } // namespace shaka
            +
            99 
            +
            100 #endif // MEDIA_BASE_KEY_SOURCE_H_
            virtual Status GetCryptoPeriodKey(uint32_t crypto_period_index, TrackType track_type, EncryptionKey *key)=0
            virtual Status GetKey(TrackType track_type, EncryptionKey *key)=0
            static std::string TrackTypeToString(TrackType track_type)
            Convert TrackType to string.
            Definition: key_source.cc:33
            virtual Status FetchKeys(const std::vector< uint8_t > &pssh_box)=0
            static TrackType GetTrackTypeFromString(const std::string &track_type_string)
            Convert string representation of track type to enum representation.
            Definition: key_source.cc:19
            - + -
            KeySource is responsible for encryption key acquisition.
            Definition: key_source.h:31
            +
            KeySource is responsible for encryption key acquisition.
            Definition: key_source.h:30
            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 ecc19f511f..998daf2972 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 98a0c1248c..d067e53cd6 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 032de8c889..2751bdd898 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 7335647005..6af543a739 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 55dc0589f3..f98df47356 100644 --- a/docs/dc/d51/h265__byte__to__unit__stream__converter_8cc_source.html +++ b/docs/dc/d51/h265__byte__to__unit__stream__converter_8cc_source.html @@ -226,7 +226,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/d52/decoding__time__iterator_8h_source.html b/docs/dc/d52/decoding__time__iterator_8h_source.html index 18a1ea8dcb..4ad3c0dd49 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 07af410301..5817ba2130 100644 --- a/docs/dc/d53/webm_2segmenter_8cc_source.html +++ b/docs/dc/d53/webm_2segmenter_8cc_source.html @@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            46 
            47 Segmenter::~Segmenter() {}
            48 
            -
            49 Status Segmenter::Initialize(scoped_ptr<MkvWriter> writer,
            +
            49 Status Segmenter::Initialize(std::unique_ptr<MkvWriter> writer,
            50  StreamInfo* info,
            51  ProgressListener* progress_listener,
            52  MuxerListener* muxer_listener,
            @@ -190,7 +190,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            101  if (!status.ok())
            102  return status;
            103 
            -
            104  return DoInitialize(writer.Pass());
            +
            104  return DoInitialize(std::move(writer));
            105 }
            106 
            @@ -545,7 +545,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            virtual void OnProgress(double progress)=0
            -
            KeySource is responsible for encryption key acquisition.
            Definition: key_source.h:31
            +
            KeySource is responsible for encryption key acquisition.
            Definition: key_source.h:30
            double GetDuration() const
            Definition: segmenter.cc:380
            Holds video stream information.
            @@ -553,7 +553,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/d54/structshaka_1_1media_1_1H264DecRefPicMarking.html b/docs/dc/d54/structshaka_1_1media_1_1H264DecRefPicMarking.html index 8f3d584bc6..8d2035b5f0 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 fa54f47022..7259678f69 100644 --- a/docs/dc/d58/webm__media__parser_8h_source.html +++ b/docs/dc/d58/webm__media__parser_8h_source.html @@ -157,7 +157,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            71 
            72  bool unknown_segment_size_;
            73 
            -
            74  scoped_ptr<WebMClusterParser> cluster_parser_;
            +
            74  std::unique_ptr<WebMClusterParser> cluster_parser_;
            75  ByteQueue byte_queue_;
            76 
            77  DISALLOW_COPY_AND_ASSIGN(WebMMediaParser);
            @@ -167,19 +167,19 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            81 } // namespace shaka
            82 
            83 #endif // MEDIA_FORMATS_WEBM_WEBM_MEDIA_PARSER_H_
            - -
            base::Callback< void(const std::vector< scoped_refptr< StreamInfo > > &stream_info)> InitCB
            Definition: media_parser.h:35
            + +
            base::Callback< void(const std::vector< scoped_refptr< StreamInfo > > &stream_info)> InitCB
            Definition: media_parser.h:34
            bool Flush() override WARN_UNUSED_RESULT
            bool Parse(const uint8_t *buf, int size) override WARN_UNUSED_RESULT
            void Init(const InitCB &init_cb, const NewSampleCB &new_sample_cb, KeySource *decryption_key_source) override
            -
            base::Callback< bool(uint32_t track_id, const scoped_refptr< MediaSample > &media_sample)> NewSampleCB
            Definition: media_parser.h:44
            - -
            KeySource is responsible for encryption key acquisition.
            Definition: key_source.h:31
            +
            base::Callback< bool(uint32_t track_id, const scoped_refptr< MediaSample > &media_sample)> NewSampleCB
            Definition: media_parser.h:43
            + +
            KeySource is responsible for encryption key acquisition.
            Definition: key_source.h:30
            diff --git a/docs/dc/d5c/classshaka_1_1MockMpdNotifier.html b/docs/dc/d5c/classshaka_1_1MockMpdNotifier.html index b0d6f4498c..1123355f77 100644 --- a/docs/dc/d5c/classshaka_1_1MockMpdNotifier.html +++ b/docs/dc/d5c/classshaka_1_1MockMpdNotifier.html @@ -160,7 +160,7 @@ Public Member Functions diff --git a/docs/dc/d69/structshaka_1_1media_1_1mp4_1_1CueSettingsBox-members.html b/docs/dc/d69/structshaka_1_1media_1_1mp4_1_1CueSettingsBox-members.html index 7d67f0cd67..e0f40927e3 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 6dfa1377af..d57400ea0a 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 @@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); cluster_length_sec() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected cues() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected DoFinalize()=0 (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterprotectedpure virtual - DoInitialize(scoped_ptr< MkvWriter > writer)=0 (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterprotectedpure virtual + DoInitialize(std::unique_ptr< MkvWriter > writer)=0 (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterprotectedpure virtual Finalize()shaka::media::webm::Segmenter FromBMFFTimescale(uint64_t time_timescale)shaka::media::webm::Segmenterprotected FromWebMTimecode(uint64_t time_webm_timecode)shaka::media::webm::Segmenterprotected @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); 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(scoped_ptr< MkvWriter > writer, StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds)shaka::media::webm::Segmenter + Initialize(std::unique_ptr< MkvWriter > writer, StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds)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 @@ -121,7 +121,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/d71/classshaka_1_1media_1_1mp2t_1_1TsSection-members.html b/docs/dc/d71/classshaka_1_1media_1_1mp2t_1_1TsSection-members.html index 052d00483f..b6d651a79e 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 ac388eb5e5..94a80d891b 100644 --- a/docs/dc/d73/classshaka_1_1media_1_1MockMuxerListener.html +++ b/docs/dc/d73/classshaka_1_1media_1_1MockMuxerListener.html @@ -157,7 +157,7 @@ Additional Inherited Members diff --git a/docs/dc/d7b/closure__thread_8cc_source.html b/docs/dc/d7b/closure__thread_8cc_source.html index e11ae841b1..69f99ec7c9 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 9035aac994..1910cb4990 100644 --- a/docs/dc/d7b/h264__parser_8cc_source.html +++ b/docs/dc/d7b/h264__parser_8cc_source.html @@ -93,8 +93,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            4 
            5 #include "packager/media/codecs/h264_parser.h"
            6 
            -
            7 #include "packager/base/logging.h"
            -
            8 #include "packager/base/memory/scoped_ptr.h"
            +
            7 #include <memory>
            +
            8 #include "packager/base/logging.h"
            9 #include "packager/base/stl_util.h"
            10 #include "packager/media/base/buffer_reader.h"
            11 
            @@ -685,7 +685,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            596 
            597  *sps_id = -1;
            598 
            -
            599  scoped_ptr<H264Sps> sps(new H264Sps());
            +
            599  std::unique_ptr<H264Sps> sps(new H264Sps());
            600 
            601  READ_BITS_OR_RETURN(8, &sps->profile_idc);
            602  READ_BOOL_OR_RETURN(&sps->constraint_set0_flag);
            @@ -807,7 +807,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            718 
            719  *pps_id = -1;
            720 
            -
            721  scoped_ptr<H264Pps> pps(new H264Pps());
            +
            721  std::unique_ptr<H264Pps> pps(new H264Pps());
            722 
            723  READ_UE_OR_RETURN(&pps->pic_parameter_set_id);
            724  READ_UE_OR_RETURN(&pps->seq_parameter_set_id);
            @@ -1264,7 +1264,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/d86/structshaka_1_1media_1_1mp4_1_1ElementaryStreamDescriptor-members.html b/docs/dc/d86/structshaka_1_1media_1_1mp4_1_1ElementaryStreamDescriptor-members.html index 281ae04cab..5619b9f54b 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 307a81684f..228d056e11 100644 --- a/docs/dc/d8f/structshaka_1_1media_1_1mp4_1_1MovieFragmentHeader.html +++ b/docs/dc/d8f/structshaka_1_1media_1_1mp4_1_1MovieFragmentHeader.html @@ -182,7 +182,7 @@ Additional Inherited Members diff --git a/docs/dc/da0/structshaka_1_1media_1_1mp4_1_1DTSSpecific.html b/docs/dc/da0/structshaka_1_1media_1_1mp4_1_1DTSSpecific.html index 4238d645e8..1c1da78578 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 13958549f4..9575461779 100644 --- a/docs/dc/da1/classshaka_1_1MpdBuilder.html +++ b/docs/dc/da1/classshaka_1_1MpdBuilder.html @@ -132,10 +132,10 @@ Public Member Functions   MpdType type () const   - -void InjectClockForTesting (scoped_ptr< base::Clock > clock) - This is for testing.
            -  + +void InjectClockForTesting (std::unique_ptr< base::Clock > clock) + This is for testing.
            +  @@ -385,7 +385,7 @@ class 

            Static Public Member Functions

            DynamicMpdBuilderTes diff --git a/docs/dc/da6/classshaka_1_1media_1_1ContentEncoding.html b/docs/dc/da6/classshaka_1_1media_1_1ContentEncoding.html index 0bc486ec0e..2cdde2f98d 100644 --- a/docs/dc/da6/classshaka_1_1media_1_1ContentEncoding.html +++ b/docs/dc/da6/classshaka_1_1media_1_1ContentEncoding.html @@ -176,7 +176,7 @@ Static Public Attributes

            Detailed Description

            -

            Definition at line 16 of file webm_content_encodings.h.

            +

            Definition at line 15 of file webm_content_encodings.h.

            Member Data Documentation

            @@ -197,7 +197,7 @@ Static Public Attributes

            The following enum definitions are based on the ContentEncoding element specified in the Matroska spec.

            -

            Definition at line 21 of file webm_content_encodings.h.

            +

            Definition at line 20 of file webm_content_encodings.h.

            @@ -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 74f44b5f7b..ad809b9e0c 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 1753a940c6..26560b316c 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 e7c0fa6845..dd65e0fc3c 100644 --- a/docs/dc/dc1/classshaka_1_1xml_1_1RepresentationXmlNode-members.html +++ b/docs/dc/dc1/classshaka_1_1xml_1_1RepresentationXmlNode-members.html @@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/dca/classshaka_1_1media_1_1WebMListParser.html b/docs/dc/dca/classshaka_1_1media_1_1WebMListParser.html index 4861789ed7..81780111f0 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 b36385b0a3..b7a4a1d908 100644 --- a/docs/dc/dd9/rsa__key_8cc_source.html +++ b/docs/dc/dd9/rsa__key_8cc_source.html @@ -350,7 +350,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/ddf/structshaka_1_1media_1_1mp4_1_1Media.html b/docs/dc/ddf/structshaka_1_1media_1_1mp4_1_1Media.html index 336000a28d..5fb242c24c 100644 --- a/docs/dc/ddf/structshaka_1_1media_1_1mp4_1_1Media.html +++ b/docs/dc/ddf/structshaka_1_1media_1_1mp4_1_1Media.html @@ -179,7 +179,7 @@ Additional Inherited Members diff --git a/docs/dc/ddf/udp__file__posix_8cc_source.html b/docs/dc/ddf/udp__file__posix_8cc_source.html index 9ea5a71c84..aadc304118 100644 --- a/docs/dc/ddf/udp__file__posix_8cc_source.html +++ b/docs/dc/ddf/udp__file__posix_8cc_source.html @@ -322,7 +322,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/de1/structshaka_1_1SegmentInfo.html b/docs/dc/de1/structshaka_1_1SegmentInfo.html index 84cdfa687a..458afb4ac8 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 8001322dfa..bff43e8b58 100644 --- a/docs/dc/deb/classshaka_1_1media_1_1mp4_1_1Fragmenter-members.html +++ b/docs/dc/deb/classshaka_1_1media_1_1mp4_1_1Fragmenter-members.html @@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/deb/h265__byte__to__unit__stream__converter_8h_source.html b/docs/dc/deb/h265__byte__to__unit__stream__converter_8h_source.html index ab09a848ae..7f02c7ea89 100644 --- a/docs/dc/deb/h265__byte__to__unit__stream__converter_8h_source.html +++ b/docs/dc/deb/h265__byte__to__unit__stream__converter_8h_source.html @@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/dec/ts__section__pmt_8cc_source.html b/docs/dc/dec/ts__section__pmt_8cc_source.html index f1a22a5bd0..d0b50e5c41 100644 --- a/docs/dc/dec/ts__section__pmt_8cc_source.html +++ b/docs/dc/dec/ts__section__pmt_8cc_source.html @@ -207,7 +207,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/df0/classshaka_1_1media_1_1ClosureThread.html b/docs/dc/df0/classshaka_1_1media_1_1ClosureThread.html index 3849d831ce..06393c6707 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 1f4a87ef17..cdc8015b0d 100644 --- a/docs/dc/df2/classshaka_1_1media_1_1WebVttMediaParser.html +++ b/docs/dc/df2/classshaka_1_1media_1_1WebVttMediaParser.html @@ -256,7 +256,7 @@ track_id, const scoped_refptr
            diff --git a/docs/dc/df3/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter.html b/docs/dc/df3/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter.html index b749eabd7b..e342ece1fa 100644 --- a/docs/dc/df3/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter.html +++ b/docs/dc/df3/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter.html @@ -112,8 +112,8 @@ Inheritance diagram for shaka::media::mp4::EncryptingFragmenter: - - + + @@ -176,9 +176,9 @@ uint8_t  - - + + @@ -192,7 +192,7 @@ void 

            Public Member Functions

             EncryptingFragmenter (scoped_refptr< StreamInfo > info, TrackFragment *traf, scoped_ptr< EncryptionKey > encryption_key, int64_t clear_time, FourCC protection_scheme, uint8_t crypt_byte_block, uint8_t skip_byte_block, MuxerListener *listener)
             
             EncryptingFragmenter (scoped_refptr< StreamInfo > info, TrackFragment *traf, std::unique_ptr< EncryptionKey > encryption_key, int64_t clear_time, FourCC protection_scheme, uint8_t crypt_byte_block, uint8_t skip_byte_block, MuxerListener *listener)
             
            Fragmenter implementation overrides.
            Status AddSample (scoped_refptr< MediaSample > sample) override
             
            crypt_byte_block uint8_t skip_byte_block () const
             
            -void set_encryption_key (scoped_ptr< EncryptionKey > encryption_key)
             
            +void set_encryption_key (std::unique_ptr< EncryptionKey > encryption_key)
             
            - Protected Member Functions inherited from shaka::media::mp4::Fragmenter
            TrackFragmenttraf ()
            set_encryption_keyDefinition at line 28 of file encrypting_fragmenter.h.

            Constructor & Destructor Documentation

            - +
            @@ -211,7 +211,7 @@ void  - + @@ -301,7 +301,7 @@ void  - + @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); - + @@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); - + @@ -128,7 +128,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            set_encryption_key scoped_ptr< EncryptionKeystd::unique_ptr< EncryptionKey encryption_key,
            set_encryption_keyReimplemented from shaka::media::mp4::Fragmenter.

            -

            Definition at line 102 of file encrypting_fragmenter.cc.

            +

            Definition at line 106 of file encrypting_fragmenter.cc.

            @@ -328,7 +328,7 @@ void 
            set_encryption_keyCreate the encryptor for the internal encryption key. The existing encryptor will be reset if it is not NULL.

            Returns
            OK on success, an error status otherwise.
            -

            Definition at line 204 of file encrypting_fragmenter.cc.

            +

            Definition at line 208 of file encrypting_fragmenter.cc.

            @@ -364,7 +364,7 @@ void 
            set_encryption_keyReimplemented from shaka::media::mp4::Fragmenter.

            -

            Definition at line 117 of file encrypting_fragmenter.cc.

            +

            Definition at line 121 of file encrypting_fragmenter.cc.

            @@ -394,7 +394,7 @@ void 
            set_encryption_keyReimplemented in shaka::media::mp4::KeyRotationFragmenter.

            -

            Definition at line 161 of file encrypting_fragmenter.cc.

            +

            Definition at line 165 of file encrypting_fragmenter.cc.

            @@ -405,7 +405,7 @@ void 
            set_encryption_key diff --git a/docs/dc/df4/classshaka_1_1media_1_1webm_1_1SingleSegmentSegmenter-members.html b/docs/dc/df4/classshaka_1_1media_1_1webm_1_1SingleSegmentSegmenter-members.html index 493b75bcce..749f560cf5 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 @@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            cluster_length_sec() const (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected
            cues() (defined in shaka::media::webm::Segmenter)shaka::media::webm::Segmenterinlineprotected
            DoFinalize() override (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterprotectedvirtual
            DoInitialize(scoped_ptr< MkvWriter > writer) override (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterprotectedvirtual
            DoInitialize(std::unique_ptr< MkvWriter > writer) override (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterprotectedvirtual
            Finalize()shaka::media::webm::Segmenter
            FromBMFFTimescale(uint64_t time_timescale)shaka::media::webm::Segmenterprotected
            FromWebMTimecode(uint64_t time_webm_timecode)shaka::media::webm::Segmenterprotected
            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
            Initialize(scoped_ptr< MkvWriter > writer, StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds)shaka::media::webm::Segmenter
            Initialize(std::unique_ptr< MkvWriter > writer, StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds)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
            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(scoped_ptr< MkvWriter > writer) (defined in shaka::media::webm::SingleSegmentSegmenter)shaka::media::webm::SingleSegmentSegmenterinlineprotected
            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
            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 fc04cd9651..44ba70a9cf 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 2934d33890..ed57c0b9b7 100644 --- a/docs/dc/df8/closure__thread_8h_source.html +++ b/docs/dc/df8/closure__thread_8h_source.html @@ -127,7 +127,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d06/structshaka_1_1media_1_1mp4_1_1ChunkOffset.html b/docs/dd/d06/structshaka_1_1media_1_1mp4_1_1ChunkOffset.html index c1fa2ea9a0..bb98fbd0c3 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 cf500e7bfd..fa16abc870 100644 --- a/docs/dd/d11/mpd__builder_8cc_source.html +++ b/docs/dd/d11/mpd__builder_8cc_source.html @@ -101,13 +101,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            12 #include <cmath>
            13 #include <iterator>
            14 #include <list>
            -
            15 #include <string>
            -
            16 
            -
            17 #include "packager/base/base64.h"
            -
            18 #include "packager/base/bind.h"
            -
            19 #include "packager/base/files/file_path.h"
            -
            20 #include "packager/base/logging.h"
            -
            21 #include "packager/base/memory/scoped_ptr.h"
            +
            15 #include <memory>
            +
            16 #include <string>
            +
            17 
            +
            18 #include "packager/base/base64.h"
            +
            19 #include "packager/base/bind.h"
            +
            20 #include "packager/base/files/file_path.h"
            +
            21 #include "packager/base/logging.h"
            22 #include "packager/base/strings/string_number_conversions.h"
            23 #include "packager/base/strings/stringprintf.h"
            24 #include "packager/base/synchronization/lock.h"
            @@ -500,7 +500,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            411 }
            412 
            413 AdaptationSet* MpdBuilder::AddAdaptationSet(const std::string& lang) {
            -
            414  scoped_ptr<AdaptationSet> adaptation_set(
            +
            414  std::unique_ptr<AdaptationSet> adaptation_set(
            415  new AdaptationSet(adaptation_set_counter_.GetNext(), lang, mpd_options_,
            416  type_, &representation_counter_));
            417 
            @@ -557,7 +557,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            468  adaptation_sets_.begin();
            469  for (; adaptation_sets_it != adaptation_sets_.end(); ++adaptation_sets_it) {
            470  xml::scoped_xml_ptr<xmlNode> child((*adaptation_sets_it)->GetXml());
            -
            471  if (!child.get() || !period.AddChild(child.Pass()))
            +
            471  if (!child.get() || !period.AddChild(std::move(child)))
            472  return NULL;
            473  }
            474 
            @@ -783,10 +783,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            694  const uint32_t representation_id = representation_counter_->GetNext();
            695  // Note that AdaptationSet outlive Representation, so this object
            696  // will die before AdaptationSet.
            -
            697  scoped_ptr<RepresentationStateChangeListener> listener(
            +
            697  std::unique_ptr<RepresentationStateChangeListener> listener(
            698  new RepresentationStateChangeListenerImpl(representation_id, this));
            -
            699  scoped_ptr<Representation> representation(new Representation(
            -
            700  media_info, mpd_options_, representation_id, listener.Pass()));
            +
            699  std::unique_ptr<Representation> representation(new Representation(
            +
            700  media_info, mpd_options_, representation_id, std::move(listener)));
            701 
            702  if (!representation->Init())
            703  return NULL;
            @@ -915,7 +915,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            826  if (suppress_representation_frame_rate)
            827  representation->SuppressOnce(Representation::kSuppressFrameRate);
            828  xml::scoped_xml_ptr<xmlNode> child(representation->GetXml());
            -
            829  if (!child || !adaptation_set.AddChild(child.Pass()))
            +
            829  if (!child || !adaptation_set.AddChild(std::move(child)))
            830  return xml::scoped_xml_ptr<xmlNode>();
            831  }
            832 
            @@ -1121,17 +1121,17 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            1032  base::IntToString(timescale) + "/" + base::IntToString(frame_duration);
            1033 }
            1034 
            - +
            1036  const MediaInfo& media_info,
            1037  const MpdOptions& mpd_options,
            1038  uint32_t id,
            -
            1039  scoped_ptr<RepresentationStateChangeListener> state_change_listener)
            +
            1039  std::unique_ptr<RepresentationStateChangeListener> state_change_listener)
            1040  : media_info_(media_info),
            1041  id_(id),
            1042  bandwidth_estimator_(BandwidthEstimator::kUseAllBlocks),
            1043  mpd_options_(mpd_options),
            1044  start_number_(1),
            -
            1045  state_change_listener_(state_change_listener.Pass()),
            +
            1045  state_change_listener_(std::move(state_change_listener)),
            1046  output_suppression_flags_(0) {}
            1047 
            1048 Representation::~Representation() {}
            @@ -1476,6 +1476,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            virtual void AddNewSegment(uint64_t start_time, uint64_t duration, uint64_t size)
            bool WriteMpdToFile(media::File *output_file)
            Definition: mpd_builder.cc:423
            +
            Representation(const MediaInfo &media_info, const MpdOptions &mpd_options, uint32_t representation_id, std::unique_ptr< RepresentationStateChangeListener > state_change_listener)
            AdaptationSet(uint32_t adaptation_set_id, const std::string &lang, const MpdOptions &mpd_options, MpdBuilder::MpdType mpd_type, base::AtomicSequenceNumber *representation_counter)
            Definition: mpd_builder.cc:674
            virtual void SetSampleDuration(uint32_t sample_duration)
            @@ -1483,7 +1484,6 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            std::string LanguageToShortestForm(const std::string &language)
            Define an abstract file interface.
            Definition: file.h:24
            virtual void AddContentProtectionElement(const ContentProtectionElement &element)
            Definition: mpd_builder.cc:737
            -
            Representation(const MediaInfo &media_info, const MpdOptions &mpd_options, uint32_t representation_id, scoped_ptr< RepresentationStateChangeListener > state_change_listener)
            virtual void AddRole(Role role)
            Definition: mpd_builder.cc:749
            void AddBaseUrl(const std::string &base_url)
            Definition: mpd_builder.cc:409
            @@ -1508,7 +1508,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d12/mpd__writer_8cc_source.html b/docs/dd/d12/mpd__writer_8cc_source.html index ada05c0f02..7eb5cf5f13 100644 --- a/docs/dd/d12/mpd__writer_8cc_source.html +++ b/docs/dd/d12/mpd__writer_8cc_source.html @@ -124,11 +124,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            35  DashIopMpdNotifierFactory() {}
            36  ~DashIopMpdNotifierFactory() override {}
            37 
            -
            38  scoped_ptr<MpdNotifier> Create(DashProfile dash_profile,
            -
            39  const MpdOptions& mpd_options,
            -
            40  const std::vector<std::string>& base_urls,
            -
            41  const std::string& output_path) override {
            -
            42  return scoped_ptr<MpdNotifier>(new DashIopMpdNotifier(
            +
            38  std::unique_ptr<MpdNotifier> Create(DashProfile dash_profile,
            +
            39  const MpdOptions& mpd_options,
            +
            40  const std::vector<std::string>& base_urls,
            +
            41  const std::string& output_path) override {
            +
            42  return std::unique_ptr<MpdNotifier>(new DashIopMpdNotifier(
            43  dash_profile, mpd_options, base_urls, output_path));
            44  }
            45 };
            @@ -139,11 +139,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            50  SimpleMpdNotifierFactory() {}
            51  ~SimpleMpdNotifierFactory() override {}
            52 
            -
            53  scoped_ptr<MpdNotifier> Create(DashProfile dash_profile,
            -
            54  const MpdOptions& mpd_options,
            -
            55  const std::vector<std::string>& base_urls,
            -
            56  const std::string& output_path) override {
            -
            57  return scoped_ptr<MpdNotifier>(new SimpleMpdNotifier(
            +
            53  std::unique_ptr<MpdNotifier> Create(DashProfile dash_profile,
            +
            54  const MpdOptions& mpd_options,
            +
            55  const std::vector<std::string>& base_urls,
            +
            56  const std::string& output_path) override {
            +
            57  return std::unique_ptr<MpdNotifier>(new SimpleMpdNotifier(
            58  dash_profile, mpd_options, base_urls, output_path));
            59  }
            60 };
            @@ -185,7 +185,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            96 
            97 bool MpdWriter::WriteMpdToFile(const char* file_name) {
            98  CHECK(file_name);
            -
            99  scoped_ptr<MpdNotifier> notifier = notifier_factory_->Create(
            +
            99  std::unique_ptr<MpdNotifier> notifier = notifier_factory_->Create(
            100  kOnDemandProfile, MpdOptions(), base_urls_, file_name);
            101  if (!notifier->Init()) {
            102  LOG(ERROR) << "failed to initialize MpdNotifier.";
            @@ -211,17 +211,17 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            122 }
            123 
            124 void MpdWriter::SetMpdNotifierFactoryForTest(
            -
            125  scoped_ptr<MpdNotifierFactory> factory) {
            -
            126  notifier_factory_ = factory.Pass();
            +
            125  std::unique_ptr<MpdNotifierFactory> factory) {
            +
            126  notifier_factory_ = std::move(factory);
            127 }
            128 
            129 } // namespace shaka
            static void MakePathsRelativeToMpd(const std::string &mpd_path, MediaInfo *media_info)
            Definition: mpd_builder.cc:646
            -
            static bool ReadFileToString(const char *file_name, std::string *contents)
            Definition: file.cc:189
            +
            static bool ReadFileToString(const char *file_name, std::string *contents)
            Definition: file.cc:186
            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 ba211438c5..35fe38b96a 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 93dfac81ec..f420c9b13a 100644 --- a/docs/dd/d17/classshaka_1_1media_1_1Demuxer.html +++ b/docs/dd/d17/classshaka_1_1media_1_1Demuxer.html @@ -101,8 +101,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); Public Member Functions  Demuxer (const std::string &file_name)   -void SetKeySource (scoped_ptr< KeySource > key_source) -  +void SetKeySource (std::unique_ptr< KeySource > key_source) +  Status Initialize ()   Status Run () @@ -237,14 +237,14 @@ Public Member Functions - +
            - + @@ -295,7 +295,7 @@ Public Member Functions diff --git a/docs/dd/d18/es__parser__adts_8h_source.html b/docs/dd/d18/es__parser__adts_8h_source.html index 77389fafe3..654b2bb713 100644 --- a/docs/dd/d18/es__parser__adts_8h_source.html +++ b/docs/dd/d18/es__parser__adts_8h_source.html @@ -95,11 +95,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            6 #define MEDIA_FORMATS_MP2T_ES_PARSER_ADTS_H_
            7 
            8 #include <list>
            -
            9 #include <utility>
            -
            10 
            -
            11 #include "packager/base/callback.h"
            -
            12 #include "packager/base/compiler_specific.h"
            -
            13 #include "packager/base/memory/scoped_ptr.h"
            +
            9 #include <memory>
            +
            10 #include <utility>
            +
            11 
            +
            12 #include "packager/base/callback.h"
            +
            13 #include "packager/base/compiler_specific.h"
            14 #include "packager/media/base/audio_stream_info.h"
            15 #include "packager/media/base/byte_queue.h"
            16 #include "packager/media/formats/mp2t/es_parser.h"
            @@ -154,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            65  EsPtsList pts_list_;
            66 
            67  // Interpolated PTS for frames that don't have one.
            -
            68  scoped_ptr<AudioTimestampHelper> audio_timestamp_helper_;
            +
            68  std::unique_ptr<AudioTimestampHelper> audio_timestamp_helper_;
            69 
            70  scoped_refptr<StreamInfo> last_audio_decoder_config_;
            71 
            @@ -167,12 +167,12 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            78 
            79 #endif
            - + diff --git a/docs/dd/d19/video__stream__info_8cc_source.html b/docs/dd/d19/video__stream__info_8cc_source.html index 589dc4cb27..45eca7f6d0 100644 --- a/docs/dd/d19/video__stream__info_8cc_source.html +++ b/docs/dd/d19/video__stream__info_8cc_source.html @@ -180,7 +180,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d30/wvm__media__parser_8cc_source.html b/docs/dd/d30/wvm__media__parser_8cc_source.html index 877a432166..9953cc5045 100644 --- a/docs/dd/d30/wvm__media__parser_8cc_source.html +++ b/docs/dd/d30/wvm__media__parser_8cc_source.html @@ -1223,7 +1223,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            1134  std::vector<uint8_t> decrypted_content_key_vec(
            1135  content_key_buffer.begin() + 4,
            1136  content_key_buffer.begin() + 20);
            -
            1137  scoped_ptr<AesCbcDecryptor> content_decryptor(
            +
            1137  std::unique_ptr<AesCbcDecryptor> content_decryptor(
            1138  new AesCbcDecryptor(kCtsPadding, AesCryptor::kUseConstantIv));
            1139  if (!content_decryptor->InitializeWithIv(decrypted_content_key_vec,
            1140  zero_iv)) {
            @@ -1231,7 +1231,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            1142  return false;
            1143  }
            1144 
            -
            1145  content_decryptor_ = content_decryptor.Pass();
            +
            1145  content_decryptor_ = std::move(content_decryptor);
            1146  return true;
            1147 }
            1148 
            @@ -1261,12 +1261,12 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            1172 } // namespace shaka
            static size_t GetAdtsFrameSize(const uint8_t *data, size_t num_bytes)
            Definition: adts_header.cc:23
            static std::string GetCodecString(Codec codec, uint8_t audio_object_type)
            -
            KeySource is responsible for encryption key acquisition.
            Definition: key_source.h:31
            +
            KeySource is responsible for encryption key acquisition.
            Definition: key_source.h:30
            static scoped_refptr< MediaSample > CreateEmptyMediaSample()
            Create a MediaSample object with default members.
            Definition: media_sample.cc:74
            diff --git a/docs/dd/d3b/mp4_2segmenter_8h_source.html b/docs/dd/d3b/mp4_2segmenter_8h_source.html index 8c7a5716e8..0b168d7e5a 100644 --- a/docs/dd/d3b/mp4_2segmenter_8h_source.html +++ b/docs/dd/d3b/mp4_2segmenter_8h_source.html @@ -97,10 +97,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            8 #define MEDIA_FORMATS_MP4_SEGMENTER_H_
            9 
            10 #include <map>
            -
            11 #include <vector>
            -
            12 
            -
            13 #include "packager/base/memory/ref_counted.h"
            -
            14 #include "packager/base/memory/scoped_ptr.h"
            +
            11 #include <memory>
            +
            12 #include <vector>
            +
            13 
            +
            14 #include "packager/base/memory/ref_counted.h"
            15 #include "packager/media/base/fourccs.h"
            16 #include "packager/media/base/status.h"
            17 #include "packager/media/formats/mp4/box_definitions.h"
            @@ -124,8 +124,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            41 class Segmenter {
            42  public:
            43  Segmenter(const MuxerOptions& options,
            -
            44  scoped_ptr<FileType> ftyp,
            -
            45  scoped_ptr<Movie> moov);
            +
            44  std::unique_ptr<FileType> ftyp,
            +
            45  std::unique_ptr<Movie> moov);
            46  virtual ~Segmenter();
            47 
            65  Status Initialize(const std::vector<MediaStream*>& streams,
            @@ -179,11 +179,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            129  Status FinalizeFragment(bool finalize_segment, Fragmenter* fragment);
            130 
            131  const MuxerOptions& options_;
            -
            132  scoped_ptr<FileType> ftyp_;
            -
            133  scoped_ptr<Movie> moov_;
            -
            134  scoped_ptr<MovieFragment> moof_;
            -
            135  scoped_ptr<BufferWriter> fragment_buffer_;
            -
            136  scoped_ptr<SegmentIndex> sidx_;
            +
            132  std::unique_ptr<FileType> ftyp_;
            +
            133  std::unique_ptr<Movie> moov_;
            +
            134  std::unique_ptr<MovieFragment> moof_;
            +
            135  std::unique_ptr<BufferWriter> fragment_buffer_;
            +
            136  std::unique_ptr<SegmentIndex> sidx_;
            137  std::vector<Fragmenter*> fragmenters_;
            138  std::vector<uint64_t> segment_durations_;
            139  std::map<const MediaStream*, uint32_t> stream_map_;
            @@ -213,7 +213,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); -
            KeySource is responsible for encryption key acquisition.
            Definition: key_source.h:31
            +
            KeySource is responsible for encryption key acquisition.
            Definition: key_source.h:30
            double GetDuration() const
            Definition: segmenter.cc:380
            virtual bool GetIndexRange(size_t *offset, size_t *size)=0
            @@ -221,7 +221,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d3f/structshaka_1_1media_1_1mp4_1_1SyncSample.html b/docs/dd/d3f/structshaka_1_1media_1_1mp4_1_1SyncSample.html index ecd758b35b..323b07baa7 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 4b45fbe8d8..fe2c6ccffe 100644 --- a/docs/dd/d42/encryptor_8h_source.html +++ b/docs/dd/d42/encryptor_8h_source.html @@ -96,69 +96,72 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            7 #ifndef MEDIA_FORMATS_WEBM_ENCRYPTOR_H_
            8 #define MEDIA_FORMATS_WEBM_ENCRYPTOR_H_
            9 
            -
            10 #include "packager/base/memory/ref_counted.h"
            -
            11 #include "packager/base/memory/scoped_ptr.h"
            -
            12 #include "packager/media/base/key_source.h"
            -
            13 #include "packager/media/base/status.h"
            -
            14 #include "packager/media/base/stream_info.h"
            -
            15 #include "packager/media/codecs/vpx_parser.h"
            -
            16 #include "packager/media/event/muxer_listener.h"
            -
            17 #include "packager/third_party/libwebm/src/mkvmuxer.hpp"
            -
            18 
            -
            19 namespace shaka {
            -
            20 namespace media {
            -
            21 
            -
            22 class AesCtrEncryptor;
            -
            23 class MediaSample;
            -
            24 
            -
            25 namespace webm {
            -
            26 
            -
            29 class Encryptor {
            -
            30  public:
            -
            31  Encryptor();
            -
            32  ~Encryptor();
            -
            33 
            -
            36  Status Initialize(MuxerListener* muxer_listener,
            -
            37  KeySource::TrackType track_type,
            -
            38  Codec codec,
            -
            39  KeySource* key_source,
            -
            40  bool webm_subsample_encryption);
            -
            41 
            -
            45  Status AddTrackInfo(mkvmuxer::Track* track);
            -
            46 
            -
            50  Status EncryptFrame(scoped_refptr<MediaSample> sample,
            -
            51  bool encrypt_frame);
            -
            52 
            -
            53  private:
            -
            54  // Create the encryptor for the internal encryption key.
            -
            55  Status CreateEncryptor(MuxerListener* muxer_listener,
            -
            56  KeySource::TrackType track_type,
            -
            57  Codec codec,
            -
            58  KeySource* key_source,
            -
            59  bool webm_subsample_encryption);
            -
            60 
            -
            61  private:
            -
            62  scoped_ptr<EncryptionKey> key_;
            -
            63  scoped_ptr<AesCtrEncryptor> encryptor_;
            -
            64  scoped_ptr<VPxParser> vpx_parser_;
            -
            65 };
            +
            10 #include <memory>
            +
            11 #include "packager/base/macros.h"
            +
            12 #include "packager/base/memory/ref_counted.h"
            +
            13 #include "packager/media/base/key_source.h"
            +
            14 #include "packager/media/base/status.h"
            +
            15 #include "packager/media/base/stream_info.h"
            +
            16 #include "packager/media/codecs/vpx_parser.h"
            +
            17 #include "packager/media/event/muxer_listener.h"
            +
            18 #include "packager/third_party/libwebm/src/mkvmuxer.hpp"
            +
            19 
            +
            20 namespace shaka {
            +
            21 namespace media {
            +
            22 
            +
            23 class AesCtrEncryptor;
            +
            24 class MediaSample;
            +
            25 
            +
            26 namespace webm {
            +
            27 
            +
            30 class Encryptor {
            +
            31  public:
            +
            32  Encryptor();
            +
            33  ~Encryptor();
            +
            34 
            +
            37  Status Initialize(MuxerListener* muxer_listener,
            +
            38  KeySource::TrackType track_type,
            +
            39  Codec codec,
            +
            40  KeySource* key_source,
            +
            41  bool webm_subsample_encryption);
            +
            42 
            +
            46  Status AddTrackInfo(mkvmuxer::Track* track);
            +
            47 
            +
            51  Status EncryptFrame(scoped_refptr<MediaSample> sample,
            +
            52  bool encrypt_frame);
            +
            53 
            +
            54  private:
            +
            55  // Create the encryptor for the internal encryption key.
            +
            56  Status CreateEncryptor(MuxerListener* muxer_listener,
            +
            57  KeySource::TrackType track_type,
            +
            58  Codec codec,
            +
            59  KeySource* key_source,
            +
            60  bool webm_subsample_encryption);
            +
            61 
            +
            62  private:
            +
            63  std::unique_ptr<EncryptionKey> key_;
            +
            64  std::unique_ptr<AesCtrEncryptor> encryptor_;
            +
            65  std::unique_ptr<VPxParser> vpx_parser_;
            66 
            -
            67 } // namespace webm
            -
            68 } // namespace media
            -
            69 } // namespace shaka
            -
            70 
            -
            71 #endif // MEDIA_FORMATS_WEBM_ENCRYPTOR_H_
            +
            67  DISALLOW_COPY_AND_ASSIGN(Encryptor);
            +
            68 };
            +
            69 
            +
            70 } // namespace webm
            +
            71 } // namespace media
            +
            72 } // namespace shaka
            +
            73 
            +
            74 #endif // MEDIA_FORMATS_WEBM_ENCRYPTOR_H_
            Status AddTrackInfo(mkvmuxer::Track *track)
            Definition: encryptor.cc:71
            Status Initialize(MuxerListener *muxer_listener, KeySource::TrackType track_type, Codec codec, KeySource *key_source, bool webm_subsample_encryption)
            Definition: encryptor.cc:61
            - +
            Status EncryptFrame(scoped_refptr< MediaSample > sample, bool encrypt_frame)
            Definition: encryptor.cc:76
            -
            KeySource is responsible for encryption key acquisition.
            Definition: key_source.h:31
            +
            KeySource is responsible for encryption key acquisition.
            Definition: key_source.h:30
            diff --git a/docs/dd/d46/webm__parser_8h_source.html b/docs/dd/d46/webm__parser_8h_source.html index 9d55fd9e36..9bd635c9f9 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 a9ccdb33e6..4c12b6d967 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');
            void shaka::media::Demuxer::SetKeySource (scoped_ptr< KeySourcestd::unique_ptr< KeySource key_source)
            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 a141a3486c..f636848ce8 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 82478a922a..1b34edd92b 100644 --- a/docs/dd/d54/widevine__encryption__flags_8h_source.html +++ b/docs/dd/d54/widevine__encryption__flags_8h_source.html @@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d59/classshaka_1_1media_1_1mp2t_1_1EsParserH265-members.html b/docs/dd/d59/classshaka_1_1media_1_1mp2t_1_1EsParserH265-members.html index d9db34d313..b0b29799ce 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 @@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); EmitSampleCB typedef (defined in shaka::media::mp2t::EsParser)shaka::media::mp2t::EsParser EsParser(uint32_t pid) (defined in shaka::media::mp2t::EsParser)shaka::media::mp2t::EsParserinline EsParserH265(uint32_t pid, const NewStreamInfoCB &new_stream_info_cb, const EmitSampleCB &emit_sample_cb) (defined in shaka::media::mp2t::EsParserH265)shaka::media::mp2t::EsParserH265 - EsParserH26x(Nalu::CodecType type, scoped_ptr< H26xByteToUnitStreamConverter > stream_converter, uint32_t pid, const EmitSampleCB &emit_sample_cb) (defined in shaka::media::mp2t::EsParserH26x)shaka::media::mp2t::EsParserH26x + EsParserH26x(Nalu::CodecType type, std::unique_ptr< H26xByteToUnitStreamConverter > stream_converter, uint32_t pid, const EmitSampleCB &emit_sample_cb) (defined in shaka::media::mp2t::EsParserH26x)shaka::media::mp2t::EsParserH26x Flush() override (defined in shaka::media::mp2t::EsParserH26x)shaka::media::mp2t::EsParserH26xvirtual NewStreamInfoCB typedef (defined in shaka::media::mp2t::EsParser)shaka::media::mp2t::EsParser Parse(const uint8_t *buf, int size, int64_t pts, int64_t dts) override (defined in shaka::media::mp2t::EsParserH26x)shaka::media::mp2t::EsParserH26xvirtual @@ -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 2a6748cc36..7c70f434ec 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 19645e2849..98cfa41bf4 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 d06d80eee1..6a85862923 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 ba36ed6af9..6b93bafb15 100644 --- a/docs/dd/d67/h264__byte__to__unit__stream__converter_8cc_source.html +++ b/docs/dd/d67/h264__byte__to__unit__stream__converter_8cc_source.html @@ -177,7 +177,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d6e/classshaka_1_1media_1_1H265VideoSliceHeaderParser-members.html b/docs/dd/d6e/classshaka_1_1media_1_1H265VideoSliceHeaderParser-members.html index e10ec63b5e..1aad267849 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 b06502e8d4..263cc5fec1 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 7471e846a9..6ed7b238f6 100644 --- a/docs/dd/d7a/classshaka_1_1media_1_1MuxerListener.html +++ b/docs/dd/d7a/classshaka_1_1media_1_1MuxerListener.html @@ -469,7 +469,7 @@ Public Member Functions diff --git a/docs/dd/d7c/classshaka_1_1media_1_1IoCache.html b/docs/dd/d7c/classshaka_1_1media_1_1IoCache.html index a65282f930..c0788b3617 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 fd82cfa508..380b2eb2ae 100644 --- a/docs/dd/d80/media__sample_8h_source.html +++ b/docs/dd/d80/media__sample_8h_source.html @@ -102,165 +102,164 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            13 
            14 #include "packager/base/logging.h"
            15 #include "packager/base/memory/ref_counted.h"
            -
            16 #include "packager/base/memory/scoped_ptr.h"
            -
            17 
            -
            18 namespace shaka {
            -
            19 namespace media {
            -
            20 
            -
            22 class MediaSample : public base::RefCountedThreadSafe<MediaSample> {
            -
            23  public:
            -
            29  static scoped_refptr<MediaSample> CopyFrom(const uint8_t* data,
            -
            30  size_t size,
            -
            31  bool is_key_frame);
            -
            32 
            -
            42  static scoped_refptr<MediaSample> CopyFrom(const uint8_t* data,
            -
            43  size_t size,
            -
            44  const uint8_t* side_data,
            -
            45  size_t side_data_size,
            -
            46  bool is_key_frame);
            -
            47 
            -
            54  static scoped_refptr<MediaSample> FromMetadata(const uint8_t* metadata,
            -
            55  size_t metadata_size);
            -
            56 
            -
            58  static scoped_refptr<MediaSample> CreateEmptyMediaSample();
            -
            59 
            -
            63  static scoped_refptr<MediaSample> CreateEOSBuffer();
            -
            64 
            -
            65  int64_t dts() const {
            -
            66  DCHECK(!end_of_stream());
            -
            67  return dts_;
            -
            68  }
            -
            69 
            -
            70  void set_dts(int64_t dts) { dts_ = dts; }
            -
            71 
            -
            72  int64_t pts() const {
            -
            73  DCHECK(!end_of_stream());
            -
            74  return pts_;
            -
            75  }
            -
            76 
            -
            77  void set_pts(int64_t pts) { pts_ = pts; }
            -
            78 
            -
            79  int64_t duration() const {
            -
            80  DCHECK(!end_of_stream());
            -
            81  return duration_;
            -
            82  }
            -
            83 
            -
            84  void set_duration(int64_t duration) {
            -
            85  DCHECK(!end_of_stream());
            -
            86  duration_ = duration;
            -
            87  }
            -
            88 
            -
            89  bool is_key_frame() const {
            -
            90  DCHECK(!end_of_stream());
            -
            91  return is_key_frame_;
            -
            92  }
            -
            93 
            -
            94  bool is_encrypted() const {
            -
            95  DCHECK(!end_of_stream());
            -
            96  return is_encrypted_;
            -
            97  }
            -
            98  const uint8_t* data() const {
            -
            99  DCHECK(!end_of_stream());
            -
            100  return &data_[0];
            -
            101  }
            -
            102 
            -
            103  uint8_t* writable_data() {
            -
            104  DCHECK(!end_of_stream());
            -
            105  return &data_[0];
            -
            106  }
            -
            107 
            -
            108  size_t data_size() const {
            -
            109  DCHECK(!end_of_stream());
            -
            110  return data_.size();
            -
            111  }
            -
            112 
            -
            113  const uint8_t* side_data() const {
            -
            114  return &side_data_[0];
            -
            115  }
            -
            116 
            -
            117  size_t side_data_size() const {
            -
            118  return side_data_.size();
            -
            119  }
            -
            120 
            -
            121  void set_data(const uint8_t* data, const size_t data_size) {
            -
            122  data_.assign(data, data + data_size);
            -
            123  }
            -
            124 
            -
            125  void resize_data(const size_t data_size) {
            -
            126  data_.resize(data_size);
            -
            127  }
            -
            128 
            -
            129  void set_is_key_frame(bool value) {
            -
            130  is_key_frame_ = value;
            -
            131  }
            -
            132 
            -
            133  void set_is_encrypted(bool value) {
            -
            134  is_encrypted_ = value;
            -
            135  }
            -
            136 
            -
            137  // If there's no data in this buffer, it represents end of stream.
            -
            138  bool end_of_stream() const { return data_.size() == 0; }
            -
            139 
            -
            140  const std::string& config_id() const { return config_id_; }
            -
            141  void set_config_id(const std::string& config_id) {
            -
            142  config_id_ = config_id;
            -
            143  }
            -
            144 
            -
            146  std::string ToString() const;
            -
            147 
            -
            148  private:
            -
            149  friend class base::RefCountedThreadSafe<MediaSample>;
            -
            150 
            -
            151  // Create a MediaSample. Buffer will be padded and aligned as necessary.
            -
            152  // |data|,|side_data| can be NULL, which indicates an empty sample.
            -
            153  // |size|,|side_data_size| should not be negative.
            -
            154  MediaSample(const uint8_t* data,
            -
            155  size_t size,
            -
            156  const uint8_t* side_data,
            -
            157  size_t side_data_size,
            -
            158  bool is_key_frame);
            -
            159  MediaSample();
            -
            160  virtual ~MediaSample();
            -
            161 
            -
            162  // Decoding time stamp.
            -
            163  int64_t dts_;
            -
            164  // Presentation time stamp.
            -
            165  int64_t pts_;
            -
            166  int64_t duration_;
            -
            167  bool is_key_frame_;
            -
            168  // is sample encrypted ?
            -
            169  bool is_encrypted_;
            -
            170 
            -
            171  // Main buffer data.
            -
            172  std::vector<uint8_t> data_;
            -
            173  // Contain additional buffers to complete the main one. Needed by WebM
            -
            174  // http://www.matroska.org/technical/specs/index.html BlockAdditional[A5].
            -
            175  // Not used by mp4 and other containers.
            -
            176  std::vector<uint8_t> side_data_;
            -
            177 
            -
            178  // Text specific fields.
            -
            179  // For now this is the cue identifier for WebVTT.
            -
            180  std::string config_id_;
            -
            181 
            -
            182  DISALLOW_COPY_AND_ASSIGN(MediaSample);
            -
            183 };
            -
            184 
            -
            185 typedef std::deque<scoped_refptr<MediaSample> > BufferQueue;
            -
            186 
            -
            187 } // namespace media
            -
            188 } // namespace shaka
            -
            189 
            -
            190 #endif // MEDIA_BASE_MEDIA_SAMPLE_H_
            +
            16 
            +
            17 namespace shaka {
            +
            18 namespace media {
            +
            19 
            +
            21 class MediaSample : public base::RefCountedThreadSafe<MediaSample> {
            +
            22  public:
            +
            28  static scoped_refptr<MediaSample> CopyFrom(const uint8_t* data,
            +
            29  size_t size,
            +
            30  bool is_key_frame);
            +
            31 
            +
            41  static scoped_refptr<MediaSample> CopyFrom(const uint8_t* data,
            +
            42  size_t size,
            +
            43  const uint8_t* side_data,
            +
            44  size_t side_data_size,
            +
            45  bool is_key_frame);
            +
            46 
            +
            53  static scoped_refptr<MediaSample> FromMetadata(const uint8_t* metadata,
            +
            54  size_t metadata_size);
            +
            55 
            +
            57  static scoped_refptr<MediaSample> CreateEmptyMediaSample();
            +
            58 
            +
            62  static scoped_refptr<MediaSample> CreateEOSBuffer();
            +
            63 
            +
            64  int64_t dts() const {
            +
            65  DCHECK(!end_of_stream());
            +
            66  return dts_;
            +
            67  }
            +
            68 
            +
            69  void set_dts(int64_t dts) { dts_ = dts; }
            +
            70 
            +
            71  int64_t pts() const {
            +
            72  DCHECK(!end_of_stream());
            +
            73  return pts_;
            +
            74  }
            +
            75 
            +
            76  void set_pts(int64_t pts) { pts_ = pts; }
            +
            77 
            +
            78  int64_t duration() const {
            +
            79  DCHECK(!end_of_stream());
            +
            80  return duration_;
            +
            81  }
            +
            82 
            +
            83  void set_duration(int64_t duration) {
            +
            84  DCHECK(!end_of_stream());
            +
            85  duration_ = duration;
            +
            86  }
            +
            87 
            +
            88  bool is_key_frame() const {
            +
            89  DCHECK(!end_of_stream());
            +
            90  return is_key_frame_;
            +
            91  }
            +
            92 
            +
            93  bool is_encrypted() const {
            +
            94  DCHECK(!end_of_stream());
            +
            95  return is_encrypted_;
            +
            96  }
            +
            97  const uint8_t* data() const {
            +
            98  DCHECK(!end_of_stream());
            +
            99  return &data_[0];
            +
            100  }
            +
            101 
            +
            102  uint8_t* writable_data() {
            +
            103  DCHECK(!end_of_stream());
            +
            104  return &data_[0];
            +
            105  }
            +
            106 
            +
            107  size_t data_size() const {
            +
            108  DCHECK(!end_of_stream());
            +
            109  return data_.size();
            +
            110  }
            +
            111 
            +
            112  const uint8_t* side_data() const {
            +
            113  return &side_data_[0];
            +
            114  }
            +
            115 
            +
            116  size_t side_data_size() const {
            +
            117  return side_data_.size();
            +
            118  }
            +
            119 
            +
            120  void set_data(const uint8_t* data, const size_t data_size) {
            +
            121  data_.assign(data, data + data_size);
            +
            122  }
            +
            123 
            +
            124  void resize_data(const size_t data_size) {
            +
            125  data_.resize(data_size);
            +
            126  }
            +
            127 
            +
            128  void set_is_key_frame(bool value) {
            +
            129  is_key_frame_ = value;
            +
            130  }
            +
            131 
            +
            132  void set_is_encrypted(bool value) {
            +
            133  is_encrypted_ = value;
            +
            134  }
            +
            135 
            +
            136  // If there's no data in this buffer, it represents end of stream.
            +
            137  bool end_of_stream() const { return data_.size() == 0; }
            +
            138 
            +
            139  const std::string& config_id() const { return config_id_; }
            +
            140  void set_config_id(const std::string& config_id) {
            +
            141  config_id_ = config_id;
            +
            142  }
            +
            143 
            +
            145  std::string ToString() const;
            +
            146 
            +
            147  private:
            +
            148  friend class base::RefCountedThreadSafe<MediaSample>;
            +
            149 
            +
            150  // Create a MediaSample. Buffer will be padded and aligned as necessary.
            +
            151  // |data|,|side_data| can be NULL, which indicates an empty sample.
            +
            152  // |size|,|side_data_size| should not be negative.
            +
            153  MediaSample(const uint8_t* data,
            +
            154  size_t size,
            +
            155  const uint8_t* side_data,
            +
            156  size_t side_data_size,
            +
            157  bool is_key_frame);
            +
            158  MediaSample();
            +
            159  virtual ~MediaSample();
            +
            160 
            +
            161  // Decoding time stamp.
            +
            162  int64_t dts_;
            +
            163  // Presentation time stamp.
            +
            164  int64_t pts_;
            +
            165  int64_t duration_;
            +
            166  bool is_key_frame_;
            +
            167  // is sample encrypted ?
            +
            168  bool is_encrypted_;
            +
            169 
            +
            170  // Main buffer data.
            +
            171  std::vector<uint8_t> data_;
            +
            172  // Contain additional buffers to complete the main one. Needed by WebM
            +
            173  // http://www.matroska.org/technical/specs/index.html BlockAdditional[A5].
            +
            174  // Not used by mp4 and other containers.
            +
            175  std::vector<uint8_t> side_data_;
            +
            176 
            +
            177  // Text specific fields.
            +
            178  // For now this is the cue identifier for WebVTT.
            +
            179  std::string config_id_;
            +
            180 
            +
            181  DISALLOW_COPY_AND_ASSIGN(MediaSample);
            +
            182 };
            +
            183 
            +
            184 typedef std::deque<scoped_refptr<MediaSample> > BufferQueue;
            +
            185 
            +
            186 } // namespace media
            +
            187 } // namespace shaka
            +
            188 
            +
            189 #endif // MEDIA_BASE_MEDIA_SAMPLE_H_
            static scoped_refptr< MediaSample > FromMetadata(const uint8_t *metadata, size_t metadata_size)
            Definition: media_sample.cc:67
            static scoped_refptr< MediaSample > CreateEOSBuffer()
            Definition: media_sample.cc:80
            std::string ToString() const
            Definition: media_sample.cc:84
            -
            Class to hold a media sample.
            Definition: media_sample.h:22
            +
            Class to hold a media sample.
            Definition: media_sample.h:21
            static scoped_refptr< MediaSample > CopyFrom(const uint8_t *data, size_t size, bool is_key_frame)
            Definition: media_sample.cc:45
            static scoped_refptr< MediaSample > CreateEmptyMediaSample()
            Create a MediaSample object with default members.
            Definition: media_sample.cc:74
            diff --git a/docs/dd/d87/memory__file_8cc_source.html b/docs/dd/d87/memory__file_8cc_source.html index 33b9e717b3..b93246659a 100644 --- a/docs/dd/d87/memory__file_8cc_source.html +++ b/docs/dd/d87/memory__file_8cc_source.html @@ -98,9 +98,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            9 #include <string.h> // for memcpy
            10 
            11 #include <map>
            -
            12 
            -
            13 #include "packager/base/logging.h"
            -
            14 #include "packager/base/memory/scoped_ptr.h"
            +
            12 #include <memory>
            +
            13 
            +
            14 #include "packager/base/logging.h"
            15 
            16 namespace shaka {
            17 namespace media {
            @@ -133,13 +133,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            44  private:
            45  FileSystem() {}
            46 
            -
            47  static scoped_ptr<FileSystem> g_file_system_;
            +
            47  static std::unique_ptr<FileSystem> g_file_system_;
            48 
            49  std::map<std::string, std::vector<uint8_t> > files_;
            50  DISALLOW_COPY_AND_ASSIGN(FileSystem);
            51 };
            52 
            -
            53 scoped_ptr<FileSystem> FileSystem::g_file_system_;
            +
            53 std::unique_ptr<FileSystem> FileSystem::g_file_system_;
            54 
            55 } // namespace
            56 
            @@ -241,7 +241,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d88/pes__packet__generator_8h_source.html b/docs/dd/d88/pes__packet__generator_8h_source.html index 9a2d6a7c18..ae5f60a09d 100644 --- a/docs/dd/d88/pes__packet__generator_8h_source.html +++ b/docs/dd/d88/pes__packet__generator_8h_source.html @@ -97,8 +97,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            8 #define PACKAGER_MEDIA_FORMATS_MP2T_PES_PACKET_GENERATOR_H_
            9 
            10 #include <list>
            -
            11 
            -
            12 #include "packager/base/memory/scoped_ptr.h"
            +
            11 #include <memory>
            +
            12 
            13 #include "packager/base/stl_util.h"
            14 #include "packager/media/base/aes_cryptor.h"
            15 #include "packager/media/base/key_source.h"
            @@ -125,11 +125,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            43 
            48  virtual bool PushSample(scoped_refptr<MediaSample> sample);
            49 
            -
            54  virtual bool SetEncryptionKey(scoped_ptr<EncryptionKey> encryption_key);
            +
            54  virtual bool SetEncryptionKey(std::unique_ptr<EncryptionKey> encryption_key);
            55 
            57  virtual size_t NumberOfReadyPesPackets();
            58 
            -
            62  virtual scoped_ptr<PesPacket> GetNextPesPacket();
            +
            62  virtual std::unique_ptr<PesPacket> GetNextPesPacket();
            63 
            67  virtual bool Flush();
            68 
            @@ -142,18 +142,18 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            75  // timestamps.
            76  double timescale_scale_ = 0.0;
            77 
            -
            78  scoped_ptr<NalUnitToByteStreamConverter> converter_;
            -
            79  scoped_ptr<AACAudioSpecificConfig> adts_converter_;
            +
            78  std::unique_ptr<NalUnitToByteStreamConverter> converter_;
            +
            79  std::unique_ptr<AACAudioSpecificConfig> adts_converter_;
            80 
            81  // This is the PES packet that this object is currently working on.
            82  // This can be used to create a PES from multiple audio samples.
            -
            83  scoped_ptr<PesPacket> current_processing_pes_;
            +
            83  std::unique_ptr<PesPacket> current_processing_pes_;
            84 
            85  std::list<PesPacket*> pes_packets_;
            86  STLElementDeleter<decltype(pes_packets_)> pes_packets_deleter_;
            87 
            88  // Current encryption key.
            -
            89  scoped_ptr<AesCryptor> encryptor_;
            +
            89  std::unique_ptr<AesCryptor> encryptor_;
            90 
            91  DISALLOW_COPY_AND_ASSIGN(PesPacketGenerator);
            92 };
            @@ -165,16 +165,16 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
            98 #endif // PACKAGER_MEDIA_FORMATS_MP2T_PES_PACKET_GENERATOR_H_
            Abstract class holds stream information.
            Definition: stream_info.h:53
            -
            virtual scoped_ptr< PesPacket > GetNextPesPacket()
            +
            virtual std::unique_ptr< PesPacket > GetNextPesPacket()
            -
            virtual bool SetEncryptionKey(scoped_ptr< EncryptionKey > encryption_key)
            virtual bool Initialize(const StreamInfo &stream)
            +
            virtual bool SetEncryptionKey(std::unique_ptr< EncryptionKey > encryption_key)
            virtual bool PushSample(scoped_refptr< MediaSample > sample)
            diff --git a/docs/dd/d8c/file__test__util_8h_source.html b/docs/dd/d8c/file__test__util_8h_source.html index 9fd72fc368..133a330dfa 100644 --- a/docs/dd/d8c/file__test__util_8h_source.html +++ b/docs/dd/d8c/file__test__util_8h_source.html @@ -119,7 +119,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d8d/structshaka_1_1media_1_1mp4_1_1SegmentIndex-members.html b/docs/dd/d8d/structshaka_1_1media_1_1mp4_1_1SegmentIndex-members.html index 3cc05973d9..edaba9c3e3 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 00e3070508..759eb0db8a 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 4a3796e2f9..0aeb794270 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 388cc23baa..f130b01735 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 0d9dabcf68..01dc289b98 100644 --- a/docs/dd/d9d/classshaka_1_1MpdNotifier-members.html +++ b/docs/dd/d9d/classshaka_1_1MpdNotifier-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/da4/structshaka_1_1xml_1_1XmlDeleter.html b/docs/dd/da4/structshaka_1_1xml_1_1XmlDeleter.html index 36e045a5fd..9f978ea93c 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 f82b8d2429..08b91c0c67 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 @@ -111,9 +111,9 @@ Public Member Functions  TwoPassSingleSegmentSegmenter (const MuxerOptions &options)   - -Status DoInitialize (scoped_ptr< MkvWriter > writer) override -  + +Status DoInitialize (std::unique_ptr< MkvWriter > writer) override +  Status DoFinalize () override   @@ -129,8 +129,8 @@ Public Member Functions  Segmenter (const MuxerOptions &options)   -Status Initialize (scoped_ptr< MkvWriter > writer, StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds) -  +Status Initialize (std::unique_ptr< MkvWriter > writer, StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds) +  Status Finalize ()   Status AddSample (scoped_refptr< MediaSample > sample) @@ -153,9 +153,9 @@ void set_index_start ( void set_index_end (uint64_t end)   - -void set_writer (scoped_ptr< MkvWriter > writer) -  + +void set_writer (std::unique_ptr< MkvWriter > writer) +  - Protected Member Functions inherited from shaka::media::webm::Segmenter uint64_t FromBMFFTimescale (uint64_t time_timescale)   @@ -209,7 +209,7 @@ double cluster_length_sec<

            Detailed Description

            An implementation of a Segmenter for a single-segment that performs two passes. This does not use seeking and is used for non-seekable files.

            -

            Definition at line 27 of file two_pass_single_segment_segmenter.h.

            +

            Definition at line 26 of file two_pass_single_segment_segmenter.h.


            The documentation for this class was generated from the following files:
            • media/formats/webm/two_pass_single_segment_segmenter.h
            • media/formats/webm/two_pass_single_segment_segmenter.cc
            • @@ -217,7 +217,7 @@ double cluster_length_sec< diff --git a/docs/dd/daa/vod__media__info__dump__muxer__listener_8h_source.html b/docs/dd/daa/vod__media__info__dump__muxer__listener_8h_source.html index 2fe13d4645..a9ea4a53f9 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 @@ -100,11 +100,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
              11 #ifndef MEDIA_EVENT_VOD_MEDIA_INFO_DUMP_MUXER_LISTENER_H_
              12 #define MEDIA_EVENT_VOD_MEDIA_INFO_DUMP_MUXER_LISTENER_H_
              13 
              -
              14 #include <string>
              -
              15 #include <vector>
              -
              16 
              -
              17 #include "packager/base/compiler_specific.h"
              -
              18 #include "packager/base/memory/scoped_ptr.h"
              +
              14 #include <memory>
              +
              15 #include <string>
              +
              16 #include <vector>
              +
              17 
              +
              18 #include "packager/base/macros.h"
              19 #include "packager/media/base/muxer_options.h"
              20 #include "packager/media/event/muxer_listener.h"
              21 
              @@ -150,23 +150,22 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
              68  const std::string& output_file_path);
              69 
              70  private:
              -
              71 
              -
              72  std::string output_file_name_;
              -
              73  scoped_ptr<MediaInfo> media_info_;
              -
              74 
              -
              75  bool is_encrypted_;
              -
              76  // Storage for values passed to OnEncryptionInfoReady().
              -
              77  FourCC protection_scheme_;
              -
              78  std::string default_key_id_;
              -
              79  std::vector<ProtectionSystemSpecificInfo> key_system_info_;
              -
              80 
              -
              81  DISALLOW_COPY_AND_ASSIGN(VodMediaInfoDumpMuxerListener);
              -
              82 };
              -
              83 
              -
              84 } // namespace media
              -
              85 } // namespace shaka
              -
              86 
              -
              87 #endif // MEDIA_EVENT_VOD_MEDIA_INFO_DUMP_MUXER_LISTENER_H_
              +
              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::string 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_
              Abstract class holds stream information.
              Definition: stream_info.h:53
              void OnSampleDurationReady(uint32_t sample_duration) override
              @@ -181,7 +180,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/dab/webm__muxer_8h_source.html b/docs/dd/dab/webm__muxer_8h_source.html index b9f2a92bf7..e2bf312d25 100644 --- a/docs/dd/dab/webm__muxer_8h_source.html +++ b/docs/dd/dab/webm__muxer_8h_source.html @@ -119,7 +119,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
              32  void FireOnMediaStartEvent();
              33  void FireOnMediaEndEvent();
              34 
              -
              35  scoped_ptr<Segmenter> segmenter_;
              +
              35  std::unique_ptr<Segmenter> segmenter_;
              36 
              37  DISALLOW_COPY_AND_ASSIGN(WebMMuxer);
              38 };
              @@ -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 56d4f8bfa1..78dbe0cb0b 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 2abad136ea..7f6096c9d1 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 63c3d97f54..7114b9fc95 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 27e53cd791..78b698e044 100644 --- a/docs/dd/db9/classshaka_1_1xml_1_1RepresentationBaseXmlNode.html +++ b/docs/dd/db9/classshaka_1_1xml_1_1RepresentationBaseXmlNode.html @@ -148,7 +148,7 @@ Protected Member Functions

              Detailed Description

              This corresponds to RepresentationBaseType in MPD. RepresentationBaseType is not a concrete element type so this should not get instantiated on its own. AdaptationSet and Representation are subtypes of this.

              -

              Definition at line 96 of file xml_node.h.

              +

              Definition at line 97 of file xml_node.h.


              The documentation for this class was generated from the following files:
              • mpd/base/xml/xml_node.h
              • mpd/base/xml/xml_node.cc
              • @@ -156,7 +156,7 @@ Protected Member Functions diff --git a/docs/dd/dbc/buffer__reader_8cc_source.html b/docs/dd/dbc/buffer__reader_8cc_source.html index 4a6b6992f6..b33420691f 100644 --- a/docs/dd/dbc/buffer__reader_8cc_source.html +++ b/docs/dd/dbc/buffer__reader_8cc_source.html @@ -196,7 +196,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/dbd/structshaka_1_1media_1_1EncryptionKey.html b/docs/dd/dbd/structshaka_1_1media_1_1EncryptionKey.html index d29e80980f..8f414713d0 100644 --- a/docs/dd/dbd/structshaka_1_1media_1_1EncryptionKey.html +++ b/docs/dd/dbd/structshaka_1_1media_1_1EncryptionKey.html @@ -112,7 +112,7 @@ std::vector< uint8_t > 

                Detailed Description

                -

                Definition at line 20 of file key_source.h.

                +

                Definition at line 19 of file key_source.h.


                The documentation for this struct was generated from the following files:
                • media/base/key_source.h
                • media/base/key_source.cc
                • @@ -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 8a23675349..2ad8d6ff82 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 77ba7254b1..83a6df1e3a 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 9561e97e78..0e820afdcc 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 d9b67661a8..69a37413a7 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 7d2572a28d..ed6b6f5374 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 @@ -111,8 +111,8 @@ Public Member Functions  Segmenter (const MuxerOptions &options)   -Status Initialize (scoped_ptr< MkvWriter > writer, StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds) -  +Status Initialize (std::unique_ptr< MkvWriter > writer, StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds) +  Status Finalize ()   Status AddSample (scoped_refptr< MediaSample > sample) @@ -174,9 +174,9 @@ uint64_t segment_payload_p double cluster_length_sec () const   - -virtual Status DoInitialize (scoped_ptr< MkvWriter > writer)=0 -  + +virtual Status DoInitialize (std::unique_ptr< MkvWriter > writer)=0 +  virtual Status DoFinalize ()=0   @@ -349,14 +349,14 @@ virtual Sta - +
                  - + @@ -427,7 +427,7 @@ virtual Sta diff --git a/docs/dd/dca/structshaka_1_1media_1_1mp4_1_1OriginalFormat-members.html b/docs/dd/dca/structshaka_1_1media_1_1mp4_1_1OriginalFormat-members.html index c6207ed4f8..43b6f8914f 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');
                  Status shaka::media::webm::Segmenter::Initialize (scoped_ptr< MkvWriterstd::unique_ptr< MkvWriter writer,
                  diff --git a/docs/dd/dce/structshaka_1_1media_1_1Cue.html b/docs/dd/dce/structshaka_1_1media_1_1Cue.html index 5e21c993fb..03efd5edf4 100644 --- a/docs/dd/dce/structshaka_1_1media_1_1Cue.html +++ b/docs/dd/dce/structshaka_1_1media_1_1Cue.html @@ -125,7 +125,7 @@ std::vector< std::string >  diff --git a/docs/dd/dd2/buffer__writer_8h_source.html b/docs/dd/dd2/buffer__writer_8h_source.html index 14008635a1..c771db92de 100644 --- a/docs/dd/dd2/buffer__writer_8h_source.html +++ b/docs/dd/dd2/buffer__writer_8h_source.html @@ -159,7 +159,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  diff --git a/docs/dd/dd3/buffer__writer_8cc_source.html b/docs/dd/dd3/buffer__writer_8cc_source.html index 6922f1608e..9e7615ae37 100644 --- a/docs/dd/dd3/buffer__writer_8cc_source.html +++ b/docs/dd/dd3/buffer__writer_8cc_source.html @@ -187,7 +187,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/dd6/classshaka_1_1media_1_1WebMVideoClient-members.html b/docs/dd/dd6/classshaka_1_1media_1_1WebMVideoClient-members.html index e6b39eba98..c671cb4ae8 100644 --- a/docs/dd/dd6/classshaka_1_1media_1_1WebMVideoClient-members.html +++ b/docs/dd/dd6/classshaka_1_1media_1_1WebMVideoClient-members.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/dd8/mock__muxer__listener_8cc_source.html b/docs/dd/dd8/mock__muxer__listener_8cc_source.html index f621202300..1662b8b320 100644 --- a/docs/dd/dd8/mock__muxer__listener_8cc_source.html +++ b/docs/dd/dd8/mock__muxer__listener_8cc_source.html @@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/dd9/structshaka_1_1media_1_1mp4_1_1Box-members.html b/docs/dd/dd9/structshaka_1_1media_1_1mp4_1_1Box-members.html index 1c4c4ba3d1..68ff6a0d34 100644 --- a/docs/dd/dd9/structshaka_1_1media_1_1mp4_1_1Box-members.html +++ b/docs/dd/dd9/structshaka_1_1media_1_1mp4_1_1Box-members.html @@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html b/docs/dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html index 477bc6a0be..50561a7d5b 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 a8e44a6f59..3fbf765108 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 f4fbe20cbb..5ce70f0ddb 100644 --- a/docs/dd/de7/xml__node_8h_source.html +++ b/docs/dd/de7/xml__node_8h_source.html @@ -104,114 +104,115 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  15 
                  16 #include <list>
                  17 
                  -
                  18 #include "packager/mpd/base/content_protection_element.h"
                  -
                  19 #include "packager/mpd/base/media_info.pb.h"
                  -
                  20 #include "packager/mpd/base/xml/scoped_xml_ptr.h"
                  -
                  21 
                  -
                  22 namespace shaka {
                  -
                  23 
                  -
                  24 struct SegmentInfo;
                  -
                  25 
                  -
                  26 namespace xml {
                  -
                  27 
                  -
                  31 class XmlNode {
                  -
                  32  public:
                  -
                  35  explicit XmlNode(const char* name);
                  -
                  36  virtual ~XmlNode();
                  -
                  37 
                  -
                  42  bool AddChild(scoped_xml_ptr<xmlNode> child);
                  -
                  43 
                  -
                  45  bool AddElements(const std::vector<Element>& elements);
                  -
                  46 
                  -
                  50  void SetStringAttribute(const char* attribute_name,
                  -
                  51  const std::string& attribute);
                  -
                  52 
                  -
                  56  void SetIntegerAttribute(const char* attribute_name, uint64_t number);
                  -
                  57 
                  -
                  61  void SetFloatingPointAttribute(const char* attribute_name, double number);
                  -
                  62 
                  -
                  65  void SetId(uint32_t id);
                  -
                  66 
                  -
                  73  void SetContent(const std::string& content);
                  -
                  74 
                  -
                  78  scoped_xml_ptr<xmlNode> PassScopedPtr();
                  -
                  79 
                  -
                  82  xmlNodePtr Release();
                  -
                  83 
                  -
                  85  xmlNodePtr GetRawPtr();
                  -
                  86 
                  -
                  87  private:
                  -
                  88  scoped_xml_ptr<xmlNode> node_;
                  -
                  89 
                  -
                  90  DISALLOW_COPY_AND_ASSIGN(XmlNode);
                  -
                  91 };
                  -
                  92 
                  - -
                  97  public:
                  -
                  98  ~RepresentationBaseXmlNode() override;
                  -
                  99  bool AddContentProtectionElements(
                  -
                  100  const std::list<ContentProtectionElement>& content_protection_elements);
                  -
                  101 
                  -
                  102  protected:
                  -
                  103  explicit RepresentationBaseXmlNode(const char* name);
                  -
                  104 
                  -
                  105  private:
                  -
                  106  bool AddContentProtectionElement(
                  -
                  107  const ContentProtectionElement& content_protection_element);
                  -
                  108 
                  -
                  109  DISALLOW_COPY_AND_ASSIGN(RepresentationBaseXmlNode);
                  -
                  110 };
                  -
                  111 
                  - -
                  114  public:
                  - -
                  116  ~AdaptationSetXmlNode() override;
                  -
                  117 
                  -
                  120  void AddRoleElement(const std::string& scheme_id_uri,
                  -
                  121  const std::string& value);
                  -
                  122 
                  -
                  123  private:
                  -
                  124  DISALLOW_COPY_AND_ASSIGN(AdaptationSetXmlNode);
                  -
                  125 };
                  -
                  126 
                  - -
                  129  public:
                  - -
                  131  ~RepresentationXmlNode() override;
                  -
                  132 
                  -
                  140  bool AddVideoInfo(const MediaInfo::VideoInfo& video_info,
                  -
                  141  bool set_width,
                  -
                  142  bool set_height,
                  -
                  143  bool set_frame_rate);
                  -
                  144 
                  -
                  149  bool AddAudioInfo(const MediaInfo::AudioInfo& audio_info);
                  -
                  150 
                  -
                  155  bool AddVODOnlyInfo(const MediaInfo& media_info);
                  -
                  156 
                  -
                  159  bool AddLiveOnlyInfo(const MediaInfo& media_info,
                  -
                  160  const std::list<SegmentInfo>& segment_infos,
                  -
                  161  uint32_t start_number);
                  -
                  162 
                  -
                  163  private:
                  -
                  164  // Add AudioChannelConfiguration element. Note that it is a required element
                  -
                  165  // for audio Representations.
                  -
                  166  bool AddAudioChannelInfo(const MediaInfo::AudioInfo& audio_info);
                  -
                  167 
                  -
                  168  // Add audioSamplingRate attribute to this element, if present.
                  -
                  169  void AddAudioSamplingRateInfo(const MediaInfo::AudioInfo& audio_info);
                  -
                  170 
                  -
                  171  DISALLOW_COPY_AND_ASSIGN(RepresentationXmlNode);
                  -
                  172 };
                  -
                  173 
                  -
                  174 } // namespace xml
                  -
                  175 } // namespace shaka
                  -
                  176 #endif // MPD_BASE_XML_XML_NODE_H_
                  +
                  18 #include "packager/base/macros.h"
                  +
                  19 #include "packager/mpd/base/content_protection_element.h"
                  +
                  20 #include "packager/mpd/base/media_info.pb.h"
                  +
                  21 #include "packager/mpd/base/xml/scoped_xml_ptr.h"
                  +
                  22 
                  +
                  23 namespace shaka {
                  +
                  24 
                  +
                  25 struct SegmentInfo;
                  +
                  26 
                  +
                  27 namespace xml {
                  +
                  28 
                  +
                  32 class XmlNode {
                  +
                  33  public:
                  +
                  36  explicit XmlNode(const char* name);
                  +
                  37  virtual ~XmlNode();
                  +
                  38 
                  +
                  43  bool AddChild(scoped_xml_ptr<xmlNode> child);
                  +
                  44 
                  +
                  46  bool AddElements(const std::vector<Element>& elements);
                  +
                  47 
                  +
                  51  void SetStringAttribute(const char* attribute_name,
                  +
                  52  const std::string& attribute);
                  +
                  53 
                  +
                  57  void SetIntegerAttribute(const char* attribute_name, uint64_t number);
                  +
                  58 
                  +
                  62  void SetFloatingPointAttribute(const char* attribute_name, double number);
                  +
                  63 
                  +
                  66  void SetId(uint32_t id);
                  +
                  67 
                  +
                  74  void SetContent(const std::string& content);
                  +
                  75 
                  +
                  79  scoped_xml_ptr<xmlNode> PassScopedPtr();
                  +
                  80 
                  +
                  83  xmlNodePtr Release();
                  +
                  84 
                  +
                  86  xmlNodePtr GetRawPtr();
                  +
                  87 
                  +
                  88  private:
                  +
                  89  scoped_xml_ptr<xmlNode> node_;
                  +
                  90 
                  +
                  91  DISALLOW_COPY_AND_ASSIGN(XmlNode);
                  +
                  92 };
                  +
                  93 
                  + +
                  98  public:
                  +
                  99  ~RepresentationBaseXmlNode() override;
                  +
                  100  bool AddContentProtectionElements(
                  +
                  101  const std::list<ContentProtectionElement>& content_protection_elements);
                  +
                  102 
                  +
                  103  protected:
                  +
                  104  explicit RepresentationBaseXmlNode(const char* name);
                  +
                  105 
                  +
                  106  private:
                  +
                  107  bool AddContentProtectionElement(
                  +
                  108  const ContentProtectionElement& content_protection_element);
                  +
                  109 
                  +
                  110  DISALLOW_COPY_AND_ASSIGN(RepresentationBaseXmlNode);
                  +
                  111 };
                  +
                  112 
                  + +
                  115  public:
                  + +
                  117  ~AdaptationSetXmlNode() override;
                  +
                  118 
                  +
                  121  void AddRoleElement(const std::string& scheme_id_uri,
                  +
                  122  const std::string& value);
                  +
                  123 
                  +
                  124  private:
                  +
                  125  DISALLOW_COPY_AND_ASSIGN(AdaptationSetXmlNode);
                  +
                  126 };
                  +
                  127 
                  + +
                  130  public:
                  + +
                  132  ~RepresentationXmlNode() override;
                  +
                  133 
                  +
                  141  bool AddVideoInfo(const MediaInfo::VideoInfo& video_info,
                  +
                  142  bool set_width,
                  +
                  143  bool set_height,
                  +
                  144  bool set_frame_rate);
                  +
                  145 
                  +
                  150  bool AddAudioInfo(const MediaInfo::AudioInfo& audio_info);
                  +
                  151 
                  +
                  156  bool AddVODOnlyInfo(const MediaInfo& media_info);
                  +
                  157 
                  +
                  160  bool AddLiveOnlyInfo(const MediaInfo& media_info,
                  +
                  161  const std::list<SegmentInfo>& segment_infos,
                  +
                  162  uint32_t start_number);
                  +
                  163 
                  +
                  164  private:
                  +
                  165  // Add AudioChannelConfiguration element. Note that it is a required element
                  +
                  166  // for audio Representations.
                  +
                  167  bool AddAudioChannelInfo(const MediaInfo::AudioInfo& audio_info);
                  +
                  168 
                  +
                  169  // Add audioSamplingRate attribute to this element, if present.
                  +
                  170  void AddAudioSamplingRateInfo(const MediaInfo::AudioInfo& audio_info);
                  +
                  171 
                  +
                  172  DISALLOW_COPY_AND_ASSIGN(RepresentationXmlNode);
                  +
                  173 };
                  +
                  174 
                  +
                  175 } // namespace xml
                  +
                  176 } // namespace shaka
                  +
                  177 #endif // MPD_BASE_XML_XML_NODE_H_
                  bool AddVideoInfo(const MediaInfo::VideoInfo &video_info, bool set_width, bool set_height, bool set_frame_rate)
                  Definition: xml_node.cc:216
                  -
                  RepresentationType in MPD.
                  Definition: xml_node.h:128
                  - +
                  RepresentationType in MPD.
                  Definition: xml_node.h:129
                  +
                  void SetFloatingPointAttribute(const char *attribute_name, double number)
                  Definition: xml_node.cc:119
                  -
                  AdaptationSetType specified in MPD.
                  Definition: xml_node.h:113
                  - +
                  AdaptationSetType specified in MPD.
                  Definition: xml_node.h:114
                  +
                  scoped_xml_ptr< xmlNode > PassScopedPtr()
                  Definition: xml_node.cc:137
                  XmlNode(const char *name)
                  Definition: xml_node.cc:55
                  bool AddVODOnlyInfo(const MediaInfo &media_info)
                  Definition: xml_node.cc:251
                  @@ -230,7 +231,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/dee/box__definitions_8cc_source.html b/docs/dd/dee/box__definitions_8cc_source.html index 8b78bfee9d..1801546355 100644 --- a/docs/dd/dee/box__definitions_8cc_source.html +++ b/docs/dd/dee/box__definitions_8cc_source.html @@ -2944,7 +2944,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/df2/webm_2multi__segment__segmenter_8h_source.html b/docs/dd/df2/webm_2multi__segment__segmenter_8h_source.html index 53219f89f1..18cf308fcb 100644 --- a/docs/dd/df2/webm_2multi__segment__segmenter_8h_source.html +++ b/docs/dd/df2/webm_2multi__segment__segmenter_8h_source.html @@ -96,60 +96,59 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  7 #ifndef MEDIA_FORMATS_WEBM_MULTI_SEGMENT_SEGMENTER_H_
                  8 #define MEDIA_FORMATS_WEBM_MULTI_SEGMENT_SEGMENTER_H_
                  9 
                  -
                  10 #include "packager/media/formats/webm/segmenter.h"
                  -
                  11 
                  -
                  12 #include "packager/base/memory/scoped_ptr.h"
                  -
                  13 #include "packager/media/base/status.h"
                  -
                  14 #include "packager/media/formats/webm/mkv_writer.h"
                  -
                  15 
                  -
                  16 namespace shaka {
                  -
                  17 namespace media {
                  -
                  18 
                  -
                  19 struct MuxerOptions;
                  -
                  20 
                  -
                  21 namespace webm {
                  -
                  22 
                  - -
                  26  public:
                  -
                  27  explicit MultiSegmentSegmenter(const MuxerOptions& options);
                  -
                  28  ~MultiSegmentSegmenter() override;
                  -
                  29 
                  -
                  32  bool GetInitRangeStartAndEnd(uint64_t* start, uint64_t* end) override;
                  -
                  33  bool GetIndexRangeStartAndEnd(uint64_t* start, uint64_t* end) override;
                  -
                  35 
                  -
                  36  protected:
                  -
                  37  // Segmenter implementation overrides.
                  -
                  38  Status DoInitialize(scoped_ptr<MkvWriter> writer) override;
                  -
                  39  Status DoFinalize() override;
                  -
                  40 
                  -
                  41  private:
                  -
                  42  // Segmenter implementation overrides.
                  -
                  43  Status NewSubsegment(uint64_t start_timescale) override;
                  -
                  44  Status NewSegment(uint64_t start_timescale) override;
                  -
                  45 
                  -
                  46  Status FinalizeSegment();
                  -
                  47 
                  -
                  48  scoped_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_
                  +
                  10 #include <memory>
                  +
                  11 #include "packager/media/base/status.h"
                  +
                  12 #include "packager/media/formats/webm/mkv_writer.h"
                  +
                  13 #include "packager/media/formats/webm/segmenter.h"
                  +
                  14 
                  +
                  15 namespace shaka {
                  +
                  16 namespace media {
                  +
                  17 
                  +
                  18 struct MuxerOptions;
                  +
                  19 
                  +
                  20 namespace webm {
                  +
                  21 
                  + +
                  25  public:
                  +
                  26  explicit MultiSegmentSegmenter(const MuxerOptions& options);
                  +
                  27  ~MultiSegmentSegmenter() override;
                  +
                  28 
                  +
                  31  bool GetInitRangeStartAndEnd(uint64_t* start, uint64_t* end) override;
                  +
                  32  bool GetIndexRangeStartAndEnd(uint64_t* start, uint64_t* end) override;
                  +
                  34 
                  +
                  35  protected:
                  +
                  36  // Segmenter implementation overrides.
                  +
                  37  Status DoInitialize(std::unique_ptr<MkvWriter> writer) override;
                  +
                  38  Status DoFinalize() override;
                  +
                  39 
                  +
                  40  private:
                  +
                  41  // Segmenter implementation overrides.
                  +
                  42  Status NewSubsegment(uint64_t start_timescale) override;
                  +
                  43  Status NewSegment(uint64_t start_timescale) override;
                  +
                  44 
                  +
                  45  Status FinalizeSegment();
                  +
                  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_
                  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
                  - + 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 9665268aac..bbe1865318 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 8219667777..93100c3f83 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 2d448f8af4..23a2369344 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 27de4d84e1..69713b4976 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 796600af53..962c9837ac 100644 --- a/docs/de/d13/ts__writer_8cc_source.html +++ b/docs/de/d13/ts__writer_8cc_source.html @@ -324,7 +324,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  235  return current_file_.release()->Close();
                  236 }
                  237 
                  -
                  238 bool TsWriter::AddPesPacket(scoped_ptr<PesPacket> pes_packet) {
                  +
                  238 bool TsWriter::AddPesPacket(std::unique_ptr<PesPacket> pes_packet) {
                  239  DCHECK(current_file_);
                  240  if (!WritePesToFile(*pes_packet, &elementary_stream_continuity_counter_,
                  241  current_file_.get())) {
                  @@ -336,9 +336,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  247  return true;
                  248 }
                  249 
                  - -
                  251  scoped_ptr<ProgramMapTableWriter> table_writer) {
                  -
                  252  pmt_writer_ = table_writer.Pass();
                  + +
                  251  std::unique_ptr<ProgramMapTableWriter> table_writer) {
                  +
                  252  pmt_writer_ = std::move(table_writer);
                  253 }
                  254 
                  255 } // namespace mp2t
                  @@ -348,10 +348,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  Abstract class holds stream information.
                  Definition: stream_info.h:53
                  virtual bool NewSegment(const std::string &file_name)
                  Definition: ts_writer.cc:199
                  -
                  void SetProgramMapTableWriterForTesting(scoped_ptr< ProgramMapTableWriter > table_writer)
                  Only for testing.
                  Definition: ts_writer.cc:250
                  +
                  virtual bool AddPesPacket(std::unique_ptr< PesPacket > pes_packet)
                  Definition: ts_writer.cc:238
                  -
                  virtual bool AddPesPacket(scoped_ptr< PesPacket > pes_packet)
                  Definition: ts_writer.cc:238
                  +
                  void SetProgramMapTableWriterForTesting(std::unique_ptr< ProgramMapTableWriter > table_writer)
                  Only for testing.
                  Definition: ts_writer.cc:250
                  virtual bool FinalizeSegment()
                  Definition: ts_writer.cc:234
                  virtual bool Initialize(const StreamInfo &stream_info)
                  Definition: ts_writer.cc:165
                  Holds video stream information.
                  @@ -361,7 +361,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/d15/media__stream_8cc_source.html b/docs/de/d15/media__stream_8cc_source.html index 20dabed24f..ba37123241 100644 --- a/docs/de/d15/media__stream_8cc_source.html +++ b/docs/de/d15/media__stream_8cc_source.html @@ -210,7 +210,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/d16/classshaka_1_1media_1_1TextTrackConfig-members.html b/docs/de/d16/classshaka_1_1media_1_1TextTrackConfig-members.html index 6ddadb26f5..945b86aee5 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 393a96a512..8bc5cc17c9 100644 --- a/docs/de/d17/cluster__builder_8cc_source.html +++ b/docs/de/d17/cluster__builder_8cc_source.html @@ -148,8 +148,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  59  kInitialBufferSize = 32768,
                  60 };
                  61 
                  -
                  62 Cluster::Cluster(scoped_ptr<uint8_t[]> data, int size)
                  -
                  63  : data_(data.Pass()), size_(size) {}
                  +
                  62 Cluster::Cluster(std::unique_ptr<uint8_t[]> data, int size)
                  +
                  63  : data_(std::move(data)), size_(size) {}
                  64 Cluster::~Cluster() {}
                  65 
                  66 ClusterBuilder::ClusterBuilder() { Reset(); }
                  @@ -289,24 +289,24 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  200  memcpy(buf + 4, data, size);
                  201 }
                  202 
                  -
                  203 scoped_ptr<Cluster> ClusterBuilder::Finish() {
                  +
                  203 std::unique_ptr<Cluster> ClusterBuilder::Finish() {
                  204  DCHECK_NE(cluster_timecode_, -1);
                  205 
                  206  UpdateUInt64(kClusterSizeOffset, bytes_used_ - (kClusterSizeOffset + 8));
                  207 
                  -
                  208  scoped_ptr<Cluster> ret(new Cluster(buffer_.Pass(), bytes_used_));
                  +
                  208  std::unique_ptr<Cluster> ret(new Cluster(std::move(buffer_), bytes_used_));
                  209  Reset();
                  -
                  210  return ret.Pass();
                  +
                  210  return ret;
                  211 }
                  212 
                  -
                  213 scoped_ptr<Cluster> ClusterBuilder::FinishWithUnknownSize() {
                  +
                  213 std::unique_ptr<Cluster> ClusterBuilder::FinishWithUnknownSize() {
                  214  DCHECK_NE(cluster_timecode_, -1);
                  215 
                  216  UpdateUInt64(kClusterSizeOffset, kWebMUnknownSize);
                  217 
                  -
                  218  scoped_ptr<Cluster> ret(new Cluster(buffer_.Pass(), bytes_used_));
                  +
                  218  std::unique_ptr<Cluster> ret(new Cluster(std::move(buffer_), bytes_used_));
                  219  Reset();
                  -
                  220  return ret.Pass();
                  +
                  220  return ret;
                  221 }
                  222 
                  223 void ClusterBuilder::Reset() {
                  @@ -323,7 +323,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  234  while ((new_buffer_size - bytes_used_) < bytes_needed)
                  235  new_buffer_size *= 2;
                  236 
                  -
                  237  scoped_ptr<uint8_t[]> new_buffer(new uint8_t[new_buffer_size]);
                  +
                  237  std::unique_ptr<uint8_t[]> new_buffer(new uint8_t[new_buffer_size]);
                  238 
                  239  memcpy(new_buffer.get(), buffer_.get(), bytes_used_);
                  240  buffer_.reset(new_buffer.release());
                  @@ -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 e9557e13c6..bb01bbb345 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 c63d461e61..86a6f9ea67 100644 --- a/docs/de/d1e/mp4_2single__segment__segmenter_8cc_source.html +++ b/docs/de/d1e/mp4_2single__segment__segmenter_8cc_source.html @@ -129,9 +129,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  40 } // namespace
                  41 
                  42 SingleSegmentSegmenter::SingleSegmentSegmenter(const MuxerOptions& options,
                  -
                  43  scoped_ptr<FileType> ftyp,
                  -
                  44  scoped_ptr<Movie> moov)
                  -
                  45  : Segmenter(options, ftyp.Pass(), moov.Pass()) {}
                  +
                  43  std::unique_ptr<FileType> ftyp,
                  +
                  44  std::unique_ptr<Movie> moov)
                  +
                  45  : Segmenter(options, std::move(ftyp), std::move(moov)) {}
                  46 
                  47 SingleSegmentSegmenter::~SingleSegmentSegmenter() {
                  48  if (temp_file_)
                  @@ -197,7 +197,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  108  "Cannot close the temp file " + temp_file_name_);
                  109  }
                  110 
                  -
                  111  scoped_ptr<File, FileCloser> file(
                  +
                  111  std::unique_ptr<File, FileCloser> file(
                  112  File::Open(options().output_file_name.c_str(), "w"));
                  113  if (file == NULL) {
                  114  return Status(error::FILE_FAILURE,
                  @@ -208,7 +208,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  119  << options().output_file_name << "'.";
                  120 
                  121  // Write ftyp, moov and sidx to output file.
                  -
                  122  scoped_ptr<BufferWriter> buffer(new BufferWriter());
                  +
                  122  std::unique_ptr<BufferWriter> buffer(new BufferWriter());
                  123  ftyp()->Write(buffer.get());
                  124  moov()->Write(buffer.get());
                  125  vod_sidx_->Write(buffer.get());
                  @@ -217,7 +217,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  128  return status;
                  129 
                  130  // Load the temp file and write to output file.
                  -
                  131  scoped_ptr<File, FileCloser> temp_file(
                  +
                  131  std::unique_ptr<File, FileCloser> temp_file(
                  132  File::Open(temp_file_name_.c_str(), "r"));
                  133  if (temp_file == NULL) {
                  134  return Status(error::FILE_FAILURE,
                  @@ -228,7 +228,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  139  const uint64_t re_segment_progress_target = progress_target() * 0.5;
                  140 
                  141  const int kBufSize = 0x200000; // 2MB.
                  -
                  142  scoped_ptr<uint8_t[]> buf(new uint8_t[kBufSize]);
                  +
                  142  std::unique_ptr<uint8_t[]> buf(new uint8_t[kBufSize]);
                  143  while (true) {
                  144  int64_t size = temp_file->Read(buf.get(), kBufSize);
                  145  if (size == 0) {
                  @@ -332,11 +332,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  void UpdateProgress(uint64_t progress)
                  Update segmentation progress using ProgressListener.
                  Definition: segmenter.cc:255
                  -
                  static bool Delete(const char *file_name)
                  Definition: file.cc:167
                  +
                  static bool Delete(const char *file_name)
                  Definition: file.cc:164
                  diff --git a/docs/de/d22/aes__pattern__cryptor_8cc_source.html b/docs/de/d22/aes__pattern__cryptor_8cc_source.html index 7cc855a4f1..2f1ae2811d 100644 --- a/docs/de/d22/aes__pattern__cryptor_8cc_source.html +++ b/docs/de/d22/aes__pattern__cryptor_8cc_source.html @@ -102,16 +102,16 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  13 namespace shaka {
                  14 namespace media {
                  15 
                  -
                  16 AesPatternCryptor::AesPatternCryptor(uint8_t crypt_byte_block,
                  +
                  16 AesPatternCryptor::AesPatternCryptor(uint8_t crypt_byte_block,
                  17  uint8_t skip_byte_block,
                  18  PatternEncryptionMode encryption_mode,
                  19  ConstantIvFlag constant_iv_flag,
                  -
                  20  scoped_ptr<AesCryptor> cryptor)
                  +
                  20  std::unique_ptr<AesCryptor> cryptor)
                  21  : AesCryptor(constant_iv_flag),
                  22  crypt_byte_block_(crypt_byte_block),
                  23  skip_byte_block_(skip_byte_block),
                  24  encryption_mode_(encryption_mode),
                  -
                  25  cryptor_(cryptor.Pass()) {
                  +
                  25  cryptor_(std::move(cryptor)) {
                  26  // |crypt_byte_block_| should never be 0. |skip_byte_block_| can be 0 to allow
                  27  // a special pattern of 1:0, which is the pattern for the case of pattern
                  28  // encryption when applied to non video tracks.
                  @@ -190,15 +190,15 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  101 } // namespace shaka
                  bool InitializeWithIv(const std::vector< uint8_t > &key, const std::vector< uint8_t > &iv) override
                  - -
                  AesPatternCryptor(uint8_t crypt_byte_block, uint8_t skip_byte_block, PatternEncryptionMode encryption_mode, ConstantIvFlag constant_iv_flag, scoped_ptr< AesCryptor > cryptor)
                  +
                  const std::vector< uint8_t > & iv() const
                  Definition: aes_cryptor.h:81
                  - +
                  bool SetIv(const std::vector< uint8_t > &iv)
                  Definition: aes_cryptor.cc:69
                  +
                  AesPatternCryptor(uint8_t crypt_byte_block, uint8_t skip_byte_block, PatternEncryptionMode encryption_mode, ConstantIvFlag constant_iv_flag, std::unique_ptr< AesCryptor > cryptor)
                  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 7f3749b93e..72ca9236b8 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 5fc3dcd23b..ae41960754 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 9b8987ec0f..94d59912a3 100644 --- a/docs/de/d33/classshaka_1_1media_1_1WebMTracksParser-members.html +++ b/docs/de/d33/classshaka_1_1media_1_1WebMTracksParser-members.html @@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/d33/structshaka_1_1media_1_1H265Pps.html b/docs/de/d33/structshaka_1_1media_1_1H265Pps.html index 62df3fa410..e68bc1b0ec 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 3ce9092481..0549342992 100644 --- a/docs/de/d34/offset__byte__queue_8h_source.html +++ b/docs/de/d34/offset__byte__queue_8h_source.html @@ -139,11 +139,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  bool Trim(int64_t max_offset)
                  - + 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 54d1356728..6e5b607ef7 100644 --- a/docs/de/d3c/h26x__byte__to__unit__stream__converter_8cc_source.html +++ b/docs/de/d3c/h26x__byte__to__unit__stream__converter_8cc_source.html @@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/d3c/macros_8h_source.html b/docs/de/d3c/macros_8h_source.html index 19e300a7a1..e799b5060e 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 9d2f03b724..254bb42889 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 ec44ef1a14..1464772c90 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 967880cffb..e24353977f 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 c7c7244a91..32d96bd256 100644 --- a/docs/de/d49/classshaka_1_1media_1_1DecryptConfig.html +++ b/docs/de/d49/classshaka_1_1media_1_1DecryptConfig.html @@ -249,7 +249,7 @@ static const size_t  diff --git a/docs/de/d4a/muxer__listener__internal_8h_source.html b/docs/de/d4a/muxer__listener__internal_8h_source.html index 5eb79f150f..e9dbe70da7 100644 --- a/docs/de/d4a/muxer__listener__internal_8h_source.html +++ b/docs/de/d4a/muxer__listener__internal_8h_source.html @@ -145,7 +145,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/d52/classshaka_1_1Representation.html b/docs/de/d52/classshaka_1_1Representation.html index 6f13b4b0d6..9d278b693f 100644 --- a/docs/de/d52/classshaka_1_1Representation.html +++ b/docs/de/d52/classshaka_1_1Representation.html @@ -139,15 +139,15 @@ template<MpdBuilder::MpdType type>   uint32_t id () const   - Representation (const MediaInfo &media_info, const MpdOptions &mpd_options, uint32_t representation_id, scoped_ptr< RepresentationStateChangeListener > state_change_listener) -  + Representation (const MediaInfo &media_info, const MpdOptions &mpd_options, uint32_t representation_id, std::unique_ptr< RepresentationStateChangeListener > state_change_listener) + 

                  Detailed Description

                  Representation class contains references to a single media stream, as well as optional ContentProtection elements for that stream.

                  Definition at line 428 of file mpd_builder.h.

                  Constructor & Destructor Documentation

                  - +
                  @@ -175,7 +175,7 @@ template<MpdBuilder::MpdType type> - + @@ -456,7 +456,7 @@ template<MpdBuilder::MpdType type> diff --git a/docs/de/d55/structshaka_1_1media_1_1mp4_1_1Language-members.html b/docs/de/d55/structshaka_1_1media_1_1mp4_1_1Language-members.html index 86896e1351..6f4b96e006 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');
                  scoped_ptr< RepresentationStateChangeListenerstd::unique_ptr< RepresentationStateChangeListener state_change_listener 
                  diff --git a/docs/de/d5b/adts__header_8cc_source.html b/docs/de/d5b/adts__header_8cc_source.html index 625ec26aa5..7151c18ac7 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 6fbf92e9ce..956a9fbd9e 100644 --- a/docs/de/d5c/mpd__flags_8h_source.html +++ b/docs/de/d5c/mpd__flags_8h_source.html @@ -114,7 +114,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/d60/classshaka_1_1media_1_1mp2t_1_1ProgramMapTableWriter-members.html b/docs/de/d60/classshaka_1_1media_1_1mp2t_1_1ProgramMapTableWriter-members.html index 47c7585509..e88b0131da 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 94b39f1017..f846877f68 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 @@ -108,19 +108,19 @@ virtual void   virtual bool FinalizeSegment ()   -virtual bool AddPesPacket (scoped_ptr< PesPacket > pes_packet) -  - -void SetProgramMapTableWriterForTesting (scoped_ptr< ProgramMapTableWriter > table_writer) - Only for testing.
                  -  +virtual bool AddPesPacket (std::unique_ptr< PesPacket > pes_packet) +  + +void SetProgramMapTableWriterForTesting (std::unique_ptr< ProgramMapTableWriter > table_writer) + Only for testing.

                  Detailed Description

                  This class takes PesPackets, encapsulates them into TS packets, and write the data to file. This also creates PSI from StreamInfo.

                  Definition at line 28 of file ts_writer.h.

                  Member Function Documentation

                  - +
                  @@ -130,7 +130,7 @@ void  - + @@ -257,7 +257,7 @@ void 
                  bool shaka::media::mp2t::TsWriter::AddPesPacket (scoped_ptr< PesPacketstd::unique_ptr< PesPacket pes_packet)
                  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 851bc4b0a0..2abfb66c9e 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 9706bd439d..237d486e46 100644 --- a/docs/de/d6e/language__utils_8h_source.html +++ b/docs/de/d6e/language__utils_8h_source.html @@ -114,7 +114,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  diff --git a/docs/de/d70/http__key__fetcher_8cc_source.html b/docs/de/d70/http__key__fetcher_8cc_source.html index f48fc0dde1..7a8697d8be 100644 --- a/docs/de/d70/http__key__fetcher_8cc_source.html +++ b/docs/de/d70/http__key__fetcher_8cc_source.html @@ -238,7 +238,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/d77/webm__content__encodings__client_8cc_source.html b/docs/de/d77/webm__content__encodings__client_8cc_source.html index e0602586cf..cf06ff2c01 100644 --- a/docs/de/d77/webm__content__encodings__client_8cc_source.html +++ b/docs/de/d77/webm__content__encodings__client_8cc_source.html @@ -354,14 +354,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  265 
                  266 } // namespace media
                  267 } // namespace shaka
                  - - + +
                  WebMParserClient * OnListStart(int id) override
                  WebMParserClient methods.
                  diff --git a/docs/de/d7b/mp4__media__parser_8h_source.html b/docs/de/d7b/mp4__media__parser_8h_source.html index 10a294a89e..123d26b242 100644 --- a/docs/de/d7b/mp4__media__parser_8h_source.html +++ b/docs/de/d7b/mp4__media__parser_8h_source.html @@ -99,114 +99,112 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  10 #include <stdint.h>
                  11 
                  12 #include <map>
                  -
                  13 #include <vector>
                  -
                  14 
                  -
                  15 #include "packager/base/callback_forward.h"
                  -
                  16 #include "packager/base/compiler_specific.h"
                  -
                  17 #include "packager/base/memory/scoped_ptr.h"
                  -
                  18 #include "packager/base/memory/ref_counted.h"
                  -
                  19 #include "packager/base/memory/scoped_ptr.h"
                  -
                  20 #include "packager/media/base/decryptor_source.h"
                  -
                  21 #include "packager/media/base/media_parser.h"
                  -
                  22 #include "packager/media/base/offset_byte_queue.h"
                  -
                  23 
                  -
                  24 namespace shaka {
                  -
                  25 namespace media {
                  -
                  26 namespace mp4 {
                  -
                  27 
                  -
                  28 class BoxReader;
                  -
                  29 class TrackRunIterator;
                  -
                  30 struct Movie;
                  -
                  31 struct ProtectionSystemSpecificHeader;
                  -
                  32 
                  -
                  33 class MP4MediaParser : public MediaParser {
                  -
                  34  public:
                  - -
                  36  ~MP4MediaParser() override;
                  -
                  37 
                  -
                  40  void Init(const InitCB& init_cb,
                  -
                  41  const NewSampleCB& new_sample_cb,
                  -
                  42  KeySource* decryption_key_source) override;
                  -
                  43  bool Flush() override WARN_UNUSED_RESULT;
                  -
                  44  bool Parse(const uint8_t* buf, int size) override WARN_UNUSED_RESULT;
                  -
                  46 
                  -
                  53  bool LoadMoov(const std::string& file_path);
                  -
                  54 
                  -
                  55  private:
                  -
                  56  enum State {
                  -
                  57  kWaitingForInit,
                  -
                  58  kParsingBoxes,
                  -
                  59  kEmittingSamples,
                  -
                  60  kError
                  -
                  61  };
                  -
                  62 
                  -
                  63  bool ParseBox(bool* err);
                  -
                  64  bool ParseMoov(mp4::BoxReader* reader);
                  -
                  65  bool ParseMoof(mp4::BoxReader* reader);
                  -
                  66 
                  -
                  67  bool FetchKeysIfNecessary(
                  -
                  68  const std::vector<ProtectionSystemSpecificHeader>& headers);
                  -
                  69 
                  -
                  70  // To retain proper framing, each 'mdat' box must be read; to limit memory
                  -
                  71  // usage, the box's data needs to be discarded incrementally as frames are
                  -
                  72  // extracted from the stream. This function discards data from the stream up
                  -
                  73  // to |offset|, updating the |mdat_tail_| value so that framing can be
                  -
                  74  // retained after all 'mdat' information has been read.
                  -
                  75  // Returns 'true' on success, 'false' if there was an error.
                  -
                  76  bool ReadAndDiscardMDATsUntil(const int64_t offset);
                  +
                  13 #include <memory>
                  +
                  14 #include <vector>
                  +
                  15 
                  +
                  16 #include "packager/base/callback_forward.h"
                  +
                  17 #include "packager/base/memory/ref_counted.h"
                  +
                  18 #include "packager/media/base/decryptor_source.h"
                  +
                  19 #include "packager/media/base/media_parser.h"
                  +
                  20 #include "packager/media/base/offset_byte_queue.h"
                  +
                  21 
                  +
                  22 namespace shaka {
                  +
                  23 namespace media {
                  +
                  24 namespace mp4 {
                  +
                  25 
                  +
                  26 class BoxReader;
                  +
                  27 class TrackRunIterator;
                  +
                  28 struct Movie;
                  +
                  29 struct ProtectionSystemSpecificHeader;
                  +
                  30 
                  +
                  31 class MP4MediaParser : public MediaParser {
                  +
                  32  public:
                  + +
                  34  ~MP4MediaParser() override;
                  +
                  35 
                  +
                  38  void Init(const InitCB& init_cb,
                  +
                  39  const NewSampleCB& new_sample_cb,
                  +
                  40  KeySource* decryption_key_source) override;
                  +
                  41  bool Flush() override WARN_UNUSED_RESULT;
                  +
                  42  bool Parse(const uint8_t* buf, int size) override WARN_UNUSED_RESULT;
                  +
                  44 
                  +
                  51  bool LoadMoov(const std::string& file_path);
                  +
                  52 
                  +
                  53  private:
                  +
                  54  enum State {
                  +
                  55  kWaitingForInit,
                  +
                  56  kParsingBoxes,
                  +
                  57  kEmittingSamples,
                  +
                  58  kError
                  +
                  59  };
                  +
                  60 
                  +
                  61  bool ParseBox(bool* err);
                  +
                  62  bool ParseMoov(mp4::BoxReader* reader);
                  +
                  63  bool ParseMoof(mp4::BoxReader* reader);
                  +
                  64 
                  +
                  65  bool FetchKeysIfNecessary(
                  +
                  66  const std::vector<ProtectionSystemSpecificHeader>& headers);
                  +
                  67 
                  +
                  68  // To retain proper framing, each 'mdat' box must be read; to limit memory
                  +
                  69  // usage, the box's data needs to be discarded incrementally as frames are
                  +
                  70  // extracted from the stream. This function discards data from the stream up
                  +
                  71  // to |offset|, updating the |mdat_tail_| value so that framing can be
                  +
                  72  // retained after all 'mdat' information has been read.
                  +
                  73  // Returns 'true' on success, 'false' if there was an error.
                  +
                  74  bool ReadAndDiscardMDATsUntil(const int64_t offset);
                  +
                  75 
                  +
                  76  void ChangeState(State new_state);
                  77 
                  -
                  78  void ChangeState(State new_state);
                  +
                  78  bool EmitConfigs();
                  79 
                  -
                  80  bool EmitConfigs();
                  +
                  80  bool EnqueueSample(bool* err);
                  81 
                  -
                  82  bool EnqueueSample(bool* err);
                  +
                  82  void Reset();
                  83 
                  -
                  84  void Reset();
                  -
                  85 
                  -
                  86  State state_;
                  -
                  87  InitCB init_cb_;
                  -
                  88  NewSampleCB new_sample_cb_;
                  -
                  89  KeySource* decryption_key_source_;
                  -
                  90  scoped_ptr<DecryptorSource> decryptor_source_;
                  +
                  84  State state_;
                  +
                  85  InitCB init_cb_;
                  +
                  86  NewSampleCB new_sample_cb_;
                  +
                  87  KeySource* decryption_key_source_;
                  +
                  88  std::unique_ptr<DecryptorSource> decryptor_source_;
                  +
                  89 
                  +
                  90  OffsetByteQueue queue_;
                  91 
                  -
                  92  OffsetByteQueue queue_;
                  -
                  93 
                  -
                  94  // These two parameters are only valid in the |kEmittingSegments| state.
                  -
                  95  //
                  -
                  96  // |moof_head_| is the offset of the start of the most recently parsed moof
                  -
                  97  // block. All byte offsets in sample information are relative to this offset,
                  -
                  98  // as mandated by the Media Source spec.
                  -
                  99  int64_t moof_head_;
                  -
                  100  // |mdat_tail_| is the stream offset of the end of the current 'mdat' box.
                  -
                  101  // Valid iff it is greater than the head of the queue.
                  -
                  102  int64_t mdat_tail_;
                  -
                  103 
                  -
                  104  scoped_ptr<Movie> moov_;
                  -
                  105  scoped_ptr<TrackRunIterator> runs_;
                  -
                  106 
                  -
                  107  DISALLOW_COPY_AND_ASSIGN(MP4MediaParser);
                  -
                  108 };
                  -
                  109 
                  -
                  110 } // namespace mp4
                  -
                  111 } // namespace media
                  -
                  112 } // namespace shaka
                  -
                  113 
                  -
                  114 #endif // MEDIA_FORMATS_MP4_MP4_MEDIA_PARSER_H_
                  - -
                  base::Callback< void(const std::vector< scoped_refptr< StreamInfo > > &stream_info)> InitCB
                  Definition: media_parser.h:35
                  +
                  92  // These two parameters are only valid in the |kEmittingSegments| state.
                  +
                  93  //
                  +
                  94  // |moof_head_| is the offset of the start of the most recently parsed moof
                  +
                  95  // block. All byte offsets in sample information are relative to this offset,
                  +
                  96  // as mandated by the Media Source spec.
                  +
                  97  int64_t moof_head_;
                  +
                  98  // |mdat_tail_| is the stream offset of the end of the current 'mdat' box.
                  +
                  99  // Valid iff it is greater than the head of the queue.
                  +
                  100  int64_t mdat_tail_;
                  +
                  101 
                  +
                  102  std::unique_ptr<Movie> moov_;
                  +
                  103  std::unique_ptr<TrackRunIterator> runs_;
                  +
                  104 
                  +
                  105  DISALLOW_COPY_AND_ASSIGN(MP4MediaParser);
                  +
                  106 };
                  +
                  107 
                  +
                  108 } // namespace mp4
                  +
                  109 } // namespace media
                  +
                  110 } // namespace shaka
                  +
                  111 
                  +
                  112 #endif // MEDIA_FORMATS_MP4_MP4_MEDIA_PARSER_H_
                  + +
                  base::Callback< void(const std::vector< scoped_refptr< StreamInfo > > &stream_info)> InitCB
                  Definition: media_parser.h:34
                  bool Flush() override WARN_UNUSED_RESULT
                  bool Parse(const uint8_t *buf, int size) override WARN_UNUSED_RESULT
                  Class for reading MP4 boxes.
                  Definition: box_reader.h:24
                  -
                  base::Callback< bool(uint32_t track_id, const scoped_refptr< MediaSample > &media_sample)> NewSampleCB
                  Definition: media_parser.h:44
                  +
                  base::Callback< bool(uint32_t track_id, const scoped_refptr< MediaSample > &media_sample)> NewSampleCB
                  Definition: media_parser.h:43
                  bool LoadMoov(const std::string &file_path)
                  -
                  KeySource is responsible for encryption key acquisition.
                  Definition: key_source.h:31
                  +
                  KeySource is responsible for encryption key acquisition.
                  Definition: key_source.h:30
                  void Init(const InitCB &init_cb, const NewSampleCB &new_sample_cb, KeySource *decryption_key_source) override
                  - + 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 23f05d6724..7f36ba0fd7 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 8c1880337f..de86dc462b 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 b202a247a4..2da67007ed 100644 --- a/docs/de/d83/classshaka_1_1media_1_1LocalFile-members.html +++ b/docs/de/d83/classshaka_1_1media_1_1LocalFile-members.html @@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/d87/structshaka_1_1media_1_1wvm_1_1PrevSampleData-members.html b/docs/de/d87/structshaka_1_1media_1_1wvm_1_1PrevSampleData-members.html index cfc1ae443a..de9a30cf2a 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 8e25a0108d..d1bd360cf8 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 82651f7e1f..377bc523bb 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 cda91e26a3..cb38e04138 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 f3002b87c2..fdbce60630 100644 --- a/docs/de/dab/es__parser__h26x_8cc_source.html +++ b/docs/de/dab/es__parser__h26x_8cc_source.html @@ -116,306 +116,305 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  27 
                  28 } // namespace
                  29 
                  -
                  30 
                  -
                  31 EsParserH26x::EsParserH26x(
                  -
                  32  Nalu::CodecType type,
                  -
                  33  scoped_ptr<H26xByteToUnitStreamConverter> stream_converter,
                  -
                  34  uint32_t pid,
                  -
                  35  const EmitSampleCB& emit_sample_cb)
                  -
                  36  : EsParser(pid),
                  -
                  37  emit_sample_cb_(emit_sample_cb),
                  -
                  38  type_(type),
                  -
                  39  es_queue_(new media::OffsetByteQueue()),
                  -
                  40  current_search_position_(0),
                  -
                  41  stream_converter_(stream_converter.Pass()),
                  -
                  42  pending_sample_duration_(0),
                  -
                  43  waiting_for_key_frame_(true) {}
                  -
                  44 
                  -
                  45 EsParserH26x::~EsParserH26x() {}
                  -
                  46 
                  -
                  47 bool EsParserH26x::Parse(const uint8_t* buf,
                  -
                  48  int size,
                  -
                  49  int64_t pts,
                  -
                  50  int64_t dts) {
                  -
                  51  // Note: Parse is invoked each time a PES packet has been reassembled.
                  -
                  52  // Unfortunately, a PES packet does not necessarily map
                  -
                  53  // to an h264/h265 access unit, although the HLS recommendation is to use one
                  -
                  54  // PES for each access unit (but this is just a recommendation and some
                  -
                  55  // streams do not comply with this recommendation).
                  -
                  56 
                  -
                  57  // HLS recommendation: "In AVC video, you should have both a DTS and a
                  -
                  58  // PTS in each PES header".
                  -
                  59  // However, some streams do not comply with this recommendation.
                  -
                  60  DVLOG_IF(1, pts == kNoTimestamp) << "Each video PES should have a PTS";
                  -
                  61  if (pts != kNoTimestamp) {
                  -
                  62  TimingDesc timing_desc;
                  -
                  63  timing_desc.pts = pts;
                  -
                  64  timing_desc.dts = (dts != kNoTimestamp) ? dts : pts;
                  -
                  65 
                  -
                  66  // Link the end of the byte queue with the incoming timing descriptor.
                  -
                  67  timing_desc_list_.push_back(
                  -
                  68  std::pair<int64_t, TimingDesc>(es_queue_->tail(), timing_desc));
                  -
                  69  }
                  -
                  70 
                  -
                  71  // Add the incoming bytes to the ES queue.
                  -
                  72  es_queue_->Push(buf, size);
                  -
                  73 
                  -
                  74  // We should always have entries in the vector and it should always start
                  -
                  75  // with |can_start_access_unit == true|. If not, we are just starting and
                  -
                  76  // should skip to the first access unit.
                  -
                  77  if (access_unit_nalus_.empty()) {
                  -
                  78  if (!SkipToFirstAccessUnit())
                  -
                  79  return true;
                  -
                  80  }
                  -
                  81  DCHECK(!access_unit_nalus_.empty());
                  -
                  82  DCHECK(access_unit_nalus_.front().nalu.can_start_access_unit());
                  -
                  83 
                  -
                  84  return ParseInternal();
                  -
                  85 }
                  -
                  86 
                  -
                  87 void EsParserH26x::Flush() {
                  -
                  88  DVLOG(1) << "EsParserH26x::Flush";
                  -
                  89 
                  -
                  90  // Simulate an additional AUD to force emitting the last access unit
                  -
                  91  // which is assumed to be complete at this point.
                  -
                  92  if (type_ == Nalu::kH264) {
                  -
                  93  const uint8_t aud[] = {0x00, 0x00, 0x01, 0x09};
                  -
                  94  es_queue_->Push(aud, sizeof(aud));
                  -
                  95  } else {
                  -
                  96  DCHECK_EQ(Nalu::kH265, type_);
                  -
                  97  const uint8_t aud[] = {0x00, 0x00, 0x01, 0x46, 0x01};
                  -
                  98  es_queue_->Push(aud, sizeof(aud));
                  -
                  99  }
                  -
                  100 
                  -
                  101  CHECK(ParseInternal());
                  -
                  102 
                  -
                  103  // Note that the end argument is exclusive. We do not want to include the
                  -
                  104  // fake AUD we just added, so the argument should point to the AUD.
                  -
                  105  if (access_unit_nalus_.size() > 1 &&
                  -
                  106  !ProcessAccessUnit(access_unit_nalus_.end() - 1)) {
                  -
                  107  LOG(WARNING) << "Error processing last access unit.";
                  -
                  108  }
                  -
                  109 
                  -
                  110  if (pending_sample_) {
                  -
                  111  // Flush pending sample.
                  -
                  112  DCHECK(pending_sample_duration_);
                  -
                  113  pending_sample_->set_duration(pending_sample_duration_);
                  -
                  114  emit_sample_cb_.Run(pid(), pending_sample_);
                  -
                  115  pending_sample_ = scoped_refptr<MediaSample>();
                  -
                  116  }
                  -
                  117 }
                  -
                  118 
                  -
                  119 void EsParserH26x::Reset() {
                  -
                  120  es_queue_.reset(new media::OffsetByteQueue());
                  -
                  121  current_search_position_ = 0;
                  -
                  122  access_unit_nalus_.clear();
                  -
                  123  timing_desc_list_.clear();
                  -
                  124  pending_sample_ = scoped_refptr<MediaSample>();
                  -
                  125  pending_sample_duration_ = 0;
                  -
                  126  waiting_for_key_frame_ = true;
                  -
                  127 }
                  -
                  128 
                  -
                  129 bool EsParserH26x::SkipToFirstAccessUnit() {
                  -
                  130  DCHECK(access_unit_nalus_.empty());
                  -
                  131  while (access_unit_nalus_.empty()) {
                  -
                  132  if (!SearchForNextNalu())
                  -
                  133  return false;
                  -
                  134 
                  -
                  135  // If we can't start an access unit, remove it and continue.
                  -
                  136  DCHECK_EQ(1u, access_unit_nalus_.size());
                  -
                  137  if (!access_unit_nalus_.back().nalu.can_start_access_unit())
                  -
                  138  access_unit_nalus_.clear();
                  -
                  139  }
                  -
                  140  return true;
                  -
                  141 }
                  -
                  142 
                  -
                  143 bool EsParserH26x::SearchForNextNalu() {
                  -
                  144  const uint8_t* es;
                  -
                  145  int es_size;
                  -
                  146  es_queue_->PeekAt(current_search_position_, &es, &es_size);
                  -
                  147 
                  -
                  148  // Find a start code.
                  -
                  149  uint64_t start_code_offset;
                  -
                  150  uint8_t start_code_size;
                  -
                  151  const bool start_code_found = NaluReader::FindStartCode(
                  -
                  152  es, es_size, &start_code_offset, &start_code_size);
                  -
                  153 
                  -
                  154  if (!start_code_found) {
                  -
                  155  // We didn't find a start code, so we don't have to search this data again.
                  -
                  156  if (es_size > kStartCodeSize)
                  -
                  157  current_search_position_ += es_size - kStartCodeSize;
                  -
                  158  return false;
                  -
                  159  }
                  -
                  160 
                  -
                  161  // Ensure the next NAL unit is a real NAL unit.
                  -
                  162  const uint8_t* nalu_ptr = es + start_code_offset + start_code_size;
                  -
                  163  // This size is likely inaccurate, this is just to get the header info.
                  -
                  164  const int64_t next_nalu_size = es_size - start_code_offset - start_code_size;
                  -
                  165  if (next_nalu_size <
                  -
                  166  (type_ == Nalu::kH264 ? kH264NaluHeaderSize : kH265NaluHeaderSize)) {
                  -
                  167  // There was not enough data, wait for more.
                  -
                  168  return false;
                  -
                  169  }
                  -
                  170 
                  -
                  171  Nalu next_nalu;
                  -
                  172  if (!next_nalu.Initialize(type_, nalu_ptr, next_nalu_size)) {
                  -
                  173  // The next NAL unit is invalid, skip it and search again.
                  -
                  174  current_search_position_ += start_code_offset + start_code_size;
                  -
                  175  return SearchForNextNalu();
                  -
                  176  }
                  -
                  177 
                  -
                  178  current_search_position_ += start_code_offset + start_code_size;
                  -
                  179 
                  -
                  180  NaluInfo info;
                  -
                  181  info.position = current_search_position_ - start_code_size;
                  -
                  182  info.start_code_size = start_code_size;
                  -
                  183  info.nalu = next_nalu;
                  -
                  184  access_unit_nalus_.push_back(info);
                  -
                  185 
                  -
                  186  return true;
                  -
                  187 }
                  -
                  188 
                  -
                  189 bool EsParserH26x::ProcessAccessUnit(std::deque<NaluInfo>::iterator end) {
                  -
                  190  DCHECK(end < access_unit_nalus_.end());
                  -
                  191  auto begin = access_unit_nalus_.begin();
                  -
                  192  const uint8_t* es;
                  -
                  193  int es_size;
                  -
                  194  es_queue_->PeekAt(begin->position, &es, &es_size);
                  -
                  195  DCHECK_GE(static_cast<uint64_t>(es_size), (end->position - begin->position));
                  -
                  196 
                  -
                  197  // Process the NAL units in the access unit.
                  -
                  198  bool is_key_frame = false;
                  -
                  199  int pps_id = -1;
                  -
                  200  for (auto it = begin; it != end; ++it) {
                  -
                  201  if (it->nalu.nuh_layer_id() == 0) {
                  -
                  202  // Update the NALU because the data pointer may have been invalidated.
                  -
                  203  CHECK(it->nalu.Initialize(
                  -
                  204  type_, es + (it->position - begin->position) + it->start_code_size,
                  -
                  205  ((it+1)->position - it->position) - it->start_code_size));
                  -
                  206  if (!ProcessNalu(it->nalu, &is_key_frame, &pps_id))
                  -
                  207  return false;
                  -
                  208  }
                  -
                  209  }
                  -
                  210 
                  -
                  211  if (is_key_frame)
                  -
                  212  waiting_for_key_frame_ = false;
                  -
                  213  if (!waiting_for_key_frame_) {
                  -
                  214  const uint64_t access_unit_size = end->position - begin->position;
                  -
                  215  RCHECK(EmitFrame(begin->position, access_unit_size, is_key_frame, pps_id));
                  -
                  216  }
                  -
                  217 
                  -
                  218  return true;
                  -
                  219 }
                  -
                  220 
                  -
                  221 bool EsParserH26x::ParseInternal() {
                  -
                  222  while (true) {
                  -
                  223  if (!SearchForNextNalu())
                  -
                  224  return true;
                  -
                  225 
                  -
                  226  // ITU H.264 sec. 7.4.1.2.3
                  -
                  227  // H264: The first of the NAL units with |can_start_access_unit() == true|
                  -
                  228  // after the last VCL NAL unit of a primary coded picture specifies the
                  -
                  229  // start of a new access unit. |nuh_layer_id()| is for H265 only; it is
                  -
                  230  // included below for ease of computation (the value is always 0).
                  -
                  231  // ITU H.265 sec. 7.4.2.4.4
                  -
                  232  // H265: The first of the NAL units with |can_start_access_unit() == true|
                  -
                  233  // after the last VCL NAL unit preceding firstBlPicNalUnit (the first
                  -
                  234  // VCL NAL unit of a coded picture with nuh_layer_id equal to 0), if
                  -
                  235  // any, specifies the start of a new access unit.
                  -
                  236  DCHECK(!access_unit_nalus_.empty());
                  -
                  237  if (!access_unit_nalus_.back().nalu.is_video_slice() ||
                  -
                  238  access_unit_nalus_.back().nalu.nuh_layer_id() != 0) {
                  -
                  239  continue;
                  -
                  240  }
                  -
                  241 
                  -
                  242  // First, find the end of the access unit. Search backward to find the
                  -
                  243  // first VCL NALU before the current one.
                  -
                  244  auto access_unit_end_rit = access_unit_nalus_.rbegin();
                  -
                  245  bool found_vcl = false;
                  -
                  246  for (auto rit = access_unit_nalus_.rbegin() + 1;
                  -
                  247  rit != access_unit_nalus_.rend(); ++rit) {
                  -
                  248  if (rit->nalu.is_video_slice()) {
                  -
                  249  found_vcl = true;
                  -
                  250  break;
                  -
                  251  } else if (rit->nalu.can_start_access_unit()) {
                  -
                  252  // The start of the next access unit is the first unit with
                  -
                  253  // |can_start_access_unit| after the previous VCL unit.
                  -
                  254  access_unit_end_rit = rit;
                  -
                  255  }
                  -
                  256  }
                  -
                  257  if (!found_vcl)
                  -
                  258  return true;
                  -
                  259 
                  -
                  260  // Get a forward iterator that corresponds to the same element pointed by
                  -
                  261  // |access_unit_end_rit|. Note: |end| refers to the exclusive end and
                  -
                  262  // will point to a valid object.
                  -
                  263  auto end = (access_unit_end_rit + 1).base();
                  -
                  264  if (!ProcessAccessUnit(end))
                  -
                  265  return false;
                  -
                  266 
                  -
                  267  // Delete the data we have already processed.
                  -
                  268  es_queue_->Trim(end->position);
                  -
                  269  access_unit_nalus_.erase(access_unit_nalus_.begin(), end);
                  -
                  270  }
                  -
                  271 }
                  -
                  272 
                  -
                  273 bool EsParserH26x::EmitFrame(int64_t access_unit_pos,
                  -
                  274  int access_unit_size,
                  -
                  275  bool is_key_frame,
                  -
                  276  int pps_id) {
                  -
                  277  // Get the access unit timing info.
                  -
                  278  TimingDesc current_timing_desc = {kNoTimestamp, kNoTimestamp};
                  -
                  279  while (!timing_desc_list_.empty() &&
                  -
                  280  timing_desc_list_.front().first <= access_unit_pos) {
                  -
                  281  current_timing_desc = timing_desc_list_.front().second;
                  -
                  282  timing_desc_list_.pop_front();
                  -
                  283  }
                  -
                  284  if (current_timing_desc.pts == kNoTimestamp)
                  -
                  285  return false;
                  -
                  286 
                  -
                  287  // Emit a frame.
                  -
                  288  DVLOG(LOG_LEVEL_ES) << "Emit frame: stream_pos=" << access_unit_pos
                  -
                  289  << " size=" << access_unit_size;
                  -
                  290  int es_size;
                  -
                  291  const uint8_t* es;
                  -
                  292  es_queue_->PeekAt(access_unit_pos, &es, &es_size);
                  -
                  293 
                  -
                  294  // Convert frame to unit stream format.
                  -
                  295  std::vector<uint8_t> converted_frame;
                  -
                  296  if (!stream_converter_->ConvertByteStreamToNalUnitStream(
                  -
                  297  es, access_unit_size, &converted_frame)) {
                  -
                  298  DLOG(ERROR) << "Failure to convert video frame to unit stream format.";
                  -
                  299  return false;
                  -
                  300  }
                  -
                  301 
                  -
                  302  // Update the video decoder configuration if needed.
                  -
                  303  RCHECK(UpdateVideoDecoderConfig(pps_id));
                  -
                  304 
                  -
                  305  // Create the media sample, emitting always the previous sample after
                  -
                  306  // calculating its duration.
                  -
                  307  scoped_refptr<MediaSample> media_sample = MediaSample::CopyFrom(
                  -
                  308  converted_frame.data(), converted_frame.size(), is_key_frame);
                  -
                  309  media_sample->set_dts(current_timing_desc.dts);
                  -
                  310  media_sample->set_pts(current_timing_desc.pts);
                  -
                  311  if (pending_sample_) {
                  -
                  312  DCHECK_GT(media_sample->dts(), pending_sample_->dts());
                  -
                  313  pending_sample_duration_ = media_sample->dts() - pending_sample_->dts();
                  -
                  314  pending_sample_->set_duration(pending_sample_duration_);
                  -
                  315  emit_sample_cb_.Run(pid(), pending_sample_);
                  -
                  316  }
                  -
                  317  pending_sample_ = media_sample;
                  -
                  318 
                  -
                  319  return true;
                  -
                  320 }
                  -
                  321 
                  -
                  322 } // namespace mp2t
                  -
                  323 } // namespace media
                  -
                  324 } // namespace shaka
                  +
                  30 EsParserH26x::EsParserH26x(
                  +
                  31  Nalu::CodecType type,
                  +
                  32  std::unique_ptr<H26xByteToUnitStreamConverter> stream_converter,
                  +
                  33  uint32_t pid,
                  +
                  34  const EmitSampleCB& emit_sample_cb)
                  +
                  35  : EsParser(pid),
                  +
                  36  emit_sample_cb_(emit_sample_cb),
                  +
                  37  type_(type),
                  +
                  38  es_queue_(new media::OffsetByteQueue()),
                  +
                  39  current_search_position_(0),
                  +
                  40  stream_converter_(std::move(stream_converter)),
                  +
                  41  pending_sample_duration_(0),
                  +
                  42  waiting_for_key_frame_(true) {}
                  +
                  43 
                  +
                  44 EsParserH26x::~EsParserH26x() {}
                  +
                  45 
                  +
                  46 bool EsParserH26x::Parse(const uint8_t* buf,
                  +
                  47  int size,
                  +
                  48  int64_t pts,
                  +
                  49  int64_t dts) {
                  +
                  50  // Note: Parse is invoked each time a PES packet has been reassembled.
                  +
                  51  // Unfortunately, a PES packet does not necessarily map
                  +
                  52  // to an h264/h265 access unit, although the HLS recommendation is to use one
                  +
                  53  // PES for each access unit (but this is just a recommendation and some
                  +
                  54  // streams do not comply with this recommendation).
                  +
                  55 
                  +
                  56  // HLS recommendation: "In AVC video, you should have both a DTS and a
                  +
                  57  // PTS in each PES header".
                  +
                  58  // However, some streams do not comply with this recommendation.
                  +
                  59  DVLOG_IF(1, pts == kNoTimestamp) << "Each video PES should have a PTS";
                  +
                  60  if (pts != kNoTimestamp) {
                  +
                  61  TimingDesc timing_desc;
                  +
                  62  timing_desc.pts = pts;
                  +
                  63  timing_desc.dts = (dts != kNoTimestamp) ? dts : pts;
                  +
                  64 
                  +
                  65  // Link the end of the byte queue with the incoming timing descriptor.
                  +
                  66  timing_desc_list_.push_back(
                  +
                  67  std::pair<int64_t, TimingDesc>(es_queue_->tail(), timing_desc));
                  +
                  68  }
                  +
                  69 
                  +
                  70  // Add the incoming bytes to the ES queue.
                  +
                  71  es_queue_->Push(buf, size);
                  +
                  72 
                  +
                  73  // We should always have entries in the vector and it should always start
                  +
                  74  // with |can_start_access_unit == true|. If not, we are just starting and
                  +
                  75  // should skip to the first access unit.
                  +
                  76  if (access_unit_nalus_.empty()) {
                  +
                  77  if (!SkipToFirstAccessUnit())
                  +
                  78  return true;
                  +
                  79  }
                  +
                  80  DCHECK(!access_unit_nalus_.empty());
                  +
                  81  DCHECK(access_unit_nalus_.front().nalu.can_start_access_unit());
                  +
                  82 
                  +
                  83  return ParseInternal();
                  +
                  84 }
                  +
                  85 
                  +
                  86 void EsParserH26x::Flush() {
                  +
                  87  DVLOG(1) << "EsParserH26x::Flush";
                  +
                  88 
                  +
                  89  // Simulate an additional AUD to force emitting the last access unit
                  +
                  90  // which is assumed to be complete at this point.
                  +
                  91  if (type_ == Nalu::kH264) {
                  +
                  92  const uint8_t aud[] = {0x00, 0x00, 0x01, 0x09};
                  +
                  93  es_queue_->Push(aud, sizeof(aud));
                  +
                  94  } else {
                  +
                  95  DCHECK_EQ(Nalu::kH265, type_);
                  +
                  96  const uint8_t aud[] = {0x00, 0x00, 0x01, 0x46, 0x01};
                  +
                  97  es_queue_->Push(aud, sizeof(aud));
                  +
                  98  }
                  +
                  99 
                  +
                  100  CHECK(ParseInternal());
                  +
                  101 
                  +
                  102  // Note that the end argument is exclusive. We do not want to include the
                  +
                  103  // fake AUD we just added, so the argument should point to the AUD.
                  +
                  104  if (access_unit_nalus_.size() > 1 &&
                  +
                  105  !ProcessAccessUnit(access_unit_nalus_.end() - 1)) {
                  +
                  106  LOG(WARNING) << "Error processing last access unit.";
                  +
                  107  }
                  +
                  108 
                  +
                  109  if (pending_sample_) {
                  +
                  110  // Flush pending sample.
                  +
                  111  DCHECK(pending_sample_duration_);
                  +
                  112  pending_sample_->set_duration(pending_sample_duration_);
                  +
                  113  emit_sample_cb_.Run(pid(), pending_sample_);
                  +
                  114  pending_sample_ = scoped_refptr<MediaSample>();
                  +
                  115  }
                  +
                  116 }
                  +
                  117 
                  +
                  118 void EsParserH26x::Reset() {
                  +
                  119  es_queue_.reset(new media::OffsetByteQueue());
                  +
                  120  current_search_position_ = 0;
                  +
                  121  access_unit_nalus_.clear();
                  +
                  122  timing_desc_list_.clear();
                  +
                  123  pending_sample_ = scoped_refptr<MediaSample>();
                  +
                  124  pending_sample_duration_ = 0;
                  +
                  125  waiting_for_key_frame_ = true;
                  +
                  126 }
                  +
                  127 
                  +
                  128 bool EsParserH26x::SkipToFirstAccessUnit() {
                  +
                  129  DCHECK(access_unit_nalus_.empty());
                  +
                  130  while (access_unit_nalus_.empty()) {
                  +
                  131  if (!SearchForNextNalu())
                  +
                  132  return false;
                  +
                  133 
                  +
                  134  // If we can't start an access unit, remove it and continue.
                  +
                  135  DCHECK_EQ(1u, access_unit_nalus_.size());
                  +
                  136  if (!access_unit_nalus_.back().nalu.can_start_access_unit())
                  +
                  137  access_unit_nalus_.clear();
                  +
                  138  }
                  +
                  139  return true;
                  +
                  140 }
                  +
                  141 
                  +
                  142 bool EsParserH26x::SearchForNextNalu() {
                  +
                  143  const uint8_t* es;
                  +
                  144  int es_size;
                  +
                  145  es_queue_->PeekAt(current_search_position_, &es, &es_size);
                  +
                  146 
                  +
                  147  // Find a start code.
                  +
                  148  uint64_t start_code_offset;
                  +
                  149  uint8_t start_code_size;
                  +
                  150  const bool start_code_found = NaluReader::FindStartCode(
                  +
                  151  es, es_size, &start_code_offset, &start_code_size);
                  +
                  152 
                  +
                  153  if (!start_code_found) {
                  +
                  154  // We didn't find a start code, so we don't have to search this data again.
                  +
                  155  if (es_size > kStartCodeSize)
                  +
                  156  current_search_position_ += es_size - kStartCodeSize;
                  +
                  157  return false;
                  +
                  158  }
                  +
                  159 
                  +
                  160  // Ensure the next NAL unit is a real NAL unit.
                  +
                  161  const uint8_t* nalu_ptr = es + start_code_offset + start_code_size;
                  +
                  162  // This size is likely inaccurate, this is just to get the header info.
                  +
                  163  const int64_t next_nalu_size = es_size - start_code_offset - start_code_size;
                  +
                  164  if (next_nalu_size <
                  +
                  165  (type_ == Nalu::kH264 ? kH264NaluHeaderSize : kH265NaluHeaderSize)) {
                  +
                  166  // There was not enough data, wait for more.
                  +
                  167  return false;
                  +
                  168  }
                  +
                  169 
                  +
                  170  Nalu next_nalu;
                  +
                  171  if (!next_nalu.Initialize(type_, nalu_ptr, next_nalu_size)) {
                  +
                  172  // The next NAL unit is invalid, skip it and search again.
                  +
                  173  current_search_position_ += start_code_offset + start_code_size;
                  +
                  174  return SearchForNextNalu();
                  +
                  175  }
                  +
                  176 
                  +
                  177  current_search_position_ += start_code_offset + start_code_size;
                  +
                  178 
                  +
                  179  NaluInfo info;
                  +
                  180  info.position = current_search_position_ - start_code_size;
                  +
                  181  info.start_code_size = start_code_size;
                  +
                  182  info.nalu = next_nalu;
                  +
                  183  access_unit_nalus_.push_back(info);
                  +
                  184 
                  +
                  185  return true;
                  +
                  186 }
                  +
                  187 
                  +
                  188 bool EsParserH26x::ProcessAccessUnit(std::deque<NaluInfo>::iterator end) {
                  +
                  189  DCHECK(end < access_unit_nalus_.end());
                  +
                  190  auto begin = access_unit_nalus_.begin();
                  +
                  191  const uint8_t* es;
                  +
                  192  int es_size;
                  +
                  193  es_queue_->PeekAt(begin->position, &es, &es_size);
                  +
                  194  DCHECK_GE(static_cast<uint64_t>(es_size), (end->position - begin->position));
                  +
                  195 
                  +
                  196  // Process the NAL units in the access unit.
                  +
                  197  bool is_key_frame = false;
                  +
                  198  int pps_id = -1;
                  +
                  199  for (auto it = begin; it != end; ++it) {
                  +
                  200  if (it->nalu.nuh_layer_id() == 0) {
                  +
                  201  // Update the NALU because the data pointer may have been invalidated.
                  +
                  202  CHECK(it->nalu.Initialize(
                  +
                  203  type_, es + (it->position - begin->position) + it->start_code_size,
                  +
                  204  ((it+1)->position - it->position) - it->start_code_size));
                  +
                  205  if (!ProcessNalu(it->nalu, &is_key_frame, &pps_id))
                  +
                  206  return false;
                  +
                  207  }
                  +
                  208  }
                  +
                  209 
                  +
                  210  if (is_key_frame)
                  +
                  211  waiting_for_key_frame_ = false;
                  +
                  212  if (!waiting_for_key_frame_) {
                  +
                  213  const uint64_t access_unit_size = end->position - begin->position;
                  +
                  214  RCHECK(EmitFrame(begin->position, access_unit_size, is_key_frame, pps_id));
                  +
                  215  }
                  +
                  216 
                  +
                  217  return true;
                  +
                  218 }
                  +
                  219 
                  +
                  220 bool EsParserH26x::ParseInternal() {
                  +
                  221  while (true) {
                  +
                  222  if (!SearchForNextNalu())
                  +
                  223  return true;
                  +
                  224 
                  +
                  225  // ITU H.264 sec. 7.4.1.2.3
                  +
                  226  // H264: The first of the NAL units with |can_start_access_unit() == true|
                  +
                  227  // after the last VCL NAL unit of a primary coded picture specifies the
                  +
                  228  // start of a new access unit. |nuh_layer_id()| is for H265 only; it is
                  +
                  229  // included below for ease of computation (the value is always 0).
                  +
                  230  // ITU H.265 sec. 7.4.2.4.4
                  +
                  231  // H265: The first of the NAL units with |can_start_access_unit() == true|
                  +
                  232  // after the last VCL NAL unit preceding firstBlPicNalUnit (the first
                  +
                  233  // VCL NAL unit of a coded picture with nuh_layer_id equal to 0), if
                  +
                  234  // any, specifies the start of a new access unit.
                  +
                  235  DCHECK(!access_unit_nalus_.empty());
                  +
                  236  if (!access_unit_nalus_.back().nalu.is_video_slice() ||
                  +
                  237  access_unit_nalus_.back().nalu.nuh_layer_id() != 0) {
                  +
                  238  continue;
                  +
                  239  }
                  +
                  240 
                  +
                  241  // First, find the end of the access unit. Search backward to find the
                  +
                  242  // first VCL NALU before the current one.
                  +
                  243  auto access_unit_end_rit = access_unit_nalus_.rbegin();
                  +
                  244  bool found_vcl = false;
                  +
                  245  for (auto rit = access_unit_nalus_.rbegin() + 1;
                  +
                  246  rit != access_unit_nalus_.rend(); ++rit) {
                  +
                  247  if (rit->nalu.is_video_slice()) {
                  +
                  248  found_vcl = true;
                  +
                  249  break;
                  +
                  250  } else if (rit->nalu.can_start_access_unit()) {
                  +
                  251  // The start of the next access unit is the first unit with
                  +
                  252  // |can_start_access_unit| after the previous VCL unit.
                  +
                  253  access_unit_end_rit = rit;
                  +
                  254  }
                  +
                  255  }
                  +
                  256  if (!found_vcl)
                  +
                  257  return true;
                  +
                  258 
                  +
                  259  // Get a forward iterator that corresponds to the same element pointed by
                  +
                  260  // |access_unit_end_rit|. Note: |end| refers to the exclusive end and
                  +
                  261  // will point to a valid object.
                  +
                  262  auto end = (access_unit_end_rit + 1).base();
                  +
                  263  if (!ProcessAccessUnit(end))
                  +
                  264  return false;
                  +
                  265 
                  +
                  266  // Delete the data we have already processed.
                  +
                  267  es_queue_->Trim(end->position);
                  +
                  268  access_unit_nalus_.erase(access_unit_nalus_.begin(), end);
                  +
                  269  }
                  +
                  270 }
                  +
                  271 
                  +
                  272 bool EsParserH26x::EmitFrame(int64_t access_unit_pos,
                  +
                  273  int access_unit_size,
                  +
                  274  bool is_key_frame,
                  +
                  275  int pps_id) {
                  +
                  276  // Get the access unit timing info.
                  +
                  277  TimingDesc current_timing_desc = {kNoTimestamp, kNoTimestamp};
                  +
                  278  while (!timing_desc_list_.empty() &&
                  +
                  279  timing_desc_list_.front().first <= access_unit_pos) {
                  +
                  280  current_timing_desc = timing_desc_list_.front().second;
                  +
                  281  timing_desc_list_.pop_front();
                  +
                  282  }
                  +
                  283  if (current_timing_desc.pts == kNoTimestamp)
                  +
                  284  return false;
                  +
                  285 
                  +
                  286  // Emit a frame.
                  +
                  287  DVLOG(LOG_LEVEL_ES) << "Emit frame: stream_pos=" << access_unit_pos
                  +
                  288  << " size=" << access_unit_size;
                  +
                  289  int es_size;
                  +
                  290  const uint8_t* es;
                  +
                  291  es_queue_->PeekAt(access_unit_pos, &es, &es_size);
                  +
                  292 
                  +
                  293  // Convert frame to unit stream format.
                  +
                  294  std::vector<uint8_t> converted_frame;
                  +
                  295  if (!stream_converter_->ConvertByteStreamToNalUnitStream(
                  +
                  296  es, access_unit_size, &converted_frame)) {
                  +
                  297  DLOG(ERROR) << "Failure to convert video frame to unit stream format.";
                  +
                  298  return false;
                  +
                  299  }
                  +
                  300 
                  +
                  301  // Update the video decoder configuration if needed.
                  +
                  302  RCHECK(UpdateVideoDecoderConfig(pps_id));
                  +
                  303 
                  +
                  304  // Create the media sample, emitting always the previous sample after
                  +
                  305  // calculating its duration.
                  +
                  306  scoped_refptr<MediaSample> media_sample = MediaSample::CopyFrom(
                  +
                  307  converted_frame.data(), converted_frame.size(), is_key_frame);
                  +
                  308  media_sample->set_dts(current_timing_desc.dts);
                  +
                  309  media_sample->set_pts(current_timing_desc.pts);
                  +
                  310  if (pending_sample_) {
                  +
                  311  DCHECK_GT(media_sample->dts(), pending_sample_->dts());
                  +
                  312  pending_sample_duration_ = media_sample->dts() - pending_sample_->dts();
                  +
                  313  pending_sample_->set_duration(pending_sample_duration_);
                  +
                  314  emit_sample_cb_.Run(pid(), pending_sample_);
                  +
                  315  }
                  +
                  316  pending_sample_ = media_sample;
                  +
                  317 
                  +
                  318  return true;
                  +
                  319 }
                  +
                  320 
                  +
                  321 } // namespace mp2t
                  +
                  322 } // namespace media
                  +
                  323 } // namespace shaka
                  static scoped_refptr< MediaSample > CopyFrom(const uint8_t *data, size_t size, bool is_key_frame)
                  Definition: media_sample.cc:45
                  diff --git a/docs/de/dad/validate__flag_8cc_source.html b/docs/de/dad/validate__flag_8cc_source.html index 4ea2c5af00..1e14099f4b 100644 --- a/docs/de/dad/validate__flag_8cc_source.html +++ b/docs/de/dad/validate__flag_8cc_source.html @@ -132,7 +132,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/db3/classshaka_1_1media_1_1TextTrackConfig.html b/docs/de/db3/classshaka_1_1media_1_1TextTrackConfig.html index 53592a4f29..c3a2d5a15d 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 6b24a3ef34..1eac49805c 100644 --- a/docs/de/db4/classshaka_1_1media_1_1H26xBitReader.html +++ b/docs/de/db4/classshaka_1_1media_1_1H26xBitReader.html @@ -134,7 +134,7 @@ size_t NumEmulationPrevent diff --git a/docs/de/dc1/demuxer_8h_source.html b/docs/de/dc1/demuxer_8h_source.html index fdd9236513..0e11f4a391 100644 --- a/docs/de/dc1/demuxer_8h_source.html +++ b/docs/de/dc1/demuxer_8h_source.html @@ -97,11 +97,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  8 #define MEDIA_BASE_DEMUXER_H_
                  9 
                  10 #include <deque>
                  -
                  11 #include <vector>
                  -
                  12 
                  -
                  13 #include "packager/base/compiler_specific.h"
                  -
                  14 #include "packager/base/memory/ref_counted.h"
                  -
                  15 #include "packager/base/memory/scoped_ptr.h"
                  +
                  11 #include <memory>
                  +
                  12 #include <vector>
                  +
                  13 
                  +
                  14 #include "packager/base/compiler_specific.h"
                  +
                  15 #include "packager/base/memory/ref_counted.h"
                  16 #include "packager/media/base/container_names.h"
                  17 #include "packager/media/base/status.h"
                  18 
                  @@ -121,7 +121,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  37  explicit Demuxer(const std::string& file_name);
                  38  ~Demuxer();
                  39 
                  -
                  44  void SetKeySource(scoped_ptr<KeySource> key_source);
                  +
                  44  void SetKeySource(std::unique_ptr<KeySource> key_source);
                  45 
                  52 
                  @@ -160,11 +160,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  96  Status init_parsing_status_;
                  97  // Queued samples received in NewSampleEvent() before ParserInitEvent().
                  98  std::deque<QueuedSample> queued_samples_;
                  -
                  99  scoped_ptr<MediaParser> parser_;
                  +
                  99  std::unique_ptr<MediaParser> parser_;
                  100  std::vector<MediaStream*> streams_;
                  101  MediaContainerName container_name_;
                  -
                  102  scoped_ptr<uint8_t[]> buffer_;
                  -
                  103  scoped_ptr<KeySource> key_source_;
                  +
                  102  std::unique_ptr<uint8_t[]> buffer_;
                  +
                  103  std::unique_ptr<KeySource> key_source_;
                  104  bool cancelled_;
                  105 
                  106  DISALLOW_COPY_AND_ASSIGN(Demuxer);
                  @@ -174,11 +174,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  110 } // namespace shaka
                  111 
                  112 #endif // MEDIA_BASE_DEMUXER_H_
                  -
                  void SetKeySource(scoped_ptr< KeySource > key_source)
                  Definition: demuxer.cc:52
                  MediaContainerName container_name()
                  Definition: demuxer.h:72
                  const std::vector< MediaStream * > & streams()
                  Definition: demuxer.h:68
                  +
                  void SetKeySource(std::unique_ptr< KeySource > key_source)
                  Definition: demuxer.cc:52
                  Status Parse()
                  Read from the source and send it to the parser.
                  Definition: demuxer.cc:207
                  Status Initialize()
                  Definition: demuxer.cc:56
                  @@ -187,7 +187,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/dc2/classshaka_1_1media_1_1H265Parser.html b/docs/de/dc2/classshaka_1_1media_1_1H265Parser.html index b6b5e5c256..9b6321489f 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 72ff0d2376..e659e2276c 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 4b44fc04f6..5983a8acbb 100644 --- a/docs/de/dcb/ts__segmenter_8h_source.html +++ b/docs/de/dcb/ts__segmenter_8h_source.html @@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  7 #ifndef PACKAGER_MEDIA_FORMATS_MP2T_TS_SEGMENTER_H_
                  8 #define PACKAGER_MEDIA_FORMATS_MP2T_TS_SEGMENTER_H_
                  9 
                  -
                  10 #include "packager/base/memory/scoped_ptr.h"
                  +
                  10 #include <memory>
                  11 #include "packager/media/base/media_stream.h"
                  12 #include "packager/media/base/muxer_options.h"
                  13 #include "packager/media/base/status.h"
                  @@ -130,10 +130,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  51 
                  54  Status AddSample(scoped_refptr<MediaSample> sample);
                  55 
                  -
                  57  void InjectTsWriterForTesting(scoped_ptr<TsWriter> writer);
                  +
                  57  void InjectTsWriterForTesting(std::unique_ptr<TsWriter> writer);
                  58 
                  - -
                  61  scoped_ptr<PesPacketGenerator> generator);
                  + +
                  61  std::unique_ptr<PesPacketGenerator> generator);
                  62 
                  64  void SetTsWriterFileOpenedForTesting(bool value);
                  65 
                  @@ -168,11 +168,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  94  // Used for segment template.
                  95  uint64_t segment_number_ = 0;
                  96 
                  -
                  97  scoped_ptr<TsWriter> ts_writer_;
                  +
                  97  std::unique_ptr<TsWriter> ts_writer_;
                  98  // Set to true if TsWriter::NewFile() succeeds, set to false after
                  99  // TsWriter::FinalizeFile() succeeds.
                  100  bool ts_writer_file_opened_ = false;
                  -
                  101  scoped_ptr<PesPacketGenerator> pes_packet_generator_;
                  +
                  101  std::unique_ptr<PesPacketGenerator> pes_packet_generator_;
                  102 
                  103  // For OnNewSegment().
                  104  uint64_t current_segment_start_time_ = 0;
                  @@ -180,7 +180,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  106  // the segment has been finalized.
                  107  std::string current_segment_path_;
                  108 
                  -
                  109  scoped_ptr<EncryptionKey> encryption_key_;
                  +
                  109  std::unique_ptr<EncryptionKey> encryption_key_;
                  110  double clear_lead_in_seconds_ = 0;
                  111 
                  112  // The total duration of the segments that it has segmented. This only
                  @@ -199,19 +199,19 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  Status AddSample(scoped_refptr< MediaSample > sample)
                  Definition: ts_segmenter.cc:88
                  This structure contains the list of configuration options for Muxer.
                  Definition: muxer_options.h:18
                  -
                  void InjectTsWriterForTesting(scoped_ptr< TsWriter > writer)
                  Only for testing.
                  TsSegmenter(const MuxerOptions &options, MuxerListener *listener)
                  Definition: ts_segmenter.cc:27
                  +
                  void InjectPesPacketGeneratorForTesting(std::unique_ptr< PesPacketGenerator > generator)
                  Only for testing.
                  void SetTsWriterFileOpenedForTesting(bool value)
                  Only for testing.
                  -
                  void InjectPesPacketGeneratorForTesting(scoped_ptr< PesPacketGenerator > generator)
                  Only for testing.
                  +
                  void InjectTsWriterForTesting(std::unique_ptr< TsWriter > writer)
                  Only for testing.
                  -
                  KeySource is responsible for encryption key acquisition.
                  Definition: key_source.h:31
                  +
                  KeySource is responsible for encryption key acquisition.
                  Definition: key_source.h:30
                  Status Initialize(const StreamInfo &stream_info, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds)
                  Definition: ts_segmenter.cc:34
                  diff --git a/docs/de/dcc/mock__mpd__notifier_8cc_source.html b/docs/de/dcc/mock__mpd__notifier_8cc_source.html index 391d6c93b3..50f445aeca 100644 --- a/docs/de/dcc/mock__mpd__notifier_8cc_source.html +++ b/docs/de/dcc/mock__mpd__notifier_8cc_source.html @@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/dcf/file__closer_8h_source.html b/docs/de/dcf/file__closer_8h_source.html index 6275c599dd..38e04b50ae 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 0a61d62dc3..ff5a4ffa9a 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 eac5a71f1d..3e8c7f2080 100644 --- a/docs/de/dd6/muxer__listener__test__helper_8cc_source.html +++ b/docs/de/dd6/muxer__listener__test__helper_8cc_source.html @@ -209,7 +209,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/ddd/classshaka_1_1media_1_1Muxer-members.html b/docs/de/ddd/classshaka_1_1media_1_1Muxer-members.html index 853f65e3fb..6d57c31ced 100644 --- a/docs/de/ddd/classshaka_1_1media_1_1Muxer-members.html +++ b/docs/de/ddd/classshaka_1_1media_1_1Muxer-members.html @@ -109,14 +109,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); Run()shaka::media::Muxer set_clock(base::Clock *clock)shaka::media::Muxerinline SetKeySource(KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds, double crypto_period_duration_in_seconds, FourCC protection_scheme)shaka::media::Muxer - SetMuxerListener(scoped_ptr< MuxerListener > muxer_listener)shaka::media::Muxer - SetProgressListener(scoped_ptr< ProgressListener > progress_listener)shaka::media::Muxer + SetMuxerListener(std::unique_ptr< MuxerListener > muxer_listener)shaka::media::Muxer + SetProgressListener(std::unique_ptr< ProgressListener > progress_listener)shaka::media::Muxer streams() const (defined in shaka::media::Muxer)shaka::media::Muxerinline ~Muxer() (defined in shaka::media::Muxer)shaka::media::Muxervirtual 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 f659ce8d7d..8a898b5ada 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 @@ -104,14 +104,14 @@ Public Member Functions   Status AddSample (scoped_refptr< MediaSample > sample)   - -void InjectTsWriterForTesting (scoped_ptr< TsWriter > writer) - Only for testing.
                  -  - -void InjectPesPacketGeneratorForTesting (scoped_ptr< PesPacketGenerator > generator) - Only for testing.
                  -  + +void InjectTsWriterForTesting (std::unique_ptr< TsWriter > writer) + Only for testing.
                  +  + +void InjectPesPacketGeneratorForTesting (std::unique_ptr< PesPacketGenerator > generator) + Only for testing.
                  void SetTsWriterFileOpenedForTesting (bool value)  Only for testing.
                  @@ -256,7 +256,7 @@ void  diff --git a/docs/de/ddf/structshaka_1_1media_1_1mp4_1_1MediaData-members.html b/docs/de/ddf/structshaka_1_1media_1_1mp4_1_1MediaData-members.html index 92b3a0dba8..4691374bae 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 84a0db6692..1e1f8b8ef7 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 3e707b4074..dd20baccec 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 @@ -109,15 +109,15 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); Run()shaka::media::Muxer set_clock(base::Clock *clock)shaka::media::Muxerinline SetKeySource(KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds, double crypto_period_duration_in_seconds, FourCC protection_scheme)shaka::media::Muxer - SetMuxerListener(scoped_ptr< MuxerListener > muxer_listener)shaka::media::Muxer - SetProgressListener(scoped_ptr< ProgressListener > progress_listener)shaka::media::Muxer + SetMuxerListener(std::unique_ptr< MuxerListener > muxer_listener)shaka::media::Muxer + SetProgressListener(std::unique_ptr< ProgressListener > progress_listener)shaka::media::Muxer streams() const (defined in shaka::media::Muxer)shaka::media::Muxerinline ~MP4Muxer() override (defined in shaka::media::mp4::MP4Muxer)shaka::media::mp4::MP4Muxer ~Muxer() (defined in shaka::media::Muxer)shaka::media::Muxervirtual diff --git a/docs/de/de4/structshaka_1_1media_1_1H264Pps.html b/docs/de/de4/structshaka_1_1media_1_1H264Pps.html index 9e8b9876f9..ce190266c9 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 fe988e6d91..58467a59cb 100644 --- a/docs/de/dea/classshaka_1_1media_1_1H26xByteToUnitStreamConverter.html +++ b/docs/de/dea/classshaka_1_1media_1_1H26xByteToUnitStreamConverter.html @@ -216,7 +216,7 @@ static const size_t kUnitS diff --git a/docs/de/def/structshaka_1_1media_1_1mp4_1_1DecodingTimeToSample.html b/docs/de/def/structshaka_1_1media_1_1mp4_1_1DecodingTimeToSample.html index 5e0311a9cf..aac6abfa24 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 dc0d5b4393..6b67ea6482 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 @@ -124,8 +124,8 @@ const VideoSampleEntryvideo_description () const  Only valid if is_video() is true.
                    -scoped_ptr< DecryptConfigGetDecryptConfig () -  +std::unique_ptr< DecryptConfigGetDecryptConfig () + 
                  Properties of the current run. Only valid if IsRunValid().
                  uint32_t track_id () const @@ -294,12 +294,12 @@ bool is_keyframe () co - +
                  - + @@ -412,7 +412,7 @@ bool 

                  Detailed Description

                  A helper class used to encrypt WebM frames before being written to the Cluster. This can also handle unencrypted frames.

                  -

                  Definition at line 29 of file encryptor.h.

                  +

                  Definition at line 30 of file encryptor.h.

                  Member Function Documentation

                  @@ -215,7 +215,7 @@ Public Member Functions
                  diff --git a/docs/de/dfa/muxer__listener_8h_source.html b/docs/de/dfa/muxer__listener_8h_source.html index f58483272e..f7715376b6 100644 --- a/docs/de/dfa/muxer__listener_8h_source.html +++ b/docs/de/dfa/muxer__listener_8h_source.html @@ -173,7 +173,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/dfa/structshaka_1_1media_1_1mp4_1_1OpusSpecific.html b/docs/de/dfa/structshaka_1_1media_1_1mp4_1_1OpusSpecific.html index 8a7319dc14..40329fc909 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 2ca8c5896b..8ff2f40763 100644 --- a/docs/de/dfd/stream__info_8cc_source.html +++ b/docs/de/dfd/stream__info_8cc_source.html @@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d05/vp__codec__configuration__record_8cc_source.html b/docs/df/d05/vp__codec__configuration__record_8cc_source.html index 4acbe8d7ca..f9205b5f22 100644 --- a/docs/df/d05/vp__codec__configuration__record_8cc_source.html +++ b/docs/df/d05/vp__codec__configuration__record_8cc_source.html @@ -360,7 +360,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d1a/offset__byte__queue_8cc_source.html b/docs/df/d1a/offset__byte__queue_8cc_source.html index b5cb6b4a59..92b601ae74 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 15585a834d..b044a40b11 100644 --- a/docs/df/d1c/classshaka_1_1media_1_1MediaSample-members.html +++ b/docs/df/d1c/classshaka_1_1media_1_1MediaSample-members.html @@ -123,7 +123,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  scoped_ptr< DecryptConfig > shaka::media::mp4::TrackRunIterator::GetDecryptConfig std::unique_ptr< DecryptConfig > shaka::media::mp4::TrackRunIterator::GetDecryptConfig ( ) is_keyframe () co diff --git a/docs/de/dfa/classshaka_1_1media_1_1webm_1_1Encryptor.html b/docs/de/dfa/classshaka_1_1media_1_1webm_1_1Encryptor.html index 81b48422ac..975d9ed606 100644 --- a/docs/de/dfa/classshaka_1_1media_1_1webm_1_1Encryptor.html +++ b/docs/de/dfa/classshaka_1_1media_1_1webm_1_1Encryptor.html @@ -108,7 +108,7 @@ Public Member Functions
                  diff --git a/docs/df/d1c/composition__offset__iterator_8h_source.html b/docs/df/d1c/composition__offset__iterator_8h_source.html index 861ede15b9..92db8307c5 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 147b552b5c..a0b24ebf18 100644 --- a/docs/df/d21/classshaka_1_1media_1_1SegmentTestBase_1_1ClusterParser-members.html +++ b/docs/df/d21/classshaka_1_1media_1_1SegmentTestBase_1_1ClusterParser-members.html @@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d22/validate__flag_8h_source.html b/docs/df/d22/validate__flag_8h_source.html index b4500d0bd6..bea451fb55 100644 --- a/docs/df/d22/validate__flag_8h_source.html +++ b/docs/df/d22/validate__flag_8h_source.html @@ -120,7 +120,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d2a/classshaka_1_1media_1_1mp4_1_1DecodingTimeIterator-members.html b/docs/df/d2a/classshaka_1_1media_1_1mp4_1_1DecodingTimeIterator-members.html index d08557943d..41c33a7459 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 24cf06827d..2dac9b6b4c 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 1f673a0164..276e2b3a41 100644 --- a/docs/df/d31/muxer__util_8cc_source.html +++ b/docs/df/d31/muxer__util_8cc_source.html @@ -264,7 +264,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d32/audio__stream__info_8h_source.html b/docs/df/d32/audio__stream__info_8h_source.html index fc2fa7bcc8..5aafe8702c 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 32ed1bb845..705be898a4 100644 --- a/docs/df/d33/classshaka_1_1AdaptationSet-members.html +++ b/docs/df/d33/classshaka_1_1AdaptationSet-members.html @@ -119,7 +119,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d38/structshaka_1_1media_1_1mp4_1_1ChunkInfo.html b/docs/df/d38/structshaka_1_1media_1_1mp4_1_1ChunkInfo.html index bb70c2f31e..9ad7d4e4e5 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 229f712770..7fab360092 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 c153cd1132..2521254bab 100644 --- a/docs/df/d3c/classshaka_1_1media_1_1RequestSigner.html +++ b/docs/df/d3c/classshaka_1_1media_1_1RequestSigner.html @@ -127,7 +127,7 @@ Protected Member Functions

                  Detailed Description

                  Abstract class used for signature generation.

                  -

                  Definition at line 21 of file request_signer.h.

                  +

                  Definition at line 22 of file request_signer.h.

                  Member Function Documentation

                  @@ -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 103206eefb..4a7c722706 100644 --- a/docs/df/d46/classshaka_1_1media_1_1Muxer.html +++ b/docs/df/d46/classshaka_1_1media_1_1Muxer.html @@ -126,10 +126,10 @@ void   void Cancel ()   -void SetMuxerListener (scoped_ptr< MuxerListener > muxer_listener) -  -void SetProgressListener (scoped_ptr< ProgressListener > progress_listener) -  +void SetMuxerListener (std::unique_ptr< MuxerListener > muxer_listener) +  +void SetProgressListener (std::unique_ptr< ProgressListener > progress_listener) +  const std::vector< MediaStream * > & streams () const   @@ -191,7 +191,7 @@ class MediaStream

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

                  -

                  Definition at line 82 of file muxer.cc.

                  +

                  Definition at line 84 of file muxer.cc.

                  @@ -281,18 +281,18 @@ class MediaStream -

                  Definition at line 29 of file muxer.cc.

                  +

                  Definition at line 31 of file muxer.cc.

                  - +
                  - + @@ -306,18 +306,18 @@ class  -

                  Definition at line 86 of file muxer.cc.

                  +

                  Definition at line 88 of file muxer.cc.

                  - +
                  void shaka::media::Muxer::SetMuxerListener (scoped_ptr< MuxerListenerstd::unique_ptr< MuxerListener muxer_listener)
                  MediaStream
                  - + @@ -331,7 +331,7 @@ class  -

                  Definition at line 90 of file muxer.cc.

                  +

                  Definition at line 92 of file muxer.cc.

                  @@ -342,7 +342,7 @@ class  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 23dc9ba3d9..ef1c11a8bd 100644 --- a/docs/df/d46/classshaka_1_1media_1_1ThreadedIoFile-members.html +++ b/docs/df/d46/classshaka_1_1media_1_1ThreadedIoFile-members.html @@ -113,14 +113,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); - +
                  void shaka::media::Muxer::SetProgressListener (scoped_ptr< ProgressListenerstd::unique_ptr< ProgressListener progress_listener)
                  MediaStream MediaStream
                  Seek(uint64_t position) overrideshaka::media::ThreadedIoFilevirtual
                  Size() overrideshaka::media::ThreadedIoFilevirtual
                  Tell(uint64_t *position) overrideshaka::media::ThreadedIoFilevirtual
                  ThreadedIoFile(scoped_ptr< File, FileCloser > internal_file, Mode mode, uint64_t io_cache_size, uint64_t io_block_size) (defined in shaka::media::ThreadedIoFile)shaka::media::ThreadedIoFile
                  ThreadedIoFile(std::unique_ptr< File, FileCloser > internal_file, Mode mode, uint64_t io_cache_size, uint64_t io_block_size) (defined in shaka::media::ThreadedIoFile)shaka::media::ThreadedIoFile
                  Write(const void *buffer, uint64_t length) overrideshaka::media::ThreadedIoFilevirtual
                  ~File()shaka::media::Fileinlineprotectedvirtual
                  ~ThreadedIoFile() override (defined in shaka::media::ThreadedIoFile)shaka::media::ThreadedIoFileprotected
                  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 8a2d3f8aca..4e9b2cb912 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 88338babe2..781948153e 100644 --- a/docs/df/d51/classshaka_1_1media_1_1RsaPrivateKey-members.html +++ b/docs/df/d51/classshaka_1_1media_1_1RsaPrivateKey-members.html @@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d51/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter-members.html b/docs/df/d51/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter-members.html index 2712e87c57..c89aa1dcea 100644 --- a/docs/df/d51/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter-members.html +++ b/docs/df/d51/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter-members.html @@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); crypt_byte_block() const (defined in shaka::media::mp4::EncryptingFragmenter)shaka::media::mp4::EncryptingFragmenterinlineprotected data() (defined in shaka::media::mp4::Fragmenter)shaka::media::mp4::Fragmenterinline earliest_presentation_time() const (defined in shaka::media::mp4::Fragmenter)shaka::media::mp4::Fragmenterinline - EncryptingFragmenter(scoped_refptr< StreamInfo > info, TrackFragment *traf, scoped_ptr< EncryptionKey > encryption_key, int64_t clear_time, FourCC protection_scheme, uint8_t crypt_byte_block, uint8_t skip_byte_block, MuxerListener *listener)shaka::media::mp4::EncryptingFragmenter + EncryptingFragmenter(scoped_refptr< StreamInfo > info, TrackFragment *traf, std::unique_ptr< EncryptionKey > encryption_key, int64_t clear_time, FourCC protection_scheme, uint8_t crypt_byte_block, uint8_t skip_byte_block, MuxerListener *listener)shaka::media::mp4::EncryptingFragmenter encryption_key() const (defined in shaka::media::mp4::EncryptingFragmenter)shaka::media::mp4::EncryptingFragmenterinlineprotected encryptor() (defined in shaka::media::mp4::EncryptingFragmenter)shaka::media::mp4::EncryptingFragmenterinlineprotected FinalizeFragment() overrideshaka::media::mp4::EncryptingFragmentervirtual @@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); OptimizeSampleEntries(std::vector< T > *entries, T *default_value)shaka::media::mp4::Fragmenterprotected PrepareFragmentForEncryption(bool enable_encryption)shaka::media::mp4::EncryptingFragmenterprotectedvirtual protection_scheme() const (defined in shaka::media::mp4::EncryptingFragmenter)shaka::media::mp4::EncryptingFragmenterinlineprotected - set_encryption_key(scoped_ptr< EncryptionKey > encryption_key) (defined in shaka::media::mp4::EncryptingFragmenter)shaka::media::mp4::EncryptingFragmenterinlineprotected + set_encryption_key(std::unique_ptr< EncryptionKey > encryption_key) (defined in shaka::media::mp4::EncryptingFragmenter)shaka::media::mp4::EncryptingFragmenterinlineprotected set_use_decoding_timestamp_in_timeline(bool use_decoding_timestamp_in_timeline)shaka::media::mp4::Fragmenterinline skip_byte_block() const (defined in shaka::media::mp4::EncryptingFragmenter)shaka::media::mp4::EncryptingFragmenterinlineprotected traf() (defined in shaka::media::mp4::Fragmenter)shaka::media::mp4::Fragmenterinlineprotected @@ -122,7 +122,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d60/classshaka_1_1MockMpdBuilder.html b/docs/df/d60/classshaka_1_1MockMpdBuilder.html index 21d503f9bc..97a97dbd47 100644 --- a/docs/df/d60/classshaka_1_1MockMpdBuilder.html +++ b/docs/df/d60/classshaka_1_1MockMpdBuilder.html @@ -127,10 +127,10 @@ Public Member Functions   MpdType type () const   - -void InjectClockForTesting (scoped_ptr< base::Clock > clock) - This is for testing.
                  -  + +void InjectClockForTesting (std::unique_ptr< base::Clock > clock) + This is for testing.
                  +  @@ -153,7 +153,7 @@ Additional Inherited Members diff --git a/docs/df/d63/structshaka_1_1media_1_1mp4_1_1AudioRollRecoveryEntry-members.html b/docs/df/d63/structshaka_1_1media_1_1mp4_1_1AudioRollRecoveryEntry-members.html index f3761cf843..e0da19a879 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');

                  Additional Inherited Members

                  diff --git a/docs/df/d66/classshaka_1_1media_1_1KeyFetcher.html b/docs/df/d66/classshaka_1_1media_1_1KeyFetcher.html index 52fcbb7f49..eaf8cee062 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 6ab68dab51..369c176742 100644 --- a/docs/df/d6a/classshaka_1_1MockMpdBuilder-members.html +++ b/docs/df/d6a/classshaka_1_1MockMpdBuilder-members.html @@ -95,7 +95,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); - + @@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  AddAdaptationSet(const std::string &lang)shaka::MpdBuildervirtual
                  AddBaseUrl(const std::string &base_url)shaka::MpdBuilder
                  InjectClockForTesting(scoped_ptr< base::Clock > clock)shaka::MpdBuilderinline
                  InjectClockForTesting(std::unique_ptr< base::Clock > clock)shaka::MpdBuilderinline
                  kDynamic enum value (defined in shaka::MpdBuilder)shaka::MpdBuilder
                  kStatic enum value (defined in shaka::MpdBuilder)shaka::MpdBuilder
                  MakePathsRelativeToMpd(const std::string &mpd_path, MediaInfo *media_info)shaka::MpdBuilderstatic
                  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 4b01ab1154..a232e23459 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 054b9479b3..e49de7b31d 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 b96c1fff7d..6c6b679ee0 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 ffb7b07a70..75aad2d6c3 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 fb2948757c..1f58a71590 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 cd597f6d9c..00d1288b8d 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 4385ab588d..0ab503209b 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 f4c96eacdf..474f16a9a7 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 395fcdce69..d9389a79d3 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 695b81bb80..be92990429 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 @@ -103,12 +103,12 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); GetReferenceTimeScale() const (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenter Initialize(const std::vector< MediaStream * > &streams, MuxerListener *muxer_listener, ProgressListener *progress_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds, double crypto_period_duration_in_seconds, FourCC protection_scheme)shaka::media::mp4::Segmenter moov() (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenterinlineprotected - MultiSegmentSegmenter(const MuxerOptions &options, scoped_ptr< FileType > ftyp, scoped_ptr< Movie > moov) (defined in shaka::media::mp4::MultiSegmentSegmenter)shaka::media::mp4::MultiSegmentSegmenter + 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, scoped_ptr< FileType > ftyp, scoped_ptr< Movie > moov) (defined in shaka::media::mp4::Segmenter)shaka::media::mp4::Segmenter + 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 @@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d8d/es__parser__h26x_8h_source.html b/docs/df/d8d/es__parser__h26x_8h_source.html index 202414a8ff..938cc0c702 100644 --- a/docs/df/d8d/es__parser__h26x_8h_source.html +++ b/docs/df/d8d/es__parser__h26x_8h_source.html @@ -98,10 +98,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  9 
                  10 #include <deque>
                  11 #include <list>
                  -
                  12 
                  -
                  13 #include "packager/base/callback.h"
                  -
                  14 #include "packager/base/compiler_specific.h"
                  -
                  15 #include "packager/base/memory/scoped_ptr.h"
                  +
                  12 #include <memory>
                  +
                  13 
                  +
                  14 #include "packager/base/callback.h"
                  +
                  15 #include "packager/base/compiler_specific.h"
                  16 #include "packager/media/codecs/nalu_reader.h"
                  17 #include "packager/media/formats/mp2t/es_parser.h"
                  18 
                  @@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  28 class EsParserH26x : public EsParser {
                  29  public:
                  30  EsParserH26x(Nalu::CodecType type,
                  -
                  31  scoped_ptr<H26xByteToUnitStreamConverter> stream_converter,
                  +
                  31  std::unique_ptr<H26xByteToUnitStreamConverter> stream_converter,
                  32  uint32_t pid,
                  33  const EmitSampleCB& emit_sample_cb);
                  34  ~EsParserH26x() override;
                  @@ -188,7 +188,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  99  Nalu::CodecType type_;
                  100 
                  101  // Bytes of the ES stream that have not been emitted yet.
                  -
                  102  scoped_ptr<media::OffsetByteQueue> es_queue_;
                  +
                  102  std::unique_ptr<media::OffsetByteQueue> es_queue_;
                  103  std::list<std::pair<int64_t, TimingDesc>> timing_desc_list_;
                  104 
                  105  // Parser state.
                  @@ -200,7 +200,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  111  std::deque<NaluInfo> access_unit_nalus_;
                  112 
                  113  // Filter to convert H.264/H.265 Annex B byte stream to unit stream.
                  -
                  114  scoped_ptr<H26xByteToUnitStreamConverter> stream_converter_;
                  +
                  114  std::unique_ptr<H26xByteToUnitStreamConverter> stream_converter_;
                  115 
                  116  // Frame for which we do not yet have a duration.
                  117  scoped_refptr<MediaSample> pending_sample_;
                  @@ -222,7 +222,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d94/classshaka_1_1RepresentationStateChangeListener.html b/docs/df/d94/classshaka_1_1RepresentationStateChangeListener.html index 49c2f65dc8..1ff6554f32 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 c4c93bd6a0..a0d17e0205 100644 --- a/docs/df/d96/xml__node_8cc_source.html +++ b/docs/df/d96/xml__node_8cc_source.html @@ -101,8 +101,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  12 #include "packager/base/logging.h"
                  13 #include "packager/base/macros.h"
                  14 #include "packager/base/stl_util.h"
                  -
                  15 #include "packager/base/sys_byteorder.h"
                  -
                  16 #include "packager/base/strings/string_number_conversions.h"
                  +
                  15 #include "packager/base/strings/string_number_conversions.h"
                  +
                  16 #include "packager/base/sys_byteorder.h"
                  17 #include "packager/mpd/base/media_info.pb.h"
                  18 #include "packager/mpd/base/segment_info.h"
                  19 
                  @@ -226,7 +226,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  137 scoped_xml_ptr<xmlNode> XmlNode::PassScopedPtr() {
                  138  DVLOG(2) << "Passing node_.";
                  139  DCHECK(node_);
                  -
                  140  return node_.Pass();
                  +
                  140  return std::move(node_);
                  141 }
                  142 
                  143 xmlNodePtr XmlNode::Release() {
                  @@ -467,10 +467,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  378 } // namespace xml
                  379 } // namespace shaka
                  bool AddVideoInfo(const MediaInfo::VideoInfo &video_info, bool set_width, bool set_height, bool set_frame_rate)
                  Definition: xml_node.cc:216
                  - +
                  void SetFloatingPointAttribute(const char *attribute_name, double number)
                  Definition: xml_node.cc:119
                  - +
                  scoped_xml_ptr< xmlNode > PassScopedPtr()
                  Definition: xml_node.cc:137
                  XmlNode(const char *name)
                  Definition: xml_node.cc:55
                  bool AddVODOnlyInfo(const MediaInfo &media_info)
                  Definition: xml_node.cc:251
                  @@ -488,7 +488,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d9a/structshaka_1_1media_1_1mp4_1_1TrackFragmentDecodeTime.html b/docs/df/d9a/structshaka_1_1media_1_1mp4_1_1TrackFragmentDecodeTime.html index 15b3fe2d57..88cd79a6a2 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 9c677b5caa..2ce3ad5ae0 100644 --- a/docs/df/d9e/classshaka_1_1xml_1_1RepresentationXmlNode.html +++ b/docs/df/d9e/classshaka_1_1xml_1_1RepresentationXmlNode.html @@ -159,7 +159,7 @@ Additional Inherited Members

                  Detailed Description

                  RepresentationType in MPD.

                  -

                  Definition at line 128 of file xml_node.h.

                  +

                  Definition at line 129 of file xml_node.h.

                  Member Function Documentation

                  @@ -311,7 +311,7 @@ Additional Inherited Members
                  diff --git a/docs/df/da0/structshaka_1_1media_1_1mp4_1_1ChunkOffset-members.html b/docs/df/da0/structshaka_1_1media_1_1mp4_1_1ChunkOffset-members.html index 9c862b3f1a..c6975d768b 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 9489bca063..9e2ac90642 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 d2c2d21352..59fdb1b827 100644 --- a/docs/df/dad/decrypt__config_8h_source.html +++ b/docs/df/dad/decrypt__config_8h_source.html @@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  10 #include <string>
                  11 #include <vector>
                  12 
                  -
                  13 #include "packager/base/memory/scoped_ptr.h"
                  +
                  13 #include "packager/base/macros.h"
                  14 #include "packager/media/base/fourccs.h"
                  15 
                  16 namespace shaka {
                  @@ -168,7 +168,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/db8/structshaka_1_1media_1_1StreamDescriptor-members.html b/docs/df/db8/structshaka_1_1media_1_1StreamDescriptor-members.html index c274a8a082..eaaec8147f 100644 --- a/docs/df/db8/structshaka_1_1media_1_1StreamDescriptor-members.html +++ b/docs/df/db8/structshaka_1_1media_1_1StreamDescriptor-members.html @@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/dc7/avc__decoder__configuration__record_8h_source.html b/docs/df/dc7/avc__decoder__configuration__record_8h_source.html index a6e84a6a5a..ede0377eeb 100644 --- a/docs/df/dc7/avc__decoder__configuration__record_8h_source.html +++ b/docs/df/dc7/avc__decoder__configuration__record_8h_source.html @@ -153,7 +153,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/dd2/mpd__utils_8h_source.html b/docs/df/dd2/mpd__utils_8h_source.html index a69cdd2186..c47a52be07 100644 --- a/docs/df/dd2/mpd__utils_8h_source.html +++ b/docs/df/dd2/mpd__utils_8h_source.html @@ -174,7 +174,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/dd2/structshaka_1_1media_1_1H264Pps-members.html b/docs/df/dd2/structshaka_1_1media_1_1H264Pps-members.html index f50e37f193..ce27060455 100644 --- a/docs/df/dd2/structshaka_1_1media_1_1H264Pps-members.html +++ b/docs/df/dd2/structshaka_1_1media_1_1H264Pps-members.html @@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/ddc/webm_2segmenter_8h_source.html b/docs/df/ddc/webm_2segmenter_8h_source.html index 9494d296c6..e94c8b5fdf 100644 --- a/docs/df/ddc/webm_2segmenter_8h_source.html +++ b/docs/df/ddc/webm_2segmenter_8h_source.html @@ -96,8 +96,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  7 #ifndef MEDIA_FORMATS_WEBM_SEGMENTER_H_
                  8 #define MEDIA_FORMATS_WEBM_SEGMENTER_H_
                  9 
                  -
                  10 #include "packager/base/memory/ref_counted.h"
                  -
                  11 #include "packager/base/memory/scoped_ptr.h"
                  +
                  10 #include <memory>
                  +
                  11 #include "packager/base/memory/ref_counted.h"
                  12 #include "packager/media/base/status.h"
                  13 #include "packager/media/formats/webm/encryptor.h"
                  14 #include "packager/media/formats/webm/mkv_writer.h"
                  @@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  36  explicit Segmenter(const MuxerOptions& options);
                  37  virtual ~Segmenter();
                  38 
                  -
                  53  Status Initialize(scoped_ptr<MkvWriter> writer,
                  +
                  53  Status Initialize(std::unique_ptr<MkvWriter> writer,
                  54  StreamInfo* info,
                  55  ProgressListener* progress_listener,
                  56  MuxerListener* muxer_listener,
                  @@ -165,7 +165,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  106  uint64_t segment_payload_pos() const { return segment_payload_pos_; }
                  107  double cluster_length_sec() const { return cluster_length_sec_; }
                  108 
                  -
                  109  virtual Status DoInitialize(scoped_ptr<MkvWriter> writer) = 0;
                  +
                  109  virtual Status DoInitialize(std::unique_ptr<MkvWriter> writer) = 0;
                  110  virtual Status DoFinalize() = 0;
                  111 
                  112  private:
                  @@ -192,10 +192,10 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  133  uint64_t reference_frame_timestamp_;
                  134 
                  135  const MuxerOptions& options_;
                  -
                  136  scoped_ptr<Encryptor> encryptor_;
                  +
                  136  std::unique_ptr<Encryptor> encryptor_;
                  137  double clear_lead_;
                  138 
                  -
                  139  scoped_ptr<mkvmuxer::Cluster> cluster_;
                  +
                  139  std::unique_ptr<mkvmuxer::Cluster> cluster_;
                  140  mkvmuxer::Cues cues_;
                  141  SeekHead seek_head_;
                  142  mkvmuxer::SegmentInfo segment_info_;
                  @@ -234,12 +234,12 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
                  Status SetCluster(uint64_t start_webm_timecode, uint64_t position, MkvWriter *writer)
                  Creates a Cluster object with the given parameters.
                  Definition: segmenter.cc:246
                  This class listens to progress updates events.
                  virtual bool GetIndexRangeStartAndEnd(uint64_t *start, uint64_t *end)=0
                  -
                  Status Initialize(scoped_ptr< MkvWriter > writer, StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds)
                  Definition: segmenter.cc:49
                  An implementation of IMkvWriter using our File type.
                  Definition: mkv_writer.h:21
                  +
                  Status Initialize(std::unique_ptr< MkvWriter > writer, StreamInfo *info, ProgressListener *progress_listener, MuxerListener *muxer_listener, KeySource *encryption_key_source, uint32_t max_sd_pixels, double clear_lead_in_seconds)
                  Definition: segmenter.cc:49
                  -
                  KeySource is responsible for encryption key acquisition.
                  Definition: key_source.h:31
                  +
                  KeySource is responsible for encryption key acquisition.
                  Definition: key_source.h:30
                  void UpdateProgress(uint64_t progress)
                  Update segmentation progress using ProgressListener.
                  Definition: segmenter.cc:255
                  virtual bool GetInitRangeStartAndEnd(uint64_t *start, uint64_t *end)=0
                  uint64_t FromWebMTimecode(uint64_t time_webm_timecode)
                  Converts the given time in WebM timecode to ISO BMFF timescale.
                  Definition: segmenter.cc:202
                  @@ -250,7 +250,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/dde/ts__section__psi_8cc_source.html b/docs/df/dde/ts__section__psi_8cc_source.html index 43f1140db7..3f1ae91060 100644 --- a/docs/df/dde/ts__section__psi_8cc_source.html +++ b/docs/df/dde/ts__section__psi_8cc_source.html @@ -228,7 +228,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/de2/structshaka_1_1media_1_1H264SEIRecoveryPoint.html b/docs/df/de2/structshaka_1_1media_1_1H264SEIRecoveryPoint.html index 8cff1a2f14..8c7b662615 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 9049fa8b10..461616b930 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 444d108be6..3365475ab9 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 229eb61913..97a102945d 100644 --- a/docs/df/df1/structshaka_1_1ContentProtectionElement-members.html +++ b/docs/df/df1/structshaka_1_1ContentProtectionElement-members.html @@ -102,7 +102,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dir_0494b8c96e3190a776d2b97ade9c8ddf.html b/docs/dir_0494b8c96e3190a776d2b97ade9c8ddf.html index 3954967458..844d60f38a 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 e97b8ed90b..5ca2e9b628 100644 --- a/docs/dir_2618cd273dea54f184e42d7a562af818.html +++ b/docs/dir_2618cd273dea54f184e42d7a562af818.html @@ -140,7 +140,7 @@ Files diff --git a/docs/dir_279fd47bebb21302c25cfb685e84c359.html b/docs/dir_279fd47bebb21302c25cfb685e84c359.html index 879347a8c2..063546652d 100644 --- a/docs/dir_279fd47bebb21302c25cfb685e84c359.html +++ b/docs/dir_279fd47bebb21302c25cfb685e84c359.html @@ -119,7 +119,7 @@ Files diff --git a/docs/dir_2eceb70145328c029a5f43350007537a.html b/docs/dir_2eceb70145328c029a5f43350007537a.html index 3e8a651501..c7d666c655 100644 --- a/docs/dir_2eceb70145328c029a5f43350007537a.html +++ b/docs/dir_2eceb70145328c029a5f43350007537a.html @@ -93,7 +93,7 @@ Files diff --git a/docs/dir_39dc0668bd5a501998f94e8b4e546c71.html b/docs/dir_39dc0668bd5a501998f94e8b4e546c71.html index 0a10e82cd1..2219a31ae2 100644 --- a/docs/dir_39dc0668bd5a501998f94e8b4e546c71.html +++ b/docs/dir_39dc0668bd5a501998f94e8b4e546c71.html @@ -99,7 +99,7 @@ Directories diff --git a/docs/dir_3e9291fd7a18fdecc763294cb2628910.html b/docs/dir_3e9291fd7a18fdecc763294cb2628910.html index f047e46c2e..40a889338c 100644 --- a/docs/dir_3e9291fd7a18fdecc763294cb2628910.html +++ b/docs/dir_3e9291fd7a18fdecc763294cb2628910.html @@ -157,7 +157,7 @@ Files diff --git a/docs/dir_49627ef5ef0630f6cf11dd06344c4cf0.html b/docs/dir_49627ef5ef0630f6cf11dd06344c4cf0.html index fbbeaad79f..b3bc4aa626 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 f93d874f6a..967adc5ab3 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 b11b13489f..13c4fae523 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 f173a64504..5b99db858c 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 fe39a03a24..fec13d18ef 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 00b9f3eecd..1e665c96a8 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 c5e2b42636..ad91be8812 100644 --- a/docs/dir_aa73376d632f252584a1c0dfbefab2c4.html +++ b/docs/dir_aa73376d632f252584a1c0dfbefab2c4.html @@ -117,7 +117,7 @@ Files diff --git a/docs/dir_c6ada2450b25ab5438a4dba6c9b890af.html b/docs/dir_c6ada2450b25ab5438a4dba6c9b890af.html index 057512e2cd..aee738eb21 100644 --- a/docs/dir_c6ada2450b25ab5438a4dba6c9b890af.html +++ b/docs/dir_c6ada2450b25ab5438a4dba6c9b890af.html @@ -245,7 +245,7 @@ Files diff --git a/docs/dir_d422163b96683743ed3963d4aac17747.html b/docs/dir_d422163b96683743ed3963d4aac17747.html index b9860e7632..6abe6c77ae 100644 --- a/docs/dir_d422163b96683743ed3963d4aac17747.html +++ b/docs/dir_d422163b96683743ed3963d4aac17747.html @@ -135,7 +135,7 @@ Files diff --git a/docs/dir_eeaeb49ac3913fcfb450d3ce9cc0141b.html b/docs/dir_eeaeb49ac3913fcfb450d3ce9cc0141b.html index 9d781c6154..4f6c7cd1e1 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 bd52a8a881..ef6c3006f1 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 84c2c764a8..f9a394d689 100644 --- a/docs/files.html +++ b/docs/files.html @@ -430,7 +430,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions.html b/docs/functions.html index 1fb391c10d..f3cfef38e4 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -157,7 +157,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::Representation
                • AddPesPacket() -: shaka::media::mp2t::TsWriter +: shaka::media::mp2t::TsWriter
                • AddRepresentation() : shaka::AdaptationSet @@ -216,7 +216,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::media::AesEncryptor
                • AesPatternCryptor() -: shaka::media::AesPatternCryptor +: shaka::media::AesPatternCryptor
                • AppendInt() : shaka::media::BufferWriter @@ -240,7 +240,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_b.html b/docs/functions_b.html index 3ae001cde5..d53efdc055 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 933fb3e20c..aeae2579ac 100644 --- a/docs/functions_c.html +++ b/docs/functions_c.html @@ -201,7 +201,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , shaka::media::RsaPublicKey
                • CreateAndInitializeSegmenter() -: shaka::media::SegmentTestBase +: shaka::media::SegmentTestBase
                • CreateBox() : shaka::media::ProtectionSystemSpecificInfo @@ -216,7 +216,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::media::MediaSample
                • CreateFromHexStrings() -: shaka::media::FixedKeySource +: shaka::media::FixedKeySource
                • CreateMuxerOptions() : shaka::media::SegmentTestBase @@ -241,7 +241,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_d.html b/docs/functions_d.html index bd9dbf2c91..cd29c00702 100644 --- a/docs/functions_d.html +++ b/docs/functions_d.html @@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_e.html b/docs/functions_e.html index 33b3cb2fe5..9ec925fd95 100644 --- a/docs/functions_e.html +++ b/docs/functions_e.html @@ -140,13 +140,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::media::webm::Encryptor
                • EncryptingFragmenter() -: shaka::media::mp4::EncryptingFragmenter +: shaka::media::mp4::EncryptingFragmenter
                diff --git a/docs/functions_enum.html b/docs/functions_enum.html index 94dad96cac..75af0ed06d 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 40b8dda70f..003d7d8b7b 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 ae6331194b..05618b2980 100644 --- a/docs/functions_f.html +++ b/docs/functions_f.html @@ -193,7 +193,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func.html b/docs/functions_func.html index bb58531fde..bfdd5b07c2 100644 --- a/docs/functions_func.html +++ b/docs/functions_func.html @@ -157,7 +157,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::Representation
              • AddPesPacket() -: shaka::media::mp2t::TsWriter +: shaka::media::mp2t::TsWriter
              • AddRepresentation() : shaka::AdaptationSet @@ -216,7 +216,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::media::AesEncryptor
              • AesPatternCryptor() -: shaka::media::AesPatternCryptor +: shaka::media::AesPatternCryptor
              • AppendInt() : shaka::media::BufferWriter @@ -240,7 +240,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_b.html b/docs/functions_func_b.html index 21e816cc46..cf611528cc 100644 --- a/docs/functions_func_b.html +++ b/docs/functions_func_b.html @@ -237,7 +237,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_c.html b/docs/functions_func_c.html index 470d398e4a..04031c67fa 100644 --- a/docs/functions_func_c.html +++ b/docs/functions_func_c.html @@ -201,7 +201,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , shaka::media::RsaPublicKey
              • CreateAndInitializeSegmenter() -: shaka::media::SegmentTestBase +: shaka::media::SegmentTestBase
              • CreateBox() : shaka::media::ProtectionSystemSpecificInfo @@ -216,7 +216,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::media::MediaSample
              • CreateFromHexStrings() -: shaka::media::FixedKeySource +: shaka::media::FixedKeySource
              • CreateMuxerOptions() : shaka::media::SegmentTestBase @@ -241,7 +241,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_d.html b/docs/functions_func_d.html index 5c1c0bd425..2db5648051 100644 --- a/docs/functions_func_d.html +++ b/docs/functions_func_d.html @@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_e.html b/docs/functions_func_e.html index 0211eb6ef8..f2843b0ac5 100644 --- a/docs/functions_func_e.html +++ b/docs/functions_func_e.html @@ -140,13 +140,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::media::webm::Encryptor
              • EncryptingFragmenter() -: shaka::media::mp4::EncryptingFragmenter +: shaka::media::mp4::EncryptingFragmenter
              diff --git a/docs/functions_func_f.html b/docs/functions_func_f.html index bb6f20a7ca..ae04904b3c 100644 --- a/docs/functions_func_f.html +++ b/docs/functions_func_f.html @@ -187,7 +187,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_g.html b/docs/functions_func_g.html index 71fc72c49a..66d8b8eaaf 100644 --- a/docs/functions_func_g.html +++ b/docs/functions_func_g.html @@ -169,7 +169,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , shaka::media::H26xByteToUnitStreamConverter
            • GetDecryptConfig() -: shaka::media::mp4::TrackRunIterator +: shaka::media::mp4::TrackRunIterator
            • GetDuration() : shaka::media::mp4::Segmenter @@ -215,7 +215,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::media::mp2t::ContinuityCounter
            • GetNextPesPacket() -: shaka::media::mp2t::PesPacketGenerator +: shaka::media::mp2t::PesPacketGenerator
            • GetNumChannels() : shaka::media::AACAudioSpecificConfig @@ -259,7 +259,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_h.html b/docs/functions_func_h.html index 6195b10aab..7a81f5f0d4 100644 --- a/docs/functions_func_h.html +++ b/docs/functions_func_h.html @@ -154,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_i.html b/docs/functions_func_i.html index e048da22f4..c251749693 100644 --- a/docs/functions_func_i.html +++ b/docs/functions_func_i.html @@ -152,7 +152,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , shaka::media::NalUnitToByteStreamConverter , shaka::media::VideoSliceHeaderParser , shaka::media::webm::Encryptor -, shaka::media::webm::Segmenter +, shaka::media::webm::Segmenter
            • InitializeFragment() : shaka::media::mp4::EncryptingFragmenter @@ -165,13 +165,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , shaka::media::AesPatternCryptor
            • InjectClockForTesting() -: shaka::MpdBuilder +: shaka::MpdBuilder
            • InjectPesPacketGeneratorForTesting() -: shaka::media::mp2t::TsSegmenter +: shaka::media::mp2t::TsSegmenter
            • InjectTsWriterForTesting() -: shaka::media::mp2t::TsSegmenter +: shaka::media::mp2t::TsSegmenter
            • IsAAC() : shaka::media::ESDescriptor @@ -210,7 +210,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_k.html b/docs/functions_func_k.html index b22b554631..9388c89db0 100644 --- a/docs/functions_func_k.html +++ b/docs/functions_func_k.html @@ -129,7 +129,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_l.html b/docs/functions_func_l.html index 00242bf64a..0aa5b8c480 100644 --- a/docs/functions_func_l.html +++ b/docs/functions_func_l.html @@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_m.html b/docs/functions_func_m.html index 3d38817252..367b3a2aec 100644 --- a/docs/functions_func_m.html +++ b/docs/functions_func_m.html @@ -147,7 +147,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_n.html b/docs/functions_func_n.html index 84c6d10246..a08c558153 100644 --- a/docs/functions_func_n.html +++ b/docs/functions_func_n.html @@ -172,7 +172,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_o.html b/docs/functions_func_o.html index f9adab1b25..a17452bc33 100644 --- a/docs/functions_func_o.html +++ b/docs/functions_func_o.html @@ -193,7 +193,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_p.html b/docs/functions_func_p.html index 6112849d0c..527109c74c 100644 --- a/docs/functions_func_p.html +++ b/docs/functions_func_p.html @@ -228,7 +228,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_r.html b/docs/functions_func_r.html index 67098c40d3..186af7d9a3 100644 --- a/docs/functions_func_r.html +++ b/docs/functions_func_r.html @@ -183,7 +183,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::media::IoCache
            • Representation() -: shaka::Representation +: shaka::Representation
            • Reset() : shaka::media::ByteQueue @@ -201,7 +201,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_s.html b/docs/functions_func_s.html index fa1e3cb822..4e227689fe 100644 --- a/docs/functions_func_s.html +++ b/docs/functions_func_s.html @@ -160,7 +160,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::media::mp2t::PesPacket
            • set_key_fetcher() -: shaka::media::WidevineKeySource +: shaka::media::WidevineKeySource
            • set_nalu_length_size() : shaka::media::DecoderConfigurationRecord @@ -169,7 +169,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::media::mp2t::PesPacket
            • set_signer() -: shaka::media::WidevineKeySource +: shaka::media::WidevineKeySource
            • set_stream_id() : shaka::media::mp2t::PesPacket @@ -187,7 +187,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::xml::XmlNode
            • SetEncryptionKey() -: shaka::media::mp2t::PesPacketGenerator +: shaka::media::mp2t::PesPacketGenerator
            • SetError() : shaka::media::Status @@ -208,17 +208,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::media::AesCryptor
            • SetKeySource() -: shaka::media::Demuxer +: shaka::media::Demuxer , shaka::media::Muxer
            • SetMuxerListener() -: shaka::media::Muxer +: shaka::media::Muxer
            • SetProgramMapTableWriterForTesting() -: shaka::media::mp2t::TsWriter +: shaka::media::mp2t::TsWriter
            • SetProgressListener() -: shaka::media::Muxer +: shaka::media::Muxer
            • SetSampleDuration() : shaka::Representation @@ -285,7 +285,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_t.html b/docs/functions_func_t.html index 80da99cd83..c8750f9219 100644 --- a/docs/functions_func_t.html +++ b/docs/functions_func_t.html @@ -179,7 +179,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_u.html b/docs/functions_func_u.html index 4a552ba4d6..f1eeb8753d 100644 --- a/docs/functions_func_u.html +++ b/docs/functions_func_u.html @@ -146,7 +146,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_v.html b/docs/functions_func_v.html index 192283f436..3dbae73450 100644 --- a/docs/functions_func_v.html +++ b/docs/functions_func_v.html @@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_w.html b/docs/functions_func_w.html index 06083df1a7..362a57fe72 100644 --- a/docs/functions_func_w.html +++ b/docs/functions_func_w.html @@ -182,7 +182,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_x.html b/docs/functions_func_x.html index 2bca485965..fac43918f7 100644 --- a/docs/functions_func_x.html +++ b/docs/functions_func_x.html @@ -129,7 +129,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_~.html b/docs/functions_func_~.html index ffab3b8b56..3c94b3950c 100644 --- a/docs/functions_func_~.html +++ b/docs/functions_func_~.html @@ -132,7 +132,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_g.html b/docs/functions_g.html index 56e1b9d572..66d6766ad6 100644 --- a/docs/functions_g.html +++ b/docs/functions_g.html @@ -169,7 +169,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , shaka::media::H26xByteToUnitStreamConverter
            • GetDecryptConfig() -: shaka::media::mp4::TrackRunIterator +: shaka::media::mp4::TrackRunIterator
            • GetDuration() : shaka::media::mp4::Segmenter @@ -215,7 +215,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::media::mp2t::ContinuityCounter
            • GetNextPesPacket() -: shaka::media::mp2t::PesPacketGenerator +: shaka::media::mp2t::PesPacketGenerator
            • GetNumChannels() : shaka::media::AACAudioSpecificConfig @@ -259,7 +259,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_h.html b/docs/functions_h.html index ab7a708982..5669743a16 100644 --- a/docs/functions_h.html +++ b/docs/functions_h.html @@ -154,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_i.html b/docs/functions_i.html index 9818ebe692..35acfcc1c8 100644 --- a/docs/functions_i.html +++ b/docs/functions_i.html @@ -155,7 +155,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , shaka::media::NalUnitToByteStreamConverter , shaka::media::VideoSliceHeaderParser , shaka::media::webm::Encryptor -, shaka::media::webm::Segmenter +, shaka::media::webm::Segmenter
            • InitializeFragment() : shaka::media::mp4::EncryptingFragmenter @@ -168,13 +168,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , shaka::media::AesPatternCryptor
            • InjectClockForTesting() -: shaka::MpdBuilder +: shaka::MpdBuilder
            • InjectPesPacketGeneratorForTesting() -: shaka::media::mp2t::TsSegmenter +: shaka::media::mp2t::TsSegmenter
            • InjectTsWriterForTesting() -: shaka::media::mp2t::TsSegmenter +: shaka::media::mp2t::TsSegmenter
            • IsAAC() : shaka::media::ESDescriptor @@ -213,7 +213,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_k.html b/docs/functions_k.html index 00281db104..cf31ec7182 100644 --- a/docs/functions_k.html +++ b/docs/functions_k.html @@ -150,7 +150,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_l.html b/docs/functions_l.html index 6c8d0945d8..071f6da683 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 385c8c2894..5b3607e7f6 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 2bf6784658..2b992bb620 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 c4231dfd01..5df0170625 100644 --- a/docs/functions_o.html +++ b/docs/functions_o.html @@ -196,7 +196,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_p.html b/docs/functions_p.html index 8bc7f3f6ba..9778b39703 100644 --- a/docs/functions_p.html +++ b/docs/functions_p.html @@ -234,7 +234,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_r.html b/docs/functions_r.html index 8ce25c34f7..a462c86a70 100644 --- a/docs/functions_r.html +++ b/docs/functions_r.html @@ -183,7 +183,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::media::IoCache
            • Representation() -: shaka::Representation +: shaka::Representation
            • Reset() : shaka::media::ByteQueue @@ -201,7 +201,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_s.html b/docs/functions_s.html index 8f91aeb623..c31d37a929 100644 --- a/docs/functions_s.html +++ b/docs/functions_s.html @@ -172,7 +172,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::media::mp2t::PesPacket
            • set_key_fetcher() -: shaka::media::WidevineKeySource +: shaka::media::WidevineKeySource
            • set_nalu_length_size() : shaka::media::DecoderConfigurationRecord @@ -181,7 +181,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::media::mp2t::PesPacket
            • set_signer() -: shaka::media::WidevineKeySource +: shaka::media::WidevineKeySource
            • set_stream_id() : shaka::media::mp2t::PesPacket @@ -199,7 +199,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::xml::XmlNode
            • SetEncryptionKey() -: shaka::media::mp2t::PesPacketGenerator +: shaka::media::mp2t::PesPacketGenerator
            • SetError() : shaka::media::Status @@ -220,17 +220,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); : shaka::media::AesCryptor
            • SetKeySource() -: shaka::media::Demuxer +: shaka::media::Demuxer , shaka::media::Muxer
            • SetMuxerListener() -: shaka::media::Muxer +: shaka::media::Muxer
            • SetProgramMapTableWriterForTesting() -: shaka::media::mp2t::TsWriter +: shaka::media::mp2t::TsWriter
            • SetProgressListener() -: shaka::media::Muxer +: shaka::media::Muxer
            • SetSampleDuration() : shaka::Representation @@ -300,7 +300,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_t.html b/docs/functions_t.html index 3649864d1b..9e6f9087de 100644 --- a/docs/functions_t.html +++ b/docs/functions_t.html @@ -182,7 +182,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_type.html b/docs/functions_type.html index 9288f94621..9207d3b187 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 a0c1a97f40..391a19a410 100644 --- a/docs/functions_u.html +++ b/docs/functions_u.html @@ -146,7 +146,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_v.html b/docs/functions_v.html index df68ae250a..7920c3b356 100644 --- a/docs/functions_v.html +++ b/docs/functions_v.html @@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_vars.html b/docs/functions_vars.html index 0836945dd2..dccd416be3 100644 --- a/docs/functions_vars.html +++ b/docs/functions_vars.html @@ -145,7 +145,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_w.html b/docs/functions_w.html index 262f209384..e57a514d3f 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 2547e4d8ad..19d80fdc31 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 1df7f0437e..00f38c803e 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 8c58889105..1761ade00b 100644 --- a/docs/hierarchy.html +++ b/docs/hierarchy.html @@ -368,7 +368,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/index.html b/docs/index.html index 3d77d98f18..4fae1a1443 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 eff2650383..e3663702b4 100644 --- a/docs/namespacemembers.html +++ b/docs/namespacemembers.html @@ -124,7 +124,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/namespacemembers_func.html b/docs/namespacemembers_func.html index b6e3a5e22a..a92e25fe20 100644 --- a/docs/namespacemembers_func.html +++ b/docs/namespacemembers_func.html @@ -124,7 +124,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/namespaces.html b/docs/namespaces.html index 1dde94701f..908d21d4fb 100644 --- a/docs/namespaces.html +++ b/docs/namespaces.html @@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/search/all_0.js b/docs/search/all_0.js index 5e5990c7a3..fcbe6dfd1e 100644 --- a/docs/search/all_0.js +++ b/docs/search/all_0.js @@ -16,7 +16,7 @@ var searchData= ['addliveonlyinfo',['AddLiveOnlyInfo',['../df/d9e/classshaka_1_1xml_1_1RepresentationXmlNode.html#ae9ff190e1a653a348b00b5edd9d6cc60',1,'shaka::xml::RepresentationXmlNode']]], ['addnalu',['AddNalu',['../de/de0/classshaka_1_1media_1_1DecoderConfigurationRecord.html#a6b2234ce5bdffaaaad217414df314598',1,'shaka::media::DecoderConfigurationRecord']]], ['addnewsegment',['AddNewSegment',['../de/d52/classshaka_1_1Representation.html#a6ca8bbfd34ef8ca782d2ef18aeaad932',1,'shaka::Representation']]], - ['addpespacket',['AddPesPacket',['../de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html#a8b2b5caa68f34a332a377524a5f23e61',1,'shaka::media::mp2t::TsWriter']]], + ['addpespacket',['AddPesPacket',['../de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html#a19a7699df7ac129aedfdff074a8a18a3',1,'shaka::media::mp2t::TsWriter']]], ['addrepresentation',['AddRepresentation',['../d8/d8e/classshaka_1_1AdaptationSet.html#a124e3c1ba5e3209f3214a556ecae28c3',1,'shaka::AdaptationSet']]], ['addrole',['AddRole',['../d8/d8e/classshaka_1_1AdaptationSet.html#ae96ad89ec7cc7d5ef1db467a9cf13730',1,'shaka::AdaptationSet']]], ['addroleelement',['AddRoleElement',['../d1/de7/classshaka_1_1xml_1_1AdaptationSetXmlNode.html#a2718eede55bb89447a74ff802b95fdb1',1,'shaka::xml::AdaptationSetXmlNode']]], @@ -39,7 +39,7 @@ var searchData= ['aesctrencryptor',['AesCtrEncryptor',['../d0/dd8/classshaka_1_1media_1_1AesCtrEncryptor.html',1,'shaka::media']]], ['aesencryptor',['AesEncryptor',['../d3/d75/classshaka_1_1media_1_1AesEncryptor.html#a873b0794baca91b36dbc484fc9c37e58',1,'shaka::media::AesEncryptor']]], ['aesencryptor',['AesEncryptor',['../d3/d75/classshaka_1_1media_1_1AesEncryptor.html',1,'shaka::media']]], - ['aespatterncryptor',['AesPatternCryptor',['../d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html#ad76aebd0a9f7cc78f6f841cbce359107',1,'shaka::media::AesPatternCryptor']]], + ['aespatterncryptor',['AesPatternCryptor',['../d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html#abb94f2d6a527b12854e81839fd10e1d5',1,'shaka::media::AesPatternCryptor']]], ['aespatterncryptor',['AesPatternCryptor',['../d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html',1,'shaka::media']]], ['aesrequestsigner',['AesRequestSigner',['../d9/d8c/classshaka_1_1media_1_1AesRequestSigner.html',1,'shaka::media']]], ['appendint',['AppendInt',['../dc/d41/classshaka_1_1media_1_1BufferWriter.html#abd8854feedd8b45146eb04dacf7d5b2f',1,'shaka::media::BufferWriter']]], diff --git a/docs/search/all_10.js b/docs/search/all_10.js index 6c77573f68..7dda612aaf 100644 --- a/docs/search/all_10.js +++ b/docs/search/all_10.js @@ -36,26 +36,26 @@ var searchData= ['segmenttype',['SegmentType',['../d3/dd0/structshaka_1_1media_1_1mp4_1_1SegmentType.html',1,'shaka::media::mp4']]], ['set_5fclock',['set_clock',['../df/d46/classshaka_1_1media_1_1Muxer.html#a3cc7feaee9a2c3a7d0569cb9c67c8c68',1,'shaka::media::Muxer']]], ['set_5fdts',['set_dts',['../d2/d93/classshaka_1_1media_1_1mp2t_1_1PesPacket.html#a9917d625989f0eaac93fec12fec8dca0',1,'shaka::media::mp2t::PesPacket']]], - ['set_5fkey_5ffetcher',['set_key_fetcher',['../da/ddd/classshaka_1_1media_1_1WidevineKeySource.html#afc5154b2994b5fe1f8f0c494bbd2bcdd',1,'shaka::media::WidevineKeySource']]], + ['set_5fkey_5ffetcher',['set_key_fetcher',['../da/ddd/classshaka_1_1media_1_1WidevineKeySource.html#a97c0565df9381e178ebb50c193cebd04',1,'shaka::media::WidevineKeySource']]], ['set_5fnalu_5flength_5fsize',['set_nalu_length_size',['../de/de0/classshaka_1_1media_1_1DecoderConfigurationRecord.html#ab0c889c2382b6f41ad1993c136b03d07',1,'shaka::media::DecoderConfigurationRecord']]], ['set_5fpts',['set_pts',['../d2/d93/classshaka_1_1media_1_1mp2t_1_1PesPacket.html#a02ffa1c0ad370f047e6f09b6bbc8b3b8',1,'shaka::media::mp2t::PesPacket']]], - ['set_5fsigner',['set_signer',['../da/ddd/classshaka_1_1media_1_1WidevineKeySource.html#abdff0d3cc5f59b744c68b11b0c1f6272',1,'shaka::media::WidevineKeySource']]], + ['set_5fsigner',['set_signer',['../da/ddd/classshaka_1_1media_1_1WidevineKeySource.html#a48d182da15ecc85e2ae7fd164ba0a526',1,'shaka::media::WidevineKeySource']]], ['set_5fstream_5fid',['set_stream_id',['../d2/d93/classshaka_1_1media_1_1mp2t_1_1PesPacket.html#ad4be259c146b57f61f41638970839fc4',1,'shaka::media::mp2t::PesPacket']]], ['set_5fuse_5fdecoding_5ftimestamp_5fin_5ftimeline',['set_use_decoding_timestamp_in_timeline',['../db/d95/classshaka_1_1media_1_1mp4_1_1Fragmenter.html#a6f9d467d7188160ee445b74b6f0905f4',1,'shaka::media::mp4::Fragmenter']]], ['setcluster',['SetCluster',['../dd/dc5/classshaka_1_1media_1_1webm_1_1Segmenter.html#a6060ddc97c58e4435d1db932de17e131',1,'shaka::media::webm::Segmenter']]], ['setcomplete',['SetComplete',['../d9/d26/classshaka_1_1media_1_1mp4_1_1Segmenter.html#adea4bf88a29660bd8612ae3bc5048068',1,'shaka::media::mp4::Segmenter']]], ['setcontent',['SetContent',['../d1/d31/classshaka_1_1xml_1_1XmlNode.html#a73d758186470e7dbcb4f4339eb53458c',1,'shaka::xml::XmlNode']]], - ['setencryptionkey',['SetEncryptionKey',['../d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html#a346abd50baa9a1e6e42a49ba60f5f916',1,'shaka::media::mp2t::PesPacketGenerator']]], + ['setencryptionkey',['SetEncryptionKey',['../d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html#acc603c661a6e0c592091b8bde5a77e3a',1,'shaka::media::mp2t::PesPacketGenerator']]], ['seterror',['SetError',['../d0/d93/classshaka_1_1media_1_1Status.html#a26903fbb0ee18f6b8d7cd441e922b644',1,'shaka::media::Status']]], ['setfloatingpointattribute',['SetFloatingPointAttribute',['../d1/d31/classshaka_1_1xml_1_1XmlNode.html#ac4b6c261b14ffe83e9820b76b16af1ba',1,'shaka::xml::XmlNode']]], ['setgroup',['SetGroup',['../d8/d8e/classshaka_1_1AdaptationSet.html#ae1f56e719f289e61c27ec51457d697af',1,'shaka::AdaptationSet']]], ['setid',['SetId',['../d1/d31/classshaka_1_1xml_1_1XmlNode.html#a7479055041708fb681957a838e7ecc1f',1,'shaka::xml::XmlNode']]], ['setintegerattribute',['SetIntegerAttribute',['../d1/d31/classshaka_1_1xml_1_1XmlNode.html#ab15dbcc1a051218dc16f44584276ad20',1,'shaka::xml::XmlNode']]], ['setiv',['SetIv',['../df/d87/classshaka_1_1media_1_1AesCryptor.html#a4875146da4761bb757d6b00132ae6fea',1,'shaka::media::AesCryptor']]], - ['setkeysource',['SetKeySource',['../dd/d17/classshaka_1_1media_1_1Demuxer.html#acad9afa8ef3b5682324a4ded402ab93a',1,'shaka::media::Demuxer::SetKeySource()'],['../df/d46/classshaka_1_1media_1_1Muxer.html#a021fdae2adc98716b1c8ee7617ab917b',1,'shaka::media::Muxer::SetKeySource()']]], - ['setmuxerlistener',['SetMuxerListener',['../df/d46/classshaka_1_1media_1_1Muxer.html#a786fbb91d7ece58c68334f5cef16ae71',1,'shaka::media::Muxer']]], - ['setprogrammaptablewriterfortesting',['SetProgramMapTableWriterForTesting',['../de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html#a0bead9b328bf6c7c9d5bc6997fea2971',1,'shaka::media::mp2t::TsWriter']]], - ['setprogresslistener',['SetProgressListener',['../df/d46/classshaka_1_1media_1_1Muxer.html#a0a2dfb3924ce1307f98c339e6587369c',1,'shaka::media::Muxer']]], + ['setkeysource',['SetKeySource',['../dd/d17/classshaka_1_1media_1_1Demuxer.html#abfcf3a9a3f64c0e27497c72324049a1e',1,'shaka::media::Demuxer::SetKeySource()'],['../df/d46/classshaka_1_1media_1_1Muxer.html#a021fdae2adc98716b1c8ee7617ab917b',1,'shaka::media::Muxer::SetKeySource()']]], + ['setmuxerlistener',['SetMuxerListener',['../df/d46/classshaka_1_1media_1_1Muxer.html#a0e76dd0a5c07dd538221459365ae824a',1,'shaka::media::Muxer']]], + ['setprogrammaptablewriterfortesting',['SetProgramMapTableWriterForTesting',['../de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html#a6eeeadf8e60dc09378b5df7c62eb2bf0',1,'shaka::media::mp2t::TsWriter']]], + ['setprogresslistener',['SetProgressListener',['../df/d46/classshaka_1_1media_1_1Muxer.html#a25a146d553c385aad70dbff6b3e87eec',1,'shaka::media::Muxer']]], ['setsampleduration',['SetSampleDuration',['../de/d52/classshaka_1_1Representation.html#a11b32833166b9c4bea78cca2c6069d98',1,'shaka::Representation']]], ['setstringattribute',['SetStringAttribute',['../d1/d31/classshaka_1_1xml_1_1XmlNode.html#afc83f9dbaedc8ba0fc9cc1153ac23329',1,'shaka::xml::XmlNode']]], ['settswriterfileopenedfortesting',['SetTsWriterFileOpenedForTesting',['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html#a34ab9fbaee43115d68be87e4b9e90918',1,'shaka::media::mp2t::TsSegmenter']]], diff --git a/docs/search/all_2.js b/docs/search/all_2.js index f2d4826b0b..98c4c094eb 100644 --- a/docs/search/all_2.js +++ b/docs/search/all_2.js @@ -39,12 +39,12 @@ var searchData= ['copyfile',['CopyFile',['../d3/d61/classshaka_1_1media_1_1File.html#a1c218b7f815bae0f48800b385ddce67e',1,'shaka::media::File::CopyFile(File *source, File *destination)'],['../d3/d61/classshaka_1_1media_1_1File.html#a9f5ebcd3bdebb7fb02a7a7adf378b344',1,'shaka::media::File::CopyFile(File *source, File *destination, int64_t max_copy)']]], ['copyfrom',['CopyFrom',['../d7/d6d/classshaka_1_1media_1_1MediaSample.html#a3fac8e4cc8da3b34ef5f698411ec868b',1,'shaka::media::MediaSample::CopyFrom(const uint8_t *data, size_t size, bool is_key_frame)'],['../d7/d6d/classshaka_1_1media_1_1MediaSample.html#a99f83b1803101853aa03bda8f1251e8c',1,'shaka::media::MediaSample::CopyFrom(const uint8_t *data, size_t size, const uint8_t *side_data, size_t side_data_size, bool is_key_frame)']]], ['create',['Create',['../d0/dce/classshaka_1_1media_1_1RsaPrivateKey.html#aef45d0014d7971b936ce3d0109935ba8',1,'shaka::media::RsaPrivateKey::Create()'],['../d9/d0c/classshaka_1_1media_1_1RsaPublicKey.html#aabe4a2f1541ca1e741305f58329e3881',1,'shaka::media::RsaPublicKey::Create()']]], - ['createandinitializesegmenter',['CreateAndInitializeSegmenter',['../d2/dba/classshaka_1_1media_1_1SegmentTestBase.html#adbb73df6171a6caa80cf34c7d63c650d',1,'shaka::media::SegmentTestBase']]], + ['createandinitializesegmenter',['CreateAndInitializeSegmenter',['../d2/dba/classshaka_1_1media_1_1SegmentTestBase.html#a742824b930ae928f12214a5e350adc64',1,'shaka::media::SegmentTestBase']]], ['createbox',['CreateBox',['../d0/dd4/classshaka_1_1media_1_1ProtectionSystemSpecificInfo.html#af9b917cb91b6c10ee7a6f5b41fc7e0d9',1,'shaka::media::ProtectionSystemSpecificInfo']]], ['createemptymediasample',['CreateEmptyMediaSample',['../d7/d6d/classshaka_1_1media_1_1MediaSample.html#a59e7bbd2ee8cfa1697093d14d16a6c4d',1,'shaka::media::MediaSample']]], ['createencryptor',['CreateEncryptor',['../dc/df3/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a4220479b2dd98b462ff4dd4afcf56d0e',1,'shaka::media::mp4::EncryptingFragmenter']]], ['createeosbuffer',['CreateEOSBuffer',['../d7/d6d/classshaka_1_1media_1_1MediaSample.html#a925efca004ebbcf3cf71f690a3e43788',1,'shaka::media::MediaSample']]], - ['createfromhexstrings',['CreateFromHexStrings',['../d0/dac/classshaka_1_1media_1_1FixedKeySource.html#a091b4ea22419b73f8532db862f985f99',1,'shaka::media::FixedKeySource']]], + ['createfromhexstrings',['CreateFromHexStrings',['../d0/dac/classshaka_1_1media_1_1FixedKeySource.html#a9a91ba439d785022a1e2ceeaa9ebe81a',1,'shaka::media::FixedKeySource']]], ['createmuxeroptions',['CreateMuxerOptions',['../d2/dba/classshaka_1_1media_1_1SegmentTestBase.html#a89d5ae5a78134e108a4fe4adb6f79e4e',1,'shaka::media::SegmentTestBase']]], ['createsample',['CreateSample',['../d2/dba/classshaka_1_1media_1_1SegmentTestBase.html#aa6d43e2cc9d3abe023c037c87807f2ed',1,'shaka::media::SegmentTestBase']]], ['createsigner',['CreateSigner',['../d9/d8c/classshaka_1_1media_1_1AesRequestSigner.html#a43f4cc9fad9901fa905805be81f7d58c',1,'shaka::media::AesRequestSigner::CreateSigner()'],['../d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html#af6af635a7c0a01bb638befb71b88386c',1,'shaka::media::RsaRequestSigner::CreateSigner()']]], diff --git a/docs/search/all_4.js b/docs/search/all_4.js index 992dc90dc6..cb70b52f7e 100644 --- a/docs/search/all_4.js +++ b/docs/search/all_4.js @@ -11,7 +11,7 @@ var searchData= ['encrypt',['Encrypt',['../d9/d0c/classshaka_1_1media_1_1RsaPublicKey.html#ab9dcf591f3235b8f4eaa02886f9845e3',1,'shaka::media::RsaPublicKey']]], ['encryptedsegmentpmt',['EncryptedSegmentPmt',['../dc/d03/classshaka_1_1media_1_1mp2t_1_1ProgramMapTableWriter.html#a7f40bf474758b80e57fede27c2610756',1,'shaka::media::mp2t::ProgramMapTableWriter::EncryptedSegmentPmt()'],['../de/d27/classshaka_1_1media_1_1mp2t_1_1H264ProgramMapTableWriter.html#a14d7933ee669e7c5daeb8d03f2f0b1d0',1,'shaka::media::mp2t::H264ProgramMapTableWriter::EncryptedSegmentPmt()'],['../d4/dc8/classshaka_1_1media_1_1mp2t_1_1AacProgramMapTableWriter.html#a37616e314cb20775644b9c5e3417f8e5',1,'shaka::media::mp2t::AacProgramMapTableWriter::EncryptedSegmentPmt()']]], ['encryptframe',['EncryptFrame',['../de/dfa/classshaka_1_1media_1_1webm_1_1Encryptor.html#a3bfe9e0d99652811cb785832529f3d3c',1,'shaka::media::webm::Encryptor']]], - ['encryptingfragmenter',['EncryptingFragmenter',['../dc/df3/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a5a331edd7e75f6cd15ccbe9c688440a4',1,'shaka::media::mp4::EncryptingFragmenter']]], + ['encryptingfragmenter',['EncryptingFragmenter',['../dc/df3/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a3c1c1037b7d9e6edf1f476434705c3d5',1,'shaka::media::mp4::EncryptingFragmenter']]], ['encryptingfragmenter',['EncryptingFragmenter',['../dc/df3/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter.html',1,'shaka::media::mp4']]], ['encryptionkey',['EncryptionKey',['../dd/dbd/structshaka_1_1media_1_1EncryptionKey.html',1,'shaka::media']]], ['encryptor',['Encryptor',['../de/dfa/classshaka_1_1media_1_1webm_1_1Encryptor.html',1,'shaka::media::webm']]], diff --git a/docs/search/all_6.js b/docs/search/all_6.js index 91432de582..b3009b495d 100644 --- a/docs/search/all_6.js +++ b/docs/search/all_6.js @@ -13,7 +13,7 @@ var searchData= ['getcontenttype',['GetContentType',['../d8/daf/namespaceshaka.html#a5ea880937da26d677ff6a48c0219d090',1,'shaka']]], ['getcryptoperiodkey',['GetCryptoPeriodKey',['../d0/dac/classshaka_1_1media_1_1FixedKeySource.html#afa9abf3a9104cbcb4711eac65c8a5bdf',1,'shaka::media::FixedKeySource::GetCryptoPeriodKey()'],['../d1/d1f/classshaka_1_1media_1_1KeySource.html#a18806b962c858e35ed07753687605b16',1,'shaka::media::KeySource::GetCryptoPeriodKey()'],['../da/ddd/classshaka_1_1media_1_1WidevineKeySource.html#ab56a71e9f9f9e545f96e667279c05bb1',1,'shaka::media::WidevineKeySource::GetCryptoPeriodKey()']]], ['getdecoderconfigurationrecord',['GetDecoderConfigurationRecord',['../d8/d08/classshaka_1_1media_1_1H264ByteToUnitStreamConverter.html#a6a7a73841ded1942364f88aad90dcbc9',1,'shaka::media::H264ByteToUnitStreamConverter::GetDecoderConfigurationRecord()'],['../db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html#a9a866e255a2b267f2b44d0156c479de9',1,'shaka::media::H265ByteToUnitStreamConverter::GetDecoderConfigurationRecord()'],['../de/dea/classshaka_1_1media_1_1H26xByteToUnitStreamConverter.html#a57f8a71d948f27303ba41dd5aafb5445',1,'shaka::media::H26xByteToUnitStreamConverter::GetDecoderConfigurationRecord()']]], - ['getdecryptconfig',['GetDecryptConfig',['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#a1badd6160074e1bc2ef0f1e289a81524',1,'shaka::media::mp4::TrackRunIterator']]], + ['getdecryptconfig',['GetDecryptConfig',['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#af1dbb0a9037617c2b80506ee161dfcfa',1,'shaka::media::mp4::TrackRunIterator']]], ['getduration',['GetDuration',['../d9/d26/classshaka_1_1media_1_1mp4_1_1Segmenter.html#a7283c64cb63a94264ff8fe405b8ce5c2',1,'shaka::media::mp4::Segmenter::GetDuration()'],['../dd/dc5/classshaka_1_1media_1_1webm_1_1Segmenter.html#a277aeb59ed41fc484a86101d565017ae',1,'shaka::media::webm::Segmenter::GetDuration()']]], ['getfilesize',['GetFileSize',['../d3/d61/classshaka_1_1media_1_1File.html#a6981994874ee5832e3394744fd51fd79',1,'shaka::media::File']]], ['getheadersize',['GetHeaderSize',['../dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html#a3346c5afaf83a18cfcf688c36049d586',1,'shaka::media::VideoSliceHeaderParser::GetHeaderSize()'],['../da/df0/classshaka_1_1media_1_1H264VideoSliceHeaderParser.html#a5957ea62985810662158c02a163aac60',1,'shaka::media::H264VideoSliceHeaderParser::GetHeaderSize()'],['../d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html#a54459b6748f64be2bd328c5af79798f3',1,'shaka::media::H265VideoSliceHeaderParser::GetHeaderSize()']]], @@ -24,7 +24,7 @@ var searchData= ['getkey',['GetKey',['../d0/dac/classshaka_1_1media_1_1FixedKeySource.html#a267d1f36d1c015fd5e8c20b93f270d0a',1,'shaka::media::FixedKeySource::GetKey(TrackType track_type, EncryptionKey *key) override'],['../d0/dac/classshaka_1_1media_1_1FixedKeySource.html#a58f9eae1ce9148a82f70118879b6c3f1',1,'shaka::media::FixedKeySource::GetKey(const std::vector< uint8_t > &key_id, EncryptionKey *key) override'],['../d1/d1f/classshaka_1_1media_1_1KeySource.html#a994eb66cf09d8b08fd1c964f6afd3ab3',1,'shaka::media::KeySource::GetKey(TrackType track_type, EncryptionKey *key)=0'],['../d1/d1f/classshaka_1_1media_1_1KeySource.html#ae33f2cdbd045572095acd7b8d6c1a789',1,'shaka::media::KeySource::GetKey(const std::vector< uint8_t > &key_id, EncryptionKey *key)=0'],['../da/ddd/classshaka_1_1media_1_1WidevineKeySource.html#a59a16d61c6a6d05745e8b49fd3618deb',1,'shaka::media::WidevineKeySource::GetKey(TrackType track_type, EncryptionKey *key) override'],['../da/ddd/classshaka_1_1media_1_1WidevineKeySource.html#a59699cd998290adae74e6596ba44fdc3',1,'shaka::media::WidevineKeySource::GetKey(const std::vector< uint8_t > &key_id, EncryptionKey *key) override']]], ['getmaxclearoffset',['GetMaxClearOffset',['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#ae7a223474c46dd542e7390030893cca4',1,'shaka::media::mp4::TrackRunIterator']]], ['getnext',['GetNext',['../d8/dd6/classshaka_1_1media_1_1mp2t_1_1ContinuityCounter.html#a63950483c11df9c44e3cb8d559f629d9',1,'shaka::media::mp2t::ContinuityCounter']]], - ['getnextpespacket',['GetNextPesPacket',['../d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html#a9834c58c732715a51c57a2a6385a761b',1,'shaka::media::mp2t::PesPacketGenerator']]], + ['getnextpespacket',['GetNextPesPacket',['../d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html#acf11010f62ab9d2b46308f2cce8b3650',1,'shaka::media::mp2t::PesPacketGenerator']]], ['getnumchannels',['GetNumChannels',['../d0/da2/classshaka_1_1media_1_1AACAudioSpecificConfig.html#a2bacb4e7337248bca9e678268e3db491',1,'shaka::media::AACAudioSpecificConfig::GetNumChannels()'],['../d3/d0c/classshaka_1_1media_1_1mp2t_1_1AdtsHeader.html#aaa01e3eb1ce9d4400aedd202b04f7160',1,'shaka::media::mp2t::AdtsHeader::GetNumChannels()']]], ['getobjecttype',['GetObjectType',['../d3/d0c/classshaka_1_1media_1_1mp2t_1_1AdtsHeader.html#a156a3288ab974557e95dfaba72e6b479',1,'shaka::media::mp2t::AdtsHeader']]], ['getoutputsamplespersecond',['GetOutputSamplesPerSecond',['../d0/da2/classshaka_1_1media_1_1AACAudioSpecificConfig.html#a1e34ba8152e2c09452edcdd7e5eb1bcd',1,'shaka::media::AACAudioSpecificConfig']]], diff --git a/docs/search/all_8.js b/docs/search/all_8.js index 530e092925..0dc60ec063 100644 --- a/docs/search/all_8.js +++ b/docs/search/all_8.js @@ -5,12 +5,12 @@ var searchData= ['ignorebytes',['IgnoreBytes',['../d1/da1/classshaka_1_1media_1_1mp4_1_1BoxBuffer.html#a1a0c70e3124677ae08164f7b89f6a1d4',1,'shaka::media::mp4::BoxBuffer']]], ['init',['Init',['../d3/d0a/classshaka_1_1media_1_1MediaParser.html#adc7c91bebe75879abba91a56dae52153',1,'shaka::media::MediaParser::Init()'],['../d3/dc1/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser.html#aa2aff12312827aacf2b7db6e2f792c52',1,'shaka::media::mp2t::Mp2tMediaParser::Init()'],['../d7/dd5/classshaka_1_1media_1_1mp4_1_1MP4MediaParser.html#acc87b9752a7f6e8c739109acbc02b69d',1,'shaka::media::mp4::MP4MediaParser::Init()'],['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#ae9f02c32b4e2be8fc41a20f3f00f3494',1,'shaka::media::mp4::TrackRunIterator::Init()'],['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#a4d39eaf8568da29b597411c56f50d86f',1,'shaka::media::mp4::TrackRunIterator::Init(const MovieFragment &moof)'],['../d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html#a5cd5c298938e2c58c45f962b21e43b2e',1,'shaka::media::WebMMediaParser::Init()'],['../dc/df2/classshaka_1_1media_1_1WebVttMediaParser.html#af6c0fb7de806cccd0e1f9dd92b5310f3',1,'shaka::media::WebVttMediaParser::Init()'],['../dc/d18/classshaka_1_1media_1_1wvm_1_1WvmMediaParser.html#a6f931f1702724a9b19c3078a7832bc77',1,'shaka::media::wvm::WvmMediaParser::Init()'],['../d4/d70/classshaka_1_1DashIopMpdNotifier.html#a9dd9d655a538ff2618634ca1f9809478',1,'shaka::DashIopMpdNotifier::Init()'],['../de/d52/classshaka_1_1Representation.html#ae998409ae94f3ba12909a96e8f3f4f7e',1,'shaka::Representation::Init()'],['../d3/dd0/classshaka_1_1MpdNotifier.html#ad6171481d6fb437767b1f5b9e0dac1a3',1,'shaka::MpdNotifier::Init()'],['../d8/de1/classshaka_1_1SimpleMpdNotifier.html#a59bcb401b5ca8d5b893ec7da9461569f',1,'shaka::SimpleMpdNotifier::Init()']]], ['initcb',['InitCB',['../d3/d0a/classshaka_1_1media_1_1MediaParser.html#a95d25a50ad371304f1abce9971ce3704',1,'shaka::media::MediaParser']]], - ['initialize',['Initialize',['../dd/d17/classshaka_1_1media_1_1Demuxer.html#a436ed9fd2a3ddd78056ec7cf656fd9ad',1,'shaka::media::Demuxer::Initialize()'],['../d5/d66/classshaka_1_1media_1_1NalUnitToByteStreamConverter.html#aa84e36b83b1caa2b1f726c4d3cff3d6d',1,'shaka::media::NalUnitToByteStreamConverter::Initialize()'],['../dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html#a862422cdf78f370069055037338fa53d',1,'shaka::media::VideoSliceHeaderParser::Initialize()'],['../da/df0/classshaka_1_1media_1_1H264VideoSliceHeaderParser.html#a551bd1e2a852d1a3b23b77df8505b7f7',1,'shaka::media::H264VideoSliceHeaderParser::Initialize()'],['../d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html#a83a25520f713f4818a765ea3324a1438',1,'shaka::media::H265VideoSliceHeaderParser::Initialize()'],['../d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html#aa0346189f99b2f0fc2c71da1543155fa',1,'shaka::media::mp2t::PesPacketGenerator::Initialize()'],['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html#a412be69ae8e18c5ceb3c48d1559c79c2',1,'shaka::media::mp2t::TsSegmenter::Initialize()'],['../de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html#a6bee605be771538f78633e2ecfc979c6',1,'shaka::media::mp2t::TsWriter::Initialize()'],['../d9/d26/classshaka_1_1media_1_1mp4_1_1Segmenter.html#a0440c751fd818964397d17330acc7afc',1,'shaka::media::mp4::Segmenter::Initialize()'],['../de/dfa/classshaka_1_1media_1_1webm_1_1Encryptor.html#afa6065049fad093b96643b9e3d70595f',1,'shaka::media::webm::Encryptor::Initialize()'],['../dd/dc5/classshaka_1_1media_1_1webm_1_1Segmenter.html#a144b19be7c3f693b06da2fbe2e40587a',1,'shaka::media::webm::Segmenter::Initialize()']]], + ['initialize',['Initialize',['../dd/d17/classshaka_1_1media_1_1Demuxer.html#a436ed9fd2a3ddd78056ec7cf656fd9ad',1,'shaka::media::Demuxer::Initialize()'],['../d5/d66/classshaka_1_1media_1_1NalUnitToByteStreamConverter.html#aa84e36b83b1caa2b1f726c4d3cff3d6d',1,'shaka::media::NalUnitToByteStreamConverter::Initialize()'],['../dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html#a862422cdf78f370069055037338fa53d',1,'shaka::media::VideoSliceHeaderParser::Initialize()'],['../da/df0/classshaka_1_1media_1_1H264VideoSliceHeaderParser.html#a551bd1e2a852d1a3b23b77df8505b7f7',1,'shaka::media::H264VideoSliceHeaderParser::Initialize()'],['../d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html#a83a25520f713f4818a765ea3324a1438',1,'shaka::media::H265VideoSliceHeaderParser::Initialize()'],['../d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html#aa0346189f99b2f0fc2c71da1543155fa',1,'shaka::media::mp2t::PesPacketGenerator::Initialize()'],['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html#a412be69ae8e18c5ceb3c48d1559c79c2',1,'shaka::media::mp2t::TsSegmenter::Initialize()'],['../de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html#a6bee605be771538f78633e2ecfc979c6',1,'shaka::media::mp2t::TsWriter::Initialize()'],['../d9/d26/classshaka_1_1media_1_1mp4_1_1Segmenter.html#a0440c751fd818964397d17330acc7afc',1,'shaka::media::mp4::Segmenter::Initialize()'],['../de/dfa/classshaka_1_1media_1_1webm_1_1Encryptor.html#afa6065049fad093b96643b9e3d70595f',1,'shaka::media::webm::Encryptor::Initialize()'],['../dd/dc5/classshaka_1_1media_1_1webm_1_1Segmenter.html#aa6b32c805c4e662d97244531723ce9eb',1,'shaka::media::webm::Segmenter::Initialize()']]], ['initializefragment',['InitializeFragment',['../dc/df3/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a126294f104809268975fe04391902ad3',1,'shaka::media::mp4::EncryptingFragmenter::InitializeFragment()'],['../db/d95/classshaka_1_1media_1_1mp4_1_1Fragmenter.html#aa702c2af5ea5096d94f2943076a21e4a',1,'shaka::media::mp4::Fragmenter::InitializeFragment()']]], ['initializewithiv',['InitializeWithIv',['../df/d87/classshaka_1_1media_1_1AesCryptor.html#a41954df34b76b04d561892732dd0ec2f',1,'shaka::media::AesCryptor::InitializeWithIv()'],['../df/d2d/classshaka_1_1media_1_1AesCbcDecryptor.html#a71ff0b9654de96f9990b29c35fa9b7bf',1,'shaka::media::AesCbcDecryptor::InitializeWithIv()'],['../d3/d75/classshaka_1_1media_1_1AesEncryptor.html#a0695df5615cadf6977fdbac978daeffa',1,'shaka::media::AesEncryptor::InitializeWithIv()'],['../d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html#af878688f0f277f3f6757e85654439c34',1,'shaka::media::AesPatternCryptor::InitializeWithIv()']]], - ['injectclockfortesting',['InjectClockForTesting',['../dc/da1/classshaka_1_1MpdBuilder.html#a723afe73b9d619a1178ae21e46fd7450',1,'shaka::MpdBuilder']]], - ['injectpespacketgeneratorfortesting',['InjectPesPacketGeneratorForTesting',['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html#a01c6ce7398b8e7a9966959dadcd30b25',1,'shaka::media::mp2t::TsSegmenter']]], - ['injecttswriterfortesting',['InjectTsWriterForTesting',['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html#a2bf9d53ebc0a42551e7c460d9464650d',1,'shaka::media::mp2t::TsSegmenter']]], + ['injectclockfortesting',['InjectClockForTesting',['../dc/da1/classshaka_1_1MpdBuilder.html#a7a4f96f12b589cfc4b5c2f44532eec53',1,'shaka::MpdBuilder']]], + ['injectpespacketgeneratorfortesting',['InjectPesPacketGeneratorForTesting',['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html#abb78b18426643d58bc44ea61823dc29c',1,'shaka::media::mp2t::TsSegmenter']]], + ['injecttswriterfortesting',['InjectTsWriterForTesting',['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html#ae3ed0f86d2163444e24a2577e35517a9',1,'shaka::media::mp2t::TsSegmenter']]], ['iocache',['IoCache',['../dd/d7c/classshaka_1_1media_1_1IoCache.html',1,'shaka::media']]], ['isaac',['IsAAC',['../d5/d13/classshaka_1_1media_1_1ESDescriptor.html#a47592ec424dc9dd2beb5cc0f505e6681',1,'shaka::media::ESDescriptor']]], ['iskeyframe',['IsKeyframe',['../d8/d14/classshaka_1_1media_1_1VP8Parser.html#afae2dcb0c2652d53f2e23c9d3c07db37',1,'shaka::media::VP8Parser::IsKeyframe()'],['../db/d5a/classshaka_1_1media_1_1VP9Parser.html#a52e6a17fa34c5676cd0cdc547cb355a5',1,'shaka::media::VP9Parser::IsKeyframe()']]], diff --git a/docs/search/all_b.js b/docs/search/all_b.js index 170eb47d48..a463e32d7c 100644 --- a/docs/search/all_b.js +++ b/docs/search/all_b.js @@ -37,8 +37,8 @@ var searchData= ['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']]], ['multisegmentsegmenter',['MultiSegmentSegmenter',['../d2/dd5/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter.html',1,'shaka::media::webm']]], + ['multisegmentsegmenter',['MultiSegmentSegmenter',['../d8/db7/classshaka_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html',1,'shaka::media::mp4']]], ['mutable_5fdata',['mutable_data',['../d2/d93/classshaka_1_1media_1_1mp2t_1_1PesPacket.html#a41aa532d0953db4ed9308ad176c6d878',1,'shaka::media::mp2t::PesPacket']]], ['muxer',['Muxer',['../df/d46/classshaka_1_1media_1_1Muxer.html',1,'shaka::media']]], ['muxerlistener',['MuxerListener',['../dd/d7a/classshaka_1_1media_1_1MuxerListener.html',1,'shaka::media']]], diff --git a/docs/search/all_f.js b/docs/search/all_f.js index 953ce53adf..a61850ad5b 100644 --- a/docs/search/all_f.js +++ b/docs/search/all_f.js @@ -19,7 +19,7 @@ var searchData= ['release',['Release',['../d1/d31/classshaka_1_1xml_1_1XmlNode.html#ae5cb2c3000ccbd53c0a1867db0b8a2d0',1,'shaka::xml::XmlNode']]], ['reopen',['Reopen',['../dd/d7c/classshaka_1_1media_1_1IoCache.html#ae751faea047196ba2770f5bf90649185',1,'shaka::media::IoCache']]], ['representation',['Representation',['../de/d52/classshaka_1_1Representation.html',1,'shaka']]], - ['representation',['Representation',['../de/d52/classshaka_1_1Representation.html#ad029323166bb60175a2369c3e887dca0',1,'shaka::Representation']]], + ['representation',['Representation',['../de/d52/classshaka_1_1Representation.html#a997138fcaa5deef5151a64a2d7ce6aeb',1,'shaka::Representation']]], ['representationbasexmlnode',['RepresentationBaseXmlNode',['../dd/db9/classshaka_1_1xml_1_1RepresentationBaseXmlNode.html',1,'shaka::xml']]], ['representationstatechangelistener',['RepresentationStateChangeListener',['../df/d94/classshaka_1_1RepresentationStateChangeListener.html',1,'shaka']]], ['representationxmlnode',['RepresentationXmlNode',['../df/d9e/classshaka_1_1xml_1_1RepresentationXmlNode.html',1,'shaka::xml']]], diff --git a/docs/search/classes_a.js b/docs/search/classes_a.js index 1f95a411a9..1a88d08c76 100644 --- a/docs/search/classes_a.js +++ b/docs/search/classes_a.js @@ -30,8 +30,8 @@ var searchData= ['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']]], ['multisegmentsegmenter',['MultiSegmentSegmenter',['../d2/dd5/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter.html',1,'shaka::media::webm']]], + ['multisegmentsegmenter',['MultiSegmentSegmenter',['../d8/db7/classshaka_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html',1,'shaka::media::mp4']]], ['muxer',['Muxer',['../df/d46/classshaka_1_1media_1_1Muxer.html',1,'shaka::media']]], ['muxerlistener',['MuxerListener',['../dd/d7a/classshaka_1_1media_1_1MuxerListener.html',1,'shaka::media']]], ['muxeroptions',['MuxerOptions',['../d0/d27/structshaka_1_1media_1_1MuxerOptions.html',1,'shaka::media']]] diff --git a/docs/search/functions_0.js b/docs/search/functions_0.js index 6412d98eb7..25f5f48e4c 100644 --- a/docs/search/functions_0.js +++ b/docs/search/functions_0.js @@ -11,7 +11,7 @@ var searchData= ['addliveonlyinfo',['AddLiveOnlyInfo',['../df/d9e/classshaka_1_1xml_1_1RepresentationXmlNode.html#ae9ff190e1a653a348b00b5edd9d6cc60',1,'shaka::xml::RepresentationXmlNode']]], ['addnalu',['AddNalu',['../de/de0/classshaka_1_1media_1_1DecoderConfigurationRecord.html#a6b2234ce5bdffaaaad217414df314598',1,'shaka::media::DecoderConfigurationRecord']]], ['addnewsegment',['AddNewSegment',['../de/d52/classshaka_1_1Representation.html#a6ca8bbfd34ef8ca782d2ef18aeaad932',1,'shaka::Representation']]], - ['addpespacket',['AddPesPacket',['../de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html#a8b2b5caa68f34a332a377524a5f23e61',1,'shaka::media::mp2t::TsWriter']]], + ['addpespacket',['AddPesPacket',['../de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html#a19a7699df7ac129aedfdff074a8a18a3',1,'shaka::media::mp2t::TsWriter']]], ['addrepresentation',['AddRepresentation',['../d8/d8e/classshaka_1_1AdaptationSet.html#a124e3c1ba5e3209f3214a556ecae28c3',1,'shaka::AdaptationSet']]], ['addrole',['AddRole',['../d8/d8e/classshaka_1_1AdaptationSet.html#ae96ad89ec7cc7d5ef1db467a9cf13730',1,'shaka::AdaptationSet']]], ['addroleelement',['AddRoleElement',['../d1/de7/classshaka_1_1xml_1_1AdaptationSetXmlNode.html#a2718eede55bb89447a74ff802b95fdb1',1,'shaka::xml::AdaptationSetXmlNode']]], @@ -28,7 +28,7 @@ var searchData= ['aescbcencryptor',['AesCbcEncryptor',['../d4/d20/classshaka_1_1media_1_1AesCbcEncryptor.html#a2cc8f20b92d884d959b3a586b527fece',1,'shaka::media::AesCbcEncryptor::AesCbcEncryptor(CbcPaddingScheme padding_scheme)'],['../d4/d20/classshaka_1_1media_1_1AesCbcEncryptor.html#adbe4df9a37be949487a806301d143230',1,'shaka::media::AesCbcEncryptor::AesCbcEncryptor(CbcPaddingScheme padding_scheme, ConstantIvFlag constant_iv_flag)']]], ['aescryptor',['AesCryptor',['../df/d87/classshaka_1_1media_1_1AesCryptor.html#a47fbdacc296fbddd899c47ec0c17e5e8',1,'shaka::media::AesCryptor']]], ['aesencryptor',['AesEncryptor',['../d3/d75/classshaka_1_1media_1_1AesEncryptor.html#a873b0794baca91b36dbc484fc9c37e58',1,'shaka::media::AesEncryptor']]], - ['aespatterncryptor',['AesPatternCryptor',['../d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html#ad76aebd0a9f7cc78f6f841cbce359107',1,'shaka::media::AesPatternCryptor']]], + ['aespatterncryptor',['AesPatternCryptor',['../d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html#abb94f2d6a527b12854e81839fd10e1d5',1,'shaka::media::AesPatternCryptor']]], ['appendint',['AppendInt',['../dc/d41/classshaka_1_1media_1_1BufferWriter.html#abd8854feedd8b45146eb04dacf7d5b2f',1,'shaka::media::BufferWriter']]], ['appendnbytes',['AppendNBytes',['../dc/d41/classshaka_1_1media_1_1BufferWriter.html#ae44b09c03c9b8f0fbf58deb80355f299',1,'shaka::media::BufferWriter']]], ['audio_5fdescription',['audio_description',['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#adb40e673e8025ca51740a50eb20d89b2',1,'shaka::media::mp4::TrackRunIterator']]], diff --git a/docs/search/functions_10.js b/docs/search/functions_10.js index 451ec98491..319aa16974 100644 --- a/docs/search/functions_10.js +++ b/docs/search/functions_10.js @@ -11,26 +11,26 @@ var searchData= ['seekable',['Seekable',['../d1/d0a/classshaka_1_1media_1_1MkvWriter.html#a8d0429e7922752db3f01d43e6340465a',1,'shaka::media::MkvWriter']]], ['set_5fclock',['set_clock',['../df/d46/classshaka_1_1media_1_1Muxer.html#a3cc7feaee9a2c3a7d0569cb9c67c8c68',1,'shaka::media::Muxer']]], ['set_5fdts',['set_dts',['../d2/d93/classshaka_1_1media_1_1mp2t_1_1PesPacket.html#a9917d625989f0eaac93fec12fec8dca0',1,'shaka::media::mp2t::PesPacket']]], - ['set_5fkey_5ffetcher',['set_key_fetcher',['../da/ddd/classshaka_1_1media_1_1WidevineKeySource.html#afc5154b2994b5fe1f8f0c494bbd2bcdd',1,'shaka::media::WidevineKeySource']]], + ['set_5fkey_5ffetcher',['set_key_fetcher',['../da/ddd/classshaka_1_1media_1_1WidevineKeySource.html#a97c0565df9381e178ebb50c193cebd04',1,'shaka::media::WidevineKeySource']]], ['set_5fnalu_5flength_5fsize',['set_nalu_length_size',['../de/de0/classshaka_1_1media_1_1DecoderConfigurationRecord.html#ab0c889c2382b6f41ad1993c136b03d07',1,'shaka::media::DecoderConfigurationRecord']]], ['set_5fpts',['set_pts',['../d2/d93/classshaka_1_1media_1_1mp2t_1_1PesPacket.html#a02ffa1c0ad370f047e6f09b6bbc8b3b8',1,'shaka::media::mp2t::PesPacket']]], - ['set_5fsigner',['set_signer',['../da/ddd/classshaka_1_1media_1_1WidevineKeySource.html#abdff0d3cc5f59b744c68b11b0c1f6272',1,'shaka::media::WidevineKeySource']]], + ['set_5fsigner',['set_signer',['../da/ddd/classshaka_1_1media_1_1WidevineKeySource.html#a48d182da15ecc85e2ae7fd164ba0a526',1,'shaka::media::WidevineKeySource']]], ['set_5fstream_5fid',['set_stream_id',['../d2/d93/classshaka_1_1media_1_1mp2t_1_1PesPacket.html#ad4be259c146b57f61f41638970839fc4',1,'shaka::media::mp2t::PesPacket']]], ['set_5fuse_5fdecoding_5ftimestamp_5fin_5ftimeline',['set_use_decoding_timestamp_in_timeline',['../db/d95/classshaka_1_1media_1_1mp4_1_1Fragmenter.html#a6f9d467d7188160ee445b74b6f0905f4',1,'shaka::media::mp4::Fragmenter']]], ['setcluster',['SetCluster',['../dd/dc5/classshaka_1_1media_1_1webm_1_1Segmenter.html#a6060ddc97c58e4435d1db932de17e131',1,'shaka::media::webm::Segmenter']]], ['setcomplete',['SetComplete',['../d9/d26/classshaka_1_1media_1_1mp4_1_1Segmenter.html#adea4bf88a29660bd8612ae3bc5048068',1,'shaka::media::mp4::Segmenter']]], ['setcontent',['SetContent',['../d1/d31/classshaka_1_1xml_1_1XmlNode.html#a73d758186470e7dbcb4f4339eb53458c',1,'shaka::xml::XmlNode']]], - ['setencryptionkey',['SetEncryptionKey',['../d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html#a346abd50baa9a1e6e42a49ba60f5f916',1,'shaka::media::mp2t::PesPacketGenerator']]], + ['setencryptionkey',['SetEncryptionKey',['../d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html#acc603c661a6e0c592091b8bde5a77e3a',1,'shaka::media::mp2t::PesPacketGenerator']]], ['seterror',['SetError',['../d0/d93/classshaka_1_1media_1_1Status.html#a26903fbb0ee18f6b8d7cd441e922b644',1,'shaka::media::Status']]], ['setfloatingpointattribute',['SetFloatingPointAttribute',['../d1/d31/classshaka_1_1xml_1_1XmlNode.html#ac4b6c261b14ffe83e9820b76b16af1ba',1,'shaka::xml::XmlNode']]], ['setgroup',['SetGroup',['../d8/d8e/classshaka_1_1AdaptationSet.html#ae1f56e719f289e61c27ec51457d697af',1,'shaka::AdaptationSet']]], ['setid',['SetId',['../d1/d31/classshaka_1_1xml_1_1XmlNode.html#a7479055041708fb681957a838e7ecc1f',1,'shaka::xml::XmlNode']]], ['setintegerattribute',['SetIntegerAttribute',['../d1/d31/classshaka_1_1xml_1_1XmlNode.html#ab15dbcc1a051218dc16f44584276ad20',1,'shaka::xml::XmlNode']]], ['setiv',['SetIv',['../df/d87/classshaka_1_1media_1_1AesCryptor.html#a4875146da4761bb757d6b00132ae6fea',1,'shaka::media::AesCryptor']]], - ['setkeysource',['SetKeySource',['../dd/d17/classshaka_1_1media_1_1Demuxer.html#acad9afa8ef3b5682324a4ded402ab93a',1,'shaka::media::Demuxer::SetKeySource()'],['../df/d46/classshaka_1_1media_1_1Muxer.html#a021fdae2adc98716b1c8ee7617ab917b',1,'shaka::media::Muxer::SetKeySource()']]], - ['setmuxerlistener',['SetMuxerListener',['../df/d46/classshaka_1_1media_1_1Muxer.html#a786fbb91d7ece58c68334f5cef16ae71',1,'shaka::media::Muxer']]], - ['setprogrammaptablewriterfortesting',['SetProgramMapTableWriterForTesting',['../de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html#a0bead9b328bf6c7c9d5bc6997fea2971',1,'shaka::media::mp2t::TsWriter']]], - ['setprogresslistener',['SetProgressListener',['../df/d46/classshaka_1_1media_1_1Muxer.html#a0a2dfb3924ce1307f98c339e6587369c',1,'shaka::media::Muxer']]], + ['setkeysource',['SetKeySource',['../dd/d17/classshaka_1_1media_1_1Demuxer.html#abfcf3a9a3f64c0e27497c72324049a1e',1,'shaka::media::Demuxer::SetKeySource()'],['../df/d46/classshaka_1_1media_1_1Muxer.html#a021fdae2adc98716b1c8ee7617ab917b',1,'shaka::media::Muxer::SetKeySource()']]], + ['setmuxerlistener',['SetMuxerListener',['../df/d46/classshaka_1_1media_1_1Muxer.html#a0e76dd0a5c07dd538221459365ae824a',1,'shaka::media::Muxer']]], + ['setprogrammaptablewriterfortesting',['SetProgramMapTableWriterForTesting',['../de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html#a6eeeadf8e60dc09378b5df7c62eb2bf0',1,'shaka::media::mp2t::TsWriter']]], + ['setprogresslistener',['SetProgressListener',['../df/d46/classshaka_1_1media_1_1Muxer.html#a25a146d553c385aad70dbff6b3e87eec',1,'shaka::media::Muxer']]], ['setsampleduration',['SetSampleDuration',['../de/d52/classshaka_1_1Representation.html#a11b32833166b9c4bea78cca2c6069d98',1,'shaka::Representation']]], ['setstringattribute',['SetStringAttribute',['../d1/d31/classshaka_1_1xml_1_1XmlNode.html#afc83f9dbaedc8ba0fc9cc1153ac23329',1,'shaka::xml::XmlNode']]], ['settswriterfileopenedfortesting',['SetTsWriterFileOpenedForTesting',['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html#a34ab9fbaee43115d68be87e4b9e90918',1,'shaka::media::mp2t::TsSegmenter']]], diff --git a/docs/search/functions_2.js b/docs/search/functions_2.js index 58d32d1a5f..822392d6b5 100644 --- a/docs/search/functions_2.js +++ b/docs/search/functions_2.js @@ -22,12 +22,12 @@ var searchData= ['copyfile',['CopyFile',['../d3/d61/classshaka_1_1media_1_1File.html#a1c218b7f815bae0f48800b385ddce67e',1,'shaka::media::File::CopyFile(File *source, File *destination)'],['../d3/d61/classshaka_1_1media_1_1File.html#a9f5ebcd3bdebb7fb02a7a7adf378b344',1,'shaka::media::File::CopyFile(File *source, File *destination, int64_t max_copy)']]], ['copyfrom',['CopyFrom',['../d7/d6d/classshaka_1_1media_1_1MediaSample.html#a3fac8e4cc8da3b34ef5f698411ec868b',1,'shaka::media::MediaSample::CopyFrom(const uint8_t *data, size_t size, bool is_key_frame)'],['../d7/d6d/classshaka_1_1media_1_1MediaSample.html#a99f83b1803101853aa03bda8f1251e8c',1,'shaka::media::MediaSample::CopyFrom(const uint8_t *data, size_t size, const uint8_t *side_data, size_t side_data_size, bool is_key_frame)']]], ['create',['Create',['../d0/dce/classshaka_1_1media_1_1RsaPrivateKey.html#aef45d0014d7971b936ce3d0109935ba8',1,'shaka::media::RsaPrivateKey::Create()'],['../d9/d0c/classshaka_1_1media_1_1RsaPublicKey.html#aabe4a2f1541ca1e741305f58329e3881',1,'shaka::media::RsaPublicKey::Create()']]], - ['createandinitializesegmenter',['CreateAndInitializeSegmenter',['../d2/dba/classshaka_1_1media_1_1SegmentTestBase.html#adbb73df6171a6caa80cf34c7d63c650d',1,'shaka::media::SegmentTestBase']]], + ['createandinitializesegmenter',['CreateAndInitializeSegmenter',['../d2/dba/classshaka_1_1media_1_1SegmentTestBase.html#a742824b930ae928f12214a5e350adc64',1,'shaka::media::SegmentTestBase']]], ['createbox',['CreateBox',['../d0/dd4/classshaka_1_1media_1_1ProtectionSystemSpecificInfo.html#af9b917cb91b6c10ee7a6f5b41fc7e0d9',1,'shaka::media::ProtectionSystemSpecificInfo']]], ['createemptymediasample',['CreateEmptyMediaSample',['../d7/d6d/classshaka_1_1media_1_1MediaSample.html#a59e7bbd2ee8cfa1697093d14d16a6c4d',1,'shaka::media::MediaSample']]], ['createencryptor',['CreateEncryptor',['../dc/df3/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a4220479b2dd98b462ff4dd4afcf56d0e',1,'shaka::media::mp4::EncryptingFragmenter']]], ['createeosbuffer',['CreateEOSBuffer',['../d7/d6d/classshaka_1_1media_1_1MediaSample.html#a925efca004ebbcf3cf71f690a3e43788',1,'shaka::media::MediaSample']]], - ['createfromhexstrings',['CreateFromHexStrings',['../d0/dac/classshaka_1_1media_1_1FixedKeySource.html#a091b4ea22419b73f8532db862f985f99',1,'shaka::media::FixedKeySource']]], + ['createfromhexstrings',['CreateFromHexStrings',['../d0/dac/classshaka_1_1media_1_1FixedKeySource.html#a9a91ba439d785022a1e2ceeaa9ebe81a',1,'shaka::media::FixedKeySource']]], ['createmuxeroptions',['CreateMuxerOptions',['../d2/dba/classshaka_1_1media_1_1SegmentTestBase.html#a89d5ae5a78134e108a4fe4adb6f79e4e',1,'shaka::media::SegmentTestBase']]], ['createsample',['CreateSample',['../d2/dba/classshaka_1_1media_1_1SegmentTestBase.html#aa6d43e2cc9d3abe023c037c87807f2ed',1,'shaka::media::SegmentTestBase']]], ['createsigner',['CreateSigner',['../d9/d8c/classshaka_1_1media_1_1AesRequestSigner.html#a43f4cc9fad9901fa905805be81f7d58c',1,'shaka::media::AesRequestSigner::CreateSigner()'],['../d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html#af6af635a7c0a01bb638befb71b88386c',1,'shaka::media::RsaRequestSigner::CreateSigner()']]], diff --git a/docs/search/functions_4.js b/docs/search/functions_4.js index f3de324b14..06640a7bb4 100644 --- a/docs/search/functions_4.js +++ b/docs/search/functions_4.js @@ -5,5 +5,5 @@ var searchData= ['encrypt',['Encrypt',['../d9/d0c/classshaka_1_1media_1_1RsaPublicKey.html#ab9dcf591f3235b8f4eaa02886f9845e3',1,'shaka::media::RsaPublicKey']]], ['encryptedsegmentpmt',['EncryptedSegmentPmt',['../dc/d03/classshaka_1_1media_1_1mp2t_1_1ProgramMapTableWriter.html#a7f40bf474758b80e57fede27c2610756',1,'shaka::media::mp2t::ProgramMapTableWriter::EncryptedSegmentPmt()'],['../de/d27/classshaka_1_1media_1_1mp2t_1_1H264ProgramMapTableWriter.html#a14d7933ee669e7c5daeb8d03f2f0b1d0',1,'shaka::media::mp2t::H264ProgramMapTableWriter::EncryptedSegmentPmt()'],['../d4/dc8/classshaka_1_1media_1_1mp2t_1_1AacProgramMapTableWriter.html#a37616e314cb20775644b9c5e3417f8e5',1,'shaka::media::mp2t::AacProgramMapTableWriter::EncryptedSegmentPmt()']]], ['encryptframe',['EncryptFrame',['../de/dfa/classshaka_1_1media_1_1webm_1_1Encryptor.html#a3bfe9e0d99652811cb785832529f3d3c',1,'shaka::media::webm::Encryptor']]], - ['encryptingfragmenter',['EncryptingFragmenter',['../dc/df3/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a5a331edd7e75f6cd15ccbe9c688440a4',1,'shaka::media::mp4::EncryptingFragmenter']]] + ['encryptingfragmenter',['EncryptingFragmenter',['../dc/df3/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a3c1c1037b7d9e6edf1f476434705c3d5',1,'shaka::media::mp4::EncryptingFragmenter']]] ]; diff --git a/docs/search/functions_6.js b/docs/search/functions_6.js index 91432de582..b3009b495d 100644 --- a/docs/search/functions_6.js +++ b/docs/search/functions_6.js @@ -13,7 +13,7 @@ var searchData= ['getcontenttype',['GetContentType',['../d8/daf/namespaceshaka.html#a5ea880937da26d677ff6a48c0219d090',1,'shaka']]], ['getcryptoperiodkey',['GetCryptoPeriodKey',['../d0/dac/classshaka_1_1media_1_1FixedKeySource.html#afa9abf3a9104cbcb4711eac65c8a5bdf',1,'shaka::media::FixedKeySource::GetCryptoPeriodKey()'],['../d1/d1f/classshaka_1_1media_1_1KeySource.html#a18806b962c858e35ed07753687605b16',1,'shaka::media::KeySource::GetCryptoPeriodKey()'],['../da/ddd/classshaka_1_1media_1_1WidevineKeySource.html#ab56a71e9f9f9e545f96e667279c05bb1',1,'shaka::media::WidevineKeySource::GetCryptoPeriodKey()']]], ['getdecoderconfigurationrecord',['GetDecoderConfigurationRecord',['../d8/d08/classshaka_1_1media_1_1H264ByteToUnitStreamConverter.html#a6a7a73841ded1942364f88aad90dcbc9',1,'shaka::media::H264ByteToUnitStreamConverter::GetDecoderConfigurationRecord()'],['../db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html#a9a866e255a2b267f2b44d0156c479de9',1,'shaka::media::H265ByteToUnitStreamConverter::GetDecoderConfigurationRecord()'],['../de/dea/classshaka_1_1media_1_1H26xByteToUnitStreamConverter.html#a57f8a71d948f27303ba41dd5aafb5445',1,'shaka::media::H26xByteToUnitStreamConverter::GetDecoderConfigurationRecord()']]], - ['getdecryptconfig',['GetDecryptConfig',['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#a1badd6160074e1bc2ef0f1e289a81524',1,'shaka::media::mp4::TrackRunIterator']]], + ['getdecryptconfig',['GetDecryptConfig',['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#af1dbb0a9037617c2b80506ee161dfcfa',1,'shaka::media::mp4::TrackRunIterator']]], ['getduration',['GetDuration',['../d9/d26/classshaka_1_1media_1_1mp4_1_1Segmenter.html#a7283c64cb63a94264ff8fe405b8ce5c2',1,'shaka::media::mp4::Segmenter::GetDuration()'],['../dd/dc5/classshaka_1_1media_1_1webm_1_1Segmenter.html#a277aeb59ed41fc484a86101d565017ae',1,'shaka::media::webm::Segmenter::GetDuration()']]], ['getfilesize',['GetFileSize',['../d3/d61/classshaka_1_1media_1_1File.html#a6981994874ee5832e3394744fd51fd79',1,'shaka::media::File']]], ['getheadersize',['GetHeaderSize',['../dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html#a3346c5afaf83a18cfcf688c36049d586',1,'shaka::media::VideoSliceHeaderParser::GetHeaderSize()'],['../da/df0/classshaka_1_1media_1_1H264VideoSliceHeaderParser.html#a5957ea62985810662158c02a163aac60',1,'shaka::media::H264VideoSliceHeaderParser::GetHeaderSize()'],['../d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html#a54459b6748f64be2bd328c5af79798f3',1,'shaka::media::H265VideoSliceHeaderParser::GetHeaderSize()']]], @@ -24,7 +24,7 @@ var searchData= ['getkey',['GetKey',['../d0/dac/classshaka_1_1media_1_1FixedKeySource.html#a267d1f36d1c015fd5e8c20b93f270d0a',1,'shaka::media::FixedKeySource::GetKey(TrackType track_type, EncryptionKey *key) override'],['../d0/dac/classshaka_1_1media_1_1FixedKeySource.html#a58f9eae1ce9148a82f70118879b6c3f1',1,'shaka::media::FixedKeySource::GetKey(const std::vector< uint8_t > &key_id, EncryptionKey *key) override'],['../d1/d1f/classshaka_1_1media_1_1KeySource.html#a994eb66cf09d8b08fd1c964f6afd3ab3',1,'shaka::media::KeySource::GetKey(TrackType track_type, EncryptionKey *key)=0'],['../d1/d1f/classshaka_1_1media_1_1KeySource.html#ae33f2cdbd045572095acd7b8d6c1a789',1,'shaka::media::KeySource::GetKey(const std::vector< uint8_t > &key_id, EncryptionKey *key)=0'],['../da/ddd/classshaka_1_1media_1_1WidevineKeySource.html#a59a16d61c6a6d05745e8b49fd3618deb',1,'shaka::media::WidevineKeySource::GetKey(TrackType track_type, EncryptionKey *key) override'],['../da/ddd/classshaka_1_1media_1_1WidevineKeySource.html#a59699cd998290adae74e6596ba44fdc3',1,'shaka::media::WidevineKeySource::GetKey(const std::vector< uint8_t > &key_id, EncryptionKey *key) override']]], ['getmaxclearoffset',['GetMaxClearOffset',['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#ae7a223474c46dd542e7390030893cca4',1,'shaka::media::mp4::TrackRunIterator']]], ['getnext',['GetNext',['../d8/dd6/classshaka_1_1media_1_1mp2t_1_1ContinuityCounter.html#a63950483c11df9c44e3cb8d559f629d9',1,'shaka::media::mp2t::ContinuityCounter']]], - ['getnextpespacket',['GetNextPesPacket',['../d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html#a9834c58c732715a51c57a2a6385a761b',1,'shaka::media::mp2t::PesPacketGenerator']]], + ['getnextpespacket',['GetNextPesPacket',['../d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html#acf11010f62ab9d2b46308f2cce8b3650',1,'shaka::media::mp2t::PesPacketGenerator']]], ['getnumchannels',['GetNumChannels',['../d0/da2/classshaka_1_1media_1_1AACAudioSpecificConfig.html#a2bacb4e7337248bca9e678268e3db491',1,'shaka::media::AACAudioSpecificConfig::GetNumChannels()'],['../d3/d0c/classshaka_1_1media_1_1mp2t_1_1AdtsHeader.html#aaa01e3eb1ce9d4400aedd202b04f7160',1,'shaka::media::mp2t::AdtsHeader::GetNumChannels()']]], ['getobjecttype',['GetObjectType',['../d3/d0c/classshaka_1_1media_1_1mp2t_1_1AdtsHeader.html#a156a3288ab974557e95dfaba72e6b479',1,'shaka::media::mp2t::AdtsHeader']]], ['getoutputsamplespersecond',['GetOutputSamplesPerSecond',['../d0/da2/classshaka_1_1media_1_1AACAudioSpecificConfig.html#a1e34ba8152e2c09452edcdd7e5eb1bcd',1,'shaka::media::AACAudioSpecificConfig']]], diff --git a/docs/search/functions_8.js b/docs/search/functions_8.js index 3e9a3d1a93..d553c9170d 100644 --- a/docs/search/functions_8.js +++ b/docs/search/functions_8.js @@ -3,12 +3,12 @@ var searchData= ['id',['id',['../de/d52/classshaka_1_1Representation.html#a6a3ba385179698e57a1451d1a26ad827',1,'shaka::Representation']]], ['ignorebytes',['IgnoreBytes',['../d1/da1/classshaka_1_1media_1_1mp4_1_1BoxBuffer.html#a1a0c70e3124677ae08164f7b89f6a1d4',1,'shaka::media::mp4::BoxBuffer']]], ['init',['Init',['../d3/d0a/classshaka_1_1media_1_1MediaParser.html#adc7c91bebe75879abba91a56dae52153',1,'shaka::media::MediaParser::Init()'],['../d3/dc1/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser.html#aa2aff12312827aacf2b7db6e2f792c52',1,'shaka::media::mp2t::Mp2tMediaParser::Init()'],['../d7/dd5/classshaka_1_1media_1_1mp4_1_1MP4MediaParser.html#acc87b9752a7f6e8c739109acbc02b69d',1,'shaka::media::mp4::MP4MediaParser::Init()'],['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#ae9f02c32b4e2be8fc41a20f3f00f3494',1,'shaka::media::mp4::TrackRunIterator::Init()'],['../de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html#a4d39eaf8568da29b597411c56f50d86f',1,'shaka::media::mp4::TrackRunIterator::Init(const MovieFragment &moof)'],['../d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html#a5cd5c298938e2c58c45f962b21e43b2e',1,'shaka::media::WebMMediaParser::Init()'],['../dc/df2/classshaka_1_1media_1_1WebVttMediaParser.html#af6c0fb7de806cccd0e1f9dd92b5310f3',1,'shaka::media::WebVttMediaParser::Init()'],['../dc/d18/classshaka_1_1media_1_1wvm_1_1WvmMediaParser.html#a6f931f1702724a9b19c3078a7832bc77',1,'shaka::media::wvm::WvmMediaParser::Init()'],['../d4/d70/classshaka_1_1DashIopMpdNotifier.html#a9dd9d655a538ff2618634ca1f9809478',1,'shaka::DashIopMpdNotifier::Init()'],['../de/d52/classshaka_1_1Representation.html#ae998409ae94f3ba12909a96e8f3f4f7e',1,'shaka::Representation::Init()'],['../d3/dd0/classshaka_1_1MpdNotifier.html#ad6171481d6fb437767b1f5b9e0dac1a3',1,'shaka::MpdNotifier::Init()'],['../d8/de1/classshaka_1_1SimpleMpdNotifier.html#a59bcb401b5ca8d5b893ec7da9461569f',1,'shaka::SimpleMpdNotifier::Init()']]], - ['initialize',['Initialize',['../dd/d17/classshaka_1_1media_1_1Demuxer.html#a436ed9fd2a3ddd78056ec7cf656fd9ad',1,'shaka::media::Demuxer::Initialize()'],['../d5/d66/classshaka_1_1media_1_1NalUnitToByteStreamConverter.html#aa84e36b83b1caa2b1f726c4d3cff3d6d',1,'shaka::media::NalUnitToByteStreamConverter::Initialize()'],['../dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html#a862422cdf78f370069055037338fa53d',1,'shaka::media::VideoSliceHeaderParser::Initialize()'],['../da/df0/classshaka_1_1media_1_1H264VideoSliceHeaderParser.html#a551bd1e2a852d1a3b23b77df8505b7f7',1,'shaka::media::H264VideoSliceHeaderParser::Initialize()'],['../d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html#a83a25520f713f4818a765ea3324a1438',1,'shaka::media::H265VideoSliceHeaderParser::Initialize()'],['../d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html#aa0346189f99b2f0fc2c71da1543155fa',1,'shaka::media::mp2t::PesPacketGenerator::Initialize()'],['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html#a412be69ae8e18c5ceb3c48d1559c79c2',1,'shaka::media::mp2t::TsSegmenter::Initialize()'],['../de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html#a6bee605be771538f78633e2ecfc979c6',1,'shaka::media::mp2t::TsWriter::Initialize()'],['../d9/d26/classshaka_1_1media_1_1mp4_1_1Segmenter.html#a0440c751fd818964397d17330acc7afc',1,'shaka::media::mp4::Segmenter::Initialize()'],['../de/dfa/classshaka_1_1media_1_1webm_1_1Encryptor.html#afa6065049fad093b96643b9e3d70595f',1,'shaka::media::webm::Encryptor::Initialize()'],['../dd/dc5/classshaka_1_1media_1_1webm_1_1Segmenter.html#a144b19be7c3f693b06da2fbe2e40587a',1,'shaka::media::webm::Segmenter::Initialize()']]], + ['initialize',['Initialize',['../dd/d17/classshaka_1_1media_1_1Demuxer.html#a436ed9fd2a3ddd78056ec7cf656fd9ad',1,'shaka::media::Demuxer::Initialize()'],['../d5/d66/classshaka_1_1media_1_1NalUnitToByteStreamConverter.html#aa84e36b83b1caa2b1f726c4d3cff3d6d',1,'shaka::media::NalUnitToByteStreamConverter::Initialize()'],['../dd/de4/classshaka_1_1media_1_1VideoSliceHeaderParser.html#a862422cdf78f370069055037338fa53d',1,'shaka::media::VideoSliceHeaderParser::Initialize()'],['../da/df0/classshaka_1_1media_1_1H264VideoSliceHeaderParser.html#a551bd1e2a852d1a3b23b77df8505b7f7',1,'shaka::media::H264VideoSliceHeaderParser::Initialize()'],['../d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html#a83a25520f713f4818a765ea3324a1438',1,'shaka::media::H265VideoSliceHeaderParser::Initialize()'],['../d5/de0/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator.html#aa0346189f99b2f0fc2c71da1543155fa',1,'shaka::media::mp2t::PesPacketGenerator::Initialize()'],['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html#a412be69ae8e18c5ceb3c48d1559c79c2',1,'shaka::media::mp2t::TsSegmenter::Initialize()'],['../de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html#a6bee605be771538f78633e2ecfc979c6',1,'shaka::media::mp2t::TsWriter::Initialize()'],['../d9/d26/classshaka_1_1media_1_1mp4_1_1Segmenter.html#a0440c751fd818964397d17330acc7afc',1,'shaka::media::mp4::Segmenter::Initialize()'],['../de/dfa/classshaka_1_1media_1_1webm_1_1Encryptor.html#afa6065049fad093b96643b9e3d70595f',1,'shaka::media::webm::Encryptor::Initialize()'],['../dd/dc5/classshaka_1_1media_1_1webm_1_1Segmenter.html#aa6b32c805c4e662d97244531723ce9eb',1,'shaka::media::webm::Segmenter::Initialize()']]], ['initializefragment',['InitializeFragment',['../dc/df3/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a126294f104809268975fe04391902ad3',1,'shaka::media::mp4::EncryptingFragmenter::InitializeFragment()'],['../db/d95/classshaka_1_1media_1_1mp4_1_1Fragmenter.html#aa702c2af5ea5096d94f2943076a21e4a',1,'shaka::media::mp4::Fragmenter::InitializeFragment()']]], ['initializewithiv',['InitializeWithIv',['../df/d87/classshaka_1_1media_1_1AesCryptor.html#a41954df34b76b04d561892732dd0ec2f',1,'shaka::media::AesCryptor::InitializeWithIv()'],['../df/d2d/classshaka_1_1media_1_1AesCbcDecryptor.html#a71ff0b9654de96f9990b29c35fa9b7bf',1,'shaka::media::AesCbcDecryptor::InitializeWithIv()'],['../d3/d75/classshaka_1_1media_1_1AesEncryptor.html#a0695df5615cadf6977fdbac978daeffa',1,'shaka::media::AesEncryptor::InitializeWithIv()'],['../d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html#af878688f0f277f3f6757e85654439c34',1,'shaka::media::AesPatternCryptor::InitializeWithIv()']]], - ['injectclockfortesting',['InjectClockForTesting',['../dc/da1/classshaka_1_1MpdBuilder.html#a723afe73b9d619a1178ae21e46fd7450',1,'shaka::MpdBuilder']]], - ['injectpespacketgeneratorfortesting',['InjectPesPacketGeneratorForTesting',['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html#a01c6ce7398b8e7a9966959dadcd30b25',1,'shaka::media::mp2t::TsSegmenter']]], - ['injecttswriterfortesting',['InjectTsWriterForTesting',['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html#a2bf9d53ebc0a42551e7c460d9464650d',1,'shaka::media::mp2t::TsSegmenter']]], + ['injectclockfortesting',['InjectClockForTesting',['../dc/da1/classshaka_1_1MpdBuilder.html#a7a4f96f12b589cfc4b5c2f44532eec53',1,'shaka::MpdBuilder']]], + ['injectpespacketgeneratorfortesting',['InjectPesPacketGeneratorForTesting',['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html#abb78b18426643d58bc44ea61823dc29c',1,'shaka::media::mp2t::TsSegmenter']]], + ['injecttswriterfortesting',['InjectTsWriterForTesting',['../de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html#ae3ed0f86d2163444e24a2577e35517a9',1,'shaka::media::mp2t::TsSegmenter']]], ['isaac',['IsAAC',['../d5/d13/classshaka_1_1media_1_1ESDescriptor.html#a47592ec424dc9dd2beb5cc0f505e6681',1,'shaka::media::ESDescriptor']]], ['iskeyframe',['IsKeyframe',['../d8/d14/classshaka_1_1media_1_1VP8Parser.html#afae2dcb0c2652d53f2e23c9d3c07db37',1,'shaka::media::VP8Parser::IsKeyframe()'],['../db/d5a/classshaka_1_1media_1_1VP9Parser.html#a52e6a17fa34c5676cd0cdc547cb355a5',1,'shaka::media::VP9Parser::IsKeyframe()']]], ['isparsingcomplete',['IsParsingComplete',['../dc/dca/classshaka_1_1media_1_1WebMListParser.html#acf786fc2e07143c3f1a481401240d105',1,'shaka::media::WebMListParser']]], diff --git a/docs/search/functions_f.js b/docs/search/functions_f.js index 3724ce564f..d58f822997 100644 --- a/docs/search/functions_f.js +++ b/docs/search/functions_f.js @@ -18,7 +18,7 @@ var searchData= ['readwriteuint64nbytes',['ReadWriteUInt64NBytes',['../d1/da1/classshaka_1_1media_1_1mp4_1_1BoxBuffer.html#a53c6b6a9bce0bb0fa61b9ce95c3f5cef',1,'shaka::media::mp4::BoxBuffer']]], ['release',['Release',['../d1/d31/classshaka_1_1xml_1_1XmlNode.html#ae5cb2c3000ccbd53c0a1867db0b8a2d0',1,'shaka::xml::XmlNode']]], ['reopen',['Reopen',['../dd/d7c/classshaka_1_1media_1_1IoCache.html#ae751faea047196ba2770f5bf90649185',1,'shaka::media::IoCache']]], - ['representation',['Representation',['../de/d52/classshaka_1_1Representation.html#ad029323166bb60175a2369c3e887dca0',1,'shaka::Representation']]], + ['representation',['Representation',['../de/d52/classshaka_1_1Representation.html#a997138fcaa5deef5151a64a2d7ce6aeb',1,'shaka::Representation']]], ['reset',['Reset',['../d7/dda/classshaka_1_1media_1_1ByteQueue.html#ab1659ef71098c37e9fb4e55ab1664e84',1,'shaka::media::ByteQueue::Reset()'],['../d3/d7c/classshaka_1_1media_1_1WebMAudioClient.html#afd1a338848c52dc4db79d89ae13b6ea6',1,'shaka::media::WebMAudioClient::Reset()'],['../da/de4/classshaka_1_1media_1_1WebMClusterParser.html#abb306c3299a7279125b8f321ef5bbc94',1,'shaka::media::WebMClusterParser::Reset()'],['../dc/dca/classshaka_1_1media_1_1WebMListParser.html#a4ebac4e1a4165017d206d4aa5c4c0350',1,'shaka::media::WebMListParser::Reset()'],['../d3/d67/classshaka_1_1media_1_1WebMVideoClient.html#af3ad16a6046f60abf43a798747fc1edc',1,'shaka::media::WebMVideoClient::Reset()']]], ['run',['Run',['../dc/df0/classshaka_1_1media_1_1ClosureThread.html#a2c95d317c0b83b66ac7991c3506dc4e7',1,'shaka::media::ClosureThread::Run()'],['../dd/d17/classshaka_1_1media_1_1Demuxer.html#a9e0b4a430603fdf4639c2153622ae1a2',1,'shaka::media::Demuxer::Run()'],['../df/d46/classshaka_1_1media_1_1Muxer.html#adc96fbcd6a4d4ba9845f8d00974ace0f',1,'shaka::media::Muxer::Run()']]] ];