| 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 // SourceBufferStream is a data structure that stores media Buffers in ranges. | 5 // SourceBufferStream is a data structure that stores media Buffers in ranges. |
| 6 // Buffers can be appended out of presentation order. Buffers are retrieved by | 6 // Buffers can be appended out of presentation order. Buffers are retrieved by |
| 7 // seeking to the desired start point and calling GetNextBuffer(). Buffers are | 7 // seeking to the desired start point and calling GetNextBuffer(). Buffers are |
| 8 // returned in sequential presentation order. | 8 // returned in sequential presentation order. |
| 9 | 9 |
| 10 #ifndef MEDIA_FILTERS_SOURCE_BUFFER_STREAM_H_ | 10 #ifndef MEDIA_FILTERS_SOURCE_BUFFER_STREAM_H_ |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 kEndOfStream | 46 kEndOfStream |
| 47 }; | 47 }; |
| 48 | 48 |
| 49 enum Type { | 49 enum Type { |
| 50 kAudio, | 50 kAudio, |
| 51 kVideo, | 51 kVideo, |
| 52 kText | 52 kText |
| 53 }; | 53 }; |
| 54 | 54 |
| 55 SourceBufferStream(const AudioDecoderConfig& audio_config, | 55 SourceBufferStream(const AudioDecoderConfig& audio_config, |
| 56 const LogCB& log_cb); | 56 const LogCB& log_cb, |
| 57 bool splice_frames_enabled); |
| 57 SourceBufferStream(const VideoDecoderConfig& video_config, | 58 SourceBufferStream(const VideoDecoderConfig& video_config, |
| 58 const LogCB& log_cb); | 59 const LogCB& log_cb, |
| 60 bool splice_frames_enabled); |
| 59 SourceBufferStream(const TextTrackConfig& text_config, | 61 SourceBufferStream(const TextTrackConfig& text_config, |
| 60 const LogCB& log_cb); | 62 const LogCB& log_cb, |
| 63 bool splice_frames_enabled); |
| 61 | 64 |
| 62 ~SourceBufferStream(); | 65 ~SourceBufferStream(); |
| 63 | 66 |
| 64 // Signals that the next buffers appended are part of a new media segment | 67 // Signals that the next buffers appended are part of a new media segment |
| 65 // starting at |media_segment_start_time|. | 68 // starting at |media_segment_start_time|. |
| 66 void OnNewMediaSegment(base::TimeDelta media_segment_start_time); | 69 void OnNewMediaSegment(base::TimeDelta media_segment_start_time); |
| 67 | 70 |
| 68 // Add the |buffers| to the SourceBufferStream. Buffers within the queue are | 71 // Add the |buffers| to the SourceBufferStream. Buffers within the queue are |
| 69 // expected to be in order, but multiple calls to Append() may add buffers out | 72 // expected to be in order, but multiple calls to Append() may add buffers out |
| 70 // of order or overlapping. Assumes all buffers within |buffers| are in | 73 // of order or overlapping. Assumes all buffers within |buffers| are in |
| (...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 388 | 391 |
| 389 // Used by GetNextBuffer() when a buffer with fade out is returned from | 392 // Used by GetNextBuffer() when a buffer with fade out is returned from |
| 390 // GetNextBufferInternal(). Will be set to the returned buffer and will be | 393 // GetNextBufferInternal(). Will be set to the returned buffer and will be |
| 391 // destroyed after the splice_buffers() section has been exhausted. | 394 // destroyed after the splice_buffers() section has been exhausted. |
| 392 scoped_refptr<StreamParserBuffer> splice_buffer_; | 395 scoped_refptr<StreamParserBuffer> splice_buffer_; |
| 393 | 396 |
| 394 // Indicates which of the splice buffers in |splice_buffer_| should be | 397 // Indicates which of the splice buffers in |splice_buffer_| should be |
| 395 // handled out next. | 398 // handled out next. |
| 396 size_t splice_buffers_index_; | 399 size_t splice_buffers_index_; |
| 397 | 400 |
| 401 // Indicates that splice frame generation is enabled. |
| 402 const bool splice_frames_enabled_; |
| 403 |
| 398 DISALLOW_COPY_AND_ASSIGN(SourceBufferStream); | 404 DISALLOW_COPY_AND_ASSIGN(SourceBufferStream); |
| 399 }; | 405 }; |
| 400 | 406 |
| 401 } // namespace media | 407 } // namespace media |
| 402 | 408 |
| 403 #endif // MEDIA_FILTERS_SOURCE_BUFFER_STREAM_H_ | 409 #endif // MEDIA_FILTERS_SOURCE_BUFFER_STREAM_H_ |
| OLD | NEW |