| Index: media/filters/source_buffer_stream.h
|
| diff --git a/media/filters/source_buffer_stream.h b/media/filters/source_buffer_stream.h
|
| index 7322bd79df22f8d02385328835d3d5eff121ad91..566477b81bd1120654d65221e9bd2885727aabd8 100644
|
| --- a/media/filters/source_buffer_stream.h
|
| +++ b/media/filters/source_buffer_stream.h
|
| @@ -57,14 +57,11 @@ class MEDIA_EXPORT SourceBufferStream {
|
| };
|
|
|
| SourceBufferStream(const AudioDecoderConfig& audio_config,
|
| - const scoped_refptr<MediaLog>& media_log,
|
| - bool splice_frames_enabled);
|
| + const scoped_refptr<MediaLog>& media_log);
|
| SourceBufferStream(const VideoDecoderConfig& video_config,
|
| - const scoped_refptr<MediaLog>& media_log,
|
| - bool splice_frames_enabled);
|
| + const scoped_refptr<MediaLog>& media_log);
|
| SourceBufferStream(const TextTrackConfig& text_config,
|
| - const scoped_refptr<MediaLog>& media_log,
|
| - bool splice_frames_enabled);
|
| + const scoped_refptr<MediaLog>& media_log);
|
|
|
| ~SourceBufferStream();
|
|
|
| @@ -288,6 +285,10 @@ class MEDIA_EXPORT SourceBufferStream {
|
| // stream, and "TEXT" for a text stream.
|
| std::string GetStreamTypeName() const;
|
|
|
| + // (Audio only) If |new_buffers| overlap existing buffers, trims end of
|
| + // existing buffers to remove overlap. |new_buffers| are not modified.
|
| + void TrimSpliceOverlap(const BufferQueue& new_buffers);
|
| +
|
| // Returns true if end of stream has been reached, i.e. the
|
| // following conditions are met:
|
| // 1. end of stream is marked and there is nothing in the track_buffer.
|
| @@ -333,11 +334,6 @@ class MEDIA_EXPORT SourceBufferStream {
|
|
|
| Type GetType() const;
|
|
|
| - // See GetNextBuffer() for additional details. This method handles splice
|
| - // frame processing.
|
| - Status HandleNextBufferWithSplice(
|
| - scoped_refptr<StreamParserBuffer>* out_buffer);
|
| -
|
| // See GetNextBuffer() for additional details. This method handles preroll
|
| // frame processing.
|
| Status HandleNextBufferWithPreroll(
|
| @@ -345,7 +341,7 @@ class MEDIA_EXPORT SourceBufferStream {
|
|
|
| // See GetNextBuffer() for additional details. The internal method hands out
|
| // single buffers from the |track_buffer_| and |selected_range_| without
|
| - // additional processing for splice frame or preroll buffers.
|
| + // additional processing for preroll buffers.
|
| Status GetNextBufferInternal(scoped_refptr<StreamParserBuffer>* out_buffer);
|
|
|
| // If the next buffer's timestamp is significantly beyond the last output
|
| @@ -356,14 +352,8 @@ class MEDIA_EXPORT SourceBufferStream {
|
| void WarnIfTrackBufferExhaustionSkipsForward(
|
| const scoped_refptr<StreamParserBuffer>& next_buffer);
|
|
|
| - // Called by PrepareRangesForNextAppend() before pruning overlapped buffers to
|
| - // generate a splice frame with a small portion of the overlapped buffers. If
|
| - // a splice frame is generated, the first buffer in |new_buffers| will have
|
| - // its timestamps, duration, and fade out preroll updated.
|
| - void GenerateSpliceFrame(const BufferQueue& new_buffers);
|
| -
|
| - // If |out_buffer| has splice buffers or preroll, sets |pending_buffer_|
|
| - // appropriately and returns true. Otherwise returns false.
|
| + // If |out_buffer| has preroll, sets |pending_buffer_| to feed out preroll and
|
| + // returns true. Otherwise returns false.
|
| bool SetPendingBuffer(scoped_refptr<StreamParserBuffer>* out_buffer);
|
|
|
| // Used to report log messages that can help the web developer figure out what
|
| @@ -449,24 +439,15 @@ class MEDIA_EXPORT SourceBufferStream {
|
| // GetCurrentXXXDecoderConfig() has been called.
|
| bool config_change_pending_ = false;
|
|
|
| - // Used by HandleNextBufferWithSplice() or HandleNextBufferWithPreroll() when
|
| - // a splice frame buffer or buffer with preroll is returned from
|
| - // GetNextBufferInternal().
|
| + // Used by HandleNextBufferWithPreroll() when a buffer with preroll is
|
| + // returned from GetNextBufferInternal().
|
| scoped_refptr<StreamParserBuffer> pending_buffer_;
|
|
|
| - // Indicates which of the splice buffers in |splice_buffer_| should be
|
| - // handled out next.
|
| - size_t splice_buffers_index_ = 0;
|
| -
|
| // Indicates that all buffers before |pending_buffer_| have been handed out.
|
| bool pending_buffers_complete_ = false;
|
|
|
| - // Indicates that splice frame generation is enabled.
|
| - const bool splice_frames_enabled_;
|
| -
|
| - // To prevent log spam, count the number of warnings and successes logged.
|
| - int num_splice_generation_warning_logs_ = 0;
|
| - int num_splice_generation_success_logs_ = 0;
|
| + // To prevent log spam, count the number of logs for different log scenarios.
|
| + int num_splice_logs_ = 0;
|
| int num_track_buffer_gap_warning_logs_ = 0;
|
| int num_garbage_collect_algorithm_logs_ = 0;
|
| int num_strange_same_timestamps_logs_ = 0;
|
|
|