Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Unified Diff: media/filters/source_buffer_stream.h

Issue 2343543002: MSE: Replace crossfade splicing overlap trimming. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/filters/source_buffer_stream.h
diff --git a/media/filters/source_buffer_stream.h b/media/filters/source_buffer_stream.h
index 52d12aaf7e2ab280a306e0badf264772c983be2e..f7350ca61de838578c8e88e90a018de0b32183c3 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();
@@ -286,6 +283,12 @@ class MEDIA_EXPORT SourceBufferStream {
// stream, and "TEXT" for a text stream.
std::string GetStreamTypeName() const;
+ // (Audio only) Pads |new_buffers| with leading silence if start of
+ // |new_buffers| is found to overlap existing buffers. Any overlapped buffer
+ // will later be removed (see PrepareRangesForNextAppend()) and silence is
+ // added to the front of |new_buffers| to make up the gap.
+ void GenerateSpliceSilence(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.
@@ -346,12 +349,6 @@ 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.
bool SetPendingBuffer(scoped_refptr<StreamParserBuffer>* out_buffer);
@@ -451,12 +448,8 @@ class MEDIA_EXPORT SourceBufferStream {
// 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;
+ int num_splice_generation_logs_ = 0;
int num_track_buffer_gap_warning_logs_ = 0;
int num_garbage_collect_algorithm_logs_ = 0;
int num_strange_same_timestamps_logs_ = 0;

Powered by Google App Engine
This is Rietveld 408576698