| 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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 // Returns false iff buffer is still full after running eviction. | 68 // Returns false iff buffer is still full after running eviction. |
| 69 // https://w3c.github.io/media-source/#sourcebuffer-coded-frame-eviction | 69 // https://w3c.github.io/media-source/#sourcebuffer-coded-frame-eviction |
| 70 bool EvictCodedFrames(DecodeTimestamp media_time, size_t newDataSize); | 70 bool EvictCodedFrames(DecodeTimestamp media_time, size_t newDataSize); |
| 71 | 71 |
| 72 // Signal to the stream that duration has changed to |duration|. | 72 // Signal to the stream that duration has changed to |duration|. |
| 73 void OnSetDuration(base::TimeDelta duration); | 73 void OnSetDuration(base::TimeDelta duration); |
| 74 | 74 |
| 75 // Returns the range of buffered data in this stream, capped at |duration|. | 75 // Returns the range of buffered data in this stream, capped at |duration|. |
| 76 Ranges<base::TimeDelta> GetBufferedRanges(base::TimeDelta duration) const; | 76 Ranges<base::TimeDelta> GetBufferedRanges(base::TimeDelta duration) const; |
| 77 | 77 |
| 78 // Returns the highest PTS of the buffered data. |
| 79 // Returns base::TimeDelta() if the stream has no buffered data. |
| 80 base::TimeDelta GetHighestPresentationTimestamp() const; |
| 81 |
| 78 // Returns the duration of the buffered data. | 82 // Returns the duration of the buffered data. |
| 79 // Returns base::TimeDelta() if the stream has no buffered data. | 83 // Returns base::TimeDelta() if the stream has no buffered data. |
| 80 base::TimeDelta GetBufferedDuration() const; | 84 base::TimeDelta GetBufferedDuration() const; |
| 81 | 85 |
| 82 // Returns the size of the buffered data in bytes. | 86 // Returns the size of the buffered data in bytes. |
| 83 size_t GetBufferedSize() const; | 87 size_t GetBufferedSize() const; |
| 84 | 88 |
| 85 // Signal to the stream that buffers handed in through subsequent calls to | 89 // Signal to the stream that buffers handed in through subsequent calls to |
| 86 // Append() belong to a coded frame group that starts at |start_timestamp|. | 90 // Append() belong to a coded frame group that starts at |start_timestamp|. |
| 87 void OnStartOfCodedFrameGroup(DecodeTimestamp start_timestamp); | 91 void OnStartOfCodedFrameGroup(DecodeTimestamp start_timestamp); |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 215 void SetTracksWatcher(const std::string& id, | 219 void SetTracksWatcher(const std::string& id, |
| 216 const MediaTracksUpdatedCB& tracks_updated_cb); | 220 const MediaTracksUpdatedCB& tracks_updated_cb); |
| 217 | 221 |
| 218 // Removed an ID & associated resources that were previously added with | 222 // Removed an ID & associated resources that were previously added with |
| 219 // AddId(). | 223 // AddId(). |
| 220 void RemoveId(const std::string& id); | 224 void RemoveId(const std::string& id); |
| 221 | 225 |
| 222 // Gets the currently buffered ranges for the specified ID. | 226 // Gets the currently buffered ranges for the specified ID. |
| 223 Ranges<base::TimeDelta> GetBufferedRanges(const std::string& id) const; | 227 Ranges<base::TimeDelta> GetBufferedRanges(const std::string& id) const; |
| 224 | 228 |
| 229 // Gets the highest buffered PTS for the specified |id|. If there is nothing |
| 230 // buffered, returns base::TimeDelta(). |
| 231 base::TimeDelta GetHighestPresentationTimestamp(const std::string& id) const; |
| 232 |
| 225 // Appends media data to the source buffer associated with |id|, applying | 233 // Appends media data to the source buffer associated with |id|, applying |
| 226 // and possibly updating |*timestamp_offset| during coded frame processing. | 234 // and possibly updating |*timestamp_offset| during coded frame processing. |
| 227 // |append_window_start| and |append_window_end| correspond to the MSE spec's | 235 // |append_window_start| and |append_window_end| correspond to the MSE spec's |
| 228 // similarly named source buffer attributes that are used in coded frame | 236 // similarly named source buffer attributes that are used in coded frame |
| 229 // processing. Returns true on success, false if the caller needs to run the | 237 // processing. Returns true on success, false if the caller needs to run the |
| 230 // append error algorithm with decode error parameter set to true. | 238 // append error algorithm with decode error parameter set to true. |
| 231 bool AppendData(const std::string& id, | 239 bool AppendData(const std::string& id, |
| 232 const uint8_t* data, | 240 const uint8_t* data, |
| 233 size_t length, | 241 size_t length, |
| 234 base::TimeDelta append_window_start, | 242 base::TimeDelta append_window_start, |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 424 int detected_audio_track_count_; | 432 int detected_audio_track_count_; |
| 425 int detected_video_track_count_; | 433 int detected_video_track_count_; |
| 426 int detected_text_track_count_; | 434 int detected_text_track_count_; |
| 427 | 435 |
| 428 DISALLOW_COPY_AND_ASSIGN(ChunkDemuxer); | 436 DISALLOW_COPY_AND_ASSIGN(ChunkDemuxer); |
| 429 }; | 437 }; |
| 430 | 438 |
| 431 } // namespace media | 439 } // namespace media |
| 432 | 440 |
| 433 #endif // MEDIA_FILTERS_CHUNK_DEMUXER_H_ | 441 #endif // MEDIA_FILTERS_CHUNK_DEMUXER_H_ |
| OLD | NEW |