diff --git a/docs/annotated.html b/docs/annotated.html index 6c8be991c2..02e172e346 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 301b6ab819..e6dcf2eff2 100644 --- a/docs/classes.html +++ b/docs/classes.html @@ -179,7 +179,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/d0/d00/structshaka_1_1media_1_1mp4_1_1HandlerReference-members.html b/docs/d0/d00/structshaka_1_1media_1_1mp4_1_1HandlerReference-members.html index 7f03d7c4f8..a6a2e44159 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 0c4fbead10..b3dddeff47 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 78d78566aa..fe376c87c4 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 e0ef04c506..268b4721e3 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 610e4b100f..c840315995 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 f32097d325..3485114610 100644 --- a/docs/d0/d0e/muxer__options_8h_source.html +++ b/docs/d0/d0e/muxer__options_8h_source.html @@ -149,7 +149,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 79387d8b5b..32fe44454e 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 10470a26df..4fbedb6f13 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 dfd3ca6c37..fdcf220656 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 789cbdef9c..bba6a8fde8 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 ab66f2a906..3a461c46e0 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 715ef8208e..989437fa89 100644 --- a/docs/d0/d27/structshaka_1_1media_1_1MuxerOptions.html +++ b/docs/d0/d27/structshaka_1_1media_1_1MuxerOptions.html @@ -275,7 +275,7 @@ std::string  diff --git a/docs/d0/d30/mock__mpd__notifier_8h_source.html b/docs/d0/d30/mock__mpd__notifier_8h_source.html index 84babef8df..2aa88a4665 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 cb85870140..98acdd825b 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 837ab67009..84835c9fee 100644 --- a/docs/d0/d33/classshaka_1_1MockRepresentation.html +++ b/docs/d0/d33/classshaka_1_1MockRepresentation.html @@ -160,7 +160,7 @@ Additional Inherited Members diff --git a/docs/d0/d35/es__descriptor_8cc_source.html b/docs/d0/d35/es__descriptor_8cc_source.html index bc499e26d0..422f9490e0 100644 --- a/docs/d0/d35/es__descriptor_8cc_source.html +++ b/docs/d0/d35/es__descriptor_8cc_source.html @@ -282,7 +282,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 afa8205f8c..59ba12403d 100644 --- a/docs/d0/d3a/hls__notify__muxer__listener_8cc_source.html +++ b/docs/d0/d3a/hls__notify__muxer__listener_8cc_source.html @@ -125,68 +125,102 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
36  const std::vector<uint8_t>& key_id,
37  const std::vector<uint8_t>& iv,
38  const std::vector<ProtectionSystemSpecificInfo>& key_system_infos) {
-
39  for (const ProtectionSystemSpecificInfo& info : key_system_infos) {
-
40  const bool result = hls_notifier_->NotifyEncryptionUpdate(
-
41  stream_id_, key_id, info.system_id(), iv, info.pssh_data());
-
42  LOG_IF(WARNING, !result) << "Failed to add encryption info.";
-
43  }
-
44 }
-
45 
-
46 void HlsNotifyMuxerListener::OnMediaStart(const MuxerOptions& muxer_options,
-
47  const StreamInfo& stream_info,
-
48  uint32_t time_scale,
-
49  ContainerType container_type) {
-
50  MediaInfo media_info;
-
51  if (!internal::GenerateMediaInfo(muxer_options, stream_info, time_scale,
-
52  container_type, &media_info)) {
-
53  LOG(ERROR) << "Failed to generate MediaInfo from input.";
-
54  return;
-
55  }
-
56  const bool result = hls_notifier_->NotifyNewStream(
-
57  media_info, playlist_name_, ext_x_media_name_, ext_x_media_group_id_,
-
58  &stream_id_);
-
59  LOG_IF(WARNING, !result) << "Failed to notify new stream.";
-
60 }
-
61 
-
62 void HlsNotifyMuxerListener::OnSampleDurationReady(uint32_t sample_duration) {}
-
63 
-
64 void HlsNotifyMuxerListener::OnMediaEnd(bool has_init_range,
-
65  uint64_t init_range_start,
-
66  uint64_t init_range_end,
-
67  bool has_index_range,
-
68  uint64_t index_range_start,
-
69  uint64_t index_range_end,
-
70  float duration_seconds,
-
71  uint64_t file_size) {
-
72  // Don't flush the notifier here. Flushing here would write all the playlists
-
73  // before all Media Playlists are read. Which could cause problems
-
74  // setting the correct EXT-X-TARGETDURATION.
-
75 }
-
76 
-
77 void HlsNotifyMuxerListener::OnNewSegment(const std::string& file_name,
-
78  uint64_t start_time,
-
79  uint64_t duration,
-
80  uint64_t segment_file_size) {
-
81  const bool result = hls_notifier_->NotifyNewSegment(
-
82  stream_id_, file_name, start_time, duration, segment_file_size);
-
83  LOG_IF(WARNING, !result) << "Failed to add new segment.";
-
84 }
-
85 
-
86 } // namespace media
-
87 } // namespace shaka
-
shaka::media::HlsNotifyMuxerListener::OnMediaStart
void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) override
Definition: hls_notify_muxer_listener.cc:46
+
39  if (!media_started_) {
+
40  next_key_id_ = key_id;
+
41  next_iv_ = iv;
+
42  next_key_system_infos_ = key_system_infos;
+
43  return;
+
44  }
+
45  for (const ProtectionSystemSpecificInfo& info : key_system_infos) {
+
46  const bool result = hls_notifier_->NotifyEncryptionUpdate(
+
47  stream_id_, key_id, info.system_id(), iv, info.pssh_data());
+
48  LOG_IF(WARNING, !result) << "Failed to add encryption info.";
+
49  }
+
50 }
+
51 
+
52 void HlsNotifyMuxerListener::OnEncryptionStart() {
+
53  if (!media_started_) {
+
54  DLOG(WARNING) << "Media not started, cannot notify encryption start.";
+
55  return;
+
56  }
+
57  if (next_key_id_.empty()) {
+
58  DCHECK(next_iv_.empty());
+
59  DCHECK(next_key_system_infos_.empty());
+
60  return;
+
61  }
+
62 
+
63  for (const ProtectionSystemSpecificInfo& info : next_key_system_infos_) {
+
64  const bool result = hls_notifier_->NotifyEncryptionUpdate(
+
65  stream_id_, next_key_id_, info.system_id(), next_iv_,
+
66  info.pssh_data());
+
67  LOG_IF(WARNING, !result) << "Failed to add encryption info";
+
68  }
+
69  next_key_id_.clear();
+
70  next_iv_.clear();
+
71  next_key_system_infos_.clear();
+
72 }
+
73 
+
74 void HlsNotifyMuxerListener::OnMediaStart(const MuxerOptions& muxer_options,
+
75  const StreamInfo& stream_info,
+
76  uint32_t time_scale,
+
77  ContainerType container_type) {
+
78  MediaInfo media_info;
+
79  if (!internal::GenerateMediaInfo(muxer_options, stream_info, time_scale,
+
80  container_type, &media_info)) {
+
81  LOG(ERROR) << "Failed to generate MediaInfo from input.";
+
82  return;
+
83  }
+
84  const bool result = hls_notifier_->NotifyNewStream(
+
85  media_info, playlist_name_, ext_x_media_name_, ext_x_media_group_id_,
+
86  &stream_id_);
+
87  if (!result) {
+
88  LOG(WARNING) << "Failed to notify new stream.";
+
89  return;
+
90  }
+
91 
+
92  media_started_ = true;
+
93 }
+
94 
+
95 void HlsNotifyMuxerListener::OnSampleDurationReady(uint32_t sample_duration) {}
+
96 
+
97 void HlsNotifyMuxerListener::OnMediaEnd(bool has_init_range,
+
98  uint64_t init_range_start,
+
99  uint64_t init_range_end,
+
100  bool has_index_range,
+
101  uint64_t index_range_start,
+
102  uint64_t index_range_end,
+
103  float duration_seconds,
+
104  uint64_t file_size) {
+
105  // Don't flush the notifier here. Flushing here would write all the playlists
+
106  // before all Media Playlists are read. Which could cause problems
+
107  // setting the correct EXT-X-TARGETDURATION.
+
108 }
+
109 
+
110 void HlsNotifyMuxerListener::OnNewSegment(const std::string& file_name,
+
111  uint64_t start_time,
+
112  uint64_t duration,
+
113  uint64_t segment_file_size) {
+
114  const bool result = hls_notifier_->NotifyNewSegment(
+
115  stream_id_, file_name, start_time, duration, segment_file_size);
+
116  LOG_IF(WARNING, !result) << "Failed to add new segment.";
+
117 }
+
118 
+
119 } // namespace media
+
120 } // namespace shaka
+
shaka::media::HlsNotifyMuxerListener::OnMediaStart
void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) override
Definition: hls_notify_muxer_listener.cc:74
shaka::media::StreamInfo
Abstract class holds stream information.
Definition: stream_info.h:26
shaka::media::HlsNotifyMuxerListener::OnEncryptionInfoReady
void OnEncryptionInfoReady(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info) override
Definition: hls_notify_muxer_listener.cc:33
shaka::media::MuxerOptions
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
+
shaka::media::HlsNotifyMuxerListener::OnEncryptionStart
void OnEncryptionStart() override
Definition: hls_notify_muxer_listener.cc:52
shaka::media::ProtectionSystemSpecificInfo
Definition: protection_system_specific_info.h:19
-
shaka::media::HlsNotifyMuxerListener::OnNewSegment
void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
Definition: hls_notify_muxer_listener.cc:77
-
shaka::media::HlsNotifyMuxerListener::OnMediaEnd
void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) override
Definition: hls_notify_muxer_listener.cc:64
-
shaka::media::HlsNotifyMuxerListener::OnSampleDurationReady
void OnSampleDurationReady(uint32_t sample_duration) override
Definition: hls_notify_muxer_listener.cc:62
+
shaka::media::HlsNotifyMuxerListener::OnNewSegment
void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
Definition: hls_notify_muxer_listener.cc:110
+
shaka::media::HlsNotifyMuxerListener::OnMediaEnd
void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) override
Definition: hls_notify_muxer_listener.cc:97
+
shaka::media::HlsNotifyMuxerListener::OnSampleDurationReady
void OnSampleDurationReady(uint32_t sample_duration) override
Definition: hls_notify_muxer_listener.cc:95
shaka::media::HlsNotifyMuxerListener::HlsNotifyMuxerListener
HlsNotifyMuxerListener(const std::string &playlist_name, const std::string &ext_x_media_name, const std::string &ext_x_media_group_id, hls::HlsNotifier *hls_notifier)
Definition: hls_notify_muxer_listener.cc:19
diff --git a/docs/d0/d3a/webm__constants_8h_source.html b/docs/d0/d3a/webm__constants_8h_source.html index dc1332a17d..79ee1c886e 100644 --- a/docs/d0/d3a/webm__constants_8h_source.html +++ b/docs/d0/d3a/webm__constants_8h_source.html @@ -313,7 +313,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 d711db55d1..fbf325d079 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 886102edac..5da4b04bd8 100644 --- a/docs/d0/d42/aes__cryptor_8h_source.html +++ b/docs/d0/d42/aes__cryptor_8h_source.html @@ -215,7 +215,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d42/widevine__encryption__flags_8cc_source.html b/docs/d0/d42/widevine__encryption__flags_8cc_source.html index e3557b758f..106e3fe30e 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 c4d6584f27..af3a6ecdad 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 b36181b5ea..614bc64b9c 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 @@ -151,90 +151,93 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
62  }
63 }
64 
-
65 void VodMediaInfoDumpMuxerListener::OnSampleDurationReady(
-
66  uint32_t sample_duration) {
-
67  // Assume one VideoInfo.
-
68  if (media_info_->has_video_info()) {
-
69  media_info_->mutable_video_info()->set_frame_duration(sample_duration);
-
70  }
-
71 }
-
72 
-
73 void VodMediaInfoDumpMuxerListener::OnMediaEnd(bool has_init_range,
-
74  uint64_t init_range_start,
-
75  uint64_t init_range_end,
-
76  bool has_index_range,
-
77  uint64_t index_range_start,
-
78  uint64_t index_range_end,
-
79  float duration_seconds,
-
80  uint64_t file_size) {
-
81  DCHECK(media_info_);
-
82  if (!internal::SetVodInformation(has_init_range,
-
83  init_range_start,
-
84  init_range_end,
-
85  has_index_range,
-
86  index_range_start,
-
87  index_range_end,
-
88  duration_seconds,
-
89  file_size,
-
90  media_info_.get())) {
-
91  LOG(ERROR) << "Failed to generate VOD information from input.";
-
92  return;
-
93  }
-
94  WriteMediaInfoToFile(*media_info_, output_file_name_);
-
95 }
-
96 
-
97 void VodMediaInfoDumpMuxerListener::OnNewSegment(const std::string& file_name,
-
98  uint64_t start_time,
-
99  uint64_t duration,
-
100  uint64_t segment_file_size) {}
-
101 
-
102 // static
-
103 bool VodMediaInfoDumpMuxerListener::WriteMediaInfoToFile(
-
104  const MediaInfo& media_info,
-
105  const std::string& output_file_path) {
-
106  std::string output_string;
-
107  if (!google::protobuf::TextFormat::PrintToString(media_info,
-
108  &output_string)) {
-
109  LOG(ERROR) << "Failed to serialize MediaInfo to string.";
-
110  return false;
-
111  }
-
112 
-
113  media::File* file = File::Open(output_file_path.c_str(), "w");
-
114  if (!file) {
-
115  LOG(ERROR) << "Failed to open " << output_file_path;
-
116  return false;
-
117  }
-
118  if (file->Write(output_string.data(), output_string.size()) <= 0) {
-
119  LOG(ERROR) << "Failed to write MediaInfo to file.";
-
120  file->Close();
-
121  return false;
-
122  }
-
123  if (!file->Close()) {
-
124  LOG(ERROR) << "Failed to close " << output_file_path;
-
125  return false;
-
126  }
-
127  return true;
-
128 }
-
129 
-
130 } // namespace media
-
131 } // namespace shaka
+
65 void VodMediaInfoDumpMuxerListener::OnEncryptionStart() {}
+
66 
+
67 void VodMediaInfoDumpMuxerListener::OnSampleDurationReady(
+
68  uint32_t sample_duration) {
+
69  // Assume one VideoInfo.
+
70  if (media_info_->has_video_info()) {
+
71  media_info_->mutable_video_info()->set_frame_duration(sample_duration);
+
72  }
+
73 }
+
74 
+
75 void VodMediaInfoDumpMuxerListener::OnMediaEnd(bool has_init_range,
+
76  uint64_t init_range_start,
+
77  uint64_t init_range_end,
+
78  bool has_index_range,
+
79  uint64_t index_range_start,
+
80  uint64_t index_range_end,
+
81  float duration_seconds,
+
82  uint64_t file_size) {
+
83  DCHECK(media_info_);
+
84  if (!internal::SetVodInformation(has_init_range,
+
85  init_range_start,
+
86  init_range_end,
+
87  has_index_range,
+
88  index_range_start,
+
89  index_range_end,
+
90  duration_seconds,
+
91  file_size,
+
92  media_info_.get())) {
+
93  LOG(ERROR) << "Failed to generate VOD information from input.";
+
94  return;
+
95  }
+
96  WriteMediaInfoToFile(*media_info_, output_file_name_);
+
97 }
+
98 
+
99 void VodMediaInfoDumpMuxerListener::OnNewSegment(const std::string& file_name,
+
100  uint64_t start_time,
+
101  uint64_t duration,
+
102  uint64_t segment_file_size) {}
+
103 
+
104 // static
+
105 bool VodMediaInfoDumpMuxerListener::WriteMediaInfoToFile(
+
106  const MediaInfo& media_info,
+
107  const std::string& output_file_path) {
+
108  std::string output_string;
+
109  if (!google::protobuf::TextFormat::PrintToString(media_info,
+
110  &output_string)) {
+
111  LOG(ERROR) << "Failed to serialize MediaInfo to string.";
+
112  return false;
+
113  }
+
114 
+
115  media::File* file = File::Open(output_file_path.c_str(), "w");
+
116  if (!file) {
+
117  LOG(ERROR) << "Failed to open " << output_file_path;
+
118  return false;
+
119  }
+
120  if (file->Write(output_string.data(), output_string.size()) <= 0) {
+
121  LOG(ERROR) << "Failed to write MediaInfo to file.";
+
122  file->Close();
+
123  return false;
+
124  }
+
125  if (!file->Close()) {
+
126  LOG(ERROR) << "Failed to close " << output_file_path;
+
127  return false;
+
128  }
+
129  return true;
+
130 }
+
131 
+
132 } // namespace media
+
133 } // namespace shaka
shaka::media::File::Open
virtual bool Open()=0
Internal open. Should not be used directly.
shaka::media::StreamInfo
Abstract class holds stream information.
Definition: stream_info.h:26
-
shaka::media::VodMediaInfoDumpMuxerListener::OnSampleDurationReady
void OnSampleDurationReady(uint32_t sample_duration) override
Definition: vod_media_info_dump_muxer_listener.cc:65
+
shaka::media::VodMediaInfoDumpMuxerListener::OnSampleDurationReady
void OnSampleDurationReady(uint32_t sample_duration) override
Definition: vod_media_info_dump_muxer_listener.cc:67
shaka::media::File::Close
virtual bool Close()=0
shaka::media::File::Write
virtual int64_t Write(const void *buffer, uint64_t length)=0
-
shaka::media::VodMediaInfoDumpMuxerListener::OnNewSegment
void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
Definition: vod_media_info_dump_muxer_listener.cc:97
+
shaka::media::VodMediaInfoDumpMuxerListener::OnNewSegment
void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
Definition: vod_media_info_dump_muxer_listener.cc:99
shaka::media::File
Define an abstract file interface.
Definition: file.h:24
+
shaka::media::VodMediaInfoDumpMuxerListener::OnEncryptionStart
void OnEncryptionStart() override
Definition: vod_media_info_dump_muxer_listener.cc:65
shaka::media::MuxerOptions
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
shaka::media::VodMediaInfoDumpMuxerListener::OnMediaStart
void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) override
Definition: vod_media_info_dump_muxer_listener.cc:43
-
shaka::media::VodMediaInfoDumpMuxerListener::WriteMediaInfoToFile
static bool WriteMediaInfoToFile(const MediaInfo &media_info, const std::string &output_file_path)
Definition: vod_media_info_dump_muxer_listener.cc:103
+
shaka::media::VodMediaInfoDumpMuxerListener::WriteMediaInfoToFile
static bool WriteMediaInfoToFile(const MediaInfo &media_info, const std::string &output_file_path)
Definition: vod_media_info_dump_muxer_listener.cc:105
shaka::media::MuxerOptions::single_segment
bool single_segment
Definition: muxer_options.h:24
shaka::media::VodMediaInfoDumpMuxerListener::OnEncryptionInfoReady
void OnEncryptionInfoReady(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &default_key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info) override
Definition: vod_media_info_dump_muxer_listener.cc:28
-
shaka::media::VodMediaInfoDumpMuxerListener::OnMediaEnd
void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) override
Definition: vod_media_info_dump_muxer_listener.cc:73
+
shaka::media::VodMediaInfoDumpMuxerListener::OnMediaEnd
void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) override
Definition: vod_media_info_dump_muxer_listener.cc:75
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 a10cabd4f6..1b461d156c 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 e5b01d1b2e..da4cd13e6e 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 fa9822dc06..5294b6f571 100644 --- a/docs/d0/d4e/libcrypto__threading_8cc_source.html +++ b/docs/d0/d4e/libcrypto__threading_8cc_source.html @@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d53/classshaka_1_1media_1_1mp2t_1_1TsMuxer-members.html b/docs/d0/d53/classshaka_1_1media_1_1mp2t_1_1TsMuxer-members.html index adfa0f9e1f..b8cd11cf73 100644 --- a/docs/d0/d53/classshaka_1_1media_1_1mp2t_1_1TsMuxer-members.html +++ b/docs/d0/d53/classshaka_1_1media_1_1mp2t_1_1TsMuxer-members.html @@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d5b/classshaka_1_1media_1_1MpdNotifyMuxerListener-members.html b/docs/d0/d5b/classshaka_1_1media_1_1MpdNotifyMuxerListener-members.html index 9dd4a9456d..1d9bbcec97 100644 --- a/docs/d0/d5b/classshaka_1_1media_1_1MpdNotifyMuxerListener-members.html +++ b/docs/d0/d5b/classshaka_1_1media_1_1MpdNotifyMuxerListener-members.html @@ -101,16 +101,17 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); MpdNotifyMuxerListener(MpdNotifier *mpd_notifier)shaka::media::MpdNotifyMuxerListenerexplicit MuxerListener() (defined in shaka::media::MuxerListener)shaka::media::MuxerListenerinlineprotected OnEncryptionInfoReady(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info) overrideshaka::media::MpdNotifyMuxerListenervirtual - OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) overrideshaka::media::MpdNotifyMuxerListenervirtual - OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) overrideshaka::media::MpdNotifyMuxerListenervirtual - OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) overrideshaka::media::MpdNotifyMuxerListenervirtual - OnSampleDurationReady(uint32_t sample_duration) overrideshaka::media::MpdNotifyMuxerListenervirtual - ~MpdNotifyMuxerListener() override (defined in shaka::media::MpdNotifyMuxerListener)shaka::media::MpdNotifyMuxerListener - ~MuxerListener() (defined in shaka::media::MuxerListener)shaka::media::MuxerListenerinlinevirtual + OnEncryptionStart() overrideshaka::media::MpdNotifyMuxerListenervirtual + OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) overrideshaka::media::MpdNotifyMuxerListenervirtual + OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) overrideshaka::media::MpdNotifyMuxerListenervirtual + OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) overrideshaka::media::MpdNotifyMuxerListenervirtual + OnSampleDurationReady(uint32_t sample_duration) overrideshaka::media::MpdNotifyMuxerListenervirtual + ~MpdNotifyMuxerListener() override (defined in shaka::media::MpdNotifyMuxerListener)shaka::media::MpdNotifyMuxerListener + ~MuxerListener() (defined in shaka::media::MuxerListener)shaka::media::MuxerListenerinlinevirtual diff --git a/docs/d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html b/docs/d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html index 1971355314..b55f2e2dcc 100644 --- a/docs/d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html +++ b/docs/d0/d66/classshaka_1_1media_1_1ThreadedIoFile.html @@ -438,7 +438,7 @@ Additional Inherited Members diff --git a/docs/d0/d6a/classshaka_1_1media_1_1StreamDescriptorCompareFn-members.html b/docs/d0/d6a/classshaka_1_1media_1_1StreamDescriptorCompareFn-members.html index 70db7ba637..6dd30cfeb8 100644 --- a/docs/d0/d6a/classshaka_1_1media_1_1StreamDescriptorCompareFn-members.html +++ b/docs/d0/d6a/classshaka_1_1media_1_1StreamDescriptorCompareFn-members.html @@ -97,7 +97,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d73/structshaka_1_1media_1_1mp4_1_1VideoSampleEntry.html b/docs/d0/d73/structshaka_1_1media_1_1mp4_1_1VideoSampleEntry.html index e1cf5a5e45..fadf2285ff 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 f02da0f829..b960ad0d6a 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 310a9fd392..a02ec5fad3 100644 --- a/docs/d0/d7d/decryptor__source_8h_source.html +++ b/docs/d0/d7d/decryptor__source_8h_source.html @@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/d80/classshaka_1_1media_1_1AesCbcEncryptor-members.html b/docs/d0/d80/classshaka_1_1media_1_1AesCbcEncryptor-members.html index d9a3c114f7..eb31c4f4fa 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 6d2adc0917..4acc9dab78 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 08407fea2e..ac09ce8eb7 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 11bf8a2226..cc5e11a2cf 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 6d0ca19366..2f797b524e 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 22df287e33..71cf89ce68 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 ac3117977b..579378fc6e 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 74219c138f..30e94f4b6a 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 37eb932cb2..6875db52a6 100644 --- a/docs/d0/dab/classshaka_1_1media_1_1mp4_1_1SingleSegmentSegmenter.html +++ b/docs/d0/dab/classshaka_1_1media_1_1mp4_1_1SingleSegmentSegmenter.html @@ -259,7 +259,7 @@ void set_progress_target diff --git a/docs/d0/dac/classshaka_1_1media_1_1FixedKeySource.html b/docs/d0/dac/classshaka_1_1media_1_1FixedKeySource.html index 7ad7762e4b..be3a64012d 100644 --- a/docs/d0/dac/classshaka_1_1media_1_1FixedKeySource.html +++ b/docs/d0/dac/classshaka_1_1media_1_1FixedKeySource.html @@ -479,7 +479,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 bdfce36b4f..d80c4d83fb 100644 --- a/docs/d0/dbd/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter-members.html +++ b/docs/d0/dbd/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter-members.html @@ -123,7 +123,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/dc1/structshaka_1_1media_1_1mp4_1_1VTTEmptyCueBox-members.html b/docs/d0/dc1/structshaka_1_1media_1_1mp4_1_1VTTEmptyCueBox-members.html index f8603480c8..815b1348ba 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 a3cfaf6e30..449239dce2 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 c88f4ee8bd..a4a6b39751 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 b8e7eb222a..f4ed05b54a 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 c8e4db5f43..04ede25b59 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 caa38d20ae..7cfab0d044 100644 --- a/docs/d0/dd6/webm__crypto__helpers_8cc_source.html +++ b/docs/d0/dd6/webm__crypto__helpers_8cc_source.html @@ -156,7 +156,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 bd554b1c97..1d161caf60 100644 --- a/docs/d0/dd8/classshaka_1_1media_1_1AesCtrEncryptor.html +++ b/docs/d0/dd8/classshaka_1_1media_1_1AesCtrEncryptor.html @@ -165,7 +165,7 @@ AES_KEY * mutable_aes_key< diff --git a/docs/d0/dee/segmenter__test__base_8h_source.html b/docs/d0/dee/segmenter__test__base_8h_source.html index 3d49ff968d..b25ba8e042 100644 --- a/docs/d0/dee/segmenter__test__base_8h_source.html +++ b/docs/d0/dee/segmenter__test__base_8h_source.html @@ -215,7 +215,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 0a9c2ae724..803f978aa7 100644 --- a/docs/d0/df3/packager__util_8cc_source.html +++ b/docs/d0/df3/packager__util_8cc_source.html @@ -332,7 +332,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d0/dfc/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry-members.html b/docs/d0/dfc/structshaka_1_1media_1_1mp4_1_1AudioSampleEntry-members.html index 1499b92c16..0645b26387 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 4ece87bc1d..2fbebb68a0 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 ecf2d5cbae..5d8c00cc7b 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 c3d18acfe7..3ac1536784 100644 --- a/docs/d1/d0b/hevc__decoder__configuration__record_8cc_source.html +++ b/docs/d1/d0b/hevc__decoder__configuration__record_8cc_source.html @@ -257,7 +257,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 c48807197d..29fc48d144 100644 --- a/docs/d1/d12/classshaka_1_1media_1_1mp2t_1_1EsParserH264-members.html +++ b/docs/d1/d12/classshaka_1_1media_1_1mp2t_1_1EsParserH264-members.html @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d13/status_8h_source.html b/docs/d1/d13/status_8h_source.html index 1b75037d47..d9047c7f8d 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 f711c18e29..051baf6aa1 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 @@ -275,7 +275,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d1d/muxer__flags_8cc_source.html b/docs/d1/d1d/muxer__flags_8cc_source.html index d34abd1f11..ec91ebe9de 100644 --- a/docs/d1/d1d/muxer__flags_8cc_source.html +++ b/docs/d1/d1d/muxer__flags_8cc_source.html @@ -143,7 +143,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 cb1020e014..8079cf48b6 100644 --- a/docs/d1/d1f/classshaka_1_1media_1_1KeySource.html +++ b/docs/d1/d1f/classshaka_1_1media_1_1KeySource.html @@ -407,7 +407,7 @@ static std::string  diff --git a/docs/d1/d20/classshaka_1_1media_1_1mp4_1_1DecodingTimeIterator.html b/docs/d1/d20/classshaka_1_1media_1_1mp4_1_1DecodingTimeIterator.html index d7e358e279..5c05a54fee 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 f3f5fd2c1e..833d738d69 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 ade11013c9..a7b8804a08 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 519f440661..30029e72e1 100644 --- a/docs/d1/d2a/decryptor__source_8cc_source.html +++ b/docs/d1/d2a/decryptor__source_8cc_source.html @@ -209,7 +209,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d2c/structshaka_1_1media_1_1mp4_1_1DataReference-members.html b/docs/d1/d2c/structshaka_1_1media_1_1mp4_1_1DataReference-members.html index 879ab20066..f0ad068389 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 ce753a2d52..65e25f08cf 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 ea7f300c8b..4b19fa2cb8 100644 --- a/docs/d1/d2f/webvtt__media__parser_8cc_source.html +++ b/docs/d1/d2f/webvtt__media__parser_8cc_source.html @@ -491,7 +491,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d30/classshaka_1_1media_1_1mp2t_1_1TsSectionPes.html b/docs/d1/d30/classshaka_1_1media_1_1mp2t_1_1TsSectionPes.html index a0ebff1c54..882e4b6e50 100644 --- a/docs/d1/d30/classshaka_1_1media_1_1mp2t_1_1TsSectionPes.html +++ b/docs/d1/d30/classshaka_1_1media_1_1mp2t_1_1TsSectionPes.html @@ -142,7 +142,7 @@ Additional Inherited Members diff --git a/docs/d1/d31/classshaka_1_1xml_1_1XmlNode.html b/docs/d1/d31/classshaka_1_1xml_1_1XmlNode.html index f8442bc8ef..dce913b614 100644 --- a/docs/d1/d31/classshaka_1_1xml_1_1XmlNode.html +++ b/docs/d1/d31/classshaka_1_1xml_1_1XmlNode.html @@ -419,7 +419,7 @@ bool  diff --git a/docs/d1/d34/structshaka_1_1media_1_1SubsampleEntry.html b/docs/d1/d34/structshaka_1_1media_1_1SubsampleEntry.html index 23e3ec3426..f1520419b6 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 8985f7c12b..87d1a2cfe3 100644 --- a/docs/d1/d37/es__parser__h264_8h_source.html +++ b/docs/d1/d37/es__parser__h264_8h_source.html @@ -153,7 +153,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d3b/mpd__generator__flags_8h_source.html b/docs/d1/d3b/mpd__generator__flags_8h_source.html index 9df7d6c849..b8556d0564 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 b1aa524b33..cce458e3e3 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 76ae278cdc..297cdfbaf2 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 fcf6bf7f5c..dcd62cf8df 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 91a0a6193c..ade8f83239 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 c54e101b7f..a7cfdce96f 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 4125736eea..cd5fcb3e6f 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 3e3675fd85..086de2427f 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 2492265f78..b5f9114d00 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 7bb647514c..e0d8372761 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 923c0bf2e7..160e6124f5 100644 --- a/docs/d1/d74/mp2t__media__parser_8cc_source.html +++ b/docs/d1/d74/mp2t__media__parser_8cc_source.html @@ -539,7 +539,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html b/docs/d1/d79/classshaka_1_1media_1_1H265VideoSliceHeaderParser.html index 81cfb1774a..d9fcc0b8d5 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 295470ecc3..0ce94c43c2 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 1b3e58dcf0..188107f1de 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 0ff2ece515..10f0e0e89f 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 e61f945e0a..998393f920 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 4b9f54319e..0fc564f5cd 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)shaka::media::mp4::EncryptingFragmenter + 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 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 @@ -123,7 +123,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 f251b5ade8..9edb05e2c5 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 4afdeaa931..9efd27b38f 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 c34c46f14e..42ac9bbbdf 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 6a41e877ab..50d0bb3913 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 9495ac83ba..9170ed138e 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 e275480af4..ecc4972c46 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 655222b937..29f3198be5 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 d867139c69..1b9b98f07b 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 7abb95863a..a80201e731 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 e321a3e096..508d09c8dc 100644 --- a/docs/d1/dad/classshaka_1_1media_1_1Demuxer-members.html +++ b/docs/d1/dad/classshaka_1_1media_1_1Demuxer-members.html @@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/db0/structshaka_1_1media_1_1mp4_1_1VideoMediaHeader.html b/docs/d1/db0/structshaka_1_1media_1_1mp4_1_1VideoMediaHeader.html index 3e62fb300c..03777ee149 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 66efae3101..089adc4e5c 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 9b6d0de6e6..22c9d879f8 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 ae0bca4938..7bc325fbc2 100644 --- a/docs/d1/dcb/encrypting__fragmenter_8h_source.html +++ b/docs/d1/dcb/encrypting__fragmenter_8h_source.html @@ -101,97 +101,101 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
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"
-
15 #include "packager/media/formats/mp4/fragmenter.h"
-
16 
-
17 namespace shaka {
-
18 namespace media {
-
19 
-
20 class AesCryptor;
-
21 class StreamInfo;
-
22 struct EncryptionKey;
-
23 
-
24 namespace mp4 {
-
25 
- -
28  public:
-
40  EncryptingFragmenter(scoped_refptr<StreamInfo> info,
-
41  TrackFragment* traf,
-
42  scoped_ptr<EncryptionKey> encryption_key,
-
43  int64_t clear_time,
-
44  FourCC protection_scheme,
-
45  uint8_t crypt_byte_block,
-
46  uint8_t skip_byte_block);
-
47 
-
48  ~EncryptingFragmenter() override;
+
15 #include "packager/media/event/muxer_listener.h"
+
16 #include "packager/media/formats/mp4/fragmenter.h"
+
17 
+
18 namespace shaka {
+
19 namespace media {
+
20 
+
21 class AesCryptor;
+
22 class StreamInfo;
+
23 struct EncryptionKey;
+
24 
+
25 namespace mp4 {
+
26 
+ +
29  public:
+
41  EncryptingFragmenter(scoped_refptr<StreamInfo> info,
+
42  TrackFragment* traf,
+
43  scoped_ptr<EncryptionKey> encryption_key,
+
44  int64_t clear_time,
+
45  FourCC protection_scheme,
+
46  uint8_t crypt_byte_block,
+
47  uint8_t skip_byte_block,
+
48  MuxerListener* listener);
49 
-
52  Status AddSample(scoped_refptr<MediaSample> sample) override;
-
53  Status InitializeFragment(int64_t first_sample_dts) override;
-
54  void FinalizeFragment() override;
-
56 
-
57  protected:
-
60  virtual Status PrepareFragmentForEncryption(bool enable_encryption);
-
62  virtual void FinalizeFragmentForEncryption();
-
63 
- -
68 
-
69  const EncryptionKey* encryption_key() const { return encryption_key_.get(); }
-
70  AesCryptor* encryptor() { return encryptor_.get(); }
-
71  FourCC protection_scheme() const { return protection_scheme_; }
-
72  uint8_t crypt_byte_block() const { return crypt_byte_block_; }
-
73  uint8_t skip_byte_block() const { return skip_byte_block_; }
-
74 
-
75  void set_encryption_key(scoped_ptr<EncryptionKey> encryption_key) {
-
76  encryption_key_ = encryption_key.Pass();
-
77  }
-
78 
-
79  private:
-
80  void EncryptBytes(uint8_t* data, uint32_t size);
-
81  Status EncryptSample(scoped_refptr<MediaSample> sample);
-
82 
-
83  // Should we enable subsample encryption?
-
84  bool IsSubsampleEncryptionRequired();
-
85 
-
86  scoped_refptr<StreamInfo> info_;
-
87  scoped_ptr<EncryptionKey> encryption_key_;
-
88  scoped_ptr<AesCryptor> encryptor_;
-
89  // If this stream contains AVC, subsample encryption specifies that the size
-
90  // and type of NAL units remain unencrypted. This function returns the size of
-
91  // the size field in bytes. Can be 1, 2 or 4 bytes.
-
92  const uint8_t nalu_length_size_;
-
93  const VideoCodec video_codec_;
-
94  int64_t clear_time_;
-
95  const FourCC protection_scheme_;
-
96  const uint8_t crypt_byte_block_;
-
97  const uint8_t skip_byte_block_;
-
98 
-
99  scoped_ptr<VPxParser> vpx_parser_;
-
100  scoped_ptr<VideoSliceHeaderParser> header_parser_;
+
50  ~EncryptingFragmenter() override;
+
51 
+
54  Status AddSample(scoped_refptr<MediaSample> sample) override;
+
55  Status InitializeFragment(int64_t first_sample_dts) override;
+
56  void FinalizeFragment() override;
+
58 
+
59  protected:
+
62  virtual Status PrepareFragmentForEncryption(bool enable_encryption);
+
64  virtual void FinalizeFragmentForEncryption();
+
65 
+ +
70 
+
71  const EncryptionKey* encryption_key() const { return encryption_key_.get(); }
+
72  AesCryptor* encryptor() { return encryptor_.get(); }
+
73  FourCC protection_scheme() const { return protection_scheme_; }
+
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();
+
79  }
+
80 
+
81  private:
+
82  void EncryptBytes(uint8_t* data, uint32_t size);
+
83  Status EncryptSample(scoped_refptr<MediaSample> sample);
+
84 
+
85  // Should we enable subsample encryption?
+
86  bool IsSubsampleEncryptionRequired();
+
87 
+
88  scoped_refptr<StreamInfo> info_;
+
89  scoped_ptr<EncryptionKey> encryption_key_;
+
90  scoped_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.
+
94  const uint8_t nalu_length_size_;
+
95  const VideoCodec video_codec_;
+
96  int64_t clear_time_;
+
97  const FourCC protection_scheme_;
+
98  const uint8_t crypt_byte_block_;
+
99  const uint8_t skip_byte_block_;
+
100  MuxerListener* listener_;
101 
-
102  DISALLOW_COPY_AND_ASSIGN(EncryptingFragmenter);
-
103 };
+
102  scoped_ptr<VPxParser> vpx_parser_;
+
103  scoped_ptr<VideoSliceHeaderParser> header_parser_;
104 
-
105 } // namespace mp4
-
106 } // namespace media
-
107 } // namespace shaka
-
108 
-
109 #endif // MEDIA_FORMATS_MP4_ENCRYPTING_FRAGMENTER_H_
-
Status AddSample(scoped_refptr< MediaSample > sample) override
+
105  DISALLOW_COPY_AND_ASSIGN(EncryptingFragmenter);
+
106 };
+
107 
+
108 } // namespace mp4
+
109 } // namespace media
+
110 } // namespace shaka
+
111 
+
112 #endif // MEDIA_FORMATS_MP4_ENCRYPTING_FRAGMENTER_H_
+
Status AddSample(scoped_refptr< MediaSample > sample) override
-
Status InitializeFragment(int64_t first_sample_dts) 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)
-
void FinalizeFragment() override
Finalize and optimize the fragment.
-
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)
-
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.
+
EncryptingFragmenter generates MP4 fragments with sample encrypted.
- -
virtual Status PrepareFragmentForEncryption(bool enable_encryption)
+ +
virtual Status PrepareFragmentForEncryption(bool enable_encryption)
+ diff --git a/docs/d1/dd5/classshaka_1_1media_1_1Cluster.html b/docs/d1/dd5/classshaka_1_1media_1_1Cluster.html index a45307f142..06c22f3f98 100644 --- a/docs/d1/dd5/classshaka_1_1media_1_1Cluster.html +++ b/docs/d1/dd5/classshaka_1_1media_1_1Cluster.html @@ -116,7 +116,7 @@ int size () const diff --git a/docs/d1/dd6/structshaka_1_1media_1_1mp4_1_1DataInformation-members.html b/docs/d1/dd6/structshaka_1_1media_1_1mp4_1_1DataInformation-members.html index dd2e418147..ed5648a72f 100644 --- a/docs/d1/dd6/structshaka_1_1media_1_1mp4_1_1DataInformation-members.html +++ b/docs/d1/dd6/structshaka_1_1media_1_1mp4_1_1DataInformation-members.html @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/de2/classshaka_1_1media_1_1VideoStreamInfo-members.html b/docs/d1/de2/classshaka_1_1media_1_1VideoStreamInfo-members.html index a25b267604..35c76dab72 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 9402660afc..52b27f1ad8 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 fe1a5959e7..a2ecd0cb4b 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 bd41d8a77c..60581123fb 100644 --- a/docs/d1/de7/classshaka_1_1xml_1_1AdaptationSetXmlNode.html +++ b/docs/d1/de7/classshaka_1_1xml_1_1AdaptationSetXmlNode.html @@ -197,7 +197,7 @@ Additional Inherited Members diff --git a/docs/d1/de7/structshaka_1_1media_1_1H265ReferencePictureListModifications-members.html b/docs/d1/de7/structshaka_1_1media_1_1H265ReferencePictureListModifications-members.html index e45554ac5e..7910b02ff5 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 404a56bb3b..22d98e6acf 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 2bf71a9c1d..626b355457 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 ef82965eaf..5eeef7547f 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 7b75e77e1e..cc440f1f9c 100644 --- a/docs/d1/df0/aes__encryptor_8h_source.html +++ b/docs/d1/df0/aes__encryptor_8h_source.html @@ -195,7 +195,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d1/df3/structshaka_1_1MpdOptions.html b/docs/d1/df3/structshaka_1_1MpdOptions.html index cab2e90cb6..89f60945c3 100644 --- a/docs/d1/df3/structshaka_1_1MpdOptions.html +++ b/docs/d1/df3/structshaka_1_1MpdOptions.html @@ -130,7 +130,7 @@ std::string packager_versi diff --git a/docs/d1/df5/nalu__reader_8cc_source.html b/docs/d1/df5/nalu__reader_8cc_source.html index c66dc6a690..9a2a86107a 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 bebeb3b4d4..a4f361ae43 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 7d69743f5a..c88f11657f 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 fb263443ee..4aa0987ec0 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 51e212112b..b59860b84b 100644 --- a/docs/d2/d0f/classshaka_1_1MpdBuilder-members.html +++ b/docs/d2/d0f/classshaka_1_1MpdBuilder-members.html @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d0f/structshaka_1_1media_1_1wvm_1_1PrevSampleData.html b/docs/d2/d0f/structshaka_1_1media_1_1wvm_1_1PrevSampleData.html index 473fc748da..dc77609220 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 8a9bfc8fbd..726372cf8e 100644 --- a/docs/d2/d11/classshaka_1_1media_1_1MuxerListener-members.html +++ b/docs/d2/d11/classshaka_1_1media_1_1MuxerListener-members.html @@ -100,15 +100,16 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); kContainerWebM enum value (defined in shaka::media::MuxerListener)shaka::media::MuxerListener MuxerListener() (defined in shaka::media::MuxerListener)shaka::media::MuxerListenerinlineprotected OnEncryptionInfoReady(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info)=0shaka::media::MuxerListenerpure virtual - OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size)=0shaka::media::MuxerListenerpure virtual - OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)=0shaka::media::MuxerListenerpure virtual - OnNewSegment(const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)=0shaka::media::MuxerListenerpure virtual - OnSampleDurationReady(uint32_t sample_duration)=0shaka::media::MuxerListenerpure virtual - ~MuxerListener() (defined in shaka::media::MuxerListener)shaka::media::MuxerListenerinlinevirtual + OnEncryptionStart()=0shaka::media::MuxerListenerpure virtual + OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size)=0shaka::media::MuxerListenerpure virtual + OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)=0shaka::media::MuxerListenerpure virtual + OnNewSegment(const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)=0shaka::media::MuxerListenerpure virtual + OnSampleDurationReady(uint32_t sample_duration)=0shaka::media::MuxerListenerpure virtual + ~MuxerListener() (defined in shaka::media::MuxerListener)shaka::media::MuxerListenerinlinevirtual diff --git a/docs/d2/d17/ts__section__pat_8cc_source.html b/docs/d2/d17/ts__section__pat_8cc_source.html index a8a408dbe4..54bc50a9fa 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 b2c5d08dce..0add615b71 100644 --- a/docs/d2/d23/threaded__io__file_8cc_source.html +++ b/docs/d2/d23/threaded__io__file_8cc_source.html @@ -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 a72a03e7a4..2564b0f94e 100644 --- a/docs/d2/d24/packager__util_8h_source.html +++ b/docs/d2/d24/packager__util_8h_source.html @@ -141,7 +141,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d29/classshaka_1_1media_1_1mp4_1_1KeyRotationFragmenter.html b/docs/d2/d29/classshaka_1_1media_1_1mp4_1_1KeyRotationFragmenter.html index e6ad15528a..b4f5eab191 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) -  + 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 @@ -315,7 +315,7 @@ void set_encryption_keyReimplemented from shaka::media::mp4::EncryptingFragmenter.

-

Definition at line 50 of file key_rotation_fragmenter.cc.

+

Definition at line 51 of file key_rotation_fragmenter.cc.

@@ -326,7 +326,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 ef11613dfe..29271ebeba 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 9d383e59ca..91c31abd5b 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 0badc790e7..31e9309394 100644 --- a/docs/d2/d35/classshaka_1_1media_1_1WidevineKeySource-members.html +++ b/docs/d2/d35/classshaka_1_1media_1_1WidevineKeySource-members.html @@ -119,7 +119,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d3c/structshaka_1_1media_1_1mp4_1_1TrackFragmentHeader-members.html b/docs/d2/d3c/structshaka_1_1media_1_1mp4_1_1TrackFragmentHeader-members.html index 6d00f7e477..056028d8d1 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 3a341f4110..0c37d45360 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 194fac3869..c9b91affa7 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 faf706a851..7af896ce8d 100644 --- a/docs/d2/d4d/file_8h_source.html +++ b/docs/d2/d4d/file_8h_source.html @@ -191,7 +191,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d4f/structshaka_1_1Element-members.html b/docs/d2/d4f/structshaka_1_1Element-members.html index 0809f47626..5ee4a5f80f 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 55de563e80..49b273d301 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 d514b1c8ca..d3e9479906 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 ad9ca2884f..848e64598a 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 e2406f18f3..4872926989 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 ab2c2f3b7f..2200543032 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 69c402c807..5f07ec8289 100644 --- a/docs/d2/d62/simple__mpd__notifier_8h_source.html +++ b/docs/d2/d62/simple__mpd__notifier_8h_source.html @@ -186,7 +186,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/d62/structshaka_1_1media_1_1mp4_1_1Movie-members.html b/docs/d2/d62/structshaka_1_1media_1_1mp4_1_1Movie-members.html index aed16f0ff8..67b0c701ef 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 47b8745c25..0568cebf4c 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 f08dee1cab..0ca9ab97ca 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 6530cb6fb3..a001f67ad1 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 77e202b655..42b514e63f 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 a263046f04..a4344a4cea 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 9b81d91406..32e718ea4a 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 3a9bcbbd0c..7b3e4d82c0 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 c1633a6ac5..5ce6d44f48 100644 --- a/docs/d2/d8a/hls__notify__muxer__listener_8h_source.html +++ b/docs/d2/d8a/hls__notify__muxer__listener_8h_source.html @@ -123,51 +123,59 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
45  const std::vector<uint8_t>& iv,
46  const std::vector<ProtectionSystemSpecificInfo>&
47  key_system_info) override;
-
48  void OnMediaStart(const MuxerOptions& muxer_options,
-
49  const StreamInfo& stream_info,
-
50  uint32_t time_scale,
-
51  ContainerType container_type) override;
-
52  void OnSampleDurationReady(uint32_t sample_duration) override;
-
53  void OnMediaEnd(bool has_init_range,
-
54  uint64_t init_range_start,
-
55  uint64_t init_range_end,
-
56  bool has_index_range,
-
57  uint64_t index_range_start,
-
58  uint64_t index_range_end,
-
59  float duration_seconds,
-
60  uint64_t file_size) override;
-
61  void OnNewSegment(const std::string& file_name,
-
62  uint64_t start_time,
-
63  uint64_t duration,
-
64  uint64_t segment_file_size) override;
-
66 
-
67  private:
-
68  const std::string playlist_name_;
-
69  const std::string ext_x_media_name_;
-
70  const std::string ext_x_media_group_id_;
-
71  hls::HlsNotifier* const hls_notifier_;
-
72  uint32_t stream_id_ = 0;
-
73 
-
74  DISALLOW_COPY_AND_ASSIGN(HlsNotifyMuxerListener);
-
75 };
-
76 
-
77 } // namespace media
-
78 } // namespace shaka
-
79 #endif // PACKAGER_MEDIA_EVENT_HLS_NOTIFY_MUXER_LISTENER_H_
-
void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) override
+
48  void OnEncryptionStart() override;
+
49  void OnMediaStart(const MuxerOptions& muxer_options,
+
50  const StreamInfo& stream_info,
+
51  uint32_t time_scale,
+
52  ContainerType container_type) override;
+
53  void OnSampleDurationReady(uint32_t sample_duration) override;
+
54  void OnMediaEnd(bool has_init_range,
+
55  uint64_t init_range_start,
+
56  uint64_t init_range_end,
+
57  bool has_index_range,
+
58  uint64_t index_range_start,
+
59  uint64_t index_range_end,
+
60  float duration_seconds,
+
61  uint64_t file_size) override;
+
62  void OnNewSegment(const std::string& file_name,
+
63  uint64_t start_time,
+
64  uint64_t duration,
+
65  uint64_t segment_file_size) override;
+
67 
+
68  private:
+
69  const std::string playlist_name_;
+
70  const std::string ext_x_media_name_;
+
71  const std::string ext_x_media_group_id_;
+
72  hls::HlsNotifier* const hls_notifier_;
+
73  uint32_t stream_id_ = 0;
+
74 
+
75  bool media_started_ = false;
+
76  // Cached encryption info before OnMediaStart() is called.
+
77  std::vector<uint8_t> next_key_id_;
+
78  std::vector<uint8_t> next_iv_;
+
79  std::vector<ProtectionSystemSpecificInfo> next_key_system_infos_;
+
80 
+
81  DISALLOW_COPY_AND_ASSIGN(HlsNotifyMuxerListener);
+
82 };
+
83 
+
84 } // namespace media
+
85 } // namespace shaka
+
86 #endif // PACKAGER_MEDIA_EVENT_HLS_NOTIFY_MUXER_LISTENER_H_
+
void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) override
Abstract class holds stream information.
Definition: stream_info.h:26
void OnEncryptionInfoReady(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info) override
MuxerListener that uses HlsNotifier.
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
-
void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
-
void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) override
-
void OnSampleDurationReady(uint32_t sample_duration) override
+ +
void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
+
void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) override
+
void OnSampleDurationReady(uint32_t sample_duration) override
HlsNotifyMuxerListener(const std::string &playlist_name, const std::string &ext_x_media_name, const std::string &ext_x_media_group_id, hls::HlsNotifier *hls_notifier)
diff --git a/docs/d2/d91/structshaka_1_1media_1_1mp4_1_1CuePayloadBox-members.html b/docs/d2/d91/structshaka_1_1media_1_1mp4_1_1CuePayloadBox-members.html index 816ed66688..5c4c5c74f8 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 7c578beb32..e8db0c7033 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 544fe847a5..c3f88b972e 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 54c0d990c8..a34f6a3fbf 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 b2423b7074..4f2476dc86 100644 --- a/docs/d2/da6/threaded__io__file_8h_source.html +++ b/docs/d2/da6/threaded__io__file_8h_source.html @@ -172,7 +172,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/da8/mp4_2segmenter_8cc_source.html b/docs/d2/da8/mp4_2segmenter_8cc_source.html index 3498b59c00..e410d82ad6 100644 --- a/docs/d2/da8/mp4_2segmenter_8cc_source.html +++ b/docs/d2/da8/mp4_2segmenter_8cc_source.html @@ -348,225 +348,226 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
259  fragmenters_[i] = new EncryptingFragmenter(
260  streams[i]->info(), &moof_->tracks[i], encryption_key.Pass(),
261  clear_lead_in_seconds * streams[i]->info()->time_scale(),
-
262  protection_scheme, pattern.crypt_byte_block, pattern.skip_byte_block);
-
263  }
-
264 
-
265  // Choose the first stream if there is no VIDEO.
-
266  if (sidx_->reference_id == 0)
-
267  sidx_->reference_id = 1;
-
268  sidx_->timescale = streams[GetReferenceStreamId()]->info()->time_scale();
-
269 
-
270  // Use media duration as progress target.
-
271  progress_target_ = streams[GetReferenceStreamId()]->info()->duration();
-
272 
-
273  // Use the reference stream's time scale as movie time scale.
-
274  moov_->header.timescale = sidx_->timescale;
-
275  moof_->header.sequence_number = 1;
-
276 
-
277  // Fill in version information.
-
278  moov_->metadata.handler.handler_type = FOURCC_ID32;
-
279  moov_->metadata.id3v2.language.code = "eng";
-
280  moov_->metadata.id3v2.private_frame.owner =
-
281  "https://github.com/google/shaka-packager";
-
282  moov_->metadata.id3v2.private_frame.value = options_.packager_version_string;
-
283  return DoInitialize();
-
284 }
-
285 
- -
287  for (std::vector<Fragmenter*>::iterator it = fragmenters_.begin();
-
288  it != fragmenters_.end();
-
289  ++it) {
-
290  Status status = FinalizeFragment(true, *it);
-
291  if (!status.ok())
-
292  return status;
-
293  }
-
294 
-
295  // Set tracks and moov durations.
-
296  // Note that the updated moov box will be written to output file for VOD case
-
297  // only.
-
298  for (std::vector<Track>::iterator track = moov_->tracks.begin();
-
299  track != moov_->tracks.end();
-
300  ++track) {
-
301  track->header.duration = Rescale(track->media.header.duration,
-
302  track->media.header.timescale,
-
303  moov_->header.timescale);
-
304  if (track->header.duration > moov_->header.duration)
-
305  moov_->header.duration = track->header.duration;
-
306  }
-
307  moov_->extends.header.fragment_duration = moov_->header.duration;
-
308 
-
309  return DoFinalize();
-
310 }
-
311 
- -
313  scoped_refptr<MediaSample> sample) {
-
314  // Find the fragmenter for this stream.
-
315  DCHECK(stream);
-
316  DCHECK(stream_map_.find(stream) != stream_map_.end());
-
317  uint32_t stream_id = stream_map_[stream];
-
318  Fragmenter* fragmenter = fragmenters_[stream_id];
-
319 
-
320  // Set default sample duration if it has not been set yet.
-
321  if (moov_->extends.tracks[stream_id].default_sample_duration == 0) {
-
322  moov_->extends.tracks[stream_id].default_sample_duration =
-
323  sample->duration();
-
324  }
-
325 
-
326  if (fragmenter->fragment_finalized()) {
-
327  return Status(error::FRAGMENT_FINALIZED,
-
328  "Current fragment is finalized already.");
-
329  }
-
330 
-
331  bool finalize_fragment = false;
-
332  if (fragmenter->fragment_duration() >=
-
333  options_.fragment_duration * stream->info()->time_scale()) {
-
334  if (sample->is_key_frame() || !options_.fragment_sap_aligned) {
-
335  finalize_fragment = true;
-
336  }
-
337  }
-
338  bool finalize_segment = false;
-
339  if (segment_durations_[stream_id] >=
-
340  options_.segment_duration * stream->info()->time_scale()) {
-
341  if (sample->is_key_frame() || !options_.segment_sap_aligned) {
-
342  finalize_segment = true;
-
343  finalize_fragment = true;
-
344  }
-
345  }
-
346 
-
347  Status status;
-
348  if (finalize_fragment) {
-
349  status = FinalizeFragment(finalize_segment, fragmenter);
-
350  if (!status.ok())
-
351  return status;
-
352  }
-
353 
-
354  status = fragmenter->AddSample(sample);
-
355  if (!status.ok())
-
356  return status;
-
357 
-
358  if (sample_duration_ == 0)
-
359  sample_duration_ = sample->duration();
-
360  moov_->tracks[stream_id].media.header.duration += sample->duration();
-
361  segment_durations_[stream_id] += sample->duration();
-
362  DCHECK_GE(segment_durations_[stream_id], fragmenter->fragment_duration());
-
363  return Status::OK;
-
364 }
-
365 
-
366 uint32_t Segmenter::GetReferenceTimeScale() const {
-
367  return moov_->header.timescale;
-
368 }
-
369 
-
370 double Segmenter::GetDuration() const {
-
371  if (moov_->header.timescale == 0) {
-
372  // Handling the case where this is not properly initialized.
-
373  return 0.0;
-
374  }
-
375 
-
376  return static_cast<double>(moov_->header.duration) / moov_->header.timescale;
-
377 }
-
378 
-
379 void Segmenter::UpdateProgress(uint64_t progress) {
-
380  accumulated_progress_ += progress;
-
381 
-
382  if (!progress_listener_) return;
-
383  if (progress_target_ == 0) return;
-
384  // It might happen that accumulated progress exceeds progress_target due to
-
385  // computation errors, e.g. rounding error. Cap it so it never reports > 100%
-
386  // progress.
-
387  if (accumulated_progress_ >= progress_target_) {
-
388  progress_listener_->OnProgress(1.0);
-
389  } else {
-
390  progress_listener_->OnProgress(static_cast<double>(accumulated_progress_) /
-
391  progress_target_);
-
392  }
-
393 }
-
394 
-
395 void Segmenter::SetComplete() {
-
396  if (!progress_listener_) return;
-
397  progress_listener_->OnProgress(1.0);
-
398 }
-
399 
-
400 Status Segmenter::FinalizeSegment() {
-
401  Status status = DoFinalizeSegment();
-
402 
-
403  // Reset segment information to initial state.
-
404  sidx_->references.clear();
-
405  std::vector<uint64_t>::iterator it = segment_durations_.begin();
-
406  for (; it != segment_durations_.end(); ++it)
-
407  *it = 0;
-
408 
-
409  return status;
-
410 }
-
411 
-
412 uint32_t Segmenter::GetReferenceStreamId() {
-
413  DCHECK(sidx_);
-
414  return sidx_->reference_id - 1;
-
415 }
-
416 
-
417 Status Segmenter::FinalizeFragment(bool finalize_segment,
-
418  Fragmenter* fragmenter) {
-
419  fragmenter->FinalizeFragment();
-
420 
-
421  // Check if all tracks are ready for fragmentation.
-
422  for (std::vector<Fragmenter*>::iterator it = fragmenters_.begin();
-
423  it != fragmenters_.end();
-
424  ++it) {
-
425  if (!(*it)->fragment_finalized())
-
426  return Status::OK;
-
427  }
-
428 
-
429  MediaData mdat;
-
430  // Data offset relative to 'moof': moof size + mdat header size.
-
431  // The code will also update box sizes for moof_ and its child boxes.
-
432  uint64_t data_offset = moof_->ComputeSize() + mdat.HeaderSize();
-
433  // 'traf' should follow 'mfhd' moof header box.
-
434  uint64_t next_traf_position = moof_->HeaderSize() + moof_->header.box_size();
-
435  for (size_t i = 0; i < moof_->tracks.size(); ++i) {
-
436  TrackFragment& traf = moof_->tracks[i];
-
437  if (traf.auxiliary_offset.offsets.size() > 0) {
-
438  DCHECK_EQ(traf.auxiliary_offset.offsets.size(), 1u);
-
439  DCHECK(!traf.sample_encryption.sample_encryption_entries.empty());
-
440 
-
441  next_traf_position += traf.box_size();
-
442  // SampleEncryption 'senc' box should be the last box in 'traf'.
-
443  // |auxiliary_offset| should point to the data of SampleEncryption.
-
444  traf.auxiliary_offset.offsets[0] =
-
445  next_traf_position - traf.sample_encryption.box_size() +
-
446  traf.sample_encryption.HeaderSize() +
-
447  sizeof(uint32_t); // for sample count field in 'senc'
-
448  }
-
449  traf.runs[0].data_offset = data_offset + mdat.data_size;
-
450  mdat.data_size += fragmenters_[i]->data()->Size();
-
451  }
-
452 
-
453  // Generate segment reference.
-
454  sidx_->references.resize(sidx_->references.size() + 1);
-
455  fragmenters_[GetReferenceStreamId()]->GenerateSegmentReference(
-
456  &sidx_->references[sidx_->references.size() - 1]);
-
457  sidx_->references[sidx_->references.size() - 1].referenced_size =
-
458  data_offset + mdat.data_size;
-
459 
-
460  // Write the fragment to buffer.
-
461  moof_->Write(fragment_buffer_.get());
-
462  mdat.WriteHeader(fragment_buffer_.get());
-
463  for (Fragmenter* fragmenter : fragmenters_)
-
464  fragment_buffer_->AppendBuffer(*fragmenter->data());
-
465 
-
466  // Increase sequence_number for next fragment.
-
467  ++moof_->header.sequence_number;
-
468 
-
469  if (finalize_segment)
-
470  return FinalizeSegment();
-
471 
-
472  return Status::OK;
-
473 }
-
474 
-
475 } // namespace mp4
-
476 } // namespace media
-
477 } // namespace shaka
+
262  protection_scheme, pattern.crypt_byte_block, pattern.skip_byte_block,
+
263  muxer_listener_);
+
264  }
+
265 
+
266  // Choose the first stream if there is no VIDEO.
+
267  if (sidx_->reference_id == 0)
+
268  sidx_->reference_id = 1;
+
269  sidx_->timescale = streams[GetReferenceStreamId()]->info()->time_scale();
+
270 
+
271  // Use media duration as progress target.
+
272  progress_target_ = streams[GetReferenceStreamId()]->info()->duration();
+
273 
+
274  // Use the reference stream's time scale as movie time scale.
+
275  moov_->header.timescale = sidx_->timescale;
+
276  moof_->header.sequence_number = 1;
+
277 
+
278  // Fill in version information.
+
279  moov_->metadata.handler.handler_type = FOURCC_ID32;
+
280  moov_->metadata.id3v2.language.code = "eng";
+
281  moov_->metadata.id3v2.private_frame.owner =
+
282  "https://github.com/google/shaka-packager";
+
283  moov_->metadata.id3v2.private_frame.value = options_.packager_version_string;
+
284  return DoInitialize();
+
285 }
+
286 
+ +
288  for (std::vector<Fragmenter*>::iterator it = fragmenters_.begin();
+
289  it != fragmenters_.end();
+
290  ++it) {
+
291  Status status = FinalizeFragment(true, *it);
+
292  if (!status.ok())
+
293  return status;
+
294  }
+
295 
+
296  // Set tracks and moov durations.
+
297  // Note that the updated moov box will be written to output file for VOD case
+
298  // only.
+
299  for (std::vector<Track>::iterator track = moov_->tracks.begin();
+
300  track != moov_->tracks.end();
+
301  ++track) {
+
302  track->header.duration = Rescale(track->media.header.duration,
+
303  track->media.header.timescale,
+
304  moov_->header.timescale);
+
305  if (track->header.duration > moov_->header.duration)
+
306  moov_->header.duration = track->header.duration;
+
307  }
+
308  moov_->extends.header.fragment_duration = moov_->header.duration;
+
309 
+
310  return DoFinalize();
+
311 }
+
312 
+ +
314  scoped_refptr<MediaSample> sample) {
+
315  // Find the fragmenter for this stream.
+
316  DCHECK(stream);
+
317  DCHECK(stream_map_.find(stream) != stream_map_.end());
+
318  uint32_t stream_id = stream_map_[stream];
+
319  Fragmenter* fragmenter = fragmenters_[stream_id];
+
320 
+
321  // Set default sample duration if it has not been set yet.
+
322  if (moov_->extends.tracks[stream_id].default_sample_duration == 0) {
+
323  moov_->extends.tracks[stream_id].default_sample_duration =
+
324  sample->duration();
+
325  }
+
326 
+
327  if (fragmenter->fragment_finalized()) {
+
328  return Status(error::FRAGMENT_FINALIZED,
+
329  "Current fragment is finalized already.");
+
330  }
+
331 
+
332  bool finalize_fragment = false;
+
333  if (fragmenter->fragment_duration() >=
+
334  options_.fragment_duration * stream->info()->time_scale()) {
+
335  if (sample->is_key_frame() || !options_.fragment_sap_aligned) {
+
336  finalize_fragment = true;
+
337  }
+
338  }
+
339  bool finalize_segment = false;
+
340  if (segment_durations_[stream_id] >=
+
341  options_.segment_duration * stream->info()->time_scale()) {
+
342  if (sample->is_key_frame() || !options_.segment_sap_aligned) {
+
343  finalize_segment = true;
+
344  finalize_fragment = true;
+
345  }
+
346  }
+
347 
+
348  Status status;
+
349  if (finalize_fragment) {
+
350  status = FinalizeFragment(finalize_segment, fragmenter);
+
351  if (!status.ok())
+
352  return status;
+
353  }
+
354 
+
355  status = fragmenter->AddSample(sample);
+
356  if (!status.ok())
+
357  return status;
+
358 
+
359  if (sample_duration_ == 0)
+
360  sample_duration_ = sample->duration();
+
361  moov_->tracks[stream_id].media.header.duration += sample->duration();
+
362  segment_durations_[stream_id] += sample->duration();
+
363  DCHECK_GE(segment_durations_[stream_id], fragmenter->fragment_duration());
+
364  return Status::OK;
+
365 }
+
366 
+
367 uint32_t Segmenter::GetReferenceTimeScale() const {
+
368  return moov_->header.timescale;
+
369 }
+
370 
+
371 double Segmenter::GetDuration() const {
+
372  if (moov_->header.timescale == 0) {
+
373  // Handling the case where this is not properly initialized.
+
374  return 0.0;
+
375  }
+
376 
+
377  return static_cast<double>(moov_->header.duration) / moov_->header.timescale;
+
378 }
+
379 
+
380 void Segmenter::UpdateProgress(uint64_t progress) {
+
381  accumulated_progress_ += progress;
+
382 
+
383  if (!progress_listener_) return;
+
384  if (progress_target_ == 0) return;
+
385  // It might happen that accumulated progress exceeds progress_target due to
+
386  // computation errors, e.g. rounding error. Cap it so it never reports > 100%
+
387  // progress.
+
388  if (accumulated_progress_ >= progress_target_) {
+
389  progress_listener_->OnProgress(1.0);
+
390  } else {
+
391  progress_listener_->OnProgress(static_cast<double>(accumulated_progress_) /
+
392  progress_target_);
+
393  }
+
394 }
+
395 
+
396 void Segmenter::SetComplete() {
+
397  if (!progress_listener_) return;
+
398  progress_listener_->OnProgress(1.0);
+
399 }
+
400 
+
401 Status Segmenter::FinalizeSegment() {
+
402  Status status = DoFinalizeSegment();
+
403 
+
404  // Reset segment information to initial state.
+
405  sidx_->references.clear();
+
406  std::vector<uint64_t>::iterator it = segment_durations_.begin();
+
407  for (; it != segment_durations_.end(); ++it)
+
408  *it = 0;
+
409 
+
410  return status;
+
411 }
+
412 
+
413 uint32_t Segmenter::GetReferenceStreamId() {
+
414  DCHECK(sidx_);
+
415  return sidx_->reference_id - 1;
+
416 }
+
417 
+
418 Status Segmenter::FinalizeFragment(bool finalize_segment,
+
419  Fragmenter* fragmenter) {
+
420  fragmenter->FinalizeFragment();
+
421 
+
422  // Check if all tracks are ready for fragmentation.
+
423  for (std::vector<Fragmenter*>::iterator it = fragmenters_.begin();
+
424  it != fragmenters_.end();
+
425  ++it) {
+
426  if (!(*it)->fragment_finalized())
+
427  return Status::OK;
+
428  }
+
429 
+
430  MediaData mdat;
+
431  // Data offset relative to 'moof': moof size + mdat header size.
+
432  // The code will also update box sizes for moof_ and its child boxes.
+
433  uint64_t data_offset = moof_->ComputeSize() + mdat.HeaderSize();
+
434  // 'traf' should follow 'mfhd' moof header box.
+
435  uint64_t next_traf_position = moof_->HeaderSize() + moof_->header.box_size();
+
436  for (size_t i = 0; i < moof_->tracks.size(); ++i) {
+
437  TrackFragment& traf = moof_->tracks[i];
+
438  if (traf.auxiliary_offset.offsets.size() > 0) {
+
439  DCHECK_EQ(traf.auxiliary_offset.offsets.size(), 1u);
+
440  DCHECK(!traf.sample_encryption.sample_encryption_entries.empty());
+
441 
+
442  next_traf_position += traf.box_size();
+
443  // SampleEncryption 'senc' box should be the last box in 'traf'.
+
444  // |auxiliary_offset| should point to the data of SampleEncryption.
+
445  traf.auxiliary_offset.offsets[0] =
+
446  next_traf_position - traf.sample_encryption.box_size() +
+
447  traf.sample_encryption.HeaderSize() +
+
448  sizeof(uint32_t); // for sample count field in 'senc'
+
449  }
+
450  traf.runs[0].data_offset = data_offset + mdat.data_size;
+
451  mdat.data_size += fragmenters_[i]->data()->Size();
+
452  }
+
453 
+
454  // Generate segment reference.
+
455  sidx_->references.resize(sidx_->references.size() + 1);
+
456  fragmenters_[GetReferenceStreamId()]->GenerateSegmentReference(
+
457  &sidx_->references[sidx_->references.size() - 1]);
+
458  sidx_->references[sidx_->references.size() - 1].referenced_size =
+
459  data_offset + mdat.data_size;
+
460 
+
461  // Write the fragment to buffer.
+
462  moof_->Write(fragment_buffer_.get());
+
463  mdat.WriteHeader(fragment_buffer_.get());
+
464  for (Fragmenter* fragmenter : fragmenters_)
+
465  fragment_buffer_->AppendBuffer(*fragmenter->data());
+
466 
+
467  // Increase sequence_number for next fragment.
+
468  ++moof_->header.sequence_number;
+
469 
+
470  if (finalize_segment)
+
471  return FinalizeSegment();
+
472 
+
473  return Status::OK;
+
474 }
+
475 
+
476 } // namespace mp4
+
477 } // namespace media
+
478 } // namespace shaka
std::string packager_version_string
Specify the version string to be embedded in the output files.
Definition: muxer_options.h:71
- +
Status AddSample(scoped_refptr< MediaSample > sample)
Definition: segmenter.cc:114
virtual Status AddSample(scoped_refptr< MediaSample > sample)
Definition: fragmenter.cc:45
@@ -577,21 +578,21 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
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:48
static bool GenerateRandomIv(FourCC protection_scheme, std::vector< uint8_t > *iv)
Definition: aes_cryptor.cc:109
-
EncryptingFragmenter generates MP4 fragments with sample encrypted.
+
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
-
void UpdateProgress(uint64_t progress)
Update segmentation progress using ProgressListener.
Definition: segmenter.cc:249
+
void UpdateProgress(uint64_t progress)
Update segmentation progress using ProgressListener.
Definition: segmenter.cc:251
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 d8c0d4dbf6..2860cd135b 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 8dd23c087b..9187ccb2c3 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 aad3204790..0fc637bd58 100644 --- a/docs/d2/dae/webm__muxer_8cc_source.html +++ b/docs/d2/dae/webm__muxer_8cc_source.html @@ -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 c089471030..09513f57cf 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 39aab0fe8c..380eb56f50 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 de51b1b033..dcea59a748 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 cb1e5abcca..8be4146b6f 100644 --- a/docs/d2/dba/classshaka_1_1media_1_1SegmentTestBase.html +++ b/docs/d2/dba/classshaka_1_1media_1_1SegmentTestBase.html @@ -180,7 +180,7 @@ bool single_segment_ diff --git a/docs/d2/dc3/structshaka_1_1media_1_1mp4_1_1Track-members.html b/docs/d2/dc3/structshaka_1_1media_1_1mp4_1_1Track-members.html index bc75006f62..1cc0b27e31 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 61685d21e8..526ff3cb57 100644 --- a/docs/d2/dc7/structshaka_1_1MpdOptions-members.html +++ b/docs/d2/dc7/structshaka_1_1MpdOptions-members.html @@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/dcd/program__map__table__writer_8h_source.html b/docs/d2/dcd/program__map__table__writer_8h_source.html index c7c0951b12..202ee32be6 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 757d16de4f..3008fe250b 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 ecf58a7277..f4d7b8f056 100644 --- a/docs/d2/dd5/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter.html +++ b/docs/d2/dd5/classshaka_1_1media_1_1webm_1_1MultiSegmentSegmenter.html @@ -277,7 +277,7 @@ double cluster_length_sec< diff --git a/docs/d2/dd6/mkv__writer_8h_source.html b/docs/d2/dd6/mkv__writer_8h_source.html index 0b0a948d83..1029566063 100644 --- a/docs/d2/dd6/mkv__writer_8h_source.html +++ b/docs/d2/dd6/mkv__writer_8h_source.html @@ -152,7 +152,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html b/docs/d2/ddb/classshaka_1_1media_1_1WebMMediaParser.html index 4d05e52526..f2724b89f5 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 0550027fff..6dd25f3643 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 3a4e13294a..84dd54a1fb 100644 --- a/docs/d2/de6/packager__main_8cc_source.html +++ b/docs/d2/de6/packager__main_8cc_source.html @@ -634,13 +634,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
545 }
static bool Copy(const char *from_file_name, const char *to_file_name)
Definition: file.cc:202
bool ValidateWidevineCryptoFlags()
-
static bool WriteMediaInfoToFile(const MediaInfo &media_info, const std::string &output_file_path)
+
static bool WriteMediaInfoToFile(const MediaInfo &media_info, const std::string &output_file_path)
static bool ReadFileToString(const char *file_name, std::string *contents)
Definition: file.cc:184
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 926ac615ba..682c857deb 100644 --- a/docs/d2/de7/classshaka_1_1media_1_1TextStreamInfo-members.html +++ b/docs/d2/de7/classshaka_1_1media_1_1TextStreamInfo-members.html @@ -116,7 +116,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 c7693b4755..da97bb5a35 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 5e73fbdac4..6ce18a6b0e 100644 --- a/docs/d2/de9/mock__muxer__listener_8h_source.html +++ b/docs/d2/de9/mock__muxer__listener_8h_source.html @@ -119,48 +119,51 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
30  const std::vector<uint8_t>& iv,
31  const std::vector<ProtectionSystemSpecificInfo>& key_system_info));
32 
-
33  MOCK_METHOD4(OnMediaStart,
-
34  void(const MuxerOptions& muxer_options,
-
35  const StreamInfo& stream_info,
-
36  uint32_t time_scale,
-
37  ContainerType container_type));
-
38 
-
39  MOCK_METHOD1(OnSampleDurationReady, void(uint32_t sample_duration));
+
33  MOCK_METHOD0(OnEncryptionStart, void());
+
34 
+
35  MOCK_METHOD4(OnMediaStart,
+
36  void(const MuxerOptions& muxer_options,
+
37  const StreamInfo& stream_info,
+
38  uint32_t time_scale,
+
39  ContainerType container_type));
40 
-
41  MOCK_METHOD8(OnMediaEnd,
-
42  void(bool has_init_range,
-
43  uint64_t init_range_start,
-
44  uint64_t init_range_end,
-
45  bool has_index_range,
-
46  uint64_t index_range_start,
-
47  uint64_t index_range_end,
-
48  float duration_seconds,
-
49  uint64_t file_size));
-
50 
-
51  MOCK_METHOD4(OnNewSegment,
-
52  void(const std::string& segment_name,
-
53  uint64_t start_time,
-
54  uint64_t duration,
-
55  uint64_t segment_file_size));
-
56 };
-
57 
-
58 } // namespace media
-
59 } // namespace shaka
-
60 
-
61 #endif // PACKAGER_MEDIA_EVENT_MOCK_MUXER_LISTENER_H_
+
41  MOCK_METHOD1(OnSampleDurationReady, void(uint32_t sample_duration));
+
42 
+
43  MOCK_METHOD8(OnMediaEnd,
+
44  void(bool has_init_range,
+
45  uint64_t init_range_start,
+
46  uint64_t init_range_end,
+
47  bool has_index_range,
+
48  uint64_t index_range_start,
+
49  uint64_t index_range_end,
+
50  float duration_seconds,
+
51  uint64_t file_size));
+
52 
+
53  MOCK_METHOD4(OnNewSegment,
+
54  void(const std::string& segment_name,
+
55  uint64_t start_time,
+
56  uint64_t duration,
+
57  uint64_t segment_file_size));
+
58 };
+
59 
+
60 } // namespace media
+
61 } // namespace shaka
+
62 
+
63 #endif // PACKAGER_MEDIA_EVENT_MOCK_MUXER_LISTENER_H_
virtual void OnNewSegment(const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)=0
virtual void OnEncryptionInfoReady(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info)=0
virtual void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size)=0
Abstract class holds stream information.
Definition: stream_info.h:26
virtual void OnSampleDurationReady(uint32_t sample_duration)=0
+
virtual void OnEncryptionStart()=0
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
virtual void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)=0
diff --git a/docs/d2/deb/es__parser_8h_source.html b/docs/d2/deb/es__parser_8h_source.html index f46e0a3b57..ddc2ffdca3 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 11a8d5a55a..eb2b63226b 100644 --- a/docs/d2/dee/classshaka_1_1media_1_1mp2t_1_1TsSectionPes-members.html +++ b/docs/d2/dee/classshaka_1_1media_1_1mp2t_1_1TsSectionPes-members.html @@ -108,7 +108,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/dee/pes__packet__generator_8cc_source.html b/docs/d2/dee/pes__packet__generator_8cc_source.html index 813a2c3006..4f00f161e5 100644 --- a/docs/d2/dee/pes__packet__generator_8cc_source.html +++ b/docs/d2/dee/pes__packet__generator_8cc_source.html @@ -328,7 +328,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d2/df8/classshaka_1_1media_1_1SegmentTestBase_1_1ClusterParser.html b/docs/d2/df8/classshaka_1_1media_1_1SegmentTestBase_1_1ClusterParser.html index 72421cfede..f888ba5222 100644 --- a/docs/d2/df8/classshaka_1_1media_1_1SegmentTestBase_1_1ClusterParser.html +++ b/docs/d2/df8/classshaka_1_1media_1_1SegmentTestBase_1_1ClusterParser.html @@ -128,7 +128,7 @@ int cluster_count () c diff --git a/docs/d2/dfc/classshaka_1_1media_1_1MkvWriter-members.html b/docs/d2/dfc/classshaka_1_1media_1_1MkvWriter-members.html index 30e7b94667..501e5fb435 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 9b38c8c791..f932d1f8f2 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 cd58223318..da8a629400 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 8527f399bc..535fac03e2 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 e79667340f..dbe931c776 100644 --- a/docs/d3/d0a/classshaka_1_1media_1_1MediaParser.html +++ b/docs/d3/d0a/classshaka_1_1media_1_1MediaParser.html @@ -298,7 +298,7 @@ Public Member Functions diff --git a/docs/d3/d0c/classshaka_1_1media_1_1mp2t_1_1AdtsHeader.html b/docs/d3/d0c/classshaka_1_1media_1_1mp2t_1_1AdtsHeader.html index 5102ab2478..5810e70428 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 7ad7774017..aad32f1b9c 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 d7c4d04f70..31609e0add 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 019de0c244..e0f24acbce 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 c0c4e5b733..61dcaf2f90 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 11339fa7e3..bc6728fd8b 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 b925cc2d8b..04d474cfdd 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 4dd2a2530d..c6f55fbdfc 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 06bf781d19..b1a4be299d 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 7a1d47534d..511f874feb 100644 --- a/docs/d3/d61/classshaka_1_1media_1_1File.html +++ b/docs/d3/d61/classshaka_1_1media_1_1File.html @@ -811,7 +811,7 @@ class ThreadedIoFile diff --git a/docs/d3/d62/continuity__counter_8h_source.html b/docs/d3/d62/continuity__counter_8h_source.html index d6043bf8e2..c7b4c33ede 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 8f08d05dff..f44ecbbdca 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 8921ca9c64..37e95a709a 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 bb3da25315..423b493186 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 54e0698985..7aa39bb367 100644 --- a/docs/d3/d6b/fixed__key__source_8cc_source.html +++ b/docs/d3/d6b/fixed__key__source_8cc_source.html @@ -245,7 +245,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 0407087666..50e1e4d194 100644 --- a/docs/d3/d71/classshaka_1_1media_1_1mp2t_1_1TsMuxer.html +++ b/docs/d3/d71/classshaka_1_1media_1_1mp2t_1_1TsMuxer.html @@ -178,7 +178,7 @@ FourCC protection_scheme diff --git a/docs/d3/d72/fixed__key__source_8h_source.html b/docs/d3/d72/fixed__key__source_8h_source.html index 94d94feb13..40581b0bdb 100644 --- a/docs/d3/d72/fixed__key__source_8h_source.html +++ b/docs/d3/d72/fixed__key__source_8h_source.html @@ -160,7 +160,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/d73/classshaka_1_1media_1_1webm_1_1WebMMuxer.html b/docs/d3/d73/classshaka_1_1media_1_1webm_1_1WebMMuxer.html index 08f87cae68..4ebfdf41c9 100644 --- a/docs/d3/d73/classshaka_1_1media_1_1webm_1_1WebMMuxer.html +++ b/docs/d3/d73/classshaka_1_1media_1_1webm_1_1WebMMuxer.html @@ -182,7 +182,7 @@ FourCC protection_scheme diff --git a/docs/d3/d75/classshaka_1_1media_1_1AesEncryptor.html b/docs/d3/d75/classshaka_1_1media_1_1AesEncryptor.html index cbc9048e7a..6b03c17a4a 100644 --- a/docs/d3/d75/classshaka_1_1media_1_1AesEncryptor.html +++ b/docs/d3/d75/classshaka_1_1media_1_1AesEncryptor.html @@ -236,7 +236,7 @@ AES_KEY * mutable_aes_key< diff --git a/docs/d3/d75/classshaka_1_1media_1_1mp4_1_1ChunkInfoIterator-members.html b/docs/d3/d75/classshaka_1_1media_1_1mp4_1_1ChunkInfoIterator-members.html index d30d839ba0..48d008d685 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 dcc30fb763..991c6c8ea9 100644 --- a/docs/d3/d76/muxer__flags_8h_source.html +++ b/docs/d3/d76/muxer__flags_8h_source.html @@ -114,7 +114,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/d77/structshaka_1_1media_1_1mp4_1_1TextSampleEntry-members.html b/docs/d3/d77/structshaka_1_1media_1_1mp4_1_1TextSampleEntry-members.html index a69dcd4488..5f238d81c4 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 4996594943..b5d14fc0f4 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 70d5c8a787..33fd2615ac 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 9ba1e360a0..f81e185689 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 c406de1dd3..f3f40c1be5 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 51c6901816..594f65af58 100644 --- a/docs/d3/d8b/structshaka_1_1media_1_1FileCloser.html +++ b/docs/d3/d8b/structshaka_1_1media_1_1FileCloser.html @@ -112,7 +112,7 @@ void operator() ( diff --git a/docs/d3/d8d/webm__audio__client_8h_source.html b/docs/d3/d8d/webm__audio__client_8h_source.html index bc72f6b06e..22eb959f45 100644 --- a/docs/d3/d8d/webm__audio__client_8h_source.html +++ b/docs/d3/d8d/webm__audio__client_8h_source.html @@ -144,7 +144,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/d90/ec3__audio__util_8cc_source.html b/docs/d3/d90/ec3__audio__util_8cc_source.html index 7496889ac2..c14a541127 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 f54a77921d..dacf3cb59c 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 54d08c3933..60ff1583fc 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 74da16d0af..db63d53c55 100644 --- a/docs/d3/da1/classshaka_1_1media_1_1webm_1_1SingleSegmentSegmenter.html +++ b/docs/d3/da1/classshaka_1_1media_1_1webm_1_1SingleSegmentSegmenter.html @@ -293,7 +293,7 @@ double cluster_length_sec< diff --git a/docs/d3/da2/structshaka_1_1media_1_1mp4_1_1SchemeType.html b/docs/d3/da2/structshaka_1_1media_1_1mp4_1_1SchemeType.html index 0d2abe87f2..4ebd97ab58 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 b196f267a8..4a6c483709 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 505880642c..7dbe848679 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 09ad3a637c..89497f8b5f 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 89314f3c6f..f5e3cdc98d 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 669cfd105f..11fbf0686a 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 6972cdc8d9..9985009795 100644 --- a/docs/d3/dbe/demuxer_8cc_source.html +++ b/docs/d3/dbe/demuxer_8cc_source.html @@ -345,7 +345,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/dbe/structshaka_1_1media_1_1mp4_1_1EditList.html b/docs/d3/dbe/structshaka_1_1media_1_1mp4_1_1EditList.html index 7509a90490..ea9dea95cb 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 a4e145abc3..a03c088a38 100644 --- a/docs/d3/dc1/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser.html +++ b/docs/d3/dc1/classshaka_1_1media_1_1mp2t_1_1Mp2tMediaParser.html @@ -256,7 +256,7 @@ track_id, const scoped_refptr
diff --git a/docs/d3/dd0/classshaka_1_1MpdNotifier.html b/docs/d3/dd0/classshaka_1_1MpdNotifier.html index 38b732217f..491ca5ec75 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 3e03e7b97e..efb2f2ea71 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 13439c5d33..b8311e1bf3 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 2f114a1c29..0be819b612 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 40f25a3be2..eb3df0f9a7 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 287921b195..03ed1cebab 100644 --- a/docs/d3/df1/box__reader_8cc_source.html +++ b/docs/d3/df1/box__reader_8cc_source.html @@ -260,7 +260,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html b/docs/d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html index c52a1268be..bf573fe544 100644 --- a/docs/d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html +++ b/docs/d3/dfe/classshaka_1_1media_1_1AesPatternCryptor.html @@ -297,7 +297,7 @@ AES_KEY * mutable_aes_key< diff --git a/docs/d4/d00/mp4_2multi__segment__segmenter_8cc_source.html b/docs/d4/d00/mp4_2multi__segment__segmenter_8cc_source.html index 4883fc24cd..5035f7be6f 100644 --- a/docs/d4/d00/mp4_2multi__segment__segmenter_8cc_source.html +++ b/docs/d4/d00/mp4_2multi__segment__segmenter_8cc_source.html @@ -287,8 +287,8 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
198 } // namespace shaka
virtual void OnNewSegment(const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)=0
virtual bool Open()=0
Internal open. Should not be used directly.
-
void UpdateProgress(uint64_t progress)
Update segmentation progress using ProgressListener.
Definition: segmenter.cc:379
-
void SetComplete()
Set progress to 100%.
Definition: segmenter.cc:395
+
void UpdateProgress(uint64_t progress)
Update segmentation progress using ProgressListener.
Definition: segmenter.cc:380
+
void SetComplete()
Set progress to 100%.
Definition: segmenter.cc:396
virtual void OnSampleDurationReady(uint32_t sample_duration)=0
virtual bool Close()=0
@@ -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 5b0b6e20e4..934706b285 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 a09f371b5c..637d39f647 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 c4f7425801..b3f8e6b769 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 50e6afebd9..233b955f2a 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 c4a5f9ce79..63d8ecff0b 100644 --- a/docs/d4/d20/classshaka_1_1media_1_1AesCbcEncryptor.html +++ b/docs/d4/d20/classshaka_1_1media_1_1AesCbcEncryptor.html @@ -235,7 +235,7 @@ AES_KEY * mutable_aes_key< diff --git a/docs/d4/d20/structshaka_1_1media_1_1mp4_1_1ChunkLargeOffset-members.html b/docs/d4/d20/structshaka_1_1media_1_1mp4_1_1ChunkLargeOffset-members.html index 111ec94c10..a1aa96cc9b 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 f90435f2ad..0babdbb9ed 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 e556d472d0..4a69272310 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 309c1000a8..ec6068a702 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 3ecd5a7fe2..7c783da086 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 0a769b522c..45ee53bc3e 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 83b84ee4dc..c7852886b8 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 265909bb44..d8a728bb3d 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 2eaea31969..5a58eafc58 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 35f4df7892..c4bd8cc140 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 b8c1a4dfc2..7cf74da7eb 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 0dc374b38b..f40f9204f9 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 d182677c6e..bd04e73a61 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 4e3983e250..b4533e91df 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 d1d1e911d8..b86351abc4 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 8bfb8edff0..316e193171 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 b4ca2bc21b..28381a81d6 100644 --- a/docs/d4/da7/segmenter__test__base_8cc_source.html +++ b/docs/d4/da7/segmenter__test__base_8cc_source.html @@ -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 b7a93a3315..b0b1d5bea7 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 fe7cae44bc..b4ef78a244 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 5ca4b4249b..89f4b663e9 100644 --- a/docs/d4/db2/cluster__builder_8h_source.html +++ b/docs/d4/db2/cluster__builder_8h_source.html @@ -176,7 +176,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/db4/classshaka_1_1MpdNotifierFactory.html b/docs/d4/db4/classshaka_1_1MpdNotifierFactory.html index d4028f75af..299f01c541 100644 --- a/docs/d4/db4/classshaka_1_1MpdNotifierFactory.html +++ b/docs/d4/db4/classshaka_1_1MpdNotifierFactory.html @@ -112,7 +112,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 ac2505795a..c7d53ff0ea 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 8da4d5c4f7..bc133634f5 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 d7fa2e03b4..4c3699f3b9 100644 --- a/docs/d4/dd3/bit__reader_8h_source.html +++ b/docs/d4/dd3/bit__reader_8h_source.html @@ -178,7 +178,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 571de3fa8e..d405f5ee0a 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 764db9763a..1c52c65a76 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 4c3515a260..3d2def9c80 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 a870be3cb2..a58667ec80 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 fa5b57223a..ca2b83568d 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 7694a7bb99..deb7017896 100644 --- a/docs/d4/de7/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener-members.html +++ b/docs/d4/de7/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener-members.html @@ -100,18 +100,19 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); kContainerWebM enum value (defined in shaka::media::MuxerListener)shaka::media::MuxerListener MuxerListener() (defined in shaka::media::MuxerListener)shaka::media::MuxerListenerinlineprotected OnEncryptionInfoReady(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &default_key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info) overrideshaka::media::VodMediaInfoDumpMuxerListenervirtual - OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) overrideshaka::media::VodMediaInfoDumpMuxerListenervirtual - OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) overrideshaka::media::VodMediaInfoDumpMuxerListenervirtual - OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) overrideshaka::media::VodMediaInfoDumpMuxerListenervirtual - OnSampleDurationReady(uint32_t sample_duration) overrideshaka::media::VodMediaInfoDumpMuxerListenervirtual - VodMediaInfoDumpMuxerListener(const std::string &output_file_name) (defined in shaka::media::VodMediaInfoDumpMuxerListener)shaka::media::VodMediaInfoDumpMuxerListener - WriteMediaInfoToFile(const MediaInfo &media_info, const std::string &output_file_path)shaka::media::VodMediaInfoDumpMuxerListenerstatic - ~MuxerListener() (defined in shaka::media::MuxerListener)shaka::media::MuxerListenerinlinevirtual - ~VodMediaInfoDumpMuxerListener() override (defined in shaka::media::VodMediaInfoDumpMuxerListener)shaka::media::VodMediaInfoDumpMuxerListener + OnEncryptionStart() overrideshaka::media::VodMediaInfoDumpMuxerListenervirtual + OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) overrideshaka::media::VodMediaInfoDumpMuxerListenervirtual + OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) overrideshaka::media::VodMediaInfoDumpMuxerListenervirtual + OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) overrideshaka::media::VodMediaInfoDumpMuxerListenervirtual + OnSampleDurationReady(uint32_t sample_duration) overrideshaka::media::VodMediaInfoDumpMuxerListenervirtual + VodMediaInfoDumpMuxerListener(const std::string &output_file_name) (defined in shaka::media::VodMediaInfoDumpMuxerListener)shaka::media::VodMediaInfoDumpMuxerListener + WriteMediaInfoToFile(const MediaInfo &media_info, const std::string &output_file_path)shaka::media::VodMediaInfoDumpMuxerListenerstatic + ~MuxerListener() (defined in shaka::media::MuxerListener)shaka::media::MuxerListenerinlinevirtual + ~VodMediaInfoDumpMuxerListener() override (defined in shaka::media::VodMediaInfoDumpMuxerListener)shaka::media::VodMediaInfoDumpMuxerListener diff --git a/docs/d4/dec/hls__flags_8h_source.html b/docs/d4/dec/hls__flags_8h_source.html index 4cb994e3f8..8f961c6434 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 4bdcc9de0d..5b1f20e7a7 100644 --- a/docs/d4/df5/request__signer_8cc_source.html +++ b/docs/d4/df5/request__signer_8cc_source.html @@ -178,7 +178,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d4/df9/structshaka_1_1media_1_1mp4_1_1SegmentIndex.html b/docs/d4/df9/structshaka_1_1media_1_1mp4_1_1SegmentIndex.html index c1c1b59a1f..e7dd8bb367 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 86354dc8b5..913ef5fc26 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 784b6524f7..5dbcc79cbc 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 ba2ac7cf60..ff438d72b9 100644 --- a/docs/d4/dff/webm__media__parser_8cc_source.html +++ b/docs/d4/dff/webm__media__parser_8cc_source.html @@ -364,7 +364,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/d03/structshaka_1_1media_1_1mp4_1_1FileType.html b/docs/d5/d03/structshaka_1_1media_1_1mp4_1_1FileType.html index 1be44f96ef..9dc3738032 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 a5d71404d5..699a98814b 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 967f78c37e..fa91fb15b5 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 affb7afd49..c8e761e497 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 91d3e14326..0dbd25d204 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 d580223475..e27e362095 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 6510495835..2f576e8730 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 4c8b7aa0c6..427737eb33 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 991838682c..1e8d42ea9f 100644 --- a/docs/d5/d26/classshaka_1_1media_1_1mp4_1_1TrackRunIterator-members.html +++ b/docs/d5/d26/classshaka_1_1media_1_1mp4_1_1TrackRunIterator-members.html @@ -122,7 +122,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/d27/key__fetcher_8cc_source.html b/docs/d5/d27/key__fetcher_8cc_source.html index 2ea190c9ee..d5f6c04239 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 5d09fa4895..40153612c0 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 fbbf1b377f..cb7aac67b6 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 18c43f25cd..8397ad5f2e 100644 --- a/docs/d5/d40/webm_2single__segment__segmenter_8h_source.html +++ b/docs/d5/d40/webm_2single__segment__segmenter_8h_source.html @@ -156,7 +156,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 8f00017960..43c7dca305 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 c3147d9994..8e823a6c65 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 218d510815..7081dc2e8d 100644 --- a/docs/d5/d52/ts__section__pes_8h_source.html +++ b/docs/d5/d52/ts__section__pes_8h_source.html @@ -161,7 +161,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/d53/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize-members.html b/docs/d5/d53/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize-members.html index 590bc256df..1bc87b76d0 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 adb1495131..6e15d8815e 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 42a77f1f79..4c9279a0f5 100644 --- a/docs/d5/d59/classshaka_1_1MockRepresentation-members.html +++ b/docs/d5/d59/classshaka_1_1MockRepresentation-members.html @@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/d5c/continuity__counter_8cc_source.html b/docs/d5/d5c/continuity__counter_8cc_source.html index a04166ed62..061571e08f 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 909a966b58..954437bb18 100644 --- a/docs/d5/d63/classshaka_1_1media_1_1mp2t_1_1EsParserH265.html +++ b/docs/d5/d63/classshaka_1_1media_1_1mp2t_1_1EsParserH265.html @@ -161,7 +161,7 @@ const
diff --git a/docs/d5/d63/network__util_8cc_source.html b/docs/d5/d63/network__util_8cc_source.html index 841e9884bf..d495562a07 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 495ee85a2a..26b6a175bc 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 f23c626242..9b8d35f590 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 28a677c8c9..17eb7f2050 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 6523f2cef3..f399bff1f4 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 1bf6011cf4..9b1eb593b6 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 0300c16c97..b702103815 100644 --- a/docs/d5/d89/widevine__key__source_8cc_source.html +++ b/docs/d5/d89/widevine__key__source_8cc_source.html @@ -720,7 +720,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/d8c/structshaka_1_1media_1_1mp4_1_1CompositionOffset.html b/docs/d5/d8c/structshaka_1_1media_1_1mp4_1_1CompositionOffset.html index 86a7ca5d34..e53936f1e7 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 c2e2884a82..0312f32dd4 100644 --- a/docs/d5/d8f/webm__cluster__parser_8cc_source.html +++ b/docs/d5/d8f/webm__cluster__parser_8cc_source.html @@ -744,7 +744,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 45d50dad6f..720df67e8e 100644 --- a/docs/d5/d91/es__parser__adts_8cc_source.html +++ b/docs/d5/d91/es__parser__adts_8cc_source.html @@ -378,7 +378,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 9b56addc31..803606c9e2 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 e844ab3cae..7acc684018 100644 --- a/docs/d5/d98/encryptor_8cc_source.html +++ b/docs/d5/d98/encryptor_8cc_source.html @@ -234,7 +234,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/d9b/vp__codec__configuration__record_8h_source.html b/docs/d5/d9b/vp__codec__configuration__record_8h_source.html index 3bd15bd35a..199b4d8814 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 3798bc864c..51a4a8fd43 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 9cb310ffac..c1fcf5a195 100644 --- a/docs/d5/da4/aes__encryptor_8cc_source.html +++ b/docs/d5/da4/aes__encryptor_8cc_source.html @@ -297,7 +297,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/dad/structshaka_1_1media_1_1H265ReferencePictureSet.html b/docs/d5/dad/structshaka_1_1media_1_1H265ReferencePictureSet.html index 05c425ca91..4c92bd4c87 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 24854dd2e0..87a5e4fc78 100644 --- a/docs/d5/db1/classshaka_1_1media_1_1StreamInfo.html +++ b/docs/d5/db1/classshaka_1_1media_1_1StreamInfo.html @@ -229,7 +229,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 bbef93054b..a6e8a0a62e 100644 --- a/docs/d5/db9/classshaka_1_1media_1_1mp2t_1_1EsParserH264.html +++ b/docs/d5/db9/classshaka_1_1media_1_1mp2t_1_1EsParserH264.html @@ -161,7 +161,7 @@ const
diff --git a/docs/d5/dba/ts__packet_8cc_source.html b/docs/d5/dba/ts__packet_8cc_source.html index e2d9a0349f..652e304551 100644 --- a/docs/d5/dba/ts__packet_8cc_source.html +++ b/docs/d5/dba/ts__packet_8cc_source.html @@ -304,7 +304,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/dc1/webm__webvtt__parser_8cc_source.html b/docs/d5/dc1/webm__webvtt__parser_8cc_source.html index e817b40983..f37724882b 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 7f8bf6b0a6..41da6c1ca4 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 a7668e4021..7979f3f818 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 41758ccc54..109f7ef160 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 6543549d56..904573b512 100644 --- a/docs/d5/dda/ts__section__psi_8h_source.html +++ b/docs/d5/dda/ts__section__psi_8h_source.html @@ -151,7 +151,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/de0/bit__reader_8cc_source.html b/docs/d5/de0/bit__reader_8cc_source.html index 850b7d359f..6952ab8281 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 25b28ee209..4f3ce301ad 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 @@ -306,7 +306,7 @@ class PesPacketGeneratorTe diff --git a/docs/d5/dec/classshaka_1_1media_1_1WebMParserClient.html b/docs/d5/dec/classshaka_1_1media_1_1WebMParserClient.html index a2bc911460..1c4d415af8 100644 --- a/docs/d5/dec/classshaka_1_1media_1_1WebMParserClient.html +++ b/docs/d5/dec/classshaka_1_1media_1_1WebMParserClient.html @@ -151,7 +151,7 @@ Protected Member Functions diff --git a/docs/d5/dec/decoder__configuration__record_8cc_source.html b/docs/d5/dec/decoder__configuration__record_8cc_source.html index ddac52678b..94afd713c4 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 170dce5cfd..3bd99580e0 100644 --- a/docs/d5/dec/structshaka_1_1media_1_1mp4_1_1WebVTTConfigurationBox-members.html +++ b/docs/d5/dec/structshaka_1_1media_1_1mp4_1_1WebVTTConfigurationBox-members.html @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/def/ts__section__pmt_8h_source.html b/docs/d5/def/ts__section__pmt_8h_source.html index 770227a2e6..186647d22d 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 d5dba2f648..23143c6240 100644 --- a/docs/d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html +++ b/docs/d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html @@ -115,6 +115,8 @@ Public Member Functions
MuxerListener implementation overrides.
void OnEncryptionInfoReady (bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info) override   +void OnEncryptionStart () override +  void OnMediaStart (const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) override   void OnSampleDurationReady (uint32_t sample_duration) override @@ -253,6 +255,34 @@ Additional Inherited Members

Definition at line 33 of file hls_notify_muxer_listener.cc.

+ + + +
+
+ + + + + +
+ + + + + + + +
void shaka::media::HlsNotifyMuxerListener::OnEncryptionStart ()
+
+overridevirtual
+
+

Called when the muxer starts encrypting the segments. Further segments notified via OnNewSegment() are encrypted. This may be called more than once e.g. per segment, but the semantics does not change.

+ +

Implements shaka::media::MuxerListener.

+ +

Definition at line 52 of file hls_notify_muxer_listener.cc.

+
@@ -339,7 +369,7 @@ Additional Inherited Members

Implements shaka::media::MuxerListener.

-

Definition at line 64 of file hls_notify_muxer_listener.cc.

+

Definition at line 97 of file hls_notify_muxer_listener.cc.

@@ -399,7 +429,7 @@ Additional Inherited Members

Implements shaka::media::MuxerListener.

-

Definition at line 46 of file hls_notify_muxer_listener.cc.

+

Definition at line 74 of file hls_notify_muxer_listener.cc.

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

Implements shaka::media::MuxerListener.

-

Definition at line 77 of file hls_notify_muxer_listener.cc.

+

Definition at line 110 of file hls_notify_muxer_listener.cc.

@@ -494,7 +524,7 @@ Additional Inherited Members

Implements shaka::media::MuxerListener.

-

Definition at line 62 of file hls_notify_muxer_listener.cc.

+

Definition at line 95 of file hls_notify_muxer_listener.cc.

@@ -505,7 +535,7 @@ Additional Inherited Members diff --git a/docs/d5/dfa/classshaka_1_1media_1_1MediaParser-members.html b/docs/d5/dfa/classshaka_1_1media_1_1MediaParser-members.html index 3f35b3c4a8..e3467b89aa 100644 --- a/docs/d5/dfa/classshaka_1_1media_1_1MediaParser-members.html +++ b/docs/d5/dfa/classshaka_1_1media_1_1MediaParser-members.html @@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d5/dfc/file_8cc_source.html b/docs/d5/dfc/file_8cc_source.html index 62809a2eef..fe7d623f38 100644 --- a/docs/d5/dfc/file_8cc_source.html +++ b/docs/d5/dfc/file_8cc_source.html @@ -375,7 +375,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d03/classshaka_1_1media_1_1AesCbcDecryptor-members.html b/docs/d6/d03/classshaka_1_1media_1_1AesCbcDecryptor-members.html index a378fda9e1..575e5bfeca 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 bca9c1ceee..ad124473b6 100644 --- a/docs/d6/d09/aes__pattern__cryptor_8h_source.html +++ b/docs/d6/d09/aes__pattern__cryptor_8h_source.html @@ -148,7 +148,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d16/text__stream__info_8cc_source.html b/docs/d6/d16/text__stream__info_8cc_source.html index 0e0df7a7e8..ba701c69cb 100644 --- a/docs/d6/d16/text__stream__info_8cc_source.html +++ b/docs/d6/d16/text__stream__info_8cc_source.html @@ -132,7 +132,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 4efda0b433..8dfb7702e5 100644 --- a/docs/d6/d17/es__parser__h264_8cc_source.html +++ b/docs/d6/d17/es__parser__h264_8cc_source.html @@ -257,7 +257,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 1895de0f34..203ad7616b 100644 --- a/docs/d6/d1a/structshaka_1_1media_1_1mp4_1_1MovieHeader.html +++ b/docs/d6/d1a/structshaka_1_1media_1_1mp4_1_1MovieHeader.html @@ -200,7 +200,7 @@ Additional Inherited Members diff --git a/docs/d6/d1a/ts__packet__writer__util_8cc_source.html b/docs/d6/d1a/ts__packet__writer__util_8cc_source.html index 18b3f19e2a..e8f30519c3 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 eb6cdd9c2e..29451e6902 100644 --- a/docs/d6/d26/structshaka_1_1media_1_1VideoStreamInfoParameters.html +++ b/docs/d6/d26/structshaka_1_1media_1_1VideoStreamInfoParameters.html @@ -146,7 +146,7 @@ bool is_encrypted diff --git a/docs/d6/d2e/mpd__notifier__util_8cc_source.html b/docs/d6/d2e/mpd__notifier__util_8cc_source.html index e12065daeb..c23ce36bca 100644 --- a/docs/d6/d2e/mpd__notifier__util_8cc_source.html +++ b/docs/d6/d2e/mpd__notifier__util_8cc_source.html @@ -170,7 +170,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d32/classshaka_1_1media_1_1TextTrack-members.html b/docs/d6/d32/classshaka_1_1media_1_1TextTrack-members.html index 5582530244..12cac2d3a0 100644 --- a/docs/d6/d32/classshaka_1_1media_1_1TextTrack-members.html +++ b/docs/d6/d32/classshaka_1_1media_1_1TextTrack-members.html @@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d35/webm__content__encodings_8cc_source.html b/docs/d6/d35/webm__content__encodings_8cc_source.html index f8d59c75bc..ca7c096e9c 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 92c73e54a2..aa58c4d987 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 7e611003af..40c56bac1b 100644 --- a/docs/d6/d41/encrypting__fragmenter_8cc_source.html +++ b/docs/d6/d41/encrypting__fragmenter_8cc_source.html @@ -148,336 +148,342 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
59 }
60 } // namespace
61 
- +
63  scoped_refptr<StreamInfo> info,
64  TrackFragment* traf,
65  scoped_ptr<EncryptionKey> encryption_key,
66  int64_t clear_time,
67  FourCC protection_scheme,
68  uint8_t crypt_byte_block,
-
69  uint8_t skip_byte_block)
-
70  : Fragmenter(info, traf),
-
71  info_(info),
-
72  encryption_key_(encryption_key.Pass()),
-
73  nalu_length_size_(GetNaluLengthSize(*info)),
-
74  video_codec_(GetVideoCodec(*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  DCHECK(encryption_key_);
-
80  switch (video_codec_) {
-
81  case kCodecVP8:
-
82  vpx_parser_.reset(new VP8Parser);
-
83  break;
-
84  case kCodecVP9:
-
85  vpx_parser_.reset(new VP9Parser);
-
86  break;
-
87  case kCodecH264:
-
88  header_parser_.reset(new H264VideoSliceHeaderParser);
-
89  break;
-
90  case kCodecHVC1:
-
91  FALLTHROUGH_INTENDED;
-
92  case kCodecHEV1:
-
93  header_parser_.reset(new H265VideoSliceHeaderParser);
-
94  break;
-
95  default:
-
96  if (nalu_length_size_ > 0) {
-
97  LOG(WARNING) << "Unknown video codec '" << video_codec_
-
98  << "', whole subsamples will be encrypted.";
-
99  }
-
100  }
-
101 }
-
102 
-
103 EncryptingFragmenter::~EncryptingFragmenter() {}
+
69  uint8_t skip_byte_block,
+
70  MuxerListener* listener)
+
71  : Fragmenter(info, traf),
+
72  info_(info),
+
73  encryption_key_(encryption_key.Pass()),
+
74  nalu_length_size_(GetNaluLengthSize(*info)),
+
75  video_codec_(GetVideoCodec(*info)),
+
76  clear_time_(clear_time),
+
77  protection_scheme_(protection_scheme),
+
78  crypt_byte_block_(crypt_byte_block),
+
79  skip_byte_block_(skip_byte_block),
+
80  listener_(listener) {
+
81  DCHECK(encryption_key_);
+
82  switch (video_codec_) {
+
83  case kCodecVP8:
+
84  vpx_parser_.reset(new VP8Parser);
+
85  break;
+
86  case kCodecVP9:
+
87  vpx_parser_.reset(new VP9Parser);
+
88  break;
+
89  case kCodecH264:
+
90  header_parser_.reset(new H264VideoSliceHeaderParser);
+
91  break;
+
92  case kCodecHVC1:
+
93  FALLTHROUGH_INTENDED;
+
94  case kCodecHEV1:
+
95  header_parser_.reset(new H265VideoSliceHeaderParser);
+
96  break;
+
97  default:
+
98  if (nalu_length_size_ > 0) {
+
99  LOG(WARNING) << "Unknown video codec '" << video_codec_
+
100  << "', whole subsamples will be encrypted.";
+
101  }
+
102  }
+
103 }
104 
-
105 Status EncryptingFragmenter::AddSample(scoped_refptr<MediaSample> sample) {
-
106  DCHECK(sample);
-
107  if (!fragment_initialized()) {
-
108  Status status = InitializeFragment(sample->dts());
-
109  if (!status.ok())
-
110  return status;
-
111  }
-
112  if (encryptor_) {
-
113  Status status = EncryptSample(sample);
-
114  if (!status.ok())
-
115  return status;
-
116  }
-
117  return Fragmenter::AddSample(sample);
-
118 }
-
119 
- -
121  Status status = Fragmenter::InitializeFragment(first_sample_dts);
-
122  if (!status.ok())
-
123  return status;
-
124 
-
125  if (header_parser_ && !header_parser_->Initialize(info_->codec_config()))
-
126  return Status(error::MUXER_FAILURE, "Fail to read SPS and PPS data.");
-
127 
-
128  traf()->auxiliary_size.sample_info_sizes.clear();
-
129  traf()->auxiliary_offset.offsets.clear();
-
130  if (IsSubsampleEncryptionRequired()) {
-
131  traf()->sample_encryption.flags |=
-
132  SampleEncryption::kUseSubsampleEncryption;
-
133  }
-
134  traf()->sample_encryption.sample_encryption_entries.clear();
-
135 
-
136  const bool enable_encryption = clear_time_ <= 0;
-
137  if (!enable_encryption) {
-
138  // This fragment should be in clear text.
-
139  // At most two sample description entries, an encrypted entry and a clear
-
140  // entry, are generated. The 1-based clear entry index is always 2.
-
141  const uint32_t kClearSampleDescriptionIndex = 2;
-
142 
-
143  traf()->header.flags |=
-
144  TrackFragmentHeader::kSampleDescriptionIndexPresentMask;
-
145  traf()->header.sample_description_index = kClearSampleDescriptionIndex;
-
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();
+
105 EncryptingFragmenter::~EncryptingFragmenter() {}
+
106 
+
107 Status EncryptingFragmenter::AddSample(scoped_refptr<MediaSample> sample) {
+
108  DCHECK(sample);
+
109  if (!fragment_initialized()) {
+
110  Status status = InitializeFragment(sample->dts());
+
111  if (!status.ok())
+
112  return status;
+
113  }
+
114  if (encryptor_) {
+
115  Status status = EncryptSample(sample);
+
116  if (!status.ok())
+
117  return status;
+
118  }
+
119  return Fragmenter::AddSample(sample);
+
120 }
+
121 
+ +
123  Status status = Fragmenter::InitializeFragment(first_sample_dts);
+
124  if (!status.ok())
+
125  return status;
+
126 
+
127  if (header_parser_ && !header_parser_->Initialize(info_->codec_config()))
+
128  return Status(error::MUXER_FAILURE, "Fail to read SPS and PPS data.");
+
129 
+
130  traf()->auxiliary_size.sample_info_sizes.clear();
+
131  traf()->auxiliary_offset.offsets.clear();
+
132  if (IsSubsampleEncryptionRequired()) {
+
133  traf()->sample_encryption.flags |=
+
134  SampleEncryption::kUseSubsampleEncryption;
+
135  }
+
136  traf()->sample_encryption.sample_encryption_entries.clear();
+
137 
+
138  const bool enable_encryption = clear_time_ <= 0;
+
139  if (!enable_encryption) {
+
140  // This fragment should be in clear text.
+
141  // At most two sample description entries, an encrypted entry and a clear
+
142  // entry, are generated. The 1-based clear entry index is always 2.
+
143  const uint32_t kClearSampleDescriptionIndex = 2;
+
144 
+
145  traf()->header.flags |=
+
146  TrackFragmentHeader::kSampleDescriptionIndexPresentMask;
+
147  traf()->header.sample_description_index = kClearSampleDescriptionIndex;
+
148  } else {
+
149  if (listener_)
+
150  listener_->OnEncryptionStart();
+
151  }
+
152  return PrepareFragmentForEncryption(enable_encryption);
+
153 }
+
154 
+ +
156  if (encryptor_) {
+
157  DCHECK_LE(clear_time_, 0);
+ +
159  } else {
+
160  DCHECK_GT(clear_time_, 0);
+
161  clear_time_ -= fragment_duration();
+
162  }
+
164 }
165 
- -
167  // The offset will be adjusted in Segmenter after knowing moof size.
-
168  traf()->auxiliary_offset.offsets.push_back(0);
-
169 
-
170  // For 'cbcs' scheme, Constant IVs SHALL be used.
-
171  const size_t per_sample_iv_size =
-
172  (protection_scheme_ == FOURCC_cbcs) ? 0 : encryptor_->iv().size();
-
173  traf()->sample_encryption.iv_size = per_sample_iv_size;
+ +
167  bool enable_encryption) {
+
168  return (!enable_encryption || encryptor_) ? Status::OK : CreateEncryptor();
+
169 }
+
170 
+ +
172  // The offset will be adjusted in Segmenter after knowing moof size.
+
173  traf()->auxiliary_offset.offsets.push_back(0);
174 
-
175  // Optimize saiz box.
-
176  SampleAuxiliaryInformationSize& saiz = traf()->auxiliary_size;
-
177  saiz.sample_count = traf()->runs[0].sample_sizes.size();
-
178  if (!saiz.sample_info_sizes.empty()) {
-
179  if (!OptimizeSampleEntries(&saiz.sample_info_sizes,
-
180  &saiz.default_sample_info_size)) {
-
181  saiz.default_sample_info_size = 0;
-
182  }
-
183  } else {
-
184  // |sample_info_sizes| table is filled in only for subsample encryption,
-
185  // otherwise |sample_info_size| is just the IV size.
-
186  DCHECK(!IsSubsampleEncryptionRequired());
-
187  saiz.default_sample_info_size = per_sample_iv_size;
-
188  }
-
189 
-
190  // It should only happen with full sample encryption + constant iv, i.e.
-
191  // 'cbcs' applying to audio.
-
192  if (saiz.default_sample_info_size == 0 && saiz.sample_info_sizes.empty()) {
-
193  DCHECK_EQ(protection_scheme_, FOURCC_cbcs);
-
194  DCHECK(!IsSubsampleEncryptionRequired());
-
195  // ISO/IEC 23001-7:2016(E) The sample auxiliary information would then be
-
196  // empty and should be emitted. Clear saiz and saio boxes so they are not
-
197  // written.
-
198  saiz.sample_count = 0;
-
199  traf()->auxiliary_offset.offsets.clear();
-
200  }
-
201 }
-
202 
- -
204  DCHECK(encryption_key_);
-
205  scoped_ptr<AesCryptor> encryptor;
-
206  switch (protection_scheme_) {
-
207  case FOURCC_cenc:
-
208  encryptor.reset(new AesCtrEncryptor);
-
209  break;
-
210  case FOURCC_cbc1:
-
211  encryptor.reset(new AesCbcEncryptor(kNoPadding));
-
212  break;
-
213  case FOURCC_cens:
-
214  encryptor.reset(new AesPatternCryptor(
-
215  crypt_byte_block(), skip_byte_block(),
- -
217  AesCryptor::kDontUseConstantIv,
-
218  scoped_ptr<AesCryptor>(new AesCtrEncryptor())));
-
219  break;
-
220  case FOURCC_cbcs:
-
221  encryptor.reset(new AesPatternCryptor(
-
222  crypt_byte_block(), skip_byte_block(),
- -
224  AesCryptor::kUseConstantIv,
-
225  scoped_ptr<AesCryptor>(new AesCbcEncryptor(kNoPadding))));
-
226  break;
-
227  default:
-
228  return Status(error::MUXER_FAILURE, "Unsupported protection scheme.");
-
229  }
-
230 
-
231  DCHECK(!encryption_key_->iv.empty());
-
232  const bool initialized =
-
233  encryptor->InitializeWithIv(encryption_key_->key, encryption_key_->iv);
-
234  if (!initialized)
-
235  return Status(error::MUXER_FAILURE, "Failed to create the encryptor.");
-
236  encryptor_ = encryptor.Pass();
-
237  return Status::OK;
-
238 }
-
239 
-
240 void EncryptingFragmenter::EncryptBytes(uint8_t* data, uint32_t size) {
-
241  DCHECK(encryptor_);
-
242  CHECK(encryptor_->Crypt(data, size, data));
+
175  // For 'cbcs' scheme, Constant IVs SHALL be used.
+
176  const size_t per_sample_iv_size =
+
177  (protection_scheme_ == FOURCC_cbcs) ? 0 : 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 = 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  scoped_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  scoped_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  scoped_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_ = encryptor.Pass();
+
242  return Status::OK;
243 }
244 
-
245 Status EncryptingFragmenter::EncryptSample(scoped_refptr<MediaSample> sample) {
+
245 void EncryptingFragmenter::EncryptBytes(uint8_t* data, uint32_t size) {
246  DCHECK(encryptor_);
-
247 
-
248  SampleEncryptionEntry sample_encryption_entry;
-
249  // For 'cbcs' scheme, Constant IVs SHALL be used.
-
250  if (protection_scheme_ != FOURCC_cbcs)
-
251  sample_encryption_entry.initialization_vector = encryptor_->iv();
-
252  uint8_t* data = sample->writable_data();
-
253  if (IsSubsampleEncryptionRequired()) {
-
254  if (vpx_parser_) {
-
255  std::vector<VPxFrameInfo> vpx_frames;
-
256  if (!vpx_parser_->Parse(sample->data(), sample->data_size(),
-
257  &vpx_frames)) {
-
258  return Status(error::MUXER_FAILURE, "Failed to parse vpx frame.");
-
259  }
-
260 
-
261  const bool is_superframe = vpx_frames.size() > 1;
-
262  for (const VPxFrameInfo& frame : vpx_frames) {
-
263  SubsampleEntry subsample;
-
264  subsample.clear_bytes = frame.uncompressed_header_size;
-
265  subsample.cipher_bytes =
-
266  frame.frame_size - frame.uncompressed_header_size;
-
267 
-
268  // "VP Codec ISO Media File Format Binding" document requires that the
-
269  // encrypted bytes of each frame within the superframe must be block
-
270  // aligned so that the counter state can be computed for each frame
-
271  // within the superframe.
-
272  // ISO/IEC 23001-7:2016 10.2 'cbc1' 10.3 'cens'
-
273  // The BytesOfProtectedData size SHALL be a multiple of 16 bytes to
-
274  // avoid partial blocks in Subsamples.
-
275  if (is_superframe || protection_scheme_ == FOURCC_cbc1 ||
-
276  protection_scheme_ == FOURCC_cens) {
-
277  const uint16_t misalign_bytes =
-
278  subsample.cipher_bytes % kCencBlockSize;
-
279  subsample.clear_bytes += misalign_bytes;
-
280  subsample.cipher_bytes -= misalign_bytes;
-
281  }
-
282 
-
283  sample_encryption_entry.subsamples.push_back(subsample);
-
284  if (subsample.cipher_bytes > 0)
-
285  EncryptBytes(data + subsample.clear_bytes, subsample.cipher_bytes);
-
286  data += frame.frame_size;
-
287  }
-
288  // Add subsample for the superframe index if exists.
-
289  if (is_superframe) {
-
290  size_t index_size = sample->data() + sample->data_size() - data;
-
291  DCHECK_LE(index_size, 2 + vpx_frames.size() * 4);
-
292  DCHECK_GE(index_size, 2 + vpx_frames.size() * 1);
-
293  SubsampleEntry subsample;
-
294  subsample.clear_bytes = index_size;
-
295  subsample.cipher_bytes = 0;
-
296  sample_encryption_entry.subsamples.push_back(subsample);
-
297  }
-
298  } else {
-
299  const Nalu::CodecType nalu_type =
-
300  (video_codec_ == kCodecHVC1 || video_codec_ == kCodecHEV1)
-
301  ? Nalu::kH265
-
302  : Nalu::kH264;
-
303  NaluReader reader(nalu_type, nalu_length_size_, data,
-
304  sample->data_size());
-
305 
-
306  // Store the current length of clear data. This is used to squash
-
307  // multiple unencrypted NAL units into fewer subsample entries.
-
308  uint64_t accumulated_clear_bytes = 0;
-
309 
-
310  Nalu nalu;
-
311  NaluReader::Result result;
-
312  while ((result = reader.Advance(&nalu)) == NaluReader::kOk) {
-
313  if (nalu.is_video_slice()) {
-
314  // For video-slice NAL units, encrypt the video slice. This skips
-
315  // the frame header. If this is an unrecognized codec (e.g. H.265),
-
316  // the whole NAL unit will be encrypted.
-
317  const int64_t video_slice_header_size =
-
318  header_parser_ ? header_parser_->GetHeaderSize(nalu) : 0;
-
319  if (video_slice_header_size < 0)
-
320  return Status(error::MUXER_FAILURE, "Failed to read slice header.");
-
321 
-
322  uint64_t current_clear_bytes =
-
323  nalu.header_size() + video_slice_header_size;
-
324  uint64_t cipher_bytes = nalu.payload_size() - video_slice_header_size;
-
325 
-
326  // ISO/IEC 23001-7:2016 10.2 'cbc1' 10.3 'cens'
-
327  // The BytesOfProtectedData size SHALL be a multiple of 16 bytes to
-
328  // avoid partial blocks in Subsamples.
-
329  if (protection_scheme_ == FOURCC_cbc1 ||
-
330  protection_scheme_ == FOURCC_cens) {
-
331  const uint16_t misalign_bytes = cipher_bytes % kCencBlockSize;
-
332  current_clear_bytes += misalign_bytes;
-
333  cipher_bytes -= misalign_bytes;
-
334  }
-
335 
-
336  const uint8_t* nalu_data = nalu.data() + current_clear_bytes;
-
337  EncryptBytes(const_cast<uint8_t*>(nalu_data), cipher_bytes);
-
338 
-
339  AddSubsamples(
-
340  accumulated_clear_bytes + nalu_length_size_ + current_clear_bytes,
-
341  cipher_bytes, &sample_encryption_entry.subsamples);
-
342  accumulated_clear_bytes = 0;
-
343  } else {
-
344  // For non-video-slice NAL units, don't encrypt.
-
345  accumulated_clear_bytes +=
-
346  nalu_length_size_ + nalu.header_size() + nalu.payload_size();
-
347  }
-
348  }
-
349  if (result != NaluReader::kEOStream)
-
350  return Status(error::MUXER_FAILURE, "Failed to parse NAL units.");
-
351  AddSubsamples(accumulated_clear_bytes, 0,
-
352  &sample_encryption_entry.subsamples);
-
353  }
-
354  DCHECK_EQ(sample_encryption_entry.GetTotalSizeOfSubsamples(),
-
355  sample->data_size());
-
356 
-
357  // The length of per-sample auxiliary datum, defined in CENC ch. 7.
-
358  traf()->auxiliary_size.sample_info_sizes.push_back(
-
359  sample_encryption_entry.ComputeSize());
-
360  } else {
-
361  DCHECK_LE(crypt_byte_block(), 1u);
-
362  DCHECK_EQ(skip_byte_block(), 0u);
-
363  EncryptBytes(data, sample->data_size());
-
364  }
-
365 
-
366  traf()->sample_encryption.sample_encryption_entries.push_back(
-
367  sample_encryption_entry);
-
368  encryptor_->UpdateIv();
-
369  return Status::OK;
-
370 }
-
371 
-
372 bool EncryptingFragmenter::IsSubsampleEncryptionRequired() {
-
373  return vpx_parser_ || nalu_length_size_ != 0;
-
374 }
-
375 
-
376 } // namespace mp4
-
377 } // namespace media
-
378 } // namespace shaka
+
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 = frame.uncompressed_header_size;
+
270  subsample.cipher_bytes =
+
271  frame.frame_size - frame.uncompressed_header_size;
+
272 
+
273  // "VP Codec ISO Media File Format Binding" document requires that the
+
274  // encrypted bytes of each frame within the superframe must be block
+
275  // aligned so that the counter state can be computed for each frame
+
276  // within the superframe.
+
277  // ISO/IEC 23001-7:2016 10.2 'cbc1' 10.3 'cens'
+
278  // The BytesOfProtectedData size SHALL be a multiple of 16 bytes to
+
279  // avoid partial blocks in Subsamples.
+
280  if (is_superframe || protection_scheme_ == FOURCC_cbc1 ||
+
281  protection_scheme_ == FOURCC_cens) {
+
282  const uint16_t misalign_bytes =
+
283  subsample.cipher_bytes % kCencBlockSize;
+
284  subsample.clear_bytes += misalign_bytes;
+
285  subsample.cipher_bytes -= misalign_bytes;
+
286  }
+
287 
+
288  sample_encryption_entry.subsamples.push_back(subsample);
+
289  if (subsample.cipher_bytes > 0)
+
290  EncryptBytes(data + subsample.clear_bytes, subsample.cipher_bytes);
+
291  data += frame.frame_size;
+
292  }
+
293  // Add subsample for the superframe index if exists.
+
294  if (is_superframe) {
+
295  size_t index_size = sample->data() + sample->data_size() - data;
+
296  DCHECK_LE(index_size, 2 + vpx_frames.size() * 4);
+
297  DCHECK_GE(index_size, 2 + vpx_frames.size() * 1);
+
298  SubsampleEntry subsample;
+
299  subsample.clear_bytes = index_size;
+
300  subsample.cipher_bytes = 0;
+
301  sample_encryption_entry.subsamples.push_back(subsample);
+
302  }
+
303  } else {
+
304  const Nalu::CodecType nalu_type =
+
305  (video_codec_ == kCodecHVC1 || video_codec_ == kCodecHEV1)
+
306  ? Nalu::kH265
+
307  : Nalu::kH264;
+
308  NaluReader reader(nalu_type, nalu_length_size_, data,
+
309  sample->data_size());
+
310 
+
311  // Store the current length of clear data. This is used to squash
+
312  // multiple unencrypted NAL units into fewer subsample entries.
+
313  uint64_t accumulated_clear_bytes = 0;
+
314 
+
315  Nalu nalu;
+
316  NaluReader::Result result;
+
317  while ((result = reader.Advance(&nalu)) == NaluReader::kOk) {
+
318  if (nalu.is_video_slice()) {
+
319  // For video-slice NAL units, encrypt the video slice. This skips
+
320  // the frame header. If this is an unrecognized codec (e.g. H.265),
+
321  // the whole NAL unit will be encrypted.
+
322  const int64_t video_slice_header_size =
+
323  header_parser_ ? header_parser_->GetHeaderSize(nalu) : 0;
+
324  if (video_slice_header_size < 0)
+
325  return Status(error::MUXER_FAILURE, "Failed to read slice header.");
+
326 
+
327  uint64_t current_clear_bytes =
+
328  nalu.header_size() + video_slice_header_size;
+
329  uint64_t cipher_bytes = nalu.payload_size() - video_slice_header_size;
+
330 
+
331  // ISO/IEC 23001-7:2016 10.2 'cbc1' 10.3 'cens'
+
332  // The BytesOfProtectedData size SHALL be a multiple of 16 bytes to
+
333  // avoid partial blocks in Subsamples.
+
334  if (protection_scheme_ == FOURCC_cbc1 ||
+
335  protection_scheme_ == FOURCC_cens) {
+
336  const uint16_t misalign_bytes = cipher_bytes % kCencBlockSize;
+
337  current_clear_bytes += misalign_bytes;
+
338  cipher_bytes -= misalign_bytes;
+
339  }
+
340 
+
341  const uint8_t* nalu_data = nalu.data() + current_clear_bytes;
+
342  EncryptBytes(const_cast<uint8_t*>(nalu_data), cipher_bytes);
+
343 
+
344  AddSubsamples(
+
345  accumulated_clear_bytes + nalu_length_size_ + current_clear_bytes,
+
346  cipher_bytes, &sample_encryption_entry.subsamples);
+
347  accumulated_clear_bytes = 0;
+
348  } else {
+
349  // For non-video-slice NAL units, don't encrypt.
+
350  accumulated_clear_bytes +=
+
351  nalu_length_size_ + nalu.header_size() + nalu.payload_size();
+
352  }
+
353  }
+
354  if (result != NaluReader::kEOStream)
+
355  return Status(error::MUXER_FAILURE, "Failed to parse NAL units.");
+
356  AddSubsamples(accumulated_clear_bytes, 0,
+
357  &sample_encryption_entry.subsamples);
+
358  }
+
359  DCHECK_EQ(sample_encryption_entry.GetTotalSizeOfSubsamples(),
+
360  sample->data_size());
+
361 
+
362  // The length of per-sample auxiliary datum, defined in CENC ch. 7.
+
363  traf()->auxiliary_size.sample_info_sizes.push_back(
+
364  sample_encryption_entry.ComputeSize());
+
365  } else {
+
366  DCHECK_LE(crypt_byte_block(), 1u);
+
367  DCHECK_EQ(skip_byte_block(), 0u);
+
368  EncryptBytes(data, sample->data_size());
+
369  }
+
370 
+
371  traf()->sample_encryption.sample_encryption_entries.push_back(
+
372  sample_encryption_entry);
+
373  encryptor_->UpdateIv();
+
374  return Status::OK;
+
375 }
+
376 
+
377 bool EncryptingFragmenter::IsSubsampleEncryptionRequired() {
+
378  return vpx_parser_ || nalu_length_size_ != 0;
+
379 }
+
380 
+
381 } // namespace mp4
+
382 } // namespace media
+
383 } // namespace shaka
-
Status AddSample(scoped_refptr< MediaSample > sample) override
-
Status InitializeFragment(int64_t first_sample_dts) 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)
virtual Status AddSample(scoped_refptr< MediaSample > sample)
Definition: fragmenter.cc:45
-
void FinalizeFragment() override
Finalize and optimize the fragment.
+
virtual void OnEncryptionStart()=0
+
void FinalizeFragment() override
Finalize and optimize the fragment.
virtual Status InitializeFragment(int64_t first_sample_dts)
Definition: fragmenter.cc:85
-
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)
virtual void FinalizeFragment()
Finalize and optimize the fragment.
Definition: fragmenter.cc:104
-
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
@@ -485,13 +491,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); - -
virtual Status PrepareFragmentForEncryption(bool enable_encryption)
+ +
virtual Status PrepareFragmentForEncryption(bool enable_encryption)
+
bool OptimizeSampleEntries(std::vector< T > *entries, T *default_value)
Definition: fragmenter.h:92
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 e81914954a..0e070c582b 100644 --- a/docs/d6/d4e/webm_2multi__segment__segmenter_8cc_source.html +++ b/docs/d6/d4e/webm_2multi__segment__segmenter_8cc_source.html @@ -183,12 +183,12 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
94 } // namespace shaka
virtual void OnNewSegment(const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)=0
void Update(const Status &new_status)
Definition: status.h:117
- + diff --git a/docs/d6/d55/aes__cryptor_8cc_source.html b/docs/d6/d55/aes__cryptor_8cc_source.html index 1ffa4e086b..3ebc0114f5 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 e5de0a2270..8d9a3bd655 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 0d5895c67d..ed93c7092e 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 2fe5b89e6d..3423c84d91 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 5253274a51..601522615c 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 fd23fc9cce..9ca70d78c7 100644 --- a/docs/d6/d6e/ts__section__pes_8cc_source.html +++ b/docs/d6/d6e/ts__section__pes_8cc_source.html @@ -405,7 +405,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d71/scoped__xml__ptr_8h_source.html b/docs/d6/d71/scoped__xml__ptr_8h_source.html index 4a8ec70804..f65c816ddf 100644 --- a/docs/d6/d71/scoped__xml__ptr_8h_source.html +++ b/docs/d6/d71/scoped__xml__ptr_8h_source.html @@ -131,7 +131,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d77/dash__iop__mpd__notifier_8h_source.html b/docs/d6/d77/dash__iop__mpd__notifier_8h_source.html index 42fd8a4c42..24222ef148 100644 --- a/docs/d6/d77/dash__iop__mpd__notifier_8h_source.html +++ b/docs/d6/d77/dash__iop__mpd__notifier_8h_source.html @@ -210,7 +210,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/d79/structshaka_1_1media_1_1mp4_1_1VTTAdditionalTextBox.html b/docs/d6/d79/structshaka_1_1media_1_1mp4_1_1VTTAdditionalTextBox.html index b429e28282..c1c2fe22ab 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 f11ff3d08f..aad6764cae 100644 --- a/docs/d6/d7b/webm__tracks__parser_8h_source.html +++ b/docs/d6/d7b/webm__tracks__parser_8h_source.html @@ -202,7 +202,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 6238482af8..2daa9ed899 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 73eb82b142..bf6b67f46b 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 6a3623a144..f59db24bba 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 2f8e5334ff..a51eb93f8b 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 0c430553ae..41fd50c522 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 7e05ff8022..613fa4b670 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 df756c2854..41bd34f253 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 f48b77ad27..6d7f8acafc 100644 --- a/docs/d6/da3/mpd__builder_8h_source.html +++ b/docs/d6/da3/mpd__builder_8h_source.html @@ -534,7 +534,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/da4/classshaka_1_1media_1_1AVCDecoderConfigurationRecord-members.html b/docs/d6/da4/classshaka_1_1media_1_1AVCDecoderConfigurationRecord-members.html index 74b1cee964..deaa9960d7 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 0e5f50cad7..d14ac83642 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 0eccb10dab..efba4c2246 100644 --- a/docs/d6/da9/classshaka_1_1media_1_1BitReader.html +++ b/docs/d6/da9/classshaka_1_1media_1_1BitReader.html @@ -362,7 +362,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 a0a8d39b50..d8183a6583 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 cdf97cf485..5065ed204e 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 166933ab96..51899ab54d 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 44a455077b..221739cea0 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 9a2a174125..dc9c87e29b 100644 --- a/docs/d6/dc7/classshaka_1_1media_1_1mp2t_1_1EsParserH26x-members.html +++ b/docs/d6/dc7/classshaka_1_1media_1_1mp2t_1_1EsParserH26x-members.html @@ -107,7 +107,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/dc8/mkv__writer_8cc_source.html b/docs/d6/dc8/mkv__writer_8cc_source.html index 6f27f1143d..369aee4e8d 100644 --- a/docs/d6/dc8/mkv__writer_8cc_source.html +++ b/docs/d6/dc8/mkv__writer_8cc_source.html @@ -195,7 +195,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d6/dcb/structshaka_1_1media_1_1mp4_1_1SampleEncryptionEntry.html b/docs/d6/dcb/structshaka_1_1media_1_1mp4_1_1SampleEncryptionEntry.html index a0d2702161..482e69875b 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 9b48666aff..48d9768292 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 b6e9fe833e..871c420f06 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 4bb708a6ad..7968156ba1 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 2ff7da2c10..d687f790ab 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 22d8cd3a61..9cca5c75f1 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 08bc99d7b2..807157cb5a 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 961a4ed63a..67afe111bc 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 a20802edaf..09388e9c75 100644 --- a/docs/d6/de8/local__file_8cc_source.html +++ b/docs/d6/de8/local__file_8cc_source.html @@ -191,7 +191,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 f8fd43ed8d..1e7f63e541 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 3c3533ea9b..3447f98744 100644 --- a/docs/d6/de9/ts__segmenter_8cc_source.html +++ b/docs/d6/de9/ts__segmenter_8cc_source.html @@ -146,155 +146,161 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
57  }
58  if (!status.ok())
59  return status;
-
60  encryption_key_ = encryption_key.Pass();
-
61  clear_lead_in_seconds_ = clear_lead_in_seconds;
-
62  status = NotifyEncrypted();
-
63  if (!status.ok())
-
64  return status;
-
65  }
-
66 
-
67  timescale_scale_ = kTsTimescale / stream_info.time_scale();
-
68  return Status::OK;
-
69 }
-
70 
- -
72  return Flush();
-
73 }
-
74 
-
75 // First checks whether the sample is a key frame. If so and the segment has
-
76 // passed the segment duration, then flush the generator and write all the data
-
77 // to file.
-
78 Status TsSegmenter::AddSample(scoped_refptr<MediaSample> sample) {
-
79  const bool passed_segment_duration =
-
80  current_segment_total_sample_duration_ > muxer_options_.segment_duration;
-
81  if (sample->is_key_frame() && passed_segment_duration) {
-
82  Status status = Flush();
-
83  if (!status.ok())
-
84  return status;
-
85  }
-
86 
-
87  if (!ts_writer_file_opened_ && !sample->is_key_frame())
-
88  LOG(WARNING) << "A segment will start with a non key frame.";
-
89 
-
90  if (!pes_packet_generator_->PushSample(sample)) {
-
91  return Status(error::MUXER_FAILURE,
-
92  "Failed to add sample to PesPacketGenerator.");
-
93  }
-
94 
-
95  const double scaled_sample_duration = sample->duration() * timescale_scale_;
-
96  current_segment_total_sample_duration_ +=
-
97  scaled_sample_duration / kTsTimescale;
-
98 
-
99  return WritePesPacketsToFile();
-
100 }
-
101 
-
102 void TsSegmenter::InjectTsWriterForTesting(scoped_ptr<TsWriter> writer) {
-
103  ts_writer_ = writer.Pass();
-
104 }
-
105 
- -
107  scoped_ptr<PesPacketGenerator> generator) {
-
108  pes_packet_generator_ = generator.Pass();
-
109 }
-
110 
- -
112  ts_writer_file_opened_ = value;
-
113 }
-
114 
-
115 Status TsSegmenter::OpenNewSegmentIfClosed(uint32_t next_pts) {
-
116  if (ts_writer_file_opened_)
-
117  return Status::OK;
-
118  const std::string segment_name =
-
119  GetSegmentName(muxer_options_.segment_template, next_pts,
-
120  segment_number_++, muxer_options_.bandwidth);
-
121  if (!ts_writer_->NewSegment(segment_name))
-
122  return Status(error::MUXER_FAILURE, "Failed to initilize TsPacketWriter.");
-
123  current_segment_start_time_ = next_pts;
-
124  current_segment_path_ = segment_name;
-
125  ts_writer_file_opened_ = true;
-
126  return Status::OK;
-
127 }
-
128 
-
129 Status TsSegmenter::WritePesPacketsToFile() {
-
130  while (pes_packet_generator_->NumberOfReadyPesPackets() > 0u) {
-
131  scoped_ptr<PesPacket> pes_packet =
-
132  pes_packet_generator_->GetNextPesPacket();
-
133 
-
134  Status status = OpenNewSegmentIfClosed(pes_packet->pts());
-
135  if (!status.ok())
-
136  return status;
-
137 
-
138  if (!ts_writer_->AddPesPacket(pes_packet.Pass()))
-
139  return Status(error::MUXER_FAILURE, "Failed to add PES packet.");
-
140  }
-
141  return Status::OK;
-
142 }
+
60 
+
61  encryption_key_ = encryption_key.Pass();
+
62  clear_lead_in_seconds_ = clear_lead_in_seconds;
+
63 
+
64  if (listener_) {
+
65  // For now this only happens once, so send true.
+
66  const bool kIsInitialEncryptionInfo = true;
+
67  listener_->OnEncryptionInfoReady(
+
68  kIsInitialEncryptionInfo, FOURCC_cbcs, encryption_key_->key_id,
+
69  encryption_key_->iv, encryption_key_->key_system_info);
+
70  }
+
71 
+
72  status = NotifyEncrypted();
+
73  if (!status.ok())
+
74  return status;
+
75  }
+
76 
+
77  timescale_scale_ = kTsTimescale / stream_info.time_scale();
+
78  return Status::OK;
+
79 }
+
80 
+ +
82  return Flush();
+
83 }
+
84 
+
85 // First checks whether the sample is a key frame. If so and the segment has
+
86 // passed the segment duration, then flush the generator and write all the data
+
87 // to file.
+
88 Status TsSegmenter::AddSample(scoped_refptr<MediaSample> sample) {
+
89  const bool passed_segment_duration =
+
90  current_segment_total_sample_duration_ > muxer_options_.segment_duration;
+
91  if (sample->is_key_frame() && passed_segment_duration) {
+
92  Status status = Flush();
+
93  if (!status.ok())
+
94  return status;
+
95  }
+
96 
+
97  if (!ts_writer_file_opened_ && !sample->is_key_frame())
+
98  LOG(WARNING) << "A segment will start with a non key frame.";
+
99 
+
100  if (!pes_packet_generator_->PushSample(sample)) {
+
101  return Status(error::MUXER_FAILURE,
+
102  "Failed to add sample to PesPacketGenerator.");
+
103  }
+
104 
+
105  const double scaled_sample_duration = sample->duration() * timescale_scale_;
+
106  current_segment_total_sample_duration_ +=
+
107  scaled_sample_duration / kTsTimescale;
+
108 
+
109  return WritePesPacketsToFile();
+
110 }
+
111 
+
112 void TsSegmenter::InjectTsWriterForTesting(scoped_ptr<TsWriter> writer) {
+
113  ts_writer_ = writer.Pass();
+
114 }
+
115 
+ +
117  scoped_ptr<PesPacketGenerator> generator) {
+
118  pes_packet_generator_ = generator.Pass();
+
119 }
+
120 
+ +
122  ts_writer_file_opened_ = value;
+
123 }
+
124 
+
125 Status TsSegmenter::OpenNewSegmentIfClosed(uint32_t next_pts) {
+
126  if (ts_writer_file_opened_)
+
127  return Status::OK;
+
128  const std::string segment_name =
+
129  GetSegmentName(muxer_options_.segment_template, next_pts,
+
130  segment_number_++, muxer_options_.bandwidth);
+
131  if (!ts_writer_->NewSegment(segment_name))
+
132  return Status(error::MUXER_FAILURE, "Failed to initilize TsPacketWriter.");
+
133  current_segment_start_time_ = next_pts;
+
134  current_segment_path_ = segment_name;
+
135  ts_writer_file_opened_ = true;
+
136  return Status::OK;
+
137 }
+
138 
+
139 Status TsSegmenter::WritePesPacketsToFile() {
+
140  while (pes_packet_generator_->NumberOfReadyPesPackets() > 0u) {
+
141  scoped_ptr<PesPacket> pes_packet =
+
142  pes_packet_generator_->GetNextPesPacket();
143 
-
144 Status TsSegmenter::Flush() {
-
145  if (!pes_packet_generator_->Flush()) {
-
146  return Status(error::MUXER_FAILURE,
-
147  "Failed to flush PesPacketGenerator.");
-
148  }
-
149  Status status = WritePesPacketsToFile();
-
150  if (!status.ok())
-
151  return status;
-
152 
-
153  // This method may be called from Finalize() so ts_writer_file_opened_ could
-
154  // be false.
-
155  if (ts_writer_file_opened_) {
-
156  if (!ts_writer_->FinalizeSegment()) {
-
157  return Status(error::MUXER_FAILURE, "Failed to finalize TsWriter.");
-
158  }
-
159  if (listener_) {
-
160  const int64_t file_size =
-
161  File::GetFileSize(current_segment_path_.c_str());
-
162  listener_->OnNewSegment(
-
163  current_segment_path_, current_segment_start_time_,
-
164  current_segment_total_sample_duration_ * kTsTimescale, file_size);
-
165  }
-
166  ts_writer_file_opened_ = false;
-
167  total_duration_in_seconds_ += current_segment_total_sample_duration_;
-
168  }
-
169  current_segment_total_sample_duration_ = 0.0;
-
170  current_segment_start_time_ = 0;
-
171  current_segment_path_.clear();
-
172  return NotifyEncrypted();
-
173 }
-
174 
-
175 Status TsSegmenter::NotifyEncrypted() {
-
176  if (encryption_key_ && total_duration_in_seconds_ >= clear_lead_in_seconds_) {
-
177  if (listener_) {
-
178  // For now this only happens once, so send true.
-
179  const bool kIsInitialEncryptionInfo = true;
-
180  listener_->OnEncryptionInfoReady(
-
181  kIsInitialEncryptionInfo, FOURCC_cbcs, encryption_key_->key_id,
-
182  encryption_key_->iv, encryption_key_->key_system_info);
-
183  }
+
144  Status status = OpenNewSegmentIfClosed(pes_packet->pts());
+
145  if (!status.ok())
+
146  return status;
+
147 
+
148  if (!ts_writer_->AddPesPacket(pes_packet.Pass()))
+
149  return Status(error::MUXER_FAILURE, "Failed to add PES packet.");
+
150  }
+
151  return Status::OK;
+
152 }
+
153 
+
154 Status TsSegmenter::Flush() {
+
155  if (!pes_packet_generator_->Flush()) {
+
156  return Status(error::MUXER_FAILURE,
+
157  "Failed to flush PesPacketGenerator.");
+
158  }
+
159  Status status = WritePesPacketsToFile();
+
160  if (!status.ok())
+
161  return status;
+
162 
+
163  // This method may be called from Finalize() so ts_writer_file_opened_ could
+
164  // be false.
+
165  if (ts_writer_file_opened_) {
+
166  if (!ts_writer_->FinalizeSegment()) {
+
167  return Status(error::MUXER_FAILURE, "Failed to finalize TsWriter.");
+
168  }
+
169  if (listener_) {
+
170  const int64_t file_size =
+
171  File::GetFileSize(current_segment_path_.c_str());
+
172  listener_->OnNewSegment(
+
173  current_segment_path_, current_segment_start_time_,
+
174  current_segment_total_sample_duration_ * kTsTimescale, file_size);
+
175  }
+
176  ts_writer_file_opened_ = false;
+
177  total_duration_in_seconds_ += current_segment_total_sample_duration_;
+
178  }
+
179  current_segment_total_sample_duration_ = 0.0;
+
180  current_segment_start_time_ = 0;
+
181  current_segment_path_.clear();
+
182  return NotifyEncrypted();
+
183 }
184 
-
185  if (!pes_packet_generator_->SetEncryptionKey(encryption_key_.Pass()))
-
186  return Status(error::INTERNAL_ERROR, "Failed to set encryption key.");
-
187  ts_writer_->SignalEncypted();
-
188  }
-
189  return Status::OK;
-
190 }
-
191 
-
192 } // namespace mp2t
-
193 } // namespace media
-
194 } // namespace shaka
+
185 Status TsSegmenter::NotifyEncrypted() {
+
186  if (encryption_key_ && total_duration_in_seconds_ >= clear_lead_in_seconds_) {
+
187  if (listener_)
+
188  listener_->OnEncryptionStart();
+
189 
+
190  if (!pes_packet_generator_->SetEncryptionKey(encryption_key_.Pass()))
+
191  return Status(error::INTERNAL_ERROR, "Failed to set encryption key.");
+
192  ts_writer_->SignalEncypted();
+
193  }
+
194  return Status::OK;
+
195 }
+
196 
+
197 } // namespace mp2t
+
198 } // namespace media
+
199 } // namespace shaka
virtual void OnNewSegment(const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)=0
virtual void OnEncryptionInfoReady(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info)=0
Abstract class holds stream information.
Definition: stream_info.h:26
-
Status AddSample(scoped_refptr< MediaSample > sample)
Definition: ts_segmenter.cc:78
- +
Status AddSample(scoped_refptr< MediaSample > sample)
Definition: ts_segmenter.cc:88
+ +
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.
+
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 SetTsWriterFileOpenedForTesting(bool value)
Only for testing.
-
void InjectPesPacketGeneratorForTesting(scoped_ptr< PesPacketGenerator > generator)
Only for testing.
+
void SetTsWriterFileOpenedForTesting(bool value)
Only for testing.
+
void InjectPesPacketGeneratorForTesting(scoped_ptr< PesPacketGenerator > generator)
Only for testing.
static int64_t GetFileSize(const char *file_name)
Definition: file.cc:175
@@ -307,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 0dd094cd3d..175ba5518e 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 0460f0d3a4..806b6e1dec 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 83e4d76545..19e8dae4c0 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 5913631dc1..d5eeea7d04 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 4c47eeb93d..6a47a60599 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 1911799470..45d8e13d61 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 6b78788f19..5b07e6114e 100644 --- a/docs/d7/d12/media__parser_8h_source.html +++ b/docs/d7/d12/media__parser_8h_source.html @@ -150,7 +150,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d7/d15/mpd__notifier_8h_source.html b/docs/d7/d15/mpd__notifier_8h_source.html index d8b1800dac..6429b3bd8a 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 2402ce2526..5ea6c80c8f 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 daa263dd30..87a556adcc 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 cc0e597cc9..1eb74463c8 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 0da122a8ef..6362fc20aa 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 90fceb7aa9..08f368aa6c 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 5c88fc2b93..5b5fe0407e 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 a32dd38ebf..e2331fb2e6 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 ff7f92f29c..3ef78d442d 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 d9f2210698..8b7d670945 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 3e6e2416a8..25edcc99a7 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 a42d167762..e97505bf49 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 01c993bfdd..5a35bf9046 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 a945d4ce86..e6da04e483 100644 --- a/docs/d7/d6d/classshaka_1_1media_1_1MediaSample.html +++ b/docs/d7/d6d/classshaka_1_1media_1_1MediaSample.html @@ -411,7 +411,7 @@ class base::RefCountedThre diff --git a/docs/d7/d75/structshaka_1_1media_1_1mp4_1_1MediaHeader-members.html b/docs/d7/d75/structshaka_1_1media_1_1mp4_1_1MediaHeader-members.html index 22741c89da..fb16ffd7be 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 c824c3a595..1cdea268d7 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 3ddcdc9126..6d12f80d4a 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 8e8548d0e8..d04ae9a5f3 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 77b548319f..ec7d07a2e8 100644 --- a/docs/d7/d87/video__stream__info_8h_source.html +++ b/docs/d7/d87/video__stream__info_8h_source.html @@ -188,7 +188,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 1563a35110..7e846d472e 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 70c71ba6b3..754618de6a 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 dea682c86f..c860a27a2e 100644 --- a/docs/d7/da4/track__run__iterator_8h_source.html +++ b/docs/d7/da4/track__run__iterator_8h_source.html @@ -195,7 +195,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d7/dae/structshaka_1_1media_1_1mp4_1_1MediaData.html b/docs/d7/dae/structshaka_1_1media_1_1mp4_1_1MediaData.html index 7408fe8a3b..8818d3f57c 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 8c19e2c998..9e88c91a72 100644 --- a/docs/d7/db0/mpd__writer_8h_source.html +++ b/docs/d7/db0/mpd__writer_8h_source.html @@ -182,7 +182,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d7/db7/structshaka_1_1media_1_1mp4_1_1SampleToChunk-members.html b/docs/d7/db7/structshaka_1_1media_1_1mp4_1_1SampleToChunk-members.html index ede977e5e3..54cbe64b8f 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 4eeb45b99b..f097bd01ff 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 2fc5d5db2a..2cb882e55d 100644 --- a/docs/d7/dc6/byte__queue_8h_source.html +++ b/docs/d7/dc6/byte__queue_8h_source.html @@ -144,7 +144,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d7/dd0/mpd__notifier__util_8h_source.html b/docs/d7/dd0/mpd__notifier__util_8h_source.html index 5a0743ccf5..76cb7549d8 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 0d29adbd3b..d47d4bab36 100644 --- a/docs/d7/dd4/request__signer_8h_source.html +++ b/docs/d7/dd4/request__signer_8h_source.html @@ -178,7 +178,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d7/dd5/classshaka_1_1media_1_1mp4_1_1MP4MediaParser.html b/docs/d7/dd5/classshaka_1_1media_1_1mp4_1_1MP4MediaParser.html index 252f722676..2850ce67b0 100644 --- a/docs/d7/dd5/classshaka_1_1media_1_1mp4_1_1MP4MediaParser.html +++ b/docs/d7/dd5/classshaka_1_1media_1_1mp4_1_1MP4MediaParser.html @@ -285,7 +285,7 @@ track_id, const scoped_refptr
diff --git a/docs/d7/dd6/key__source_8cc_source.html b/docs/d7/dd6/key__source_8cc_source.html index f9f43e3532..b40499d296 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 0ffbbbaa88..8f88ee6262 100644 --- a/docs/d7/dda/classshaka_1_1media_1_1ByteQueue.html +++ b/docs/d7/dda/classshaka_1_1media_1_1ByteQueue.html @@ -177,7 +177,7 @@ void  diff --git a/docs/d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html b/docs/d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html index fc79855f01..b8209e2d54 100644 --- a/docs/d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html +++ b/docs/d7/ddd/classshaka_1_1media_1_1RsaRequestSigner.html @@ -182,7 +182,7 @@ Additional Inherited Members diff --git a/docs/d7/de0/classshaka_1_1media_1_1HttpKeyFetcher.html b/docs/d7/de0/classshaka_1_1media_1_1HttpKeyFetcher.html index 590c6db96a..cf080804e9 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 76b7dad3d9..4b323b476a 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 f6c35972d2..424fceb832 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 715384ed56..d884b33e9b 100644 --- a/docs/d7/dee/mpd__generator_8cc_source.html +++ b/docs/d7/dee/mpd__generator_8cc_source.html @@ -198,7 +198,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 a8e06e83c7..80657b6b5b 100644 --- a/docs/d7/def/mp4__media__parser_8cc_source.html +++ b/docs/d7/def/mp4__media__parser_8cc_source.html @@ -872,7 +872,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 479807ca8e..5b4a1877ea 100644 --- a/docs/d7/df9/byte__queue_8cc_source.html +++ b/docs/d7/df9/byte__queue_8cc_source.html @@ -182,7 +182,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/d08/classshaka_1_1media_1_1H264ByteToUnitStreamConverter.html b/docs/d8/d08/classshaka_1_1media_1_1H264ByteToUnitStreamConverter.html index df48d87f8d..9cbeeb9d86 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 47d767eb10..2a4f88dd0e 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 cc5b0bdbfe..7b9eb3f3e5 100644 --- a/docs/d8/d08/classshaka_1_1media_1_1mp2t_1_1TsWriter-members.html +++ b/docs/d8/d08/classshaka_1_1media_1_1mp2t_1_1TsWriter-members.html @@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/d08/structshaka_1_1media_1_1mp4_1_1MovieHeader-members.html b/docs/d8/d08/structshaka_1_1media_1_1mp4_1_1MovieHeader-members.html index 4ea8284158..7549b7ee2b 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 1553886224..d645a0e39a 100644 --- a/docs/d8/d0d/media__sample_8cc_source.html +++ b/docs/d8/d0d/media__sample_8cc_source.html @@ -195,7 +195,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/d12/structshaka_1_1media_1_1mp4_1_1DecodingTime.html b/docs/d8/d12/structshaka_1_1media_1_1mp4_1_1DecodingTime.html index fbb68f3486..4835078c5b 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 6697b1e884..c6649a284a 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 027e1de53e..d840b8f359 100644 --- a/docs/d8/d13/classshaka_1_1media_1_1BitReader-members.html +++ b/docs/d8/d13/classshaka_1_1media_1_1BitReader-members.html @@ -104,7 +104,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 f6c0e33d99..eba9537fa0 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 61f0f3d264..d5e782f3f5 100644 --- a/docs/d8/d16/structshaka_1_1media_1_1MuxerOptions-members.html +++ b/docs/d8/d16/structshaka_1_1media_1_1MuxerOptions-members.html @@ -109,7 +109,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 b23b38cfd8..8e81d7b997 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 65d8aa8408..ca5539406e 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 64cbfaae8a..7e50202574 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 e6f5bc8f99..f5b28fa877 100644 --- a/docs/d8/d28/es__parser__h265_8h_source.html +++ b/docs/d8/d28/es__parser__h265_8h_source.html @@ -155,7 +155,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/d33/webm__content__encodings__client_8h_source.html b/docs/d8/d33/webm__content__encodings__client_8h_source.html index 46dc93e844..42ccf02933 100644 --- a/docs/d8/d33/webm__content__encodings__client_8h_source.html +++ b/docs/d8/d33/webm__content__encodings__client_8h_source.html @@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/d3e/classshaka_1_1media_1_1StreamDescriptorCompareFn.html b/docs/d8/d3e/classshaka_1_1media_1_1StreamDescriptorCompareFn.html index 77c4c62d77..ea69bf9dae 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 07475319af..64107d40e1 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 8052a346ec..d81f257108 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 87a34596f9..9ec892d739 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 fc19beae85..b8505995ad 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 07508822e7..8093467dc3 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 bbceaca298..f6f5ab4b85 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 8b5ac89636..e264c4f9dc 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 a6dde8863e..3b5dc0c272 100644 --- a/docs/d8/d86/classshaka_1_1media_1_1WebMTracksParser.html +++ b/docs/d8/d86/classshaka_1_1media_1_1WebMTracksParser.html @@ -225,7 +225,7 @@ The number of bytes parsed on success. diff --git a/docs/d8/d88/structshaka_1_1media_1_1mp4_1_1MovieExtends-members.html b/docs/d8/d88/structshaka_1_1media_1_1mp4_1_1MovieExtends-members.html index 2d5848aae6..67d5ef2f01 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 7564b8f45f..2a825c2191 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 1fc5c611aa..91a9461285 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 5d46ecdf09..218e318d46 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 2d49fbd4b0..a332d642f3 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 6c430d0212..24ac229d79 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 c47906a77d..cfd4d99939 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 51405d6961..300fd73689 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 1e690ee273..7e950d4cb5 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 a478ec44ff..097196edd4 100644 --- a/docs/d8/d9a/fragmenter_8cc_source.html +++ b/docs/d8/d9a/fragmenter_8cc_source.html @@ -293,7 +293,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 da605b0374..81e0452579 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 dd5638a46c..358c919149 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 a5e8b0e745..91063fda9e 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 1159d86de0..061348ea17 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 5d6af9a8c7..492ed18083 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 7e21114583..3a35578e36 100644 --- a/docs/d8/daa/stream__info_8h_source.html +++ b/docs/d8/daa/stream__info_8h_source.html @@ -185,7 +185,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/daf/namespaceshaka.html b/docs/d8/daf/namespaceshaka.html index 356ffcf0db..bfb53b623a 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 ac646c195c..efc6839fa1 100644 --- a/docs/d8/db7/classshaka_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html +++ b/docs/d8/db7/classshaka_1_1media_1_1mp4_1_1MultiSegmentSegmenter.html @@ -259,7 +259,7 @@ void set_progress_target diff --git a/docs/d8/db9/classshaka_1_1media_1_1WebMContentEncodingsClient-members.html b/docs/d8/db9/classshaka_1_1media_1_1WebMContentEncodingsClient-members.html index c74747f9f2..82a0e3191b 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 8cf4906d61..ca7af3fe89 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 df8bd58e08..9ed405f37f 100644 --- a/docs/d8/dca/ts__writer_8h_source.html +++ b/docs/d8/dca/ts__writer_8h_source.html @@ -162,7 +162,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/dcd/structshaka_1_1media_1_1mp4_1_1DecodingTime-members.html b/docs/d8/dcd/structshaka_1_1media_1_1mp4_1_1DecodingTime-members.html index c33921a6ec..d8b1c62fde 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 b3be760099..2552150b98 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 8966c73f25..0222ef46b7 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 b3c251e0b3..0fabea71f8 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 ac8fae793a..2ebca26b63 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 2efb57f8a0..f5e5409c42 100644 --- a/docs/d8/de6/webm__crypto__helpers_8h_source.html +++ b/docs/d8/de6/webm__crypto__helpers_8h_source.html @@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/deb/classshaka_1_1media_1_1mp2t_1_1EsParser-members.html b/docs/d8/deb/classshaka_1_1media_1_1mp2t_1_1EsParser-members.html index 139afaab87..47fbe7d132 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 d57443ec7b..aee1f993ac 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 1379e06d1d..414388e3ce 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 15a4f49324..f9ae115ddd 100644 --- a/docs/d8/df0/webm_2single__segment__segmenter_8cc_source.html +++ b/docs/d8/df0/webm_2single__segment__segmenter_8cc_source.html @@ -177,11 +177,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
88 } // namespace webm
89 } // namespace media
90 } // namespace shaka
- + 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 e735c25e48..41765d8b48 100644 --- a/docs/d8/df7/classshaka_1_1media_1_1SegmentTestBase-members.html +++ b/docs/d8/df7/classshaka_1_1media_1_1SegmentTestBase-members.html @@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d8/dfa/nal__unit__to__byte__stream__converter_8h_source.html b/docs/d8/dfa/nal__unit__to__byte__stream__converter_8h_source.html index dda48cb05f..1f89b5af89 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 a41fb49b08..05033ca321 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 4cf10ad707..397911e7e3 100644 --- a/docs/d9/d01/mp4_2single__segment__segmenter_8h_source.html +++ b/docs/d9/d01/mp4_2single__segment__segmenter_8h_source.html @@ -140,7 +140,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/d08/mock__mpd__builder_8h_source.html b/docs/d9/d08/mock__mpd__builder_8h_source.html index 2a40e63dd8..4a270928ba 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 1bcc775d02..d35b362d05 100644 --- a/docs/d9/d0b/classshaka_1_1media_1_1HlsNotifyMuxerListener-members.html +++ b/docs/d9/d0b/classshaka_1_1media_1_1HlsNotifyMuxerListener-members.html @@ -101,16 +101,17 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); kContainerWebM enum value (defined in shaka::media::MuxerListener)shaka::media::MuxerListener MuxerListener() (defined in shaka::media::MuxerListener)shaka::media::MuxerListenerinlineprotected OnEncryptionInfoReady(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info) overrideshaka::media::HlsNotifyMuxerListenervirtual - OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) overrideshaka::media::HlsNotifyMuxerListenervirtual - OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) overrideshaka::media::HlsNotifyMuxerListenervirtual - OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) overrideshaka::media::HlsNotifyMuxerListenervirtual - OnSampleDurationReady(uint32_t sample_duration) overrideshaka::media::HlsNotifyMuxerListenervirtual - ~HlsNotifyMuxerListener() override (defined in shaka::media::HlsNotifyMuxerListener)shaka::media::HlsNotifyMuxerListener - ~MuxerListener() (defined in shaka::media::MuxerListener)shaka::media::MuxerListenerinlinevirtual + OnEncryptionStart() overrideshaka::media::HlsNotifyMuxerListenervirtual + OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) overrideshaka::media::HlsNotifyMuxerListenervirtual + OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) overrideshaka::media::HlsNotifyMuxerListenervirtual + OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) overrideshaka::media::HlsNotifyMuxerListenervirtual + OnSampleDurationReady(uint32_t sample_duration) overrideshaka::media::HlsNotifyMuxerListenervirtual + ~HlsNotifyMuxerListener() override (defined in shaka::media::HlsNotifyMuxerListener)shaka::media::HlsNotifyMuxerListener + ~MuxerListener() (defined in shaka::media::MuxerListener)shaka::media::MuxerListenerinlinevirtual diff --git a/docs/d9/d0c/classshaka_1_1media_1_1RsaPublicKey.html b/docs/d9/d0c/classshaka_1_1media_1_1RsaPublicKey.html index 388497e4ca..e49ce192c0 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 a69d850d3f..d2a7c15ccd 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 2b440f0beb..05310db099 100644 --- a/docs/d9/d15/key__rotation__fragmenter_8cc_source.html +++ b/docs/d9/d15/key__rotation__fragmenter_8cc_source.html @@ -123,106 +123,107 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
34  clear_time,
35  protection_scheme,
36  crypt_byte_block,
-
37  skip_byte_block),
-
38  moof_(moof),
-
39  encryption_key_source_(encryption_key_source),
-
40  track_type_(track_type),
-
41  crypto_period_duration_(crypto_period_duration),
-
42  prev_crypto_period_index_(-1),
-
43  muxer_listener_(muxer_listener) {
-
44  DCHECK(moof);
-
45  DCHECK(encryption_key_source);
-
46 }
-
47 
-
48 KeyRotationFragmenter::~KeyRotationFragmenter() {}
-
49 
- -
51  bool enable_encryption) {
-
52  bool need_to_refresh_encryptor = !encryptor();
-
53 
-
54  size_t current_crypto_period_index =
-
55  traf()->decode_time.decode_time / crypto_period_duration_;
-
56  if (current_crypto_period_index != prev_crypto_period_index_) {
-
57  scoped_ptr<EncryptionKey> encryption_key(new EncryptionKey());
-
58  Status status = encryption_key_source_->GetCryptoPeriodKey(
-
59  current_crypto_period_index, track_type_, encryption_key.get());
-
60  if (!status.ok())
-
61  return status;
-
62  if (encryption_key->iv.empty()) {
-
63  if (!AesCryptor::GenerateRandomIv(protection_scheme(),
-
64  &encryption_key->iv)) {
-
65  return Status(error::INTERNAL_ERROR, "Failed to generate random iv.");
-
66  }
-
67  }
-
68  set_encryption_key(encryption_key.Pass());
-
69  prev_crypto_period_index_ = current_crypto_period_index;
-
70  need_to_refresh_encryptor = true;
-
71  }
-
72 
-
73  DCHECK(encryption_key());
-
74  const std::vector<ProtectionSystemSpecificInfo>& system_info =
-
75  encryption_key()->key_system_info;
-
76  moof_->pssh.resize(system_info.size());
-
77  for (size_t i = 0; i < system_info.size(); i++) {
-
78  moof_->pssh[i].raw_box = system_info[i].CreateBox();
-
79  }
-
80 
-
81  if (muxer_listener_) {
-
82  muxer_listener_->OnEncryptionInfoReady(
-
83  !kInitialEncryptionInfo, protection_scheme(), encryption_key()->key_id,
-
84  encryption_key()->iv, encryption_key()->key_system_info);
-
85  }
-
86 
-
87  // Skip the following steps if the current fragment is not going to be
-
88  // encrypted. 'pssh' box needs to be included in the fragment, which is
-
89  // performed above, regardless of whether the fragment is encrypted. This is
-
90  // necessary for two reasons: 1) Requesting keys before reaching encrypted
-
91  // content avoids playback delay due to license requests; 2) In Chrome, CDM
-
92  // must be initialized before starting the playback and CDM can only be
-
93  // initialized with a valid 'pssh'.
-
94  if (!enable_encryption) {
-
95  DCHECK(!encryptor());
-
96  return Status::OK;
-
97  }
-
98 
-
99  if (need_to_refresh_encryptor) {
-
100  Status status = CreateEncryptor();
-
101  if (!status.ok())
-
102  return status;
-
103  }
-
104  DCHECK(encryptor());
-
105 
-
106  // Key rotation happens in fragment boundary only in this implementation,
-
107  // i.e. there is at most one key for the fragment. So there should be only
-
108  // one entry in SampleGroupDescription box and one entry in SampleToGroup box.
-
109  // Fill in SampleGroupDescription box information.
-
110  traf()->sample_group_descriptions.resize(
-
111  traf()->sample_group_descriptions.size() + 1);
-
112  SampleGroupDescription& sample_group_description =
-
113  traf()->sample_group_descriptions.back();
-
114  sample_group_description.grouping_type = FOURCC_seig;
-
115 
-
116  sample_group_description.cenc_sample_encryption_info_entries.resize(1);
-
117  CencSampleEncryptionInfoEntry& sample_group_entry =
-
118  sample_group_description.cenc_sample_encryption_info_entries.back();
-
119  sample_group_entry.is_protected = 1;
-
120  if (protection_scheme() == FOURCC_cbcs) {
-
121  // For 'cbcs' scheme, Constant IVs SHALL be used.
-
122  sample_group_entry.per_sample_iv_size = 0;
-
123  sample_group_entry.constant_iv = encryptor()->iv();
-
124  } else {
-
125  sample_group_entry.per_sample_iv_size = encryptor()->iv().size();
-
126  }
-
127  sample_group_entry.crypt_byte_block = crypt_byte_block();
-
128  sample_group_entry.skip_byte_block = skip_byte_block();
-
129  sample_group_entry.key_id = encryption_key()->key_id;
-
130 
-
131  return Status::OK;
-
132 }
-
133 
-
134 } // namespace mp4
-
135 } // namespace media
-
136 } // namespace shaka
+
37  skip_byte_block,
+
38  muxer_listener),
+
39  moof_(moof),
+
40  encryption_key_source_(encryption_key_source),
+
41  track_type_(track_type),
+
42  crypto_period_duration_(crypto_period_duration),
+
43  prev_crypto_period_index_(-1),
+
44  muxer_listener_(muxer_listener) {
+
45  DCHECK(moof);
+
46  DCHECK(encryption_key_source);
+
47 }
+
48 
+
49 KeyRotationFragmenter::~KeyRotationFragmenter() {}
+
50 
+ +
52  bool enable_encryption) {
+
53  bool need_to_refresh_encryptor = !encryptor();
+
54 
+
55  size_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());
+
59  Status status = encryption_key_source_->GetCryptoPeriodKey(
+
60  current_crypto_period_index, track_type_, encryption_key.get());
+
61  if (!status.ok())
+
62  return status;
+
63  if (encryption_key->iv.empty()) {
+
64  if (!AesCryptor::GenerateRandomIv(protection_scheme(),
+
65  &encryption_key->iv)) {
+
66  return Status(error::INTERNAL_ERROR, "Failed to generate random iv.");
+
67  }
+
68  }
+
69  set_encryption_key(encryption_key.Pass());
+
70  prev_crypto_period_index_ = current_crypto_period_index;
+
71  need_to_refresh_encryptor = true;
+
72  }
+
73 
+
74  DCHECK(encryption_key());
+
75  const std::vector<ProtectionSystemSpecificInfo>& system_info =
+
76  encryption_key()->key_system_info;
+
77  moof_->pssh.resize(system_info.size());
+
78  for (size_t i = 0; i < system_info.size(); i++) {
+
79  moof_->pssh[i].raw_box = system_info[i].CreateBox();
+
80  }
+
81 
+
82  if (muxer_listener_) {
+
83  muxer_listener_->OnEncryptionInfoReady(
+
84  !kInitialEncryptionInfo, protection_scheme(), encryption_key()->key_id,
+
85  encryption_key()->iv, encryption_key()->key_system_info);
+
86  }
+
87 
+
88  // Skip the following steps if the current fragment is not going to be
+
89  // encrypted. 'pssh' box needs to be included in the fragment, which is
+
90  // performed above, regardless of whether the fragment is encrypted. This is
+
91  // necessary for two reasons: 1) Requesting keys before reaching encrypted
+
92  // content avoids playback delay due to license requests; 2) In Chrome, CDM
+
93  // must be initialized before starting the playback and CDM can only be
+
94  // initialized with a valid 'pssh'.
+
95  if (!enable_encryption) {
+
96  DCHECK(!encryptor());
+
97  return Status::OK;
+
98  }
+
99 
+
100  if (need_to_refresh_encryptor) {
+
101  Status status = CreateEncryptor();
+
102  if (!status.ok())
+
103  return status;
+
104  }
+
105  DCHECK(encryptor());
+
106 
+
107  // Key rotation happens in fragment boundary only in this implementation,
+
108  // i.e. there is at most one key for the fragment. So there should be only
+
109  // one entry in SampleGroupDescription box and one entry in SampleToGroup box.
+
110  // Fill in SampleGroupDescription box information.
+
111  traf()->sample_group_descriptions.resize(
+
112  traf()->sample_group_descriptions.size() + 1);
+
113  SampleGroupDescription& sample_group_description =
+
114  traf()->sample_group_descriptions.back();
+
115  sample_group_description.grouping_type = FOURCC_seig;
+
116 
+
117  sample_group_description.cenc_sample_encryption_info_entries.resize(1);
+
118  CencSampleEncryptionInfoEntry& sample_group_entry =
+
119  sample_group_description.cenc_sample_encryption_info_entries.back();
+
120  sample_group_entry.is_protected = 1;
+
121  if (protection_scheme() == FOURCC_cbcs) {
+
122  // For 'cbcs' scheme, Constant IVs SHALL be used.
+
123  sample_group_entry.per_sample_iv_size = 0;
+
124  sample_group_entry.constant_iv = encryptor()->iv();
+
125  } else {
+
126  sample_group_entry.per_sample_iv_size = encryptor()->iv().size();
+
127  }
+
128  sample_group_entry.crypt_byte_block = crypt_byte_block();
+
129  sample_group_entry.skip_byte_block = skip_byte_block();
+
130  sample_group_entry.key_id = encryption_key()->key_id;
+
131 
+
132  return Status::OK;
+
133 }
+
134 
+
135 } // namespace mp4
+
136 } // namespace media
+
137 } // namespace shaka
virtual void OnEncryptionInfoReady(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info)=0
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)
@@ -231,18 +232,18 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
static bool GenerateRandomIv(FourCC protection_scheme, std::vector< uint8_t > *iv)
Definition: aes_cryptor.cc:109
-
EncryptingFragmenter generates MP4 fragments with sample encrypted.
+
EncryptingFragmenter generates MP4 fragments with sample encrypted.
- +
KeySource is responsible for encryption key acquisition.
Definition: key_source.h:31
-
Status PrepareFragmentForEncryption(bool enable_encryption) override
+
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 2d2efc6ea3..b9e39e58c4 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 32293e345f..76b9803b69 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 d814bba445..2f271901b3 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 @@ -203,7 +203,7 @@ void set_progress_target
Returns
OK on success, an error status otherwise.
-

Definition at line 312 of file segmenter.cc.

+

Definition at line 313 of file segmenter.cc.

@@ -222,7 +222,7 @@ void set_progress_targetFinalize the segmenter.

Returns
OK on success, an error status otherwise.
-

Definition at line 286 of file segmenter.cc.

+

Definition at line 287 of file segmenter.cc.

@@ -240,7 +240,7 @@ void set_progress_target
Returns
The total length, in seconds, of segmented media files.
-

Definition at line 370 of file segmenter.cc.

+

Definition at line 371 of file segmenter.cc.

@@ -430,7 +430,7 @@ void set_progress_target diff --git a/docs/d9/d36/classshaka_1_1media_1_1TracksBuilder-members.html b/docs/d9/d36/classshaka_1_1media_1_1TracksBuilder-members.html index 15c1113692..63016cbf00 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 ee151c025c..6fe358ad6b 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 6d109b117d..d5a4d27e7b 100644 --- a/docs/d9/d3b/webm__content__encodings_8h_source.html +++ b/docs/d9/d3b/webm__content__encodings_8h_source.html @@ -179,7 +179,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/d3c/structshaka_1_1media_1_1mp4_1_1VTTEmptyCueBox.html b/docs/d9/d3c/structshaka_1_1media_1_1mp4_1_1VTTEmptyCueBox.html index c6360567d9..0455f67bad 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 f9a3e6c46d..4fe47a0cce 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 fce6b0b5fa..0e723934db 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 834bd2b44d..81265b90b4 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 429bcb636f..1ef3363e96 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 cde574d04e..3bd4569e12 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 8e0935a921..85151acd22 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 b20f4d4b14..f448dd4a1f 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 9966deeef8..1a73c98dce 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 196e482fa4..5a94e38a57 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 17fa00d2df..f5ff857ac0 100644 --- a/docs/d9/d8c/classshaka_1_1media_1_1AesRequestSigner.html +++ b/docs/d9/d8c/classshaka_1_1media_1_1AesRequestSigner.html @@ -188,7 +188,7 @@ Additional Inherited Members diff --git a/docs/d9/d90/classshaka_1_1media_1_1ProtectionSystemSpecificInfo-members.html b/docs/d9/d90/classshaka_1_1media_1_1ProtectionSystemSpecificInfo-members.html index f23c306917..1c2e93e3ec 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 2b3741bed6..b4f659502f 100644 --- a/docs/d9/d90/text__track_8h_source.html +++ b/docs/d9/d90/text__track_8h_source.html @@ -134,7 +134,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/d93/media__stream_8h_source.html b/docs/d9/d93/media__stream_8h_source.html index c2f6f5518f..57e3ccabe5 100644 --- a/docs/d9/d93/media__stream_8h_source.html +++ b/docs/d9/d93/media__stream_8h_source.html @@ -170,7 +170,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/da4/stream__descriptor_8h_source.html b/docs/d9/da4/stream__descriptor_8h_source.html index ecba9d1948..601afea304 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 e606e05dbb..96b979ba17 100644 --- a/docs/d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html +++ b/docs/d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html @@ -111,6 +111,8 @@ Public Member Functions
MuxerListener implementation overrides.
void OnEncryptionInfoReady (bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info) override   +void OnEncryptionStart () override +  void OnMediaStart (const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) override   void OnSampleDurationReady (uint32_t sample_duration) override @@ -231,6 +233,34 @@ Additional Inherited Members

Definition at line 31 of file mpd_notify_muxer_listener.cc.

+ + + +
+
+ + + + + +
+ + + + + + + +
void shaka::media::MpdNotifyMuxerListener::OnEncryptionStart ()
+
+overridevirtual
+
+

Called when the muxer starts encrypting the segments. Further segments notified via OnNewSegment() are encrypted. This may be called more than once e.g. per segment, but the semantics does not change.

+ +

Implements shaka::media::MuxerListener.

+ +

Definition at line 57 of file mpd_notify_muxer_listener.cc.

+
@@ -317,7 +347,7 @@ Additional Inherited Members

Implements shaka::media::MuxerListener.

-

Definition at line 110 of file mpd_notify_muxer_listener.cc.

+

Definition at line 112 of file mpd_notify_muxer_listener.cc.

@@ -377,7 +407,7 @@ Additional Inherited Members

Implements shaka::media::MuxerListener.

-

Definition at line 57 of file mpd_notify_muxer_listener.cc.

+

Definition at line 59 of file mpd_notify_muxer_listener.cc.

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

Implements shaka::media::MuxerListener.

-

Definition at line 149 of file mpd_notify_muxer_listener.cc.

+

Definition at line 151 of file mpd_notify_muxer_listener.cc.

@@ -472,7 +502,7 @@ Additional Inherited Members

Implements shaka::media::MuxerListener.

-

Definition at line 87 of file mpd_notify_muxer_listener.cc.

+

Definition at line 89 of file mpd_notify_muxer_listener.cc.

@@ -483,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 dad3f7d395..ca006968c4 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 2c956f101e..a140544996 100644 --- a/docs/d9/da7/classshaka_1_1media_1_1mp4_1_1Segmenter-members.html +++ b/docs/d9/da7/classshaka_1_1media_1_1mp4_1_1Segmenter-members.html @@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/db2/classshaka_1_1media_1_1mp4_1_1CompositionOffsetIterator-members.html b/docs/d9/db2/classshaka_1_1media_1_1mp4_1_1CompositionOffsetIterator-members.html index 98a404aeb8..0b22dd4a1d 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 f0b1d31665..76086a4115 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 6641b80068..aa7df15e4e 100644 --- a/docs/d9/db9/muxer_8cc_source.html +++ b/docs/d9/db9/muxer_8cc_source.html @@ -218,7 +218,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/dbd/classshaka_1_1media_1_1MemoryFile.html b/docs/d9/dbd/classshaka_1_1media_1_1MemoryFile.html index 0eb5decb71..6998ef6d28 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 342d1c5ffa..44a437bf9d 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 6fbc637710..e57052c346 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 6cd786d847..86cf3c9647 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 4d572c019f..0eb1ce927c 100644 --- a/docs/d9/dcc/webm__video__client_8h_source.html +++ b/docs/d9/dcc/webm__video__client_8h_source.html @@ -149,7 +149,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/de3/muxer__listener__internal_8cc_source.html b/docs/d9/de3/muxer__listener__internal_8cc_source.html index bef6eac8c0..d43f39cddf 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 9873021eab..e47c0204ac 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 45b6e60326..1ba6b2b855 100644 --- a/docs/d9/dea/classshaka_1_1media_1_1FixedKeySource-members.html +++ b/docs/d9/dea/classshaka_1_1media_1_1FixedKeySource-members.html @@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/d9/ded/aac__audio__specific__config_8cc_source.html b/docs/d9/ded/aac__audio__specific__config_8cc_source.html index b2fc9ac83b..b3b66fd816 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 a84dc724cf..5f90853c92 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 e1580601be..437d6f168a 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 ff28e20002..1006ef5466 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 bd461a4706..e2c4912231 100644 --- a/docs/da/d04/audio__stream__info_8cc_source.html +++ b/docs/da/d04/audio__stream__info_8cc_source.html @@ -240,7 +240,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 aafa7f5550..0b5449b4a6 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 e535b07f57..619a61306d 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 0f2be290b4..9cb9328ff3 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 0203dcdc1f..17b9d5456d 100644 --- a/docs/da/d22/key__rotation__fragmenter_8h_source.html +++ b/docs/da/d22/key__rotation__fragmenter_8h_source.html @@ -147,16 +147,16 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
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)
-
EncryptingFragmenter generates MP4 fragments with sample encrypted.
+
EncryptingFragmenter generates MP4 fragments with sample encrypted.
KeySource is responsible for encryption key acquisition.
Definition: key_source.h:31
-
Status PrepareFragmentForEncryption(bool enable_encryption) override
+
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 7f6aa40b35..a0907410bd 100644 --- a/docs/da/d23/classshaka_1_1media_1_1mp2t_1_1EsParserH26x.html +++ b/docs/da/d23/classshaka_1_1media_1_1mp2t_1_1EsParserH26x.html @@ -159,7 +159,7 @@ const scoped_refptr
diff --git a/docs/da/d23/ts__muxer_8h_source.html b/docs/da/d23/ts__muxer_8h_source.html index cffced441f..404a3560b9 100644 --- a/docs/da/d23/ts__muxer_8h_source.html +++ b/docs/da/d23/ts__muxer_8h_source.html @@ -137,7 +137,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/d24/h265__parser_8h_source.html b/docs/da/d24/h265__parser_8h_source.html index b9be328704..590f1fea66 100644 --- a/docs/da/d24/h265__parser_8h_source.html +++ b/docs/da/d24/h265__parser_8h_source.html @@ -450,7 +450,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/d2a/text__stream__info_8h_source.html b/docs/da/d2a/text__stream__info_8h_source.html index 406f89f563..32fccceda4 100644 --- a/docs/da/d2a/text__stream__info_8h_source.html +++ b/docs/da/d2a/text__stream__info_8h_source.html @@ -140,7 +140,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 05761f2ff9..dcf413a4c4 100644 --- a/docs/da/d2d/classshaka_1_1media_1_1webm_1_1WebMMuxer-members.html +++ b/docs/da/d2d/classshaka_1_1media_1_1webm_1_1WebMMuxer-members.html @@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/d3e/structshaka_1_1media_1_1mp4_1_1PixelAspectRatio-members.html b/docs/da/d3e/structshaka_1_1media_1_1mp4_1_1PixelAspectRatio-members.html index 7994f10957..84f75e9bea 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 ede6b5a124..3e8fb04168 100644 --- a/docs/da/d41/mp4_2multi__segment__segmenter_8h_source.html +++ b/docs/da/d41/mp4_2multi__segment__segmenter_8h_source.html @@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/d43/structshaka_1_1ContentProtectionElement.html b/docs/da/d43/structshaka_1_1ContentProtectionElement.html index 839825a5ff..44af1afb4c 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 593e3cde24..85ff98b6c8 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 74db555ea5..1c16107408 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 fbf3f14274..aaf679538b 100644 --- a/docs/da/d53/es__parser__h265_8cc_source.html +++ b/docs/da/d53/es__parser__h265_8cc_source.html @@ -267,7 +267,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 a76a7ee6a2..641ce10af2 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 a086a1af33..402c577c62 100644 --- a/docs/da/d5c/widevine__key__source_8h_source.html +++ b/docs/da/d5c/widevine__key__source_8h_source.html @@ -223,7 +223,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/d5e/classshaka_1_1media_1_1H264VideoSliceHeaderParser-members.html b/docs/da/d5e/classshaka_1_1media_1_1H264VideoSliceHeaderParser-members.html index 926bb3fb7b..3bb0df06af 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 08b38953ee..d9dc30e8f2 100644 --- a/docs/da/d60/classshaka_1_1media_1_1mp4_1_1SingleSegmentSegmenter-members.html +++ b/docs/da/d60/classshaka_1_1media_1_1mp4_1_1SingleSegmentSegmenter-members.html @@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/d64/classshaka_1_1media_1_1mp2t_1_1H264ProgramMapTableWriter-members.html b/docs/da/d64/classshaka_1_1media_1_1mp2t_1_1H264ProgramMapTableWriter-members.html index fc1469cc0d..e906d131fb 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 b34acb4429..adf2bae316 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 0699996d81..738ada2944 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 85d2c0dd0e..40f8743f4e 100644 --- a/docs/da/d85/classshaka_1_1media_1_1mp2t_1_1TsSegmenter-members.html +++ b/docs/da/d85/classshaka_1_1media_1_1mp2t_1_1TsSegmenter-members.html @@ -104,7 +104,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/d88/mp4__muxer_8cc_source.html b/docs/da/d88/mp4__muxer_8cc_source.html index 39b5d8e174..f3395489da 100644 --- a/docs/da/d88/mp4__muxer_8cc_source.html +++ b/docs/da/d88/mp4__muxer_8cc_source.html @@ -510,7 +510,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/d8b/classshaka_1_1media_1_1WebMMediaParser-members.html b/docs/da/d8b/classshaka_1_1media_1_1WebMMediaParser-members.html index 6c97cccf9a..245a0cada3 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 54ed3d3fc3..a35531883f 100644 --- a/docs/da/d8e/container__names_8cc_source.html +++ b/docs/da/d8e/container__names_8cc_source.html @@ -1853,7 +1853,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 ed29dac963..cf7b232dc8 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 64ede92f98..6f6b284d4e 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 2b5a5ca253..8cd3a7ad96 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 335aa0c843..4936a8ddcd 100644 --- a/docs/da/d9f/classshaka_1_1media_1_1MockMuxerListener-members.html +++ b/docs/da/d9f/classshaka_1_1media_1_1MockMuxerListener-members.html @@ -98,14 +98,16 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); kContainerMpeg2ts enum value (defined in shaka::media::MuxerListener)shaka::media::MuxerListener kContainerUnknown enum value (defined in shaka::media::MuxerListener)shaka::media::MuxerListener kContainerWebM enum value (defined in shaka::media::MuxerListener)shaka::media::MuxerListener - MOCK_METHOD1(OnSampleDurationReady, void(uint32_t sample_duration)) (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener - MOCK_METHOD4(OnMediaStart, void(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)) (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener - MOCK_METHOD4(OnNewSegment, void(const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)) (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener - MOCK_METHOD5(OnEncryptionInfoReady, void(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info)) (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener - MOCK_METHOD8(OnMediaEnd, void(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size)) (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener - MockMuxerListener() (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener - MuxerListener() (defined in shaka::media::MuxerListener)shaka::media::MuxerListenerinlineprotected - OnEncryptionInfoReady(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info)=0shaka::media::MuxerListenerpure virtual + MOCK_METHOD0(OnEncryptionStart, void()) (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener + MOCK_METHOD1(OnSampleDurationReady, void(uint32_t sample_duration)) (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener + MOCK_METHOD4(OnMediaStart, void(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)) (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener + MOCK_METHOD4(OnNewSegment, void(const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)) (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener + MOCK_METHOD5(OnEncryptionInfoReady, void(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info)) (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener + MOCK_METHOD8(OnMediaEnd, void(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size)) (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener + MockMuxerListener() (defined in shaka::media::MockMuxerListener)shaka::media::MockMuxerListener + MuxerListener() (defined in shaka::media::MuxerListener)shaka::media::MuxerListenerinlineprotected + OnEncryptionInfoReady(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info)=0shaka::media::MuxerListenerpure virtual + OnEncryptionStart()=0shaka::media::MuxerListenerpure virtual OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size)=0shaka::media::MuxerListenerpure virtual OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)=0shaka::media::MuxerListenerpure virtual OnNewSegment(const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)=0shaka::media::MuxerListenerpure virtual @@ -115,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 ce1b8ceeaf..c4fcbbec8f 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 99d7ee3b47..3135be4cec 100644 --- a/docs/da/db2/classshaka_1_1Representation-members.html +++ b/docs/da/db2/classshaka_1_1Representation-members.html @@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/dbb/structshaka_1_1media_1_1mp4_1_1HandlerReference.html b/docs/da/dbb/structshaka_1_1media_1_1mp4_1_1HandlerReference.html index 366f91656e..dfe34f4729 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 dad3a8e238..3b98a0ea22 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 c63347c54d..0ffe59fe94 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 4fd731c53e..fd95fb0fcf 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 7e10369c74..06b05232b7 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 20bec87b07..6f4124f5b0 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 c313c407ee..b6d9f2851f 100644 --- a/docs/da/dd1/fragmenter_8h_source.html +++ b/docs/da/dd1/fragmenter_8h_source.html @@ -199,7 +199,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 f93a139be2..e8d4956b1d 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 bb63059719..bd853b3734 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 889d2f203d..6dbbc8d755 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 fa1d2d8697..b9d122a34f 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 56d1078362..2e4925e496 100644 --- a/docs/da/ddd/classshaka_1_1media_1_1WidevineKeySource.html +++ b/docs/da/ddd/classshaka_1_1media_1_1WidevineKeySource.html @@ -550,7 +550,7 @@ static std::string  diff --git a/docs/da/ddf/structshaka_1_1media_1_1mp4_1_1SampleDescription-members.html b/docs/da/ddf/structshaka_1_1media_1_1mp4_1_1SampleDescription-members.html index 3f02beeed1..1e866e829c 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 ab840653a5..6fa42f547c 100644 --- a/docs/da/de2/mock__mpd__builder_8cc_source.html +++ b/docs/da/de2/mock__mpd__builder_8cc_source.html @@ -123,7 +123,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/da/de4/classshaka_1_1media_1_1WebMClusterParser.html b/docs/da/de4/classshaka_1_1media_1_1WebMClusterParser.html index 518d6c289b..66b2efb7d8 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 9f331ae3ba..6495e5fd50 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 60016588e3..7f791653ca 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 5b9ecedd52..7512ad8dfa 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 a31216cc05..3240e14b07 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 17561dc2ae..9ea02825d1 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 320f2e42cf..65401655a2 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 29103bdb84..b3948fa350 100644 --- a/docs/da/df9/classshaka_1_1media_1_1AesPatternCryptor-members.html +++ b/docs/da/df9/classshaka_1_1media_1_1AesPatternCryptor-members.html @@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d05/structshaka_1_1media_1_1H265SliceHeader.html b/docs/db/d05/structshaka_1_1media_1_1H265SliceHeader.html index 832395a747..80500928fc 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 035bf170b2..b6982f6066 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 ed0730d492..9bacc3e07b 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 a440c34d49..dd83d43bde 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 7b73f7d6ad..645e8673f9 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 af7f5ed222..83c24a46b4 100644 --- a/docs/db/d30/classshaka_1_1media_1_1mp4_1_1MP4Muxer.html +++ b/docs/db/d30/classshaka_1_1media_1_1mp4_1_1MP4Muxer.html @@ -179,7 +179,7 @@ FourCC protection_scheme diff --git a/docs/db/d31/h26x__byte__to__unit__stream__converter_8h_source.html b/docs/db/d31/h26x__byte__to__unit__stream__converter_8h_source.html index 07d15cfa60..a23aa29a9e 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 30d58c53c3..6a5c6a3fae 100644 --- a/docs/db/d31/track__run__iterator_8cc_source.html +++ b/docs/db/d31/track__run__iterator_8cc_source.html @@ -767,7 +767,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d38/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator-members.html b/docs/db/d38/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator-members.html index ebb80ff98a..8520e5a4f2 100644 --- a/docs/db/d38/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator-members.html +++ b/docs/db/d38/classshaka_1_1media_1_1mp2t_1_1PesPacketGenerator-members.html @@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d3b/classshaka_1_1media_1_1VideoSliceHeaderParser-members.html b/docs/db/d3b/classshaka_1_1media_1_1VideoSliceHeaderParser-members.html index 264a46ae48..db6fcc16b2 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 f2d056fec6..86b3b0fd55 100644 --- a/docs/db/d45/mpd__notify__muxer__listener_8h_source.html +++ b/docs/db/d45/mpd__notify__muxer__listener_8h_source.html @@ -124,70 +124,72 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
39  const std::vector<uint8_t>& iv,
40  const std::vector<ProtectionSystemSpecificInfo>&
41  key_system_info) override;
-
42  void OnMediaStart(const MuxerOptions& muxer_options,
-
43  const StreamInfo& stream_info,
-
44  uint32_t time_scale,
-
45  ContainerType container_type) override;
-
46  void OnSampleDurationReady(uint32_t sample_duration) override;
-
47  void OnMediaEnd(bool has_init_range,
-
48  uint64_t init_range_start,
-
49  uint64_t init_range_end,
-
50  bool has_index_range,
-
51  uint64_t index_range_start,
-
52  uint64_t index_range_end,
-
53  float duration_seconds,
-
54  uint64_t file_size) override;
-
55  void OnNewSegment(const std::string& file_name,
-
56  uint64_t start_time,
-
57  uint64_t duration,
-
58  uint64_t segment_file_size) override;
-
60 
-
61  private:
-
62  // This stores data passed into OnNewSegment() for VOD.
-
63  struct SubsegmentInfo {
-
64  uint64_t start_time;
-
65  uint64_t duration;
-
66  uint64_t segment_file_size;
-
67  };
-
68 
-
69  MpdNotifier* const mpd_notifier_;
-
70  uint32_t notification_id_;
-
71  scoped_ptr<MediaInfo> media_info_;
-
72 
-
73  bool is_encrypted_;
-
74  // Storage for values passed to OnEncryptionInfoReady().
-
75  FourCC protection_scheme_;
-
76  std::string default_key_id_;
-
77  std::vector<ProtectionSystemSpecificInfo> key_system_info_;
-
78 
-
79  // Saves all the subsegment information for VOD. This should be used to call
-
80  // MpdNotifier::NotifyNewSegment() after NotifyNewSegment() is called
-
81  // (in OnMediaEnd). This is not used for live because NotifyNewSegment() is
-
82  // called immediately in OnNewSegment().
-
83  std::list<SubsegmentInfo> subsegments_;
-
84 
-
85  DISALLOW_COPY_AND_ASSIGN(MpdNotifyMuxerListener);
-
86 };
-
87 
-
88 } // namespace media
-
89 } // namespace shaka
-
90 
-
91 #endif // MEDIA_EVENT_MPD_NOTIFY_MUXER_LISTENER_H_
-
void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
+
42  void OnEncryptionStart() override;
+
43  void OnMediaStart(const MuxerOptions& muxer_options,
+
44  const StreamInfo& stream_info,
+
45  uint32_t time_scale,
+
46  ContainerType container_type) override;
+
47  void OnSampleDurationReady(uint32_t sample_duration) override;
+
48  void OnMediaEnd(bool has_init_range,
+
49  uint64_t init_range_start,
+
50  uint64_t init_range_end,
+
51  bool has_index_range,
+
52  uint64_t index_range_start,
+
53  uint64_t index_range_end,
+
54  float duration_seconds,
+
55  uint64_t file_size) override;
+
56  void OnNewSegment(const std::string& file_name,
+
57  uint64_t start_time,
+
58  uint64_t duration,
+
59  uint64_t segment_file_size) override;
+
61 
+
62  private:
+
63  // This stores data passed into OnNewSegment() for VOD.
+
64  struct SubsegmentInfo {
+
65  uint64_t start_time;
+
66  uint64_t duration;
+
67  uint64_t segment_file_size;
+
68  };
+
69 
+
70  MpdNotifier* const mpd_notifier_;
+
71  uint32_t notification_id_;
+
72  scoped_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  // Saves all the subsegment information for VOD. This should be used to call
+
81  // MpdNotifier::NotifyNewSegment() after NotifyNewSegment() is called
+
82  // (in OnMediaEnd). This is not used for live because NotifyNewSegment() is
+
83  // called immediately in OnNewSegment().
+
84  std::list<SubsegmentInfo> subsegments_;
+
85 
+
86  DISALLOW_COPY_AND_ASSIGN(MpdNotifyMuxerListener);
+
87 };
+
88 
+
89 } // namespace media
+
90 } // namespace shaka
+
91 
+
92 #endif // MEDIA_EVENT_MPD_NOTIFY_MUXER_LISTENER_H_
+
void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
Abstract class holds stream information.
Definition: stream_info.h:26
-
void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) override
+
void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) override
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
void OnEncryptionInfoReady(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info) override
-
void OnSampleDurationReady(uint32_t sample_duration) override
+
void OnSampleDurationReady(uint32_t sample_duration) override
+
MpdNotifyMuxerListener(MpdNotifier *mpd_notifier)
-
void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) override
+
void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) override
diff --git a/docs/db/d4b/classshaka_1_1MockAdaptationSet.html b/docs/db/d4b/classshaka_1_1MockAdaptationSet.html index 66422db08a..dac4b0bd49 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 e29ca0e600..b92702dba8 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 e943a23cae..b933f91141 100644 --- a/docs/db/d51/mp2t__media__parser_8h_source.html +++ b/docs/db/d51/mp2t__media__parser_8h_source.html @@ -193,7 +193,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d51/two__pass__single__segment__segmenter_8h_source.html b/docs/db/d51/two__pass__single__segment__segmenter_8h_source.html index 3ab5c74634..ef8daf259f 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 @@ -145,7 +145,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d5a/classshaka_1_1media_1_1VP9Parser.html b/docs/db/d5a/classshaka_1_1media_1_1VP9Parser.html index 413bbb8f23..89e46aa8f8 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 b4b46bfc75..bea5324424 100644 --- a/docs/db/d60/mpd__options_8h_source.html +++ b/docs/db/d60/mpd__options_8h_source.html @@ -130,7 +130,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 6e6053a1ad..c4ef2ed42e 100644 --- a/docs/db/d64/webvtt__media__parser_8h_source.html +++ b/docs/db/d64/webvtt__media__parser_8h_source.html @@ -181,7 +181,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d66/structshaka_1_1media_1_1mp4_1_1SegmentType-members.html b/docs/db/d66/structshaka_1_1media_1_1mp4_1_1SegmentType-members.html index 55dd807b78..f0b04aba3a 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 c4e2ba199a..519609f157 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 f1d8f5c883..9f9e4aa0ad 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 8d79635a3e..2424811784 100644 --- a/docs/db/d75/classshaka_1_1media_1_1webm_1_1TwoPassSingleSegmentSegmenter-members.html +++ b/docs/db/d75/classshaka_1_1media_1_1webm_1_1TwoPassSingleSegmentSegmenter-members.html @@ -130,7 +130,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d78/classshaka_1_1media_1_1mp2t_1_1ContinuityCounter-members.html b/docs/db/d78/classshaka_1_1media_1_1mp2t_1_1ContinuityCounter-members.html index f86ca7ec11..7471155cfc 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 5b78409e90..1288fb2e42 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 04dad0a98e..ab86a93340 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 3ece4939f9..571aa69e8c 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 b8a3f20f40..8ce12640f2 100644 --- a/docs/db/d8f/mp4__muxer_8h_source.html +++ b/docs/db/d8f/mp4__muxer_8h_source.html @@ -173,7 +173,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/d94/classshaka_1_1media_1_1ClusterBuilder.html b/docs/db/d94/classshaka_1_1media_1_1ClusterBuilder.html index 44b539b171..21b56c2fc5 100644 --- a/docs/db/d94/classshaka_1_1media_1_1ClusterBuilder.html +++ b/docs/db/d94/classshaka_1_1media_1_1ClusterBuilder.html @@ -125,7 +125,7 @@ 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 592a415179..8ffd8b5029 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 @@ -310,7 +310,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 c84914b79f..ed58c9fd5b 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 0bfbed31e0..1fd5033e88 100644 --- a/docs/db/d96/wvm__media__parser_8h_source.html +++ b/docs/db/d96/wvm__media__parser_8h_source.html @@ -363,7 +363,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/da4/classBandwidthEstimator-members.html b/docs/db/da4/classBandwidthEstimator-members.html index 193a10e92f..03c95b6cf8 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 c3be50b984..5a415d8615 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 33b604c16c..dc18fdc440 100644 --- a/docs/db/dab/classshaka_1_1media_1_1TextStreamInfo.html +++ b/docs/db/dab/classshaka_1_1media_1_1TextStreamInfo.html @@ -276,7 +276,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 25be6b9d6e..7b2d731964 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 046b4a9988..249dc85efc 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 3633abe8ea..94e583335f 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 01f00df8d7..fac2734f9a 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 5aaa917d3a..3d0a8ed582 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 4f2ac48159..0da07f8017 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 967d66c147..4441d31c15 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 d7ccb39038..9b72a3986f 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 ca274f6cb1..365148d3f4 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 3ac27a0ba3..d60cf0fa63 100644 --- a/docs/db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html +++ b/docs/db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html @@ -112,6 +112,8 @@ Public Member Functions
MuxerListener implementation overrides.
void OnEncryptionInfoReady (bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &default_key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info) override   +void OnEncryptionStart () override +  void OnMediaStart (const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) override   void OnSampleDurationReady (uint32_t sample_duration) override @@ -204,6 +206,34 @@ Additional Inherited Members

Definition at line 28 of file vod_media_info_dump_muxer_listener.cc.

+ + + +
+
+ + + + + +
+ + + + + + + +
void shaka::media::VodMediaInfoDumpMuxerListener::OnEncryptionStart ()
+
+overridevirtual
+
+

Called when the muxer starts encrypting the segments. Further segments notified via OnNewSegment() are encrypted. This may be called more than once e.g. per segment, but the semantics does not change.

+ +

Implements shaka::media::MuxerListener.

+ +

Definition at line 65 of file vod_media_info_dump_muxer_listener.cc.

+
@@ -290,7 +320,7 @@ Additional Inherited Members

Implements shaka::media::MuxerListener.

-

Definition at line 73 of file vod_media_info_dump_muxer_listener.cc.

+

Definition at line 75 of file vod_media_info_dump_muxer_listener.cc.

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

Implements shaka::media::MuxerListener.

-

Definition at line 97 of file vod_media_info_dump_muxer_listener.cc.

+

Definition at line 99 of file vod_media_info_dump_muxer_listener.cc.

@@ -445,7 +475,7 @@ Additional Inherited Members

Implements shaka::media::MuxerListener.

-

Definition at line 65 of file vod_media_info_dump_muxer_listener.cc.

+

Definition at line 67 of file vod_media_info_dump_muxer_listener.cc.

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

Definition at line 103 of file vod_media_info_dump_muxer_listener.cc.

+

Definition at line 105 of file vod_media_info_dump_muxer_listener.cc.

@@ -501,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 5e6ac0c543..a106e25daf 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 6f4c038c71..4cb3290af0 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 adc85ac3aa..3ce9eae166 100644 --- a/docs/db/dde/h265__parser_8cc_source.html +++ b/docs/db/dde/h265__parser_8cc_source.html @@ -1221,7 +1221,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/dec/audio__timestamp__helper_8cc_source.html b/docs/db/dec/audio__timestamp__helper_8cc_source.html index 1e96c47113..d611c73a04 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 9b17ac262b..60c981c1b8 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 be525b8333..7d2d8e6b7e 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 b988b07825..ffa95cba6c 100644 --- a/docs/db/df6/classshaka_1_1media_1_1Cluster-members.html +++ b/docs/db/df6/classshaka_1_1media_1_1Cluster-members.html @@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/df6/muxer_8h_source.html b/docs/db/df6/muxer_8h_source.html index 9ee59fd4a9..2600440bef 100644 --- a/docs/db/df6/muxer_8h_source.html +++ b/docs/db/df6/muxer_8h_source.html @@ -212,7 +212,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html b/docs/db/df8/classshaka_1_1media_1_1H265ByteToUnitStreamConverter.html index ba1a54b8c6..7bc5880cfe 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 3703414bfe..fb9ac735fe 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 dfd9bb6508..587c28d3cc 100644 --- a/docs/db/dfc/mpd__notify__muxer__listener_8cc_source.html +++ b/docs/db/dfc/mpd__notify__muxer__listener_8cc_source.html @@ -143,135 +143,138 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
54  }
55 }
56 
- -
58  const MuxerOptions& muxer_options,
-
59  const StreamInfo& stream_info,
-
60  uint32_t time_scale,
-
61  ContainerType container_type) {
-
62  scoped_ptr<MediaInfo> media_info(new MediaInfo());
-
63  if (!internal::GenerateMediaInfo(muxer_options,
-
64  stream_info,
-
65  time_scale,
-
66  container_type,
-
67  media_info.get())) {
-
68  LOG(ERROR) << "Failed to generate MediaInfo from input.";
-
69  return;
-
70  }
-
71 
-
72  if (is_encrypted_) {
-
73  internal::SetContentProtectionFields(protection_scheme_, default_key_id_,
-
74  key_system_info_, media_info.get());
-
75  }
-
76 
-
77  if (mpd_notifier_->dash_profile() == kLiveProfile) {
-
78  // TODO(kqyang): Check return result.
-
79  mpd_notifier_->NotifyNewContainer(*media_info, &notification_id_);
-
80  } else {
-
81  media_info_ = media_info.Pass();
-
82  }
-
83 }
-
84 
-
85 // Record the sample duration in the media info for VOD so that OnMediaEnd, all
-
86 // the information is in the media info.
- -
88  uint32_t sample_duration) {
-
89  if (mpd_notifier_->dash_profile() == kLiveProfile) {
-
90  mpd_notifier_->NotifySampleDuration(notification_id_, sample_duration);
-
91  return;
-
92  }
-
93 
-
94  if (!media_info_) {
-
95  LOG(WARNING) << "Got sample duration " << sample_duration
-
96  << " but no media was specified.";
-
97  return;
-
98  }
-
99  if (!media_info_->has_video_info()) {
-
100  // If non video, don't worry about it (at the moment).
-
101  return;
-
102  }
-
103  if (media_info_->video_info().has_frame_duration()) {
-
104  return;
-
105  }
-
106 
-
107  media_info_->mutable_video_info()->set_frame_duration(sample_duration);
-
108 }
-
109 
-
110 void MpdNotifyMuxerListener::OnMediaEnd(bool has_init_range,
-
111  uint64_t init_range_start,
-
112  uint64_t init_range_end,
-
113  bool has_index_range,
-
114  uint64_t index_range_start,
-
115  uint64_t index_range_end,
-
116  float duration_seconds,
-
117  uint64_t file_size) {
-
118  if (mpd_notifier_->dash_profile() == kLiveProfile) {
-
119  DCHECK(subsegments_.empty());
-
120  return;
-
121  }
-
122 
-
123  DCHECK(media_info_);
-
124  if (!internal::SetVodInformation(has_init_range,
-
125  init_range_start,
-
126  init_range_end,
-
127  has_index_range,
-
128  index_range_start,
-
129  index_range_end,
-
130  duration_seconds,
-
131  file_size,
-
132  media_info_.get())) {
-
133  LOG(ERROR) << "Failed to generate VOD information from input.";
-
134  return;
-
135  }
-
136 
-
137  uint32_t id;
-
138  // TODO(kqyang): Check return result.
-
139  mpd_notifier_->NotifyNewContainer(*media_info_, &id);
-
140  for (std::list<SubsegmentInfo>::const_iterator it = subsegments_.begin();
-
141  it != subsegments_.end(); ++it) {
-
142  mpd_notifier_->NotifyNewSegment(id, it->start_time, it->duration,
-
143  it->segment_file_size);
-
144  }
-
145  subsegments_.clear();
-
146  mpd_notifier_->Flush();
-
147 }
-
148 
-
149 void MpdNotifyMuxerListener::OnNewSegment(const std::string& file_name,
-
150  uint64_t start_time,
-
151  uint64_t duration,
-
152  uint64_t segment_file_size) {
-
153  if (mpd_notifier_->dash_profile() == kLiveProfile) {
-
154  // TODO(kqyang): Check return result.
-
155  mpd_notifier_->NotifyNewSegment(
-
156  notification_id_, start_time, duration, segment_file_size);
-
157  mpd_notifier_->Flush();
-
158  } else {
-
159  SubsegmentInfo subsegment = {start_time, duration, segment_file_size};
-
160  subsegments_.push_back(subsegment);
-
161  }
-
162 }
-
163 
-
164 } // namespace media
-
165 } // namespace shaka
-
void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
+ +
58 
+ +
60  const MuxerOptions& muxer_options,
+
61  const StreamInfo& stream_info,
+
62  uint32_t time_scale,
+
63  ContainerType container_type) {
+
64  scoped_ptr<MediaInfo> media_info(new MediaInfo());
+
65  if (!internal::GenerateMediaInfo(muxer_options,
+
66  stream_info,
+
67  time_scale,
+
68  container_type,
+
69  media_info.get())) {
+
70  LOG(ERROR) << "Failed to generate MediaInfo from input.";
+
71  return;
+
72  }
+
73 
+
74  if (is_encrypted_) {
+
75  internal::SetContentProtectionFields(protection_scheme_, default_key_id_,
+
76  key_system_info_, media_info.get());
+
77  }
+
78 
+
79  if (mpd_notifier_->dash_profile() == kLiveProfile) {
+
80  // TODO(kqyang): Check return result.
+
81  mpd_notifier_->NotifyNewContainer(*media_info, &notification_id_);
+
82  } else {
+
83  media_info_ = media_info.Pass();
+
84  }
+
85 }
+
86 
+
87 // Record the sample duration in the media info for VOD so that OnMediaEnd, all
+
88 // the information is in the media info.
+ +
90  uint32_t sample_duration) {
+
91  if (mpd_notifier_->dash_profile() == kLiveProfile) {
+
92  mpd_notifier_->NotifySampleDuration(notification_id_, sample_duration);
+
93  return;
+
94  }
+
95 
+
96  if (!media_info_) {
+
97  LOG(WARNING) << "Got sample duration " << sample_duration
+
98  << " but no media was specified.";
+
99  return;
+
100  }
+
101  if (!media_info_->has_video_info()) {
+
102  // If non video, don't worry about it (at the moment).
+
103  return;
+
104  }
+
105  if (media_info_->video_info().has_frame_duration()) {
+
106  return;
+
107  }
+
108 
+
109  media_info_->mutable_video_info()->set_frame_duration(sample_duration);
+
110 }
+
111 
+
112 void MpdNotifyMuxerListener::OnMediaEnd(bool has_init_range,
+
113  uint64_t init_range_start,
+
114  uint64_t init_range_end,
+
115  bool has_index_range,
+
116  uint64_t index_range_start,
+
117  uint64_t index_range_end,
+
118  float duration_seconds,
+
119  uint64_t file_size) {
+
120  if (mpd_notifier_->dash_profile() == kLiveProfile) {
+
121  DCHECK(subsegments_.empty());
+
122  return;
+
123  }
+
124 
+
125  DCHECK(media_info_);
+
126  if (!internal::SetVodInformation(has_init_range,
+
127  init_range_start,
+
128  init_range_end,
+
129  has_index_range,
+
130  index_range_start,
+
131  index_range_end,
+
132  duration_seconds,
+
133  file_size,
+
134  media_info_.get())) {
+
135  LOG(ERROR) << "Failed to generate VOD information from input.";
+
136  return;
+
137  }
+
138 
+
139  uint32_t id;
+
140  // TODO(kqyang): Check return result.
+
141  mpd_notifier_->NotifyNewContainer(*media_info_, &id);
+
142  for (std::list<SubsegmentInfo>::const_iterator it = subsegments_.begin();
+
143  it != subsegments_.end(); ++it) {
+
144  mpd_notifier_->NotifyNewSegment(id, it->start_time, it->duration,
+
145  it->segment_file_size);
+
146  }
+
147  subsegments_.clear();
+
148  mpd_notifier_->Flush();
+
149 }
+
150 
+
151 void MpdNotifyMuxerListener::OnNewSegment(const std::string& file_name,
+
152  uint64_t start_time,
+
153  uint64_t duration,
+
154  uint64_t segment_file_size) {
+
155  if (mpd_notifier_->dash_profile() == kLiveProfile) {
+
156  // TODO(kqyang): Check return result.
+
157  mpd_notifier_->NotifyNewSegment(
+
158  notification_id_, start_time, duration, segment_file_size);
+
159  mpd_notifier_->Flush();
+
160  } else {
+
161  SubsegmentInfo subsegment = {start_time, duration, segment_file_size};
+
162  subsegments_.push_back(subsegment);
+
163  }
+
164 }
+
165 
+
166 } // namespace media
+
167 } // namespace shaka
+
void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
virtual bool Flush()=0
Abstract class holds stream information.
Definition: stream_info.h:26
virtual bool NotifyNewSegment(uint32_t container_id, uint64_t start_time, uint64_t duration, uint64_t size)=0
-
void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) override
+
void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) override
virtual bool NotifySampleDuration(uint32_t container_id, uint32_t sample_duration)=0
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
void OnEncryptionInfoReady(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info) override
-
void OnSampleDurationReady(uint32_t sample_duration) override
+
void OnSampleDurationReady(uint32_t sample_duration) override
+
MpdNotifyMuxerListener(MpdNotifier *mpd_notifier)
virtual bool NotifyNewContainer(const MediaInfo &media_info, uint32_t *container_id)=0
virtual bool NotifyEncryptionUpdate(uint32_t container_id, const std::string &drm_uuid, const std::vector< uint8_t > &new_key_id, const std::vector< uint8_t > &new_pssh)=0
DashProfile dash_profile() const
Definition: mpd_notifier.h:108
-
void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) override
+
void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) override
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 04935f8e9b..eb5c05f0dc 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 5ac933e17d..3e5444a054 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 71adb183b0..e83e9e13ef 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 bab0b020a2..5ad7b1fb1a 100644 --- a/docs/dc/d06/classshaka_1_1media_1_1StreamInfo-members.html +++ b/docs/dc/d06/classshaka_1_1media_1_1StreamInfo-members.html @@ -113,7 +113,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 92017dce3c..6af6a7c3b1 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 1ebd2bb0a6..85d9d48a4e 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 1ce1f65f76..d0b65444bc 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 8556307391..5ca786f031 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 0d3c792f6d..0c47de1ebd 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 81b491fd70..2cd0d2d3a1 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 c0140d6a45..da848260f2 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 e19c9be1a0..996fc0586e 100644 --- a/docs/dc/d3c/webm__cluster__parser_8h_source.html +++ b/docs/dc/d3c/webm__cluster__parser_8h_source.html @@ -298,7 +298,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 733a4ed645..bebf6c8f8b 100644 --- a/docs/dc/d3f/key__source_8h_source.html +++ b/docs/dc/d3f/key__source_8h_source.html @@ -169,7 +169,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/d40/classshaka_1_1xml_1_1XmlNode-members.html b/docs/dc/d40/classshaka_1_1xml_1_1XmlNode-members.html index 0250453ac1..36867fc9bc 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 9ad3eb21b0..e02f94db50 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 238f5b07c5..2cc258c1bd 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 c7e5aad79e..f429a653b8 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 1c7e9d4820..fef9839f82 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 51c196fb90..1910f6aba7 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 e6f0e54cd1..c704cc82b6 100644 --- a/docs/dc/d53/webm_2segmenter_8cc_source.html +++ b/docs/dc/d53/webm_2segmenter_8cc_source.html @@ -255,285 +255,288 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
166  LOG(ERROR) << "Error encrypting frame.";
167  return status;
168  }
-
169  }
-
170 
-
171 
-
172  // Add the sample to the durations even though we have not written the frame
-
173  // yet. This is needed to make sure we split Clusters at the correct point.
-
174  // These are only used in this method.
-
175  const double duration_sec =
-
176  static_cast<double>(sample->duration()) / info_->time_scale();
-
177  cluster_length_sec_ += duration_sec;
-
178  segment_length_sec_ += duration_sec;
-
179 
-
180  prev_sample_ = sample;
-
181  return Status::OK;
-
182 }
-
183 
-
184 float Segmenter::GetDuration() const {
-
185  return static_cast<float>(segment_info_.duration()) *
-
186  segment_info_.timecode_scale() / kSecondsToNs;
-
187 }
-
188 
-
189 uint64_t Segmenter::FromBMFFTimescale(uint64_t time_timescale) {
-
190  // Convert the time from BMFF time_code to WebM timecode scale.
-
191  const int64_t time_ns =
-
192  kSecondsToNs * time_timescale / info_->time_scale();
-
193  return time_ns / segment_info_.timecode_scale();
-
194 }
-
195 
-
196 uint64_t Segmenter::FromWebMTimecode(uint64_t time_webm_timecode) {
-
197  // Convert the time to BMFF time_code from WebM timecode scale.
-
198  const int64_t time_ns = time_webm_timecode * segment_info_.timecode_scale();
-
199  return time_ns * info_->time_scale() / kSecondsToNs;
-
200 }
-
201 
-
202 Status Segmenter::WriteSegmentHeader(uint64_t file_size, MkvWriter* writer) {
-
203  Status error_status(error::FILE_FAILURE, "Error writing segment header.");
-
204 
-
205  if (!WriteEbmlHeader(writer))
-
206  return error_status;
-
207 
-
208  if (WriteID(writer, mkvmuxer::kMkvSegment) != 0)
-
209  return error_status;
-
210 
-
211  const uint64_t segment_size_size = 8;
-
212  segment_payload_pos_ = writer->Position() + segment_size_size;
-
213  if (file_size > 0) {
-
214  // We want the size of the segment element, so subtract the header.
-
215  if (WriteUIntSize(writer, file_size - segment_payload_pos_,
-
216  segment_size_size) != 0)
-
217  return error_status;
-
218  if (!seek_head_.Write(writer))
+
169  if (encrypt_frame && muxer_listener_)
+
170  muxer_listener_->OnEncryptionStart();
+
171  }
+
172 
+
173 
+
174  // Add the sample to the durations even though we have not written the frame
+
175  // yet. This is needed to make sure we split Clusters at the correct point.
+
176  // These are only used in this method.
+
177  const double duration_sec =
+
178  static_cast<double>(sample->duration()) / info_->time_scale();
+
179  cluster_length_sec_ += duration_sec;
+
180  segment_length_sec_ += duration_sec;
+
181 
+
182  prev_sample_ = sample;
+
183  return Status::OK;
+
184 }
+
185 
+
186 float Segmenter::GetDuration() const {
+
187  return static_cast<float>(segment_info_.duration()) *
+
188  segment_info_.timecode_scale() / kSecondsToNs;
+
189 }
+
190 
+
191 uint64_t Segmenter::FromBMFFTimescale(uint64_t time_timescale) {
+
192  // Convert the time from BMFF time_code to WebM timecode scale.
+
193  const int64_t time_ns =
+
194  kSecondsToNs * time_timescale / info_->time_scale();
+
195  return time_ns / segment_info_.timecode_scale();
+
196 }
+
197 
+
198 uint64_t Segmenter::FromWebMTimecode(uint64_t time_webm_timecode) {
+
199  // Convert the time to BMFF time_code from WebM timecode scale.
+
200  const int64_t time_ns = time_webm_timecode * segment_info_.timecode_scale();
+
201  return time_ns * info_->time_scale() / kSecondsToNs;
+
202 }
+
203 
+
204 Status Segmenter::WriteSegmentHeader(uint64_t file_size, MkvWriter* writer) {
+
205  Status error_status(error::FILE_FAILURE, "Error writing segment header.");
+
206 
+
207  if (!WriteEbmlHeader(writer))
+
208  return error_status;
+
209 
+
210  if (WriteID(writer, mkvmuxer::kMkvSegment) != 0)
+
211  return error_status;
+
212 
+
213  const uint64_t segment_size_size = 8;
+
214  segment_payload_pos_ = writer->Position() + segment_size_size;
+
215  if (file_size > 0) {
+
216  // We want the size of the segment element, so subtract the header.
+
217  if (WriteUIntSize(writer, file_size - segment_payload_pos_,
+
218  segment_size_size) != 0)
219  return error_status;
-
220  } else {
-
221  if (SerializeInt(writer, mkvmuxer::kEbmlUnknownValue, segment_size_size) !=
-
222  0)
-
223  return error_status;
-
224  // We don't know the header size, so write a placeholder.
-
225  if (!seek_head_.WriteVoid(writer))
-
226  return error_status;
-
227  }
-
228 
-
229  seek_head_.set_info_pos(writer->Position() - segment_payload_pos_);
-
230  if (!segment_info_.Write(writer))
-
231  return error_status;
-
232 
-
233  seek_head_.set_tracks_pos(writer->Position() - segment_payload_pos_);
-
234  if (!tracks_.Write(writer))
-
235  return error_status;
-
236 
-
237  return Status::OK;
-
238 }
-
239 
-
240 Status Segmenter::SetCluster(uint64_t start_webm_timecode,
-
241  uint64_t position,
-
242  MkvWriter* writer) {
-
243  const uint64_t scale = segment_info_.timecode_scale();
-
244  cluster_.reset(new mkvmuxer::Cluster(start_webm_timecode, position, scale));
-
245  cluster_->Init(writer);
-
246  return Status::OK;
-
247 }
-
248 
-
249 void Segmenter::UpdateProgress(uint64_t progress) {
-
250  accumulated_progress_ += progress;
-
251  if (!progress_listener_ || progress_target_ == 0)
-
252  return;
-
253  // It might happen that accumulated progress exceeds progress_target due to
-
254  // computation errors, e.g. rounding error. Cap it so it never reports > 100%
-
255  // progress.
-
256  if (accumulated_progress_ >= progress_target_) {
-
257  progress_listener_->OnProgress(1.0);
-
258  } else {
-
259  progress_listener_->OnProgress(static_cast<double>(accumulated_progress_) /
-
260  progress_target_);
-
261  }
-
262 }
-
263 
-
264 Status Segmenter::CreateVideoTrack(VideoStreamInfo* info) {
-
265  // The seed is only used to create a UID which we overwrite later.
-
266  unsigned int seed = 0;
-
267  mkvmuxer::VideoTrack* track = new mkvmuxer::VideoTrack(&seed);
-
268  if (!track)
-
269  return Status(error::INTERNAL_ERROR, "Failed to create video track.");
-
270 
-
271  if (info->codec() == kCodecVP8) {
-
272  track->set_codec_id(mkvmuxer::Tracks::kVp8CodecId);
-
273  } else if (info->codec() == kCodecVP9) {
-
274  track->set_codec_id(mkvmuxer::Tracks::kVp9CodecId);
-
275 
-
276  // The |StreamInfo::codec_config| field is stored using the MP4 format; we
-
277  // need to convert it to the WebM format.
-
278  VPCodecConfigurationRecord vp_config;
-
279  if (!vp_config.ParseMP4(info->codec_config())) {
-
280  return Status(error::INTERNAL_ERROR,
-
281  "Unable to parse VP9 codec configuration");
-
282  }
-
283 
-
284  std::vector<uint8_t> codec_config;
-
285  vp_config.WriteWebM(&codec_config);
-
286  if (!track->SetCodecPrivate(codec_config.data(), codec_config.size())) {
-
287  return Status(error::INTERNAL_ERROR,
-
288  "Private codec data required for VP9 streams");
-
289  }
-
290  } else {
-
291  LOG(ERROR) << "Only VP8 and VP9 video codecs are supported.";
-
292  return Status(error::UNIMPLEMENTED,
-
293  "Only VP8 and VP9 video codecs are supported.");
-
294  }
-
295 
-
296  track->set_uid(info->track_id());
-
297  if (!info->language().empty())
-
298  track->set_language(info->language().c_str());
-
299  track->set_type(mkvmuxer::Tracks::kVideo);
-
300  track->set_width(info->width());
-
301  track->set_height(info->height());
-
302  track->set_display_height(info->height());
-
303  track->set_display_width(info->width() * info->pixel_width() /
-
304  info->pixel_height());
-
305 
-
306  if (encryptor_)
-
307  encryptor_->AddTrackInfo(track);
-
308 
-
309  tracks_.AddTrack(track, info->track_id());
-
310  track_id_ = track->number();
-
311  return Status::OK;
-
312 }
-
313 
-
314 Status Segmenter::CreateAudioTrack(AudioStreamInfo* info) {
-
315  // The seed is only used to create a UID which we overwrite later.
-
316  unsigned int seed = 0;
-
317  mkvmuxer::AudioTrack* track = new mkvmuxer::AudioTrack(&seed);
-
318  if (!track)
-
319  return Status(error::INTERNAL_ERROR, "Failed to create audio track.");
-
320 
-
321  if (info->codec() == kCodecOpus) {
-
322  track->set_codec_id(mkvmuxer::Tracks::kOpusCodecId);
-
323  } else if (info->codec() == kCodecVorbis) {
-
324  track->set_codec_id(mkvmuxer::Tracks::kVorbisCodecId);
-
325  } else {
-
326  LOG(ERROR) << "Only Vorbis and Opus audio codec is supported.";
-
327  return Status(error::UNIMPLEMENTED,
-
328  "Only Vorbis and Opus audio codecs are supported.");
-
329  }
-
330  if (!track->SetCodecPrivate(info->codec_config().data(),
-
331  info->codec_config().size())) {
-
332  return Status(error::INTERNAL_ERROR,
-
333  "Private codec data required for audio streams");
-
334  }
-
335 
-
336  track->set_uid(info->track_id());
-
337  if (!info->language().empty())
-
338  track->set_language(info->language().c_str());
-
339  track->set_type(mkvmuxer::Tracks::kAudio);
-
340  track->set_sample_rate(info->sampling_frequency());
-
341  track->set_channels(info->num_channels());
-
342  track->set_seek_pre_roll(info->seek_preroll_ns());
-
343  track->set_codec_delay(info->codec_delay_ns());
-
344 
-
345  if (encryptor_)
-
346  encryptor_->AddTrackInfo(track);
-
347 
-
348  tracks_.AddTrack(track, info->track_id());
-
349  track_id_ = track->number();
-
350  return Status::OK;
-
351 }
-
352 
-
353 Status Segmenter::InitializeEncryptor(KeySource* key_source,
-
354  uint32_t max_sd_pixels) {
-
355  encryptor_.reset(new Encryptor());
-
356  const KeySource::TrackType track_type =
-
357  GetTrackTypeForEncryption(*info_, max_sd_pixels);
-
358  if (track_type == KeySource::TrackType::TRACK_TYPE_UNKNOWN)
-
359  return Status::OK;
-
360  return encryptor_->Initialize(muxer_listener_, track_type, key_source);
-
361 }
-
362 
-
363 Status Segmenter::WriteFrame(bool write_duration) {
-
364  // Create a frame manually so we can create non-SimpleBlock frames. This
-
365  // is required to allow the frame duration to be added. If the duration
-
366  // is not set, then a SimpleBlock will still be written.
-
367  mkvmuxer::Frame frame;
-
368 
-
369  if (!frame.Init(prev_sample_->data(), prev_sample_->data_size())) {
-
370  return Status(error::MUXER_FAILURE,
-
371  "Error adding sample to segment: Frame::Init failed");
-
372  }
-
373 
-
374  if (write_duration) {
-
375  const uint64_t duration_ns =
-
376  prev_sample_->duration() * kSecondsToNs / info_->time_scale();
-
377  frame.set_duration(duration_ns);
-
378  }
-
379  frame.set_is_key(prev_sample_->is_key_frame());
-
380  frame.set_timestamp(prev_sample_->pts() * kSecondsToNs / info_->time_scale());
-
381  frame.set_track_number(track_id_);
-
382 
-
383  if (prev_sample_->side_data_size() > 0) {
-
384  uint64_t block_add_id;
-
385  // First 8 bytes of side_data is the BlockAddID element's value, which is
-
386  // done to mimic ffmpeg behavior. See webm_cluster_parser.cc for details.
-
387  CHECK_GT(prev_sample_->side_data_size(), sizeof(block_add_id));
-
388  memcpy(&block_add_id, prev_sample_->side_data(), sizeof(block_add_id));
-
389  if (!frame.AddAdditionalData(
-
390  prev_sample_->side_data() + sizeof(block_add_id),
-
391  prev_sample_->side_data_size() - sizeof(block_add_id),
-
392  block_add_id)) {
-
393  return Status(
-
394  error::MUXER_FAILURE,
-
395  "Error adding sample to segment: Frame::AddAditionalData Failed");
-
396  }
-
397  }
-
398 
-
399  if (!prev_sample_->is_key_frame() && !frame.CanBeSimpleBlock()) {
-
400  const int64_t timestamp_ns =
-
401  reference_frame_timestamp_ * kSecondsToNs / info_->time_scale();
-
402  frame.set_reference_block_timestamp(timestamp_ns);
-
403  }
-
404 
-
405  // GetRelativeTimecode will return -1 if the relative timecode is too large
-
406  // to fit in the frame.
-
407  if (cluster_->GetRelativeTimecode(frame.timestamp() /
-
408  cluster_->timecode_scale()) < 0) {
-
409  const double segment_duration =
-
410  static_cast<double>(frame.timestamp()) / kSecondsToNs;
-
411  LOG(ERROR) << "Error adding sample to segment: segment too large, "
-
412  << segment_duration << " seconds.";
-
413  return Status(error::MUXER_FAILURE,
-
414  "Error adding sample to segment: segment too large");
-
415  }
-
416 
-
417  if (!cluster_->AddFrame(&frame)) {
-
418  return Status(error::MUXER_FAILURE,
-
419  "Error adding sample to segment: Cluster::AddFrame failed");
-
420  }
-
421 
-
422  // A reference frame is needed for non-keyframes. Having a reference to the
-
423  // previous block is good enough.
-
424  // See libwebm Segment::AddGenericFrame
-
425  reference_frame_timestamp_ = prev_sample_->pts();
-
426  return Status::OK;
-
427 }
-
428 
-
429 } // namespace webm
-
430 } // namespace media
-
431 } // namespace shaka
+
220  if (!seek_head_.Write(writer))
+
221  return error_status;
+
222  } else {
+
223  if (SerializeInt(writer, mkvmuxer::kEbmlUnknownValue, segment_size_size) !=
+
224  0)
+
225  return error_status;
+
226  // We don't know the header size, so write a placeholder.
+
227  if (!seek_head_.WriteVoid(writer))
+
228  return error_status;
+
229  }
+
230 
+
231  seek_head_.set_info_pos(writer->Position() - segment_payload_pos_);
+
232  if (!segment_info_.Write(writer))
+
233  return error_status;
+
234 
+
235  seek_head_.set_tracks_pos(writer->Position() - segment_payload_pos_);
+
236  if (!tracks_.Write(writer))
+
237  return error_status;
+
238 
+
239  return Status::OK;
+
240 }
+
241 
+
242 Status Segmenter::SetCluster(uint64_t start_webm_timecode,
+
243  uint64_t position,
+
244  MkvWriter* writer) {
+
245  const uint64_t scale = segment_info_.timecode_scale();
+
246  cluster_.reset(new mkvmuxer::Cluster(start_webm_timecode, position, scale));
+
247  cluster_->Init(writer);
+
248  return Status::OK;
+
249 }
+
250 
+
251 void Segmenter::UpdateProgress(uint64_t progress) {
+
252  accumulated_progress_ += progress;
+
253  if (!progress_listener_ || progress_target_ == 0)
+
254  return;
+
255  // It might happen that accumulated progress exceeds progress_target due to
+
256  // computation errors, e.g. rounding error. Cap it so it never reports > 100%
+
257  // progress.
+
258  if (accumulated_progress_ >= progress_target_) {
+
259  progress_listener_->OnProgress(1.0);
+
260  } else {
+
261  progress_listener_->OnProgress(static_cast<double>(accumulated_progress_) /
+
262  progress_target_);
+
263  }
+
264 }
+
265 
+
266 Status Segmenter::CreateVideoTrack(VideoStreamInfo* info) {
+
267  // The seed is only used to create a UID which we overwrite later.
+
268  unsigned int seed = 0;
+
269  mkvmuxer::VideoTrack* track = new mkvmuxer::VideoTrack(&seed);
+
270  if (!track)
+
271  return Status(error::INTERNAL_ERROR, "Failed to create video track.");
+
272 
+
273  if (info->codec() == kCodecVP8) {
+
274  track->set_codec_id(mkvmuxer::Tracks::kVp8CodecId);
+
275  } else if (info->codec() == kCodecVP9) {
+
276  track->set_codec_id(mkvmuxer::Tracks::kVp9CodecId);
+
277 
+
278  // The |StreamInfo::codec_config| field is stored using the MP4 format; we
+
279  // need to convert it to the WebM format.
+
280  VPCodecConfigurationRecord vp_config;
+
281  if (!vp_config.ParseMP4(info->codec_config())) {
+
282  return Status(error::INTERNAL_ERROR,
+
283  "Unable to parse VP9 codec configuration");
+
284  }
+
285 
+
286  std::vector<uint8_t> codec_config;
+
287  vp_config.WriteWebM(&codec_config);
+
288  if (!track->SetCodecPrivate(codec_config.data(), codec_config.size())) {
+
289  return Status(error::INTERNAL_ERROR,
+
290  "Private codec data required for VP9 streams");
+
291  }
+
292  } else {
+
293  LOG(ERROR) << "Only VP8 and VP9 video codecs are supported.";
+
294  return Status(error::UNIMPLEMENTED,
+
295  "Only VP8 and VP9 video codecs are supported.");
+
296  }
+
297 
+
298  track->set_uid(info->track_id());
+
299  if (!info->language().empty())
+
300  track->set_language(info->language().c_str());
+
301  track->set_type(mkvmuxer::Tracks::kVideo);
+
302  track->set_width(info->width());
+
303  track->set_height(info->height());
+
304  track->set_display_height(info->height());
+
305  track->set_display_width(info->width() * info->pixel_width() /
+
306  info->pixel_height());
+
307 
+
308  if (encryptor_)
+
309  encryptor_->AddTrackInfo(track);
+
310 
+
311  tracks_.AddTrack(track, info->track_id());
+
312  track_id_ = track->number();
+
313  return Status::OK;
+
314 }
+
315 
+
316 Status Segmenter::CreateAudioTrack(AudioStreamInfo* info) {
+
317  // The seed is only used to create a UID which we overwrite later.
+
318  unsigned int seed = 0;
+
319  mkvmuxer::AudioTrack* track = new mkvmuxer::AudioTrack(&seed);
+
320  if (!track)
+
321  return Status(error::INTERNAL_ERROR, "Failed to create audio track.");
+
322 
+
323  if (info->codec() == kCodecOpus) {
+
324  track->set_codec_id(mkvmuxer::Tracks::kOpusCodecId);
+
325  } else if (info->codec() == kCodecVorbis) {
+
326  track->set_codec_id(mkvmuxer::Tracks::kVorbisCodecId);
+
327  } else {
+
328  LOG(ERROR) << "Only Vorbis and Opus audio codec is supported.";
+
329  return Status(error::UNIMPLEMENTED,
+
330  "Only Vorbis and Opus audio codecs are supported.");
+
331  }
+
332  if (!track->SetCodecPrivate(info->codec_config().data(),
+
333  info->codec_config().size())) {
+
334  return Status(error::INTERNAL_ERROR,
+
335  "Private codec data required for audio streams");
+
336  }
+
337 
+
338  track->set_uid(info->track_id());
+
339  if (!info->language().empty())
+
340  track->set_language(info->language().c_str());
+
341  track->set_type(mkvmuxer::Tracks::kAudio);
+
342  track->set_sample_rate(info->sampling_frequency());
+
343  track->set_channels(info->num_channels());
+
344  track->set_seek_pre_roll(info->seek_preroll_ns());
+
345  track->set_codec_delay(info->codec_delay_ns());
+
346 
+
347  if (encryptor_)
+
348  encryptor_->AddTrackInfo(track);
+
349 
+
350  tracks_.AddTrack(track, info->track_id());
+
351  track_id_ = track->number();
+
352  return Status::OK;
+
353 }
+
354 
+
355 Status Segmenter::InitializeEncryptor(KeySource* key_source,
+
356  uint32_t max_sd_pixels) {
+
357  encryptor_.reset(new Encryptor());
+
358  const KeySource::TrackType track_type =
+
359  GetTrackTypeForEncryption(*info_, max_sd_pixels);
+
360  if (track_type == KeySource::TrackType::TRACK_TYPE_UNKNOWN)
+
361  return Status::OK;
+
362  return encryptor_->Initialize(muxer_listener_, track_type, key_source);
+
363 }
+
364 
+
365 Status Segmenter::WriteFrame(bool write_duration) {
+
366  // Create a frame manually so we can create non-SimpleBlock frames. This
+
367  // is required to allow the frame duration to be added. If the duration
+
368  // is not set, then a SimpleBlock will still be written.
+
369  mkvmuxer::Frame frame;
+
370 
+
371  if (!frame.Init(prev_sample_->data(), prev_sample_->data_size())) {
+
372  return Status(error::MUXER_FAILURE,
+
373  "Error adding sample to segment: Frame::Init failed");
+
374  }
+
375 
+
376  if (write_duration) {
+
377  const uint64_t duration_ns =
+
378  prev_sample_->duration() * kSecondsToNs / info_->time_scale();
+
379  frame.set_duration(duration_ns);
+
380  }
+
381  frame.set_is_key(prev_sample_->is_key_frame());
+
382  frame.set_timestamp(prev_sample_->pts() * kSecondsToNs / info_->time_scale());
+
383  frame.set_track_number(track_id_);
+
384 
+
385  if (prev_sample_->side_data_size() > 0) {
+
386  uint64_t block_add_id;
+
387  // First 8 bytes of side_data is the BlockAddID element's value, which is
+
388  // done to mimic ffmpeg behavior. See webm_cluster_parser.cc for details.
+
389  CHECK_GT(prev_sample_->side_data_size(), sizeof(block_add_id));
+
390  memcpy(&block_add_id, prev_sample_->side_data(), sizeof(block_add_id));
+
391  if (!frame.AddAdditionalData(
+
392  prev_sample_->side_data() + sizeof(block_add_id),
+
393  prev_sample_->side_data_size() - sizeof(block_add_id),
+
394  block_add_id)) {
+
395  return Status(
+
396  error::MUXER_FAILURE,
+
397  "Error adding sample to segment: Frame::AddAditionalData Failed");
+
398  }
+
399  }
+
400 
+
401  if (!prev_sample_->is_key_frame() && !frame.CanBeSimpleBlock()) {
+
402  const int64_t timestamp_ns =
+
403  reference_frame_timestamp_ * kSecondsToNs / info_->time_scale();
+
404  frame.set_reference_block_timestamp(timestamp_ns);
+
405  }
+
406 
+
407  // GetRelativeTimecode will return -1 if the relative timecode is too large
+
408  // to fit in the frame.
+
409  if (cluster_->GetRelativeTimecode(frame.timestamp() /
+
410  cluster_->timecode_scale()) < 0) {
+
411  const double segment_duration =
+
412  static_cast<double>(frame.timestamp()) / kSecondsToNs;
+
413  LOG(ERROR) << "Error adding sample to segment: segment too large, "
+
414  << segment_duration << " seconds.";
+
415  return Status(error::MUXER_FAILURE,
+
416  "Error adding sample to segment: segment too large");
+
417  }
+
418 
+
419  if (!cluster_->AddFrame(&frame)) {
+
420  return Status(error::MUXER_FAILURE,
+
421  "Error adding sample to segment: Cluster::AddFrame failed");
+
422  }
+
423 
+
424  // A reference frame is needed for non-keyframes. Having a reference to the
+
425  // previous block is good enough.
+
426  // See libwebm Segment::AddGenericFrame
+
427  reference_frame_timestamp_ = prev_sample_->pts();
+
428  return Status::OK;
+
429 }
+
430 
+
431 } // namespace webm
+
432 } // namespace media
+
433 } // namespace shaka
Abstract class holds stream information.
Definition: stream_info.h:26
std::string packager_version_string
Specify the version string to be embedded in the output files.
Definition: muxer_options.h:71
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)
Definition: segmenter.cc:164
-
void UpdateProgress(uint64_t progress)
Update segmentation progress using ProgressListener.
Definition: segmenter.cc:379
+
void UpdateProgress(uint64_t progress)
Update segmentation progress using ProgressListener.
Definition: segmenter.cc:380
virtual void OnSampleDurationReady(uint32_t sample_duration)=0
Class for parsing or writing VP codec configuration record.
+
virtual void OnEncryptionStart()=0
-
Status AddSample(const MediaStream *stream, scoped_refptr< MediaSample > sample)
Definition: segmenter.cc:312
+
Status AddSample(const MediaStream *stream, scoped_refptr< MediaSample > sample)
Definition: segmenter.cc:313
This class listens to progress updates events.
mkvmuxer::int64 Position() const override
Definition: mkv_writer.cc:71
void WriteWebM(std::vector< uint8_t > *data) const
An implementation of IMkvWriter using our File type.
Definition: mkv_writer.h:21
bool ParseMP4(const std::vector< uint8_t > &data)
- +
virtual void OnProgress(double progress)=0
@@ -541,13 +544,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
KeySource is responsible for encryption key acquisition.
Definition: key_source.h:31
-
double GetDuration() const
Definition: segmenter.cc:370
+
double GetDuration() const
Definition: segmenter.cc:371
Holds video stream information.
diff --git a/docs/dc/d54/structshaka_1_1media_1_1H264DecRefPicMarking.html b/docs/dc/d54/structshaka_1_1media_1_1H264DecRefPicMarking.html index 7f1463e83b..a7523d63ae 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 9459a4400d..f6fb22a35e 100644 --- a/docs/dc/d58/webm__media__parser_8h_source.html +++ b/docs/dc/d58/webm__media__parser_8h_source.html @@ -179,7 +179,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/d5c/classshaka_1_1MockMpdNotifier.html b/docs/dc/d5c/classshaka_1_1MockMpdNotifier.html index 7cb26c6b8b..1d85d926a0 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 d99db03098..05e0e87819 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 92ce28bfb6..339779c859 100644 --- a/docs/dc/d6f/classshaka_1_1media_1_1webm_1_1Segmenter-members.html +++ b/docs/dc/d6f/classshaka_1_1media_1_1webm_1_1Segmenter-members.html @@ -121,7 +121,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dc/d71/classshaka_1_1media_1_1mp2t_1_1TsSection-members.html b/docs/dc/d71/classshaka_1_1media_1_1mp2t_1_1TsSection-members.html index 01e8e99772..1f47dc4c03 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 25a0b1f45b..3f715517d5 100644 --- a/docs/dc/d73/classshaka_1_1media_1_1MockMuxerListener.html +++ b/docs/dc/d73/classshaka_1_1media_1_1MockMuxerListener.html @@ -108,6 +108,9 @@ Public Member Functions  MOCK_METHOD5 (OnEncryptionInfoReady, void(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info))   +MOCK_METHOD0 (OnEncryptionStart, void()) +   MOCK_METHOD4 (OnMediaStart, void(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type))   @@ -123,6 +126,8 @@ Public Member Functions - Public Member Functions inherited from shaka::media::MuxerListener virtual void OnEncryptionInfoReady (bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info)=0   +virtual void OnEncryptionStart ()=0 +  virtual void OnMediaStart (const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)=0   virtual void OnSampleDurationReady (uint32_t sample_duration)=0 @@ -152,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 8a7a9baf92..bf0601fe2f 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 6d05a630b8..d684c5d199 100644 --- a/docs/dc/d7b/h264__parser_8cc_source.html +++ b/docs/dc/d7b/h264__parser_8cc_source.html @@ -1267,7 +1267,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 957485fc45..3ef18ea580 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 d8a34cef3c..65970a9708 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 a90b8fb126..c5fad94368 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 5563a2c68b..81f63a675d 100644 --- a/docs/dc/da1/classshaka_1_1MpdBuilder.html +++ b/docs/dc/da1/classshaka_1_1MpdBuilder.html @@ -385,7 +385,7 @@ class DynamicMpdBuilderTes diff --git a/docs/dc/da6/classshaka_1_1media_1_1ContentEncoding.html b/docs/dc/da6/classshaka_1_1media_1_1ContentEncoding.html index d0a5e6b281..2b8abbeae1 100644 --- a/docs/dc/da6/classshaka_1_1media_1_1ContentEncoding.html +++ b/docs/dc/da6/classshaka_1_1media_1_1ContentEncoding.html @@ -208,7 +208,7 @@ Static Public Attributes diff --git a/docs/dc/dbd/structshaka_1_1media_1_1FileCloser-members.html b/docs/dc/dbd/structshaka_1_1media_1_1FileCloser-members.html index 568e2c45df..df81b66771 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 e6b9aa4adb..4b8a64c185 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 b6f8879f17..f75df94999 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 550f073436..fb57efe870 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 7fd1c83b7c..fbc77ef9a0 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 0531499636..a6f8ecc7b6 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 46ffc1371b..0554044e72 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 375df7c4bb..6edc5cea33 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 3cad0d5025..4005518e73 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 @@ -110,7 +110,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 ad44a52cbd..f40b106bbe 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 3b2a1d66a5..35013795c6 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 ee2644407e..38d462a816 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 72b0d892a7..ec8e3b2ed4 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 1a0bd2d662..4b70a5ceed 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: - - + + @@ -188,9 +188,9 @@ 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)
 
 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)
 
Fragmenter implementation overrides.
Status AddSample (scoped_refptr< MediaSample > sample) override
 
set_encryption_key

Detailed Description

EncryptingFragmenter generates MP4 fragments with sample encrypted.

-

Definition at line 27 of file encrypting_fragmenter.h.

+

Definition at line 28 of file encrypting_fragmenter.h.

Constructor & Destructor Documentation

- +
@@ -234,7 +234,13 @@ void  - + + + + + + + @@ -293,7 +299,7 @@ void 
set_encryption_key uint8_t skip_byte_block skip_byte_block,
MuxerListenerlistener 
set_encryption_keyReimplemented from shaka::media::mp4::Fragmenter.

-

Definition at line 105 of file encrypting_fragmenter.cc.

+

Definition at line 107 of file encrypting_fragmenter.cc.

@@ -320,7 +326,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 203 of file encrypting_fragmenter.cc.

+

Definition at line 208 of file encrypting_fragmenter.cc.

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

-

Definition at line 120 of file encrypting_fragmenter.cc.

+

Definition at line 122 of file encrypting_fragmenter.cc.

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

-

Definition at line 161 of file encrypting_fragmenter.cc.

+

Definition at line 166 of file encrypting_fragmenter.cc.

@@ -397,7 +403,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 97a4761765..fe43408da6 100644 --- a/docs/dc/df4/classshaka_1_1media_1_1webm_1_1SingleSegmentSegmenter-members.html +++ b/docs/dc/df4/classshaka_1_1media_1_1webm_1_1SingleSegmentSegmenter-members.html @@ -128,7 +128,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
diff --git a/docs/dc/df7/structshaka_1_1media_1_1mp4_1_1TrackFragmentRun-members.html b/docs/dc/df7/structshaka_1_1media_1_1mp4_1_1TrackFragmentRun-members.html index 509bca9932..b484a6c402 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 a4eb4f5316..693e7910f3 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 86c067f5f9..4d9f7d99ca 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 976a1d7097..8a3655f79b 100644 --- a/docs/dd/d11/mpd__builder_8cc_source.html +++ b/docs/dd/d11/mpd__builder_8cc_source.html @@ -1503,7 +1503,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 bcda5374db..b1b2cf019c 100644 --- a/docs/dd/d12/mpd__writer_8cc_source.html +++ b/docs/dd/d12/mpd__writer_8cc_source.html @@ -221,7 +221,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d13/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize.html b/docs/dd/d13/structshaka_1_1media_1_1mp4_1_1SampleAuxiliaryInformationSize.html index aeee3a02d0..1d92cb720e 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 f33061f907..eb3a765757 100644 --- a/docs/dd/d17/classshaka_1_1media_1_1Demuxer.html +++ b/docs/dd/d17/classshaka_1_1media_1_1Demuxer.html @@ -295,7 +295,7 @@ Public Member Functions diff --git a/docs/dd/d18/es__parser__adts_8h_source.html b/docs/dd/d18/es__parser__adts_8h_source.html index 2892293760..768e2d0683 100644 --- a/docs/dd/d18/es__parser__adts_8h_source.html +++ b/docs/dd/d18/es__parser__adts_8h_source.html @@ -172,7 +172,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d19/video__stream__info_8cc_source.html b/docs/dd/d19/video__stream__info_8cc_source.html index 7429494146..a4f5dfc425 100644 --- a/docs/dd/d19/video__stream__info_8cc_source.html +++ b/docs/dd/d19/video__stream__info_8cc_source.html @@ -197,7 +197,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 84ac7b5fb2..b4489673a0 100644 --- a/docs/dd/d30/wvm__media__parser_8cc_source.html +++ b/docs/dd/d30/wvm__media__parser_8cc_source.html @@ -1264,7 +1264,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d3b/mp4_2segmenter_8h_source.html b/docs/dd/d3b/mp4_2segmenter_8h_source.html index b102fb34a1..fcc5df51ab 100644 --- a/docs/dd/d3b/mp4_2segmenter_8h_source.html +++ b/docs/dd/d3b/mp4_2segmenter_8h_source.html @@ -203,25 +203,25 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
153 
154 #endif // MEDIA_FORMATS_MP4_SEGMENTER_H_
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)
Definition: segmenter.cc:164
-
void UpdateProgress(uint64_t progress)
Update segmentation progress using ProgressListener.
Definition: segmenter.cc:379
-
void SetComplete()
Set progress to 100%.
Definition: segmenter.cc:395
+
void UpdateProgress(uint64_t progress)
Update segmentation progress using ProgressListener.
Definition: segmenter.cc:380
+
void SetComplete()
Set progress to 100%.
Definition: segmenter.cc:396
virtual bool GetInitRange(size_t *offset, size_t *size)=0
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
uint32_t sample_duration() const
Definition: segmenter.h:101
-
Status AddSample(const MediaStream *stream, scoped_refptr< MediaSample > sample)
Definition: segmenter.cc:312
+
Status AddSample(const MediaStream *stream, scoped_refptr< MediaSample > sample)
Definition: segmenter.cc:313
This class listens to progress updates events.
- +
KeySource is responsible for encryption key acquisition.
Definition: key_source.h:31
-
double GetDuration() const
Definition: segmenter.cc:370
+
double GetDuration() const
Definition: segmenter.cc:371
virtual bool GetIndexRange(size_t *offset, size_t *size)=0
diff --git a/docs/dd/d3f/structshaka_1_1media_1_1mp4_1_1SyncSample.html b/docs/dd/d3f/structshaka_1_1media_1_1mp4_1_1SyncSample.html index d0ee8709e3..7284221ea2 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 0467b64b98..6675b39da4 100644 --- a/docs/dd/d42/encryptor_8h_source.html +++ b/docs/dd/d42/encryptor_8h_source.html @@ -151,7 +151,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d46/webm__parser_8h_source.html b/docs/dd/d46/webm__parser_8h_source.html index 32d7b2cd2d..a3c509d875 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 a544bb98e6..86327956b0 100644 --- a/docs/dd/d4d/structshaka_1_1media_1_1mp4_1_1MovieFragment-members.html +++ b/docs/dd/d4d/structshaka_1_1media_1_1mp4_1_1MovieFragment-members.html @@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d53/structshaka_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample-members.html b/docs/dd/d53/structshaka_1_1media_1_1wvm_1_1DemuxStreamIdMediaSample-members.html index d72ef5ab09..4c0ce77b30 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 b938b887f0..3028704a46 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 3f8d8dd1fb..401af46975 100644 --- a/docs/dd/d59/classshaka_1_1media_1_1mp2t_1_1EsParserH265-members.html +++ b/docs/dd/d59/classshaka_1_1media_1_1mp2t_1_1EsParserH265-members.html @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d59/structshaka_1_1media_1_1mp4_1_1SchemeInfo-members.html b/docs/dd/d59/structshaka_1_1media_1_1mp4_1_1SchemeInfo-members.html index 5148d33746..39efe8cf83 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 1e6599b816..042202041d 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 d99605795e..7351ad0e26 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 ec0f5c7034..5e94ff382a 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 9233f0908a..4f600a4caf 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 bb8553951e..d9eae2b17c 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 75bed67ec3..91f09a30f4 100644 --- a/docs/dd/d7a/classshaka_1_1media_1_1MuxerListener.html +++ b/docs/dd/d7a/classshaka_1_1media_1_1MuxerListener.html @@ -122,6 +122,8 @@ Public Types Public Member Functions virtual void OnEncryptionInfoReady (bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info)=0   +virtual void OnEncryptionStart ()=0 +  virtual void OnMediaStart (const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)=0   virtual void OnSampleDurationReady (uint32_t sample_duration)=0 @@ -198,6 +200,32 @@ Public Member Functions

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

+ + + +
+
+ + + + + +
+ + + + + + + +
virtual void shaka::media::MuxerListener::OnEncryptionStart ()
+
+pure virtual
+
+

Called when the muxer starts encrypting the segments. Further segments notified via OnNewSegment() are encrypted. This may be called more than once e.g. per segment, but the semantics does not change.

+ +

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

+
@@ -441,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 49e5fc5933..166f8fedce 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 16a867a9a1..d0cb410858 100644 --- a/docs/dd/d80/media__sample_8h_source.html +++ b/docs/dd/d80/media__sample_8h_source.html @@ -260,7 +260,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d87/memory__file_8cc_source.html b/docs/dd/d87/memory__file_8cc_source.html index 1d9ef7aace..c2ee93d0f3 100644 --- a/docs/dd/d87/memory__file_8cc_source.html +++ b/docs/dd/d87/memory__file_8cc_source.html @@ -241,7 +241,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d88/pes__packet__generator_8h_source.html b/docs/dd/d88/pes__packet__generator_8h_source.html index 81820215d9..087bc39396 100644 --- a/docs/dd/d88/pes__packet__generator_8h_source.html +++ b/docs/dd/d88/pes__packet__generator_8h_source.html @@ -174,7 +174,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/d8c/file__test__util_8h_source.html b/docs/dd/d8c/file__test__util_8h_source.html index 266d52a199..8c3df12931 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 23e560e1e0..382093b035 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 40d47bf27a..e8bc51e2f2 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 fbbdd1b15f..510064b889 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 04a9dd1c63..f09fb32e4e 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 c75fa5d40f..2049a20fe2 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 cc003a4f43..6c79e122ea 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 94473661b3..08742de1b8 100644 --- a/docs/dd/da5/classshaka_1_1media_1_1webm_1_1TwoPassSingleSegmentSegmenter.html +++ b/docs/dd/da5/classshaka_1_1media_1_1webm_1_1TwoPassSingleSegmentSegmenter.html @@ -217,7 +217,7 @@ double cluster_length_sec< diff --git a/docs/dd/daa/vod__media__info__dump__muxer__listener_8h_source.html b/docs/dd/daa/vod__media__info__dump__muxer__listener_8h_source.html index c253f8db51..8d66c7ad00 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 @@ -125,61 +125,63 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
38  const std::vector<uint8_t>& iv,
39  const std::vector<ProtectionSystemSpecificInfo>&
40  key_system_info) override;
-
41  void OnMediaStart(const MuxerOptions& muxer_options,
-
42  const StreamInfo& stream_info,
-
43  uint32_t time_scale,
-
44  ContainerType container_type) override;
-
45  void OnSampleDurationReady(uint32_t sample_duration) override;
-
46  void OnMediaEnd(bool has_init_range,
-
47  uint64_t init_range_start,
-
48  uint64_t init_range_end,
-
49  bool has_index_range,
-
50  uint64_t index_range_start,
-
51  uint64_t index_range_end,
-
52  float duration_seconds,
-
53  uint64_t file_size) override;
-
54  void OnNewSegment(const std::string& file_name,
-
55  uint64_t start_time,
-
56  uint64_t duration,
-
57  uint64_t segment_file_size) override;
-
59 
-
64  // TODO(rkuroiwa): Move this to muxer_listener_internal and rename
-
65  // muxer_listener_internal to muxer_listener_util.
-
66  static bool WriteMediaInfoToFile(const MediaInfo& media_info,
-
67  const std::string& output_file_path);
-
68 
-
69  private:
-
70 
-
71  std::string output_file_name_;
-
72  scoped_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_
+
41  void OnEncryptionStart() override;
+
42  void OnMediaStart(const MuxerOptions& muxer_options,
+
43  const StreamInfo& stream_info,
+
44  uint32_t time_scale,
+
45  ContainerType container_type) override;
+
46  void OnSampleDurationReady(uint32_t sample_duration) override;
+
47  void OnMediaEnd(bool has_init_range,
+
48  uint64_t init_range_start,
+
49  uint64_t init_range_end,
+
50  bool has_index_range,
+
51  uint64_t index_range_start,
+
52  uint64_t index_range_end,
+
53  float duration_seconds,
+
54  uint64_t file_size) override;
+
55  void OnNewSegment(const std::string& file_name,
+
56  uint64_t start_time,
+
57  uint64_t duration,
+
58  uint64_t segment_file_size) override;
+
60 
+
65  // TODO(rkuroiwa): Move this to muxer_listener_internal and rename
+
66  // muxer_listener_internal to muxer_listener_util.
+
67  static bool WriteMediaInfoToFile(const MediaInfo& media_info,
+
68  const std::string& output_file_path);
+
69 
+
70  private:
+
71 
+
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_
Abstract class holds stream information.
Definition: stream_info.h:26
-
void OnSampleDurationReady(uint32_t sample_duration) override
+
void OnSampleDurationReady(uint32_t sample_duration) override
-
void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
+
void OnNewSegment(const std::string &file_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size) override
+
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type) override
-
static bool WriteMediaInfoToFile(const MediaInfo &media_info, const std::string &output_file_path)
+
static bool WriteMediaInfoToFile(const MediaInfo &media_info, const std::string &output_file_path)
void OnEncryptionInfoReady(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &default_key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info) override
-
void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) override
+
void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size) override
diff --git a/docs/dd/dab/webm__muxer_8h_source.html b/docs/dd/dab/webm__muxer_8h_source.html index e170e69b6a..29afd4277f 100644 --- a/docs/dd/dab/webm__muxer_8h_source.html +++ b/docs/dd/dab/webm__muxer_8h_source.html @@ -138,7 +138,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/dae/structshaka_1_1media_1_1mp4_1_1WebVTTSourceLabelBox-members.html b/docs/dd/dae/structshaka_1_1media_1_1mp4_1_1WebVTTSourceLabelBox-members.html index 425ef56d0c..7117ebc71f 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 56d2442994..321f5f14ff 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 1c9f68da2b..9ac0f598a1 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 36f7dc6d8b..35b58e47c1 100644 --- a/docs/dd/db9/classshaka_1_1xml_1_1RepresentationBaseXmlNode.html +++ b/docs/dd/db9/classshaka_1_1xml_1_1RepresentationBaseXmlNode.html @@ -156,7 +156,7 @@ Protected Member Functions diff --git a/docs/dd/dbc/buffer__reader_8cc_source.html b/docs/dd/dbc/buffer__reader_8cc_source.html index ace1d43907..0d40fc91c3 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 5b095baace..4cdc4a39cd 100644 --- a/docs/dd/dbd/structshaka_1_1media_1_1EncryptionKey.html +++ b/docs/dd/dbd/structshaka_1_1media_1_1EncryptionKey.html @@ -120,7 +120,7 @@ std::vector< uint8_t >  diff --git a/docs/dd/dbd/structshaka_1_1media_1_1mp4_1_1TrackEncryption-members.html b/docs/dd/dbd/structshaka_1_1media_1_1mp4_1_1TrackEncryption-members.html index ebf9965809..043b0ea1da 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 1be855ec67..f572bc32e8 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 f7b800bb3d..e4513e6ba5 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 d2a9fa4fef..6a0ab73b48 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 99f976233d..e093f6028c 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 @@ -253,7 +253,7 @@ virtual Sta @@ -271,7 +271,7 @@ 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 eab297bc2b..802776c8fa 100644 --- a/docs/dd/dca/structshaka_1_1media_1_1mp4_1_1OriginalFormat-members.html +++ b/docs/dd/dca/structshaka_1_1media_1_1mp4_1_1OriginalFormat-members.html @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/dce/structshaka_1_1media_1_1Cue.html b/docs/dd/dce/structshaka_1_1media_1_1Cue.html index 6135543142..6fa08e68a8 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 2493451a1c..82548767f9 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 158a35eca8..2ac95e5716 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 614d4cb48b..3a56525dc6 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 08552d7f5e..382a5944fa 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 ef27e4a452..631ad2f113 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 f2e1876e05..b40cd5fee5 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 ff433a7035..a70379d331 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 ba58a2313d..a93b801626 100644 --- a/docs/dd/de7/xml__node_8h_source.html +++ b/docs/dd/de7/xml__node_8h_source.html @@ -230,7 +230,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 6b83fc24e1..8647867cf8 100644 --- a/docs/dd/dee/box__definitions_8cc_source.html +++ b/docs/dd/dee/box__definitions_8cc_source.html @@ -2943,7 +2943,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 db6dede822..4eb1637f8a 100644 --- a/docs/dd/df2/webm_2multi__segment__segmenter_8h_source.html +++ b/docs/dd/df2/webm_2multi__segment__segmenter_8h_source.html @@ -149,7 +149,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/dd/df5/structshaka_1_1media_1_1mp4_1_1TrackFragmentRun.html b/docs/dd/df5/structshaka_1_1media_1_1mp4_1_1TrackFragmentRun.html index 2256671062..fc24f62972 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 4e75577f47..308b6edcad 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 9b08965b4d..9e9eee28b1 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 0ed13f2a43..d3fb339754 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 44845531ca..be048d6296 100644 --- a/docs/de/d13/ts__writer_8cc_source.html +++ b/docs/de/d13/ts__writer_8cc_source.html @@ -361,7 +361,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/d15/media__stream_8cc_source.html b/docs/de/d15/media__stream_8cc_source.html index 2c9ab55c88..ea58a2f548 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 17da458bc0..e47f675d2f 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 46c29f8080..956803b56b 100644 --- a/docs/de/d17/cluster__builder_8cc_source.html +++ b/docs/de/d17/cluster__builder_8cc_source.html @@ -330,7 +330,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 87cc085601..6ae4e452c1 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 9412a77702..d361dff245 100644 --- a/docs/de/d1e/mp4_2single__segment__segmenter_8cc_source.html +++ b/docs/de/d1e/mp4_2single__segment__segmenter_8cc_source.html @@ -330,12 +330,12 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
virtual void OnSampleDurationReady(uint32_t sample_duration)=0
-
void UpdateProgress(uint64_t progress)
Update segmentation progress using ProgressListener.
Definition: segmenter.cc:249
+
void UpdateProgress(uint64_t progress)
Update segmentation progress using ProgressListener.
Definition: segmenter.cc:251
static bool Delete(const char *file_name)
Definition: file.cc:162
diff --git a/docs/de/d22/aes__pattern__cryptor_8cc_source.html b/docs/de/d22/aes__pattern__cryptor_8cc_source.html index 9066aaadd9..4357d52bc8 100644 --- a/docs/de/d22/aes__pattern__cryptor_8cc_source.html +++ b/docs/de/d22/aes__pattern__cryptor_8cc_source.html @@ -198,7 +198,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/d27/classshaka_1_1media_1_1mp2t_1_1H264ProgramMapTableWriter.html b/docs/de/d27/classshaka_1_1media_1_1mp2t_1_1H264ProgramMapTableWriter.html index 95b1711a2b..19580ee6db 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 19fd8540b7..d1b6457265 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 b80c662f70..d737a1f88a 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 de2b0ae53c..860dea5de6 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 25789ace06..c38e8c8749 100644 --- a/docs/de/d34/offset__byte__queue_8h_source.html +++ b/docs/de/d34/offset__byte__queue_8h_source.html @@ -143,7 +143,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/d3c/h26x__byte__to__unit__stream__converter_8cc_source.html b/docs/de/d3c/h26x__byte__to__unit__stream__converter_8cc_source.html index 4d0be0bf5b..c8e58c0857 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 ed931ae838..4dca3ff33c 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 0a04e3b6ed..57fd33a942 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 2c2277ccab..0769533ad4 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 15e155501a..f6c4f86a6c 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 a70a3689f7..00233478e2 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 2276279aa5..5cd360d560 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 b0dd7af13e..d559bbb3ac 100644 --- a/docs/de/d52/classshaka_1_1Representation.html +++ b/docs/de/d52/classshaka_1_1Representation.html @@ -456,7 +456,7 @@ template<MpdBuilder::MpdType type> diff --git a/docs/de/d55/structshaka_1_1media_1_1mp4_1_1Language-members.html b/docs/de/d55/structshaka_1_1media_1_1mp4_1_1Language-members.html index 9135afa210..cea1ddeaca 100644 --- a/docs/de/d55/structshaka_1_1media_1_1mp4_1_1Language-members.html +++ b/docs/de/d55/structshaka_1_1media_1_1mp4_1_1Language-members.html @@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/d5b/adts__header_8cc_source.html b/docs/de/d5b/adts__header_8cc_source.html index 17b7b6205a..2a0389d5b2 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 5ed9b2c603..33707dc9dd 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 d15af1625e..3267ab4d9c 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 da6ce78c60..76ec3e36d9 100644 --- a/docs/de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html +++ b/docs/de/d64/classshaka_1_1media_1_1mp2t_1_1TsWriter.html @@ -257,7 +257,7 @@ void  diff --git a/docs/de/d6c/structshaka_1_1media_1_1mp4_1_1SampleToGroupEntry-members.html b/docs/de/d6c/structshaka_1_1media_1_1mp4_1_1SampleToGroupEntry-members.html index 7163c1dce7..1f309d43a7 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 56790d266e..177cf661c7 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 9e4c033c15..b5b68671eb 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 525a5aae02..a872caae06 100644 --- a/docs/de/d77/webm__content__encodings__client_8cc_source.html +++ b/docs/de/d77/webm__content__encodings__client_8cc_source.html @@ -361,7 +361,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/d7b/mp4__media__parser_8h_source.html b/docs/de/d7b/mp4__media__parser_8h_source.html index c4c9b08990..3f6745da53 100644 --- a/docs/de/d7b/mp4__media__parser_8h_source.html +++ b/docs/de/d7b/mp4__media__parser_8h_source.html @@ -206,7 +206,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/d7e/classshaka_1_1media_1_1mp2t_1_1TsSectionPsi.html b/docs/de/d7e/classshaka_1_1media_1_1mp2t_1_1TsSectionPsi.html index 61e30c25c8..8872abfdfc 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 d630dffc76..22bbdcf029 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 4bba83906d..c1d6765ecc 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 c4239d8bb3..e8ba255ed5 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 3a1715bc9f..09db0873c6 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 ad3cb36f20..b0657d2566 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 a5ccabb932..a373320385 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 921b878ccf..e8bb93817d 100644 --- a/docs/de/dab/es__parser__h26x_8cc_source.html +++ b/docs/de/dab/es__parser__h26x_8cc_source.html @@ -415,7 +415,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/dad/validate__flag_8cc_source.html b/docs/de/dad/validate__flag_8cc_source.html index 92eb529466..a38a61acf7 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 c6098201e4..6d4a75a739 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 dbfbee5064..799c0157b6 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 6835f962a0..a6224211e4 100644 --- a/docs/de/dc1/demuxer_8h_source.html +++ b/docs/de/dc1/demuxer_8h_source.html @@ -187,7 +187,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/dc2/classshaka_1_1media_1_1H265Parser.html b/docs/de/dc2/classshaka_1_1media_1_1H265Parser.html index 8c98a64022..b2564e1751 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 29e9714422..52aaa05d8e 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 c2108d0e38..dc6254b75e 100644 --- a/docs/de/dcb/ts__segmenter_8h_source.html +++ b/docs/de/dcb/ts__segmenter_8h_source.html @@ -196,14 +196,14 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
122 } // namespace shaka
123 #endif // PACKAGER_MEDIA_FORMATS_MP2T_TS_SEGMENTER_H_
Abstract class holds stream information.
Definition: stream_info.h:26
-
Status AddSample(scoped_refptr< MediaSample > sample)
Definition: ts_segmenter.cc:78
- +
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.
+
void InjectTsWriterForTesting(scoped_ptr< TsWriter > writer)
Only for testing.
TsSegmenter(const MuxerOptions &options, MuxerListener *listener)
Definition: ts_segmenter.cc:27
-
void SetTsWriterFileOpenedForTesting(bool value)
Only for testing.
-
void InjectPesPacketGeneratorForTesting(scoped_ptr< PesPacketGenerator > generator)
Only for testing.
+
void SetTsWriterFileOpenedForTesting(bool value)
Only for testing.
+
void InjectPesPacketGeneratorForTesting(scoped_ptr< PesPacketGenerator > generator)
Only for testing.
KeySource is responsible for encryption key acquisition.
Definition: key_source.h:31
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
@@ -211,7 +211,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/dcc/mock__mpd__notifier_8cc_source.html b/docs/de/dcc/mock__mpd__notifier_8cc_source.html index ef2297c353..e1ed7a71ba 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 6ffc67a950..ab6fc1a49d 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 9183ff91dc..f7d17bc352 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 5f5078e634..ea9fd22b3f 100644 --- a/docs/de/dd6/muxer__listener__test__helper_8cc_source.html +++ b/docs/de/dd6/muxer__listener__test__helper_8cc_source.html @@ -219,7 +219,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 25cd452b8f..8516f9ac1a 100644 --- a/docs/de/ddd/classshaka_1_1media_1_1Muxer-members.html +++ b/docs/de/ddd/classshaka_1_1media_1_1Muxer-members.html @@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html b/docs/de/dde/classshaka_1_1media_1_1mp2t_1_1TsSegmenter.html index 44a17c3a33..f48e892e54 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 @@ -178,7 +178,7 @@ void 
Returns
OK on success.
-

Definition at line 78 of file ts_segmenter.cc.

+

Definition at line 88 of file ts_segmenter.cc.

@@ -197,7 +197,7 @@ void 
Returns
OK on success.
-

Definition at line 71 of file ts_segmenter.cc.

+

Definition at line 81 of file ts_segmenter.cc.

@@ -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 6fef2b96e1..1faed3368c 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 c0be58919f..172ecc0895 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 325bc9896d..8e1ac3a782 100644 --- a/docs/de/de0/classshaka_1_1media_1_1mp4_1_1MP4Muxer-members.html +++ b/docs/de/de0/classshaka_1_1media_1_1mp4_1_1MP4Muxer-members.html @@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/de/de4/structshaka_1_1media_1_1H264Pps.html b/docs/de/de4/structshaka_1_1media_1_1H264Pps.html index 30f883b27a..b2c729762c 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 3756c9e81a..4db372186a 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 9b4370a6fd..002828d65d 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 4396751753..74debaf9d2 100644 --- a/docs/de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html +++ b/docs/de/df6/classshaka_1_1media_1_1mp4_1_1TrackRunIterator.html @@ -412,7 +412,7 @@ bool is_keyframe () co diff --git a/docs/de/dfa/classshaka_1_1media_1_1webm_1_1Encryptor.html b/docs/de/dfa/classshaka_1_1media_1_1webm_1_1Encryptor.html index 42f18d42da..237e5f7211 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 @@ -203,7 +203,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 9472e8fe59..e84c71f70f 100644 --- a/docs/de/dfa/muxer__listener_8h_source.html +++ b/docs/de/dfa/muxer__listener_8h_source.html @@ -130,47 +130,50 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
64  const std::vector<uint8_t>& iv,
65  const std::vector<ProtectionSystemSpecificInfo>& key_system_info) = 0;
66 
-
75  virtual void OnMediaStart(const MuxerOptions& muxer_options,
-
76  const StreamInfo& stream_info,
-
77  uint32_t time_scale,
-
78  ContainerType container_type) = 0;
-
79 
-
82  virtual void OnSampleDurationReady(uint32_t sample_duration) = 0;
-
83 
-
99  virtual void OnMediaEnd(bool has_init_range,
-
100  uint64_t init_range_start,
-
101  uint64_t init_range_end,
-
102  bool has_index_range,
-
103  uint64_t index_range_start,
-
104  uint64_t index_range_end,
-
105  float duration_seconds,
-
106  uint64_t file_size) = 0;
-
107 
-
119  virtual void OnNewSegment(const std::string& segment_name,
-
120  uint64_t start_time,
-
121  uint64_t duration,
-
122  uint64_t segment_file_size) = 0;
-
123 
-
124  protected:
-
125  MuxerListener() {};
-
126 };
-
127 
-
128 } // namespace media
-
129 } // namespace shaka
-
130 
-
131 #endif // MEDIA_EVENT_MUXER_LISTENER_H_
+
71  virtual void OnEncryptionStart() = 0;
+
72 
+
81  virtual void OnMediaStart(const MuxerOptions& muxer_options,
+
82  const StreamInfo& stream_info,
+
83  uint32_t time_scale,
+
84  ContainerType container_type) = 0;
+
85 
+
88  virtual void OnSampleDurationReady(uint32_t sample_duration) = 0;
+
89 
+
105  virtual void OnMediaEnd(bool has_init_range,
+
106  uint64_t init_range_start,
+
107  uint64_t init_range_end,
+
108  bool has_index_range,
+
109  uint64_t index_range_start,
+
110  uint64_t index_range_end,
+
111  float duration_seconds,
+
112  uint64_t file_size) = 0;
+
113 
+
125  virtual void OnNewSegment(const std::string& segment_name,
+
126  uint64_t start_time,
+
127  uint64_t duration,
+
128  uint64_t segment_file_size) = 0;
+
129 
+
130  protected:
+
131  MuxerListener() {};
+
132 };
+
133 
+
134 } // namespace media
+
135 } // namespace shaka
+
136 
+
137 #endif // MEDIA_EVENT_MUXER_LISTENER_H_
virtual void OnNewSegment(const std::string &segment_name, uint64_t start_time, uint64_t duration, uint64_t segment_file_size)=0
virtual void OnEncryptionInfoReady(bool is_initial_encryption_info, FourCC protection_scheme, const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< ProtectionSystemSpecificInfo > &key_system_info)=0
virtual void OnMediaEnd(bool has_init_range, uint64_t init_range_start, uint64_t init_range_end, bool has_index_range, uint64_t index_range_start, uint64_t index_range_end, float duration_seconds, uint64_t file_size)=0
Abstract class holds stream information.
Definition: stream_info.h:26
virtual void OnSampleDurationReady(uint32_t sample_duration)=0
+
virtual void OnEncryptionStart()=0
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
virtual void OnMediaStart(const MuxerOptions &muxer_options, const StreamInfo &stream_info, uint32_t time_scale, ContainerType container_type)=0
diff --git a/docs/de/dfa/structshaka_1_1media_1_1mp4_1_1OpusSpecific.html b/docs/de/dfa/structshaka_1_1media_1_1mp4_1_1OpusSpecific.html index 413610aa4a..c897e3e4e6 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 65e4e262f2..42a0979b28 100644 --- a/docs/de/dfd/stream__info_8cc_source.html +++ b/docs/de/dfd/stream__info_8cc_source.html @@ -143,7 +143,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 803ed02b2a..31d5b365d3 100644 --- a/docs/df/d05/vp__codec__configuration__record_8cc_source.html +++ b/docs/df/d05/vp__codec__configuration__record_8cc_source.html @@ -359,7 +359,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 7195195375..df509f523d 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 974b302023..b83c20e634 100644 --- a/docs/df/d1c/classshaka_1_1media_1_1MediaSample-members.html +++ b/docs/df/d1c/classshaka_1_1media_1_1MediaSample-members.html @@ -123,7 +123,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d1c/composition__offset__iterator_8h_source.html b/docs/df/d1c/composition__offset__iterator_8h_source.html index 6113504f14..4f88fca326 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 064922331d..699dfec171 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 d636d8b0e4..8f5d11fd60 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 defb8f9a49..008f396cad 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 9c494e5589..7cc9b031b9 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 4dd9d458cc..8b0babbc77 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 4ab3641b8e..e5bed0a0e6 100644 --- a/docs/df/d32/audio__stream__info_8h_source.html +++ b/docs/df/d32/audio__stream__info_8h_source.html @@ -193,7 +193,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 b448bd25b1..0befc330c2 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 2b9411973f..97d3b38fea 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 c1c1bee51f..5d6a7a8863 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 da48aa0f60..879f956a2c 100644 --- a/docs/df/d3c/classshaka_1_1media_1_1RequestSigner.html +++ b/docs/df/d3c/classshaka_1_1media_1_1RequestSigner.html @@ -180,7 +180,7 @@ Protected Member Functions diff --git a/docs/df/d46/classshaka_1_1media_1_1Muxer.html b/docs/df/d46/classshaka_1_1media_1_1Muxer.html index cd4704f4dd..04c0d4d2a6 100644 --- a/docs/df/d46/classshaka_1_1media_1_1Muxer.html +++ b/docs/df/d46/classshaka_1_1media_1_1Muxer.html @@ -342,7 +342,7 @@ class MediaStream diff --git a/docs/df/d46/classshaka_1_1media_1_1ThreadedIoFile-members.html b/docs/df/d46/classshaka_1_1media_1_1ThreadedIoFile-members.html index 1484504da4..a8654ae758 100644 --- a/docs/df/d46/classshaka_1_1media_1_1ThreadedIoFile-members.html +++ b/docs/df/d46/classshaka_1_1media_1_1ThreadedIoFile-members.html @@ -120,7 +120,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d50/classshaka_1_1media_1_1mp2t_1_1AacProgramMapTableWriter-members.html b/docs/df/d50/classshaka_1_1media_1_1mp2t_1_1AacProgramMapTableWriter-members.html index bbc7d77a7d..3fbede987c 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 93be3521e5..a92ac92b33 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 03a052438e..c9a77d2258 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)shaka::media::mp4::EncryptingFragmenter + 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 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 @@ -121,7 +121,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 a98a1453a7..82adef79b2 100644 --- a/docs/df/d60/classshaka_1_1MockMpdBuilder.html +++ b/docs/df/d60/classshaka_1_1MockMpdBuilder.html @@ -153,7 +153,7 @@ Additional Inherited Members diff --git a/docs/df/d63/structshaka_1_1media_1_1mp4_1_1AudioRollRecoveryEntry-members.html b/docs/df/d63/structshaka_1_1media_1_1mp4_1_1AudioRollRecoveryEntry-members.html index 2a89e42ee9..de2c351c6f 100644 --- a/docs/df/d63/structshaka_1_1media_1_1mp4_1_1AudioRollRecoveryEntry-members.html +++ b/docs/df/d63/structshaka_1_1media_1_1mp4_1_1AudioRollRecoveryEntry-members.html @@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d66/classshaka_1_1media_1_1KeyFetcher.html b/docs/df/d66/classshaka_1_1media_1_1KeyFetcher.html index f16e070c8e..b72b8c7e09 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 cfde5263bb..b61e7c4adf 100644 --- a/docs/df/d6a/classshaka_1_1MockMpdBuilder-members.html +++ b/docs/df/d6a/classshaka_1_1MockMpdBuilder-members.html @@ -112,7 +112,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d6a/structshaka_1_1media_1_1mp4_1_1OpusSpecific-members.html b/docs/df/d6a/structshaka_1_1media_1_1mp4_1_1OpusSpecific-members.html index 6da4fb21f3..61cee10a8b 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 9f3e2fe3be..7bec07f8a7 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 b3c3a8e767..2fbeb0848e 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 18a3e04d44..13560c572e 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 bba545a121..c2f15b3cc9 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 e68ed59a9b..8e13d79e3f 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 035aa4ad8a..e8046d3839 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 cba7ef8c16..35e8be9a2b 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 347daa2f69..fbcef27729 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 64255df085..ddccb7a732 100644 --- a/docs/df/d8c/classshaka_1_1media_1_1mp4_1_1MultiSegmentSegmenter-members.html +++ b/docs/df/d8c/classshaka_1_1media_1_1mp4_1_1MultiSegmentSegmenter-members.html @@ -118,7 +118,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d8d/es__parser__h26x_8h_source.html b/docs/df/d8d/es__parser__h26x_8h_source.html index 65570f0f85..8f35fbaa65 100644 --- a/docs/df/d8d/es__parser__h26x_8h_source.html +++ b/docs/df/d8d/es__parser__h26x_8h_source.html @@ -222,7 +222,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d94/classshaka_1_1RepresentationStateChangeListener.html b/docs/df/d94/classshaka_1_1RepresentationStateChangeListener.html index 406d44a360..864738b29e 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 10b594f2f3..13eac2aa40 100644 --- a/docs/df/d96/xml__node_8cc_source.html +++ b/docs/df/d96/xml__node_8cc_source.html @@ -488,7 +488,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/d9a/structshaka_1_1media_1_1mp4_1_1TrackFragmentDecodeTime.html b/docs/df/d9a/structshaka_1_1media_1_1mp4_1_1TrackFragmentDecodeTime.html index 57d268e39f..4df880c241 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 fdc30822eb..34c479bb34 100644 --- a/docs/df/d9e/classshaka_1_1xml_1_1RepresentationXmlNode.html +++ b/docs/df/d9e/classshaka_1_1xml_1_1RepresentationXmlNode.html @@ -311,7 +311,7 @@ Additional Inherited Members diff --git a/docs/df/da0/structshaka_1_1media_1_1mp4_1_1ChunkOffset-members.html b/docs/df/da0/structshaka_1_1media_1_1mp4_1_1ChunkOffset-members.html index 955ba5fea8..aff37073c9 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 3c67c0b8e0..be3d7aaabe 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 b18190b472..ef15a1bb7e 100644 --- a/docs/df/dad/decrypt__config_8h_source.html +++ b/docs/df/dad/decrypt__config_8h_source.html @@ -168,7 +168,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search'); diff --git a/docs/df/db8/structshaka_1_1media_1_1StreamDescriptor-members.html b/docs/df/db8/structshaka_1_1media_1_1StreamDescriptor-members.html index 2f8597b19d..0b2a405e82 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 912f294e08..658a51ea82 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 89a256f142..9b040fad93 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 5ecc110ba4..c51b600545 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 715f337e73..ba5d152742 100644 --- a/docs/df/ddc/webm_2segmenter_8h_source.html +++ b/docs/df/ddc/webm_2segmenter_8h_source.html @@ -225,13 +225,13 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
166 } // namespace shaka
167 
168 #endif // MEDIA_FORMATS_WEBM_SEGMENTER_H_
-
Status WriteSegmentHeader(uint64_t file_size, MkvWriter *writer)
Writes the Segment header to writer.
Definition: segmenter.cc:202
+
Status WriteSegmentHeader(uint64_t file_size, MkvWriter *writer)
Writes the Segment header to writer.
Definition: segmenter.cc:204
Abstract class holds stream information.
Definition: stream_info.h:26
- +
Status AddSample(scoped_refptr< MediaSample > sample)
Definition: segmenter.cc:114
This structure contains the list of configuration options for Muxer.
Definition: muxer_options.h:18
-
Status SetCluster(uint64_t start_webm_timecode, uint64_t position, MkvWriter *writer)
Creates a Cluster object with the given parameters.
Definition: segmenter.cc:240
+
Status SetCluster(uint64_t start_webm_timecode, uint64_t position, MkvWriter *writer)
Creates a Cluster object with the given parameters.
Definition: segmenter.cc:242
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:48
@@ -240,17 +240,17 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
KeySource is responsible for encryption key acquisition.
Definition: key_source.h:31
-
void UpdateProgress(uint64_t progress)
Update segmentation progress using ProgressListener.
Definition: segmenter.cc:249
+
void UpdateProgress(uint64_t progress)
Update segmentation progress using ProgressListener.
Definition: segmenter.cc:251
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:196
+
uint64_t FromWebMTimecode(uint64_t time_webm_timecode)
Converts the given time in WebM timecode to ISO BMFF timescale.
Definition: segmenter.cc:198
Holds video stream information.
Holds audio stream information.
-
uint64_t FromBMFFTimescale(uint64_t time_timescale)
Definition: segmenter.cc:189
+
uint64_t FromBMFFTimescale(uint64_t time_timescale)
Definition: segmenter.cc:191
diff --git a/docs/df/dde/ts__section__psi_8cc_source.html b/docs/df/dde/ts__section__psi_8cc_source.html index a02dbd9642..100e3edac5 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 c10187b868..544a659c52 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 cb5e9b65b4..79a4f3640c 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 5c46bf7e80..5b7888ec85 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 d2f3566f1d..3a42155f70 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 100fe50cf2..fe76317feb 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 a51f4d0e3f..c46fa08814 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 b9a2221a4d..40b33bcf61 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 e7d60509d8..83724b9882 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 c35d773b2c..0081318858 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 c2a0dc9a5e..fec5cb80e6 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 1f66d51207..be5c751fb7 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 0c13f214fe..0e7104a875 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 d538ddb209..5bc1b9ea00 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 88fa3a1861..91abfc625b 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 f7cdbd37bd..50b429c1f2 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 e6f5c34ac8..7bee6e5e50 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 5819ce08ec..42c28b2de4 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 ee385bc3d9..dc7908fcfe 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 0d3f91c63f..318bf8b5e2 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 0307747566..c5ee109e2f 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 09156983a1..6e3d7db0ad 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 e313de9b65..f250f6b3eb 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 8f17bd7794..7c8a42412a 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -240,7 +240,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_b.html b/docs/functions_b.html index 066c831452..caf04152c2 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 0502cd1a0f..211956f864 100644 --- a/docs/functions_c.html +++ b/docs/functions_c.html @@ -241,7 +241,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_d.html b/docs/functions_d.html index 926bd5e33f..2883ad98b3 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 d81cef9fa3..b949cef6d8 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 04d530bdfe..76e10cd2d7 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 0850124d60..765592d19e 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 4b4f1b8906..91c6ab2bc3 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 d8cc1dd72c..7533d0516f 100644 --- a/docs/functions_func.html +++ b/docs/functions_func.html @@ -240,7 +240,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_b.html b/docs/functions_func_b.html index 56e709c9d5..b0a395f527 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 9de7e062fb..d148b10874 100644 --- a/docs/functions_func_c.html +++ b/docs/functions_func_c.html @@ -241,7 +241,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_d.html b/docs/functions_func_d.html index 26ef7a6167..0555247a74 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 b71c88029f..15cd04de45 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 210d4ab512..2e3cce6503 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 73260e3562..65cfb3faf9 100644 --- a/docs/functions_func_g.html +++ b/docs/functions_func_g.html @@ -259,7 +259,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_h.html b/docs/functions_func_h.html index 711519daf4..e238633e46 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 b730e93728..302e26d71c 100644 --- a/docs/functions_func_i.html +++ b/docs/functions_func_i.html @@ -210,7 +210,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_k.html b/docs/functions_func_k.html index 31e8800495..9f50c27644 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 4ce5cac460..8a983549e8 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 776b7c9ee8..8b67521de9 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 360e26c7bc..318fbb70e1 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 430002da6b..e2f9cedc85 100644 --- a/docs/functions_func_o.html +++ b/docs/functions_func_o.html @@ -128,6 +128,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , shaka::media::MuxerListener , shaka::media::VodMediaInfoDumpMuxerListener +
  • OnEncryptionStart() +: shaka::media::HlsNotifyMuxerListener +, shaka::media::MpdNotifyMuxerListener +, shaka::media::MuxerListener +, shaka::media::VodMediaInfoDumpMuxerListener +
  • OnListStart() : shaka::media::WebMContentEncodingsClient
  • @@ -187,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 3f7e179488..52c0b28fbf 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 12b460d142..3ae10cce55 100644 --- a/docs/functions_func_r.html +++ b/docs/functions_func_r.html @@ -201,7 +201,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_s.html b/docs/functions_func_s.html index dc6ef3670d..9d6f7d2e6e 100644 --- a/docs/functions_func_s.html +++ b/docs/functions_func_s.html @@ -282,7 +282,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_func_t.html b/docs/functions_func_t.html index be6fdc4490..afee0a4b20 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 44f1245aec..3d1bd4a984 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 4ac0538168..be892aca70 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 f37786f90e..41447d2adb 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 80b04330e5..ae40824dd8 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 c8e8b71689..772c0d1b0b 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 a2d2f5b008..9e788dadb7 100644 --- a/docs/functions_g.html +++ b/docs/functions_g.html @@ -259,7 +259,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_h.html b/docs/functions_h.html index ca1c8fe1bf..ee83a33e71 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 fa154cceeb..9725ba7e2f 100644 --- a/docs/functions_i.html +++ b/docs/functions_i.html @@ -213,7 +213,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_k.html b/docs/functions_k.html index 0ebc0a8cfe..40be60bfb3 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 0ea70abaf4..18e358ea72 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 43ab46a279..9939252b62 100644 --- a/docs/functions_m.html +++ b/docs/functions_m.html @@ -147,7 +147,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_n.html b/docs/functions_n.html index bbf12fa56e..c93847522c 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 2d70e3f2ca..bebf8f084f 100644 --- a/docs/functions_o.html +++ b/docs/functions_o.html @@ -128,6 +128,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); , shaka::media::MuxerListener , shaka::media::VodMediaInfoDumpMuxerListener +
  • OnEncryptionStart() +: shaka::media::HlsNotifyMuxerListener +, shaka::media::MpdNotifyMuxerListener +, shaka::media::MuxerListener +, shaka::media::VodMediaInfoDumpMuxerListener +
  • OnListStart() : shaka::media::WebMContentEncodingsClient
  • @@ -190,7 +196,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_p.html b/docs/functions_p.html index 957d02ec15..174b041eed 100644 --- a/docs/functions_p.html +++ b/docs/functions_p.html @@ -237,7 +237,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_r.html b/docs/functions_r.html index 6ecba4e33b..684ec579f8 100644 --- a/docs/functions_r.html +++ b/docs/functions_r.html @@ -201,7 +201,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_s.html b/docs/functions_s.html index bcc18e3f81..1b6b99b831 100644 --- a/docs/functions_s.html +++ b/docs/functions_s.html @@ -297,7 +297,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/docs/functions_t.html b/docs/functions_t.html index f1af43dbf3..8bf9e6457b 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 c673477354..4e125b199e 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 fa50bba6e6..0e19733374 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 ffe9bb8c3c..1214e6f1db 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 c2cbff3514..89328b977a 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 20f9542004..52c16163af 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 98d543eb36..d14a3d3bf8 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 5e81bc9085..ed13f16c1b 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 3f1359c280..e901e5d72c 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 9108648032..4e19630b43 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 10a793e1a3..e027d1d647 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 453869593f..456c0c9b08 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 6bf6eb87e3..42a7fa2054 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_4.js b/docs/search/all_4.js index 09acfc8ca0..992dc90dc6 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#a13593e29b7d9d1b9e133e6470539ca48',1,'shaka::media::mp4::EncryptingFragmenter']]], + ['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',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_d.js b/docs/search/all_d.js index 739733350a..30cea04679 100644 --- a/docs/search/all_d.js +++ b/docs/search/all_d.js @@ -2,6 +2,7 @@ var searchData= [ ['offsetbytequeue',['OffsetByteQueue',['../d9/df9/classshaka_1_1media_1_1OffsetByteQueue.html',1,'shaka::media']]], ['onencryptioninfoready',['OnEncryptionInfoReady',['../d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html#a8be7a524212bdd401150aa6bcb374792',1,'shaka::media::HlsNotifyMuxerListener::OnEncryptionInfoReady()'],['../d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html#a10071445982f736bb1e6e04133dd60cb',1,'shaka::media::MpdNotifyMuxerListener::OnEncryptionInfoReady()'],['../dd/d7a/classshaka_1_1media_1_1MuxerListener.html#ab521acca727bbe01aa15c751325c0001',1,'shaka::media::MuxerListener::OnEncryptionInfoReady()'],['../db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html#a683882564ac762e2e94795964f8be4b8',1,'shaka::media::VodMediaInfoDumpMuxerListener::OnEncryptionInfoReady()']]], + ['onencryptionstart',['OnEncryptionStart',['../d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html#a49b4187f39abe517768364f7ecb280f9',1,'shaka::media::HlsNotifyMuxerListener::OnEncryptionStart()'],['../d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html#a56ccf04196458894f31d0db102153334',1,'shaka::media::MpdNotifyMuxerListener::OnEncryptionStart()'],['../dd/d7a/classshaka_1_1media_1_1MuxerListener.html#a897463091f0effa647a8e2822f48b2ee',1,'shaka::media::MuxerListener::OnEncryptionStart()'],['../db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html#ae8f6f65fbab9f301be5bb35f5b8d1cbc',1,'shaka::media::VodMediaInfoDumpMuxerListener::OnEncryptionStart()']]], ['onliststart',['OnListStart',['../d9/d87/classshaka_1_1media_1_1WebMContentEncodingsClient.html#a7b8b5447b3d573657f6dc029d2e6d8b7',1,'shaka::media::WebMContentEncodingsClient']]], ['onmediaend',['OnMediaEnd',['../d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html#a4e88a20067b619c932a41e89997eba6a',1,'shaka::media::HlsNotifyMuxerListener::OnMediaEnd()'],['../d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html#a971bafa22a407a12f89bd4ddb33aac7e',1,'shaka::media::MpdNotifyMuxerListener::OnMediaEnd()'],['../dd/d7a/classshaka_1_1media_1_1MuxerListener.html#ac89a028372db9abbccf569819d9b2b35',1,'shaka::media::MuxerListener::OnMediaEnd()'],['../db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html#adabba5568154b8f22b02a9b0572db32e',1,'shaka::media::VodMediaInfoDumpMuxerListener::OnMediaEnd()']]], ['onmediaendparameters',['OnMediaEndParameters',['../db/db8/structshaka_1_1media_1_1OnMediaEndParameters.html',1,'shaka::media']]], diff --git a/docs/search/functions_4.js b/docs/search/functions_4.js index 1fbe2c7d45..f3de324b14 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#a13593e29b7d9d1b9e133e6470539ca48',1,'shaka::media::mp4::EncryptingFragmenter']]] + ['encryptingfragmenter',['EncryptingFragmenter',['../dc/df3/classshaka_1_1media_1_1mp4_1_1EncryptingFragmenter.html#a5a331edd7e75f6cd15ccbe9c688440a4',1,'shaka::media::mp4::EncryptingFragmenter']]] ]; diff --git a/docs/search/functions_d.js b/docs/search/functions_d.js index 638e9255eb..e5ea08ea4c 100644 --- a/docs/search/functions_d.js +++ b/docs/search/functions_d.js @@ -1,6 +1,7 @@ var searchData= [ ['onencryptioninfoready',['OnEncryptionInfoReady',['../d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html#a8be7a524212bdd401150aa6bcb374792',1,'shaka::media::HlsNotifyMuxerListener::OnEncryptionInfoReady()'],['../d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html#a10071445982f736bb1e6e04133dd60cb',1,'shaka::media::MpdNotifyMuxerListener::OnEncryptionInfoReady()'],['../dd/d7a/classshaka_1_1media_1_1MuxerListener.html#ab521acca727bbe01aa15c751325c0001',1,'shaka::media::MuxerListener::OnEncryptionInfoReady()'],['../db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html#a683882564ac762e2e94795964f8be4b8',1,'shaka::media::VodMediaInfoDumpMuxerListener::OnEncryptionInfoReady()']]], + ['onencryptionstart',['OnEncryptionStart',['../d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html#a49b4187f39abe517768364f7ecb280f9',1,'shaka::media::HlsNotifyMuxerListener::OnEncryptionStart()'],['../d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html#a56ccf04196458894f31d0db102153334',1,'shaka::media::MpdNotifyMuxerListener::OnEncryptionStart()'],['../dd/d7a/classshaka_1_1media_1_1MuxerListener.html#a897463091f0effa647a8e2822f48b2ee',1,'shaka::media::MuxerListener::OnEncryptionStart()'],['../db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html#ae8f6f65fbab9f301be5bb35f5b8d1cbc',1,'shaka::media::VodMediaInfoDumpMuxerListener::OnEncryptionStart()']]], ['onliststart',['OnListStart',['../d9/d87/classshaka_1_1media_1_1WebMContentEncodingsClient.html#a7b8b5447b3d573657f6dc029d2e6d8b7',1,'shaka::media::WebMContentEncodingsClient']]], ['onmediaend',['OnMediaEnd',['../d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html#a4e88a20067b619c932a41e89997eba6a',1,'shaka::media::HlsNotifyMuxerListener::OnMediaEnd()'],['../d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html#a971bafa22a407a12f89bd4ddb33aac7e',1,'shaka::media::MpdNotifyMuxerListener::OnMediaEnd()'],['../dd/d7a/classshaka_1_1media_1_1MuxerListener.html#ac89a028372db9abbccf569819d9b2b35',1,'shaka::media::MuxerListener::OnMediaEnd()'],['../db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html#adabba5568154b8f22b02a9b0572db32e',1,'shaka::media::VodMediaInfoDumpMuxerListener::OnMediaEnd()']]], ['onmediastart',['OnMediaStart',['../d5/dfa/classshaka_1_1media_1_1HlsNotifyMuxerListener.html#ac60d8aed79f2a1581dfec1ed5ad10f22',1,'shaka::media::HlsNotifyMuxerListener::OnMediaStart()'],['../d9/da5/classshaka_1_1media_1_1MpdNotifyMuxerListener.html#ad0aeb94e2e1fe1b5ead506b690e6f70f',1,'shaka::media::MpdNotifyMuxerListener::OnMediaStart()'],['../dd/d7a/classshaka_1_1media_1_1MuxerListener.html#a31536ec385a7ec22f323a42b872b499a',1,'shaka::media::MuxerListener::OnMediaStart()'],['../db/dd0/classshaka_1_1media_1_1VodMediaInfoDumpMuxerListener.html#a4811b4ce8292f0f449a35a837aeab74f',1,'shaka::media::VodMediaInfoDumpMuxerListener::OnMediaStart()']]],