From 280ab986a1fbbfe7564b8cbea9570e54c9dd2ddf Mon Sep 17 00:00:00 2001 From: wolenetz Date: Tue, 18 Aug 2015 11:40:57 -0700 Subject: [PATCH] In-class-initialize LIMITED_MEDIA_LOG log counters Per previous code review comment [1] this change updates callers of LIMITED_MEDIA_LOG to use in-class initialization of the log counters. Opportunistic fixes to in-class initialize (for simple values) other members are included for the classes that use LIMITED_MEDIA_LOG. [1] https://codereview.chromium.org/1281113002/diff/80001/media/filters/source_buffer_stream.cc#newcode214 TEST=no regression Review URL: https://codereview.chromium.org/1278193003 Cr-Commit-Position: refs/heads/master@{#343978} --- media/base/audio_splicer.cc | 10 ++----- media/filters/frame_processor.cc | 7 ++--- media/filters/frame_processor.h | 6 ++-- media/filters/source_buffer_stream.cc | 48 ++----------------------------- media/filters/source_buffer_stream.h | 28 +++++++++--------- media/formats/webm/webm_cluster_parser.cc | 14 ++------- media/formats/webm/webm_cluster_parser.h | 22 +++++++------- 7 files changed, 38 insertions(+), 97 deletions(-) diff --git a/media/base/audio_splicer.cc b/media/base/audio_splicer.cc index accff36cd30a..3fd6dacbf791 100644 --- a/media/base/audio_splicer.cc +++ b/media/base/audio_splicer.cc @@ -99,7 +99,7 @@ class AudioStreamSanitizer { void AddOutputBuffer(const scoped_refptr& buffer); AudioTimestampHelper output_timestamp_helper_; - bool received_end_of_stream_; + bool received_end_of_stream_ = false; typedef std::deque > BufferQueue; BufferQueue output_buffers_; @@ -108,7 +108,7 @@ class AudioStreamSanitizer { // To prevent log spam, counts the number of audio gap or overlaps warned in // logs. - int num_warning_logs_; + int num_warning_logs_ = 0; DISALLOW_ASSIGN(AudioStreamSanitizer); }; @@ -116,11 +116,7 @@ class AudioStreamSanitizer { AudioStreamSanitizer::AudioStreamSanitizer( int samples_per_second, const scoped_refptr& media_log) - : output_timestamp_helper_(samples_per_second), - received_end_of_stream_(false), - media_log_(media_log), - num_warning_logs_(0) { -} + : output_timestamp_helper_(samples_per_second), media_log_(media_log) {} AudioStreamSanitizer::~AudioStreamSanitizer() {} diff --git a/media/filters/frame_processor.cc b/media/filters/frame_processor.cc index c5ce7482f5fe..fed25a7be52f 100644 --- a/media/filters/frame_processor.cc +++ b/media/filters/frame_processor.cc @@ -160,12 +160,9 @@ bool MseTrackBuffer::FlushProcessedFrames() { FrameProcessor::FrameProcessor(const UpdateDurationCB& update_duration_cb, const scoped_refptr& media_log) - : sequence_mode_(false), - group_start_timestamp_(kNoTimestamp()), + : group_start_timestamp_(kNoTimestamp()), update_duration_cb_(update_duration_cb), - media_log_(media_log), - num_dropped_preroll_warnings_(0), - num_dts_beyond_pts_warnings_(0) { + media_log_(media_log) { DVLOG(2) << __FUNCTION__ << "()"; DCHECK(!update_duration_cb.is_null()); } diff --git a/media/filters/frame_processor.h b/media/filters/frame_processor.h index ba7f23d1b106..fc6de696543d 100644 --- a/media/filters/frame_processor.h +++ b/media/filters/frame_processor.h @@ -153,7 +153,7 @@ class MEDIA_EXPORT FrameProcessor { // Per http://www.w3.org/TR/media-source/#widl-SourceBuffer-mode: // Controls how a sequence of media segments are handled. This is initially // set to false ("segments"). - bool sequence_mode_; + bool sequence_mode_ = false; // Tracks the MSE coded frame processing variable of same name. // Initially kNoTimestamp(), meaning "unset". @@ -171,8 +171,8 @@ class MEDIA_EXPORT FrameProcessor { scoped_refptr media_log_; // Counters that limit spam to |media_log_| for frame processor warnings. - int num_dropped_preroll_warnings_; - int num_dts_beyond_pts_warnings_; + int num_dropped_preroll_warnings_ = 0; + int num_dts_beyond_pts_warnings_ = 0; DISALLOW_COPY_AND_ASSIGN(FrameProcessor); }; diff --git a/media/filters/source_buffer_stream.cc b/media/filters/source_buffer_stream.cc index 857bb9790cdd..f2109fb5d715 100644 --- a/media/filters/source_buffer_stream.cc +++ b/media/filters/source_buffer_stream.cc @@ -129,28 +129,14 @@ SourceBufferStream::SourceBufferStream(const AudioDecoderConfig& audio_config, const scoped_refptr& media_log, bool splice_frames_enabled) : media_log_(media_log), - current_config_index_(0), - append_config_index_(0), - seek_pending_(false), - end_of_stream_(false), seek_buffer_timestamp_(kNoTimestamp()), - selected_range_(NULL), - just_exhausted_track_buffer_(false), media_segment_start_time_(kNoDecodeTimestamp()), range_for_next_append_(ranges_.end()), - new_media_segment_(false), last_appended_buffer_timestamp_(kNoDecodeTimestamp()), - last_appended_buffer_is_keyframe_(false), last_output_buffer_timestamp_(kNoDecodeTimestamp()), max_interbuffer_distance_(kNoTimestamp()), memory_limit_(kSourceBufferAudioMemoryLimit), - config_change_pending_(false), - splice_buffers_index_(0), - pending_buffers_complete_(false), - splice_frames_enabled_(splice_frames_enabled), - num_splice_generation_warning_logs_(0), - num_splice_generation_success_logs_(0), - num_track_buffer_gap_warning_logs_(0) { + splice_frames_enabled_(splice_frames_enabled) { DCHECK(audio_config.IsValidConfig()); audio_configs_.push_back(audio_config); } @@ -159,28 +145,14 @@ SourceBufferStream::SourceBufferStream(const VideoDecoderConfig& video_config, const scoped_refptr& media_log, bool splice_frames_enabled) : media_log_(media_log), - current_config_index_(0), - append_config_index_(0), - seek_pending_(false), - end_of_stream_(false), seek_buffer_timestamp_(kNoTimestamp()), - selected_range_(NULL), - just_exhausted_track_buffer_(false), media_segment_start_time_(kNoDecodeTimestamp()), range_for_next_append_(ranges_.end()), - new_media_segment_(false), last_appended_buffer_timestamp_(kNoDecodeTimestamp()), - last_appended_buffer_is_keyframe_(false), last_output_buffer_timestamp_(kNoDecodeTimestamp()), max_interbuffer_distance_(kNoTimestamp()), memory_limit_(kSourceBufferVideoMemoryLimit), - config_change_pending_(false), - splice_buffers_index_(0), - pending_buffers_complete_(false), - splice_frames_enabled_(splice_frames_enabled), - num_splice_generation_warning_logs_(0), - num_splice_generation_success_logs_(0), - num_track_buffer_gap_warning_logs_(0) { + splice_frames_enabled_(splice_frames_enabled) { DCHECK(video_config.IsValidConfig()); video_configs_.push_back(video_config); } @@ -189,29 +161,15 @@ SourceBufferStream::SourceBufferStream(const TextTrackConfig& text_config, const scoped_refptr& media_log, bool splice_frames_enabled) : media_log_(media_log), - current_config_index_(0), - append_config_index_(0), text_track_config_(text_config), - seek_pending_(false), - end_of_stream_(false), seek_buffer_timestamp_(kNoTimestamp()), - selected_range_(NULL), - just_exhausted_track_buffer_(false), media_segment_start_time_(kNoDecodeTimestamp()), range_for_next_append_(ranges_.end()), - new_media_segment_(false), last_appended_buffer_timestamp_(kNoDecodeTimestamp()), - last_appended_buffer_is_keyframe_(false), last_output_buffer_timestamp_(kNoDecodeTimestamp()), max_interbuffer_distance_(kNoTimestamp()), memory_limit_(kSourceBufferAudioMemoryLimit), - config_change_pending_(false), - splice_buffers_index_(0), - pending_buffers_complete_(false), - splice_frames_enabled_(splice_frames_enabled), - num_splice_generation_warning_logs_(0), - num_splice_generation_success_logs_(0), - num_track_buffer_gap_warning_logs_(0) {} + splice_frames_enabled_(splice_frames_enabled) {} SourceBufferStream::~SourceBufferStream() { while (!ranges_.empty()) { diff --git a/media/filters/source_buffer_stream.h b/media/filters/source_buffer_stream.h index f178c7db2602..31b3f33475e2 100644 --- a/media/filters/source_buffer_stream.h +++ b/media/filters/source_buffer_stream.h @@ -348,12 +348,12 @@ class MEDIA_EXPORT SourceBufferStream { // GetNextBuffer() is only allows to return buffers that have a // config ID that matches this index. If there is a mismatch then // it must signal that a config change is needed. - int current_config_index_; + int current_config_index_ = 0; // Indicates which decoder config to associate with new buffers // being appended. Each new buffer appended has its config ID set // to the value of this field. - int append_config_index_; + int append_config_index_ = 0; // Holds the audio/video configs for this stream. |current_config_index_| // and |append_config_index_| represent indexes into one of these vectors. @@ -365,10 +365,10 @@ class MEDIA_EXPORT SourceBufferStream { // True if more data needs to be appended before the Seek() can complete, // false if no Seek() has been requested or the Seek() is completed. - bool seek_pending_; + bool seek_pending_ = false; // True if the end of the stream has been signalled. - bool end_of_stream_; + bool end_of_stream_ = false; // Timestamp of the last request to Seek(). base::TimeDelta seek_buffer_timestamp_; @@ -376,7 +376,7 @@ class MEDIA_EXPORT SourceBufferStream { // Pointer to the seeked-to Range. This is the range from which // GetNextBuffer() calls are fulfilled after the |track_buffer_| has been // emptied. - SourceBufferRange* selected_range_; + SourceBufferRange* selected_range_ = nullptr; // Queue of the next buffers to be returned from calls to GetNextBuffer(). If // |track_buffer_| is empty, return buffers from |selected_range_|. @@ -384,7 +384,7 @@ class MEDIA_EXPORT SourceBufferStream { // If there has been no intervening Seek, this will be true if the last // emitted buffer emptied |track_buffer_|. - bool just_exhausted_track_buffer_; + bool just_exhausted_track_buffer_ = false; // The start time of the current media segment being appended. DecodeTimestamp media_segment_start_time_; @@ -393,12 +393,12 @@ class MEDIA_EXPORT SourceBufferStream { RangeList::iterator range_for_next_append_; // True when the next call to Append() begins a new media segment. - bool new_media_segment_; + bool new_media_segment_ = false; // The timestamp of the last buffer appended to the media segment, set to // kNoDecodeTimestamp() if the beginning of the segment. DecodeTimestamp last_appended_buffer_timestamp_; - bool last_appended_buffer_is_keyframe_; + bool last_appended_buffer_is_keyframe_ = false; // The decode timestamp on the last buffer returned by the most recent // GetNextBuffer() call. Set to kNoDecodeTimestamp() if GetNextBuffer() hasn't @@ -415,7 +415,7 @@ class MEDIA_EXPORT SourceBufferStream { // and GetCurrentXXXDecoderConfig() must be called to update the current // config. GetNextBuffer() must not be called again until // GetCurrentXXXDecoderConfig() has been called. - bool config_change_pending_; + bool config_change_pending_ = false; // Used by HandleNextBufferWithSplice() or HandleNextBufferWithPreroll() when // a splice frame buffer or buffer with preroll is returned from @@ -424,18 +424,18 @@ class MEDIA_EXPORT SourceBufferStream { // Indicates which of the splice buffers in |splice_buffer_| should be // handled out next. - size_t splice_buffers_index_; + size_t splice_buffers_index_ = 0; // Indicates that all buffers before |pending_buffer_| have been handed out. - bool pending_buffers_complete_; + 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_; - int num_splice_generation_success_logs_; - int num_track_buffer_gap_warning_logs_; + int num_splice_generation_warning_logs_ = 0; + int num_splice_generation_success_logs_ = 0; + int num_track_buffer_gap_warning_logs_ = 0; DISALLOW_COPY_AND_ASSIGN(SourceBufferStream); }; diff --git a/media/formats/webm/webm_cluster_parser.cc b/media/formats/webm/webm_cluster_parser.cc index d530f0ae7e4a..92b508bc1754 100644 --- a/media/formats/webm/webm_cluster_parser.cc +++ b/media/formats/webm/webm_cluster_parser.cc @@ -43,22 +43,13 @@ WebMClusterParser::WebMClusterParser( const std::string& video_encryption_key_id, const AudioCodec audio_codec, const scoped_refptr& media_log) - : num_duration_errors_(0), - timecode_multiplier_(timecode_scale / 1000.0), + : timecode_multiplier_(timecode_scale / 1000.0), ignored_tracks_(ignored_tracks), audio_encryption_key_id_(audio_encryption_key_id), video_encryption_key_id_(video_encryption_key_id), audio_codec_(audio_codec), parser_(kWebMIdCluster, this), - last_block_timecode_(-1), - block_data_size_(-1), - block_duration_(-1), - block_add_id_(-1), - block_additional_data_size_(0), - discard_padding_(-1), - cluster_timecode_(-1), cluster_start_time_(kNoTimestamp()), - cluster_ended_(false), audio_(audio_track_num, false, audio_default_duration, media_log), video_(video_track_num, true, video_default_duration, media_log), ready_buffer_upper_bound_(kNoDecodeTimestamp()), @@ -596,8 +587,7 @@ WebMClusterParser::Track::Track(int track_num, bool is_video, base::TimeDelta default_duration, const scoped_refptr& media_log) - : num_duration_estimates_(0), - track_num_(track_num), + : track_num_(track_num), is_video_(is_video), default_duration_(default_duration), estimated_next_frame_duration_(kNoTimestamp()), diff --git a/media/formats/webm/webm_cluster_parser.h b/media/formats/webm/webm_cluster_parser.h index d1b34a8ec618..e2d5b98e6de7 100644 --- a/media/formats/webm/webm_cluster_parser.h +++ b/media/formats/webm/webm_cluster_parser.h @@ -113,7 +113,7 @@ class MEDIA_EXPORT WebMClusterParser : public WebMParserClient { // Counts the number of estimated durations used in this track. Used to // prevent log spam for MEDIA_LOG()s about estimated duration. - int num_duration_estimates_; + int num_duration_estimates_ = 0; int track_num_; bool is_video_; @@ -269,7 +269,7 @@ class MEDIA_EXPORT WebMClusterParser : public WebMParserClient { // Tracks the number of MEDIA_LOGs made in process of reading encoded // duration. Useful to prevent log spam. - int num_duration_errors_; + int num_duration_errors_ = 0; double timecode_multiplier_; // Multiplier used to convert timecodes into // microseconds. @@ -280,23 +280,23 @@ class MEDIA_EXPORT WebMClusterParser : public WebMParserClient { WebMListParser parser_; - int64 last_block_timecode_; + int64 last_block_timecode_ = -1; scoped_ptr block_data_; - int block_data_size_; - int64 block_duration_; - int64 block_add_id_; + int block_data_size_ = -1; + int64 block_duration_ = -1; + int64 block_add_id_ = -1; scoped_ptr block_additional_data_; // Must be 0 if |block_additional_data_| is null. Must be > 0 if // |block_additional_data_| is NOT null. - int block_additional_data_size_; + int block_additional_data_size_ = 0; - int64 discard_padding_; - bool discard_padding_set_; + int64 discard_padding_ = -1; + bool discard_padding_set_ = false; - int64 cluster_timecode_; + int64 cluster_timecode_ = -1; base::TimeDelta cluster_start_time_; - bool cluster_ended_; + bool cluster_ended_ = false; Track audio_; Track video_; -- 2.11.4.GIT