| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef MEDIA_FILTERS_CHUNK_DEMUXER_H_ | 5 #ifndef MEDIA_FILTERS_CHUNK_DEMUXER_H_ |
| 6 #define MEDIA_FILTERS_CHUNK_DEMUXER_H_ | 6 #define MEDIA_FILTERS_CHUNK_DEMUXER_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 214 // Registers a new |id| to use for AppendData() calls. |type| indicates | 214 // Registers a new |id| to use for AppendData() calls. |type| indicates |
| 215 // the MIME type for the data that we intend to append for this ID. | 215 // the MIME type for the data that we intend to append for this ID. |
| 216 // kOk is returned if the demuxer has enough resources to support another ID | 216 // kOk is returned if the demuxer has enough resources to support another ID |
| 217 // and supports the format indicated by |type|. | 217 // and supports the format indicated by |type|. |
| 218 // kNotSupported is returned if |type| is not a supported format. | 218 // kNotSupported is returned if |type| is not a supported format. |
| 219 // kReachedIdLimit is returned if the demuxer cannot handle another ID right | 219 // kReachedIdLimit is returned if the demuxer cannot handle another ID right |
| 220 // now. | 220 // now. |
| 221 Status AddId(const std::string& id, const std::string& type, | 221 Status AddId(const std::string& id, const std::string& type, |
| 222 std::vector<std::string>& codecs); | 222 std::vector<std::string>& codecs); |
| 223 | 223 |
| 224 // Notifies a caller via |tracks_updated_cb| that the set of media tracks |
| 225 // for a given |id| has changed. |
| 226 void SetTracksWatcher(const std::string& id, |
| 227 const MediaTracksUpdatedCB& tracks_updated_cb); |
| 228 |
| 224 // Removed an ID & associated resources that were previously added with | 229 // Removed an ID & associated resources that were previously added with |
| 225 // AddId(). | 230 // AddId(). |
| 226 void RemoveId(const std::string& id); | 231 void RemoveId(const std::string& id); |
| 227 | 232 |
| 228 // Gets the currently buffered ranges for the specified ID. | 233 // Gets the currently buffered ranges for the specified ID. |
| 229 Ranges<base::TimeDelta> GetBufferedRanges(const std::string& id) const; | 234 Ranges<base::TimeDelta> GetBufferedRanges(const std::string& id) const; |
| 230 | 235 |
| 231 // Appends media data to the source buffer associated with |id|, applying | 236 // Appends media data to the source buffer associated with |id|, applying |
| 232 // and possibly updating |*timestamp_offset| during coded frame processing. | 237 // and possibly updating |*timestamp_offset| during coded frame processing. |
| 233 // |append_window_start| and |append_window_end| correspond to the MSE spec's | 238 // |append_window_start| and |append_window_end| correspond to the MSE spec's |
| 234 // similarly named source buffer attributes that are used in coded frame | 239 // similarly named source buffer attributes that are used in coded frame |
| 235 // processing. | 240 // processing. |
| 236 // |init_segment_received_cb| is run for each newly successfully parsed | 241 void AppendData(const std::string& id, |
| 237 // initialization segment. | 242 const uint8_t* data, |
| 238 void AppendData( | 243 size_t length, |
| 239 const std::string& id, | 244 base::TimeDelta append_window_start, |
| 240 const uint8_t* data, | 245 base::TimeDelta append_window_end, |
| 241 size_t length, | 246 base::TimeDelta* timestamp_offset); |
| 242 base::TimeDelta append_window_start, | |
| 243 base::TimeDelta append_window_end, | |
| 244 base::TimeDelta* timestamp_offset, | |
| 245 const MediaSourceState::InitSegmentReceivedCB& init_segment_received_cb); | |
| 246 | 247 |
| 247 // Aborts parsing the current segment and reset the parser to a state where | 248 // Aborts parsing the current segment and reset the parser to a state where |
| 248 // it can accept a new segment. | 249 // it can accept a new segment. |
| 249 // Some pending frames can be emitted during that process. These frames are | 250 // Some pending frames can be emitted during that process. These frames are |
| 250 // applied |timestamp_offset|. | 251 // applied |timestamp_offset|. |
| 251 void ResetParserState(const std::string& id, | 252 void ResetParserState(const std::string& id, |
| 252 base::TimeDelta append_window_start, | 253 base::TimeDelta append_window_start, |
| 253 base::TimeDelta append_window_end, | 254 base::TimeDelta append_window_end, |
| 254 base::TimeDelta* timestamp_offset); | 255 base::TimeDelta* timestamp_offset); |
| 255 | 256 |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 421 | 422 |
| 422 // Indicates that splice frame generation is enabled. | 423 // Indicates that splice frame generation is enabled. |
| 423 const bool splice_frames_enabled_; | 424 const bool splice_frames_enabled_; |
| 424 | 425 |
| 425 DISALLOW_COPY_AND_ASSIGN(ChunkDemuxer); | 426 DISALLOW_COPY_AND_ASSIGN(ChunkDemuxer); |
| 426 }; | 427 }; |
| 427 | 428 |
| 428 } // namespace media | 429 } // namespace media |
| 429 | 430 |
| 430 #endif // MEDIA_FILTERS_CHUNK_DEMUXER_H_ | 431 #endif // MEDIA_FILTERS_CHUNK_DEMUXER_H_ |
| OLD | NEW |