| Index: media/filters/source_buffer_stream.h
|
| diff --git a/media/filters/source_buffer_stream.h b/media/filters/source_buffer_stream.h
|
| index 95b2e0970b16ecbde8e60307e9bdc5d3e07625f8..efbe31f8aeeac7af040889263bee7de129834529 100644
|
| --- a/media/filters/source_buffer_stream.h
|
| +++ b/media/filters/source_buffer_stream.h
|
| @@ -66,7 +66,9 @@ class MEDIA_EXPORT SourceBufferStream {
|
|
|
| // Signals that the next buffers appended are part of a new media segment
|
| // starting at |media_segment_start_time|.
|
| - void OnNewMediaSegment(base::TimeDelta media_segment_start_time);
|
| + // TODO(acolwell/wolenetz): This should be changed to a presentation
|
| + // timestamp. See http://crbug.com/402502
|
| + void OnNewMediaSegment(DecodeTimestamp media_segment_start_time);
|
|
|
| // Add the |buffers| to the SourceBufferStream. Buffers within the queue are
|
| // expected to be in order, but multiple calls to Append() may add buffers out
|
| @@ -167,9 +169,9 @@ class MEDIA_EXPORT SourceBufferStream {
|
| // Returns the size of buffers to secure if future
|
| // Remove(|start_timestamp|, |removal_end_timestamp|, duration) is called.
|
| // Will not update |removal_end_timestamp| if the returned size is 0.
|
| - int GetRemovalRange(base::TimeDelta start_timestamp,
|
| - base::TimeDelta end_timestamp, int byte_to_free,
|
| - base::TimeDelta* removal_end_timestamp);
|
| + int GetRemovalRange(DecodeTimestamp start_timestamp,
|
| + DecodeTimestamp end_timestamp, int byte_to_free,
|
| + DecodeTimestamp* removal_end_timestamp);
|
|
|
| // Prepares |range_for_next_append_| so |new_buffers| can be appended.
|
| // This involves removing buffers between the end of the previous append
|
| @@ -181,7 +183,7 @@ class MEDIA_EXPORT SourceBufferStream {
|
| BufferQueue* deleted_buffers);
|
|
|
| // Removes buffers, from the |track_buffer_|, that come after |timestamp|.
|
| - void PruneTrackBuffer(const base::TimeDelta timestamp);
|
| + void PruneTrackBuffer(const DecodeTimestamp timestamp);
|
|
|
| // Checks to see if |range_with_new_buffers_itr| can be merged with the range
|
| // next to it, and merges them if so.
|
| @@ -191,21 +193,17 @@ class MEDIA_EXPORT SourceBufferStream {
|
| // Returns true if |second_timestamp| is the timestamp of the next buffer in
|
| // sequence after |first_timestamp|, false otherwise.
|
| bool AreAdjacentInSequence(
|
| - base::TimeDelta first_timestamp, base::TimeDelta second_timestamp) const;
|
| + DecodeTimestamp first_timestamp, DecodeTimestamp second_timestamp) const;
|
|
|
| // Helper method that returns the timestamp for the next buffer that
|
| // |selected_range_| will return from GetNextBuffer() call, or kNoTimestamp()
|
| // if in between seeking (i.e. |selected_range_| is null).
|
| - base::TimeDelta GetNextBufferTimestamp();
|
| -
|
| - // Returns the timestamp of the last buffer in the |selected_range_| or
|
| - // kNoTimestamp() if |selected_range_| is null.
|
| - base::TimeDelta GetEndBufferTimestamp();
|
| + DecodeTimestamp GetNextBufferTimestamp();
|
|
|
| // Finds the range that should contain a media segment that begins with
|
| // |start_timestamp| and returns the iterator pointing to it. Returns
|
| // |ranges_.end()| if there's no such existing range.
|
| - RangeList::iterator FindExistingRangeFor(base::TimeDelta start_timestamp);
|
| + RangeList::iterator FindExistingRangeFor(DecodeTimestamp start_timestamp);
|
|
|
| // Inserts |new_range| into |ranges_| preserving sorted order. Returns an
|
| // iterator in |ranges_| that points to |new_range|.
|
| @@ -222,7 +220,7 @@ class MEDIA_EXPORT SourceBufferStream {
|
| // Seeks |range| to |seek_timestamp| and then calls SetSelectedRange() with
|
| // |range|.
|
| void SeekAndSetSelectedRange(SourceBufferRange* range,
|
| - base::TimeDelta seek_timestamp);
|
| + DecodeTimestamp seek_timestamp);
|
|
|
| // Resets this stream back to an unseeked state.
|
| void ResetSeekState();
|
| @@ -237,7 +235,7 @@ class MEDIA_EXPORT SourceBufferStream {
|
|
|
| // Returns true if |next_timestamp| and |next_is_keyframe| are valid for
|
| // the first buffer after the previous append.
|
| - bool IsNextTimestampValid(base::TimeDelta next_timestamp,
|
| + bool IsNextTimestampValid(DecodeTimestamp next_timestamp,
|
| bool next_is_keyframe) const;
|
|
|
| // Returns true if |selected_range_| is the only range in |ranges_| that
|
| @@ -260,19 +258,19 @@ class MEDIA_EXPORT SourceBufferStream {
|
| // |timestamp| if necessary and possible. This method only attempts to
|
| // set |selected_range_| if |seleted_range_| is null and |track_buffer_|
|
| // is empty.
|
| - void SetSelectedRangeIfNeeded(const base::TimeDelta timestamp);
|
| + void SetSelectedRangeIfNeeded(const DecodeTimestamp timestamp);
|
|
|
| // Find a keyframe timestamp that is >= |start_timestamp| and can be used to
|
| // find a new selected range.
|
| // Returns kNoTimestamp() if an appropriate keyframe timestamp could not be
|
| // found.
|
| - base::TimeDelta FindNewSelectedRangeSeekTimestamp(
|
| - const base::TimeDelta start_timestamp);
|
| + DecodeTimestamp FindNewSelectedRangeSeekTimestamp(
|
| + const DecodeTimestamp start_timestamp);
|
|
|
| // Searches |ranges_| for the first keyframe timestamp that is >= |timestamp|.
|
| // If |ranges_| doesn't contain a GOP that covers |timestamp| or doesn't
|
| // have a keyframe after |timestamp| then kNoTimestamp() is returned.
|
| - base::TimeDelta FindKeyframeAfterTimestamp(const base::TimeDelta timestamp);
|
| + DecodeTimestamp FindKeyframeAfterTimestamp(const DecodeTimestamp timestamp);
|
|
|
| // Returns "VIDEO" for a video SourceBufferStream, "AUDIO" for an audio
|
| // stream, and "TEXT" for a text stream.
|
| @@ -297,7 +295,7 @@ class MEDIA_EXPORT SourceBufferStream {
|
| // if the removal range included the current playback position. These buffers
|
| // can be used as candidates for placing in the |track_buffer_|.
|
| void RemoveInternal(
|
| - base::TimeDelta start, base::TimeDelta end, bool is_exclusive,
|
| + DecodeTimestamp start, DecodeTimestamp end, bool is_exclusive,
|
| BufferQueue* deleted_buffers);
|
|
|
| Type GetType() const;
|
| @@ -373,7 +371,7 @@ class MEDIA_EXPORT SourceBufferStream {
|
| BufferQueue track_buffer_;
|
|
|
| // The start time of the current media segment being appended.
|
| - base::TimeDelta media_segment_start_time_;
|
| + DecodeTimestamp media_segment_start_time_;
|
|
|
| // Points to the range containing the current media segment being appended.
|
| RangeList::iterator range_for_next_append_;
|
| @@ -382,14 +380,14 @@ class MEDIA_EXPORT SourceBufferStream {
|
| bool new_media_segment_;
|
|
|
| // The timestamp of the last buffer appended to the media segment, set to
|
| - // kNoTimestamp() if the beginning of the segment.
|
| - base::TimeDelta last_appended_buffer_timestamp_;
|
| + // kNoDecodeTimestamp() if the beginning of the segment.
|
| + DecodeTimestamp last_appended_buffer_timestamp_;
|
| bool last_appended_buffer_is_keyframe_;
|
|
|
| // The decode timestamp on the last buffer returned by the most recent
|
| // GetNextBuffer() call. Set to kNoTimestamp() if GetNextBuffer() hasn't been
|
| // called yet or a seek has happened since the last GetNextBuffer() call.
|
| - base::TimeDelta last_output_buffer_timestamp_;
|
| + DecodeTimestamp last_output_buffer_timestamp_;
|
|
|
| // Stores the largest distance between two adjacent buffers in this stream.
|
| base::TimeDelta max_interbuffer_distance_;
|
|
|