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

Side by Side Diff: media/base/stream_parser_buffer.cc

Issue 2158923004: Convert media constants to constexpr. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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 unified diff | Download patch
OLDNEW
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 #include "media/base/stream_parser_buffer.h" 5 #include "media/base/stream_parser_buffer.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 : DecoderBuffer(data, data_size, side_data, side_data_size), 93 : DecoderBuffer(data, data_size, side_data, side_data_size),
94 decode_timestamp_(kNoDecodeTimestamp()), 94 decode_timestamp_(kNoDecodeTimestamp()),
95 config_id_(kInvalidConfigId), 95 config_id_(kInvalidConfigId),
96 type_(type), 96 type_(type),
97 track_id_(track_id), 97 track_id_(track_id),
98 is_duration_estimated_(false) { 98 is_duration_estimated_(false) {
99 // TODO(scherkus): Should DataBuffer constructor accept a timestamp and 99 // TODO(scherkus): Should DataBuffer constructor accept a timestamp and
100 // duration to force clients to set them? Today they end up being zero which 100 // duration to force clients to set them? Today they end up being zero which
101 // is both a common and valid value and could lead to bugs. 101 // is both a common and valid value and could lead to bugs.
102 if (data) { 102 if (data) {
103 set_duration(kNoTimestamp()); 103 set_duration(kNoTimestamp);
104 } 104 }
105 105
106 if (is_key_frame) 106 if (is_key_frame)
107 set_is_key_frame(true); 107 set_is_key_frame(true);
108 } 108 }
109 109
110 StreamParserBuffer::~StreamParserBuffer() {} 110 StreamParserBuffer::~StreamParserBuffer() {}
111 111
112 int StreamParserBuffer::GetConfigId() const { 112 int StreamParserBuffer::GetConfigId() const {
113 return config_id_; 113 return config_id_;
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 << " dur " << duration().InSecondsF(); 153 << " dur " << duration().InSecondsF();
154 DCHECK(!end_of_stream()); 154 DCHECK(!end_of_stream());
155 155
156 // Splicing requires non-estimated sample accurate durations to be confident 156 // Splicing requires non-estimated sample accurate durations to be confident
157 // things will sound smooth. Also, we cannot be certain whether estimated 157 // things will sound smooth. Also, we cannot be certain whether estimated
158 // overlap is really a splice scenario, or just over estimation. 158 // overlap is really a splice scenario, or just over estimation.
159 DCHECK(!is_duration_estimated_); 159 DCHECK(!is_duration_estimated_);
160 160
161 // Make a copy of this first, before making any changes. 161 // Make a copy of this first, before making any changes.
162 scoped_refptr<StreamParserBuffer> overlapping_buffer = CopyBuffer(*this); 162 scoped_refptr<StreamParserBuffer> overlapping_buffer = CopyBuffer(*this);
163 overlapping_buffer->set_splice_timestamp(kNoTimestamp()); 163 overlapping_buffer->set_splice_timestamp(kNoTimestamp);
164 164
165 const scoped_refptr<StreamParserBuffer>& first_splice_buffer = 165 const scoped_refptr<StreamParserBuffer>& first_splice_buffer =
166 pre_splice_buffers.front(); 166 pre_splice_buffers.front();
167 167
168 // Ensure the given buffers are actually before the splice point. 168 // Ensure the given buffers are actually before the splice point.
169 DCHECK(first_splice_buffer->timestamp() <= overlapping_buffer->timestamp()); 169 DCHECK(first_splice_buffer->timestamp() <= overlapping_buffer->timestamp());
170 170
171 // TODO(dalecurtis): We should also clear |data| and |side_data|, but since 171 // TODO(dalecurtis): We should also clear |data| and |side_data|, but since
172 // that implies EOS care must be taken to ensure there are no clients relying 172 // that implies EOS care must be taken to ensure there are no clients relying
173 // on that behavior. 173 // on that behavior.
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 212
213 splice_buffers_.push_back(overlapping_buffer); 213 splice_buffers_.push_back(overlapping_buffer);
214 } 214 }
215 215
216 void StreamParserBuffer::SetPrerollBuffer( 216 void StreamParserBuffer::SetPrerollBuffer(
217 const scoped_refptr<StreamParserBuffer>& preroll_buffer) { 217 const scoped_refptr<StreamParserBuffer>& preroll_buffer) {
218 DCHECK(!preroll_buffer_.get()); 218 DCHECK(!preroll_buffer_.get());
219 DCHECK(!end_of_stream()); 219 DCHECK(!end_of_stream());
220 DCHECK(!preroll_buffer->end_of_stream()); 220 DCHECK(!preroll_buffer->end_of_stream());
221 DCHECK(!preroll_buffer->preroll_buffer_.get()); 221 DCHECK(!preroll_buffer->preroll_buffer_.get());
222 DCHECK(preroll_buffer->splice_timestamp() == kNoTimestamp()); 222 DCHECK(preroll_buffer->splice_timestamp() == kNoTimestamp);
223 DCHECK(preroll_buffer->splice_buffers().empty()); 223 DCHECK(preroll_buffer->splice_buffers().empty());
224 DCHECK(preroll_buffer->timestamp() <= timestamp()); 224 DCHECK(preroll_buffer->timestamp() <= timestamp());
225 DCHECK(preroll_buffer->discard_padding() == DecoderBuffer::DiscardPadding()); 225 DCHECK(preroll_buffer->discard_padding() == DecoderBuffer::DiscardPadding());
226 DCHECK_EQ(preroll_buffer->type(), type()); 226 DCHECK_EQ(preroll_buffer->type(), type());
227 DCHECK_EQ(preroll_buffer->track_id(), track_id()); 227 DCHECK_EQ(preroll_buffer->track_id(), track_id());
228 228
229 preroll_buffer_ = preroll_buffer; 229 preroll_buffer_ = preroll_buffer;
230 preroll_buffer_->set_timestamp(timestamp()); 230 preroll_buffer_->set_timestamp(timestamp());
231 preroll_buffer_->SetDecodeTimestamp(GetDecodeTimestamp()); 231 preroll_buffer_->SetDecodeTimestamp(GetDecodeTimestamp());
232 232
233 // Mark the entire buffer for discard. 233 // Mark the entire buffer for discard.
234 preroll_buffer_->set_discard_padding( 234 preroll_buffer_->set_discard_padding(
235 std::make_pair(kInfiniteDuration(), base::TimeDelta())); 235 std::make_pair(kInfiniteDuration, base::TimeDelta()));
236 } 236 }
237 237
238 void StreamParserBuffer::set_timestamp(base::TimeDelta timestamp) { 238 void StreamParserBuffer::set_timestamp(base::TimeDelta timestamp) {
239 DecoderBuffer::set_timestamp(timestamp); 239 DecoderBuffer::set_timestamp(timestamp);
240 if (preroll_buffer_.get()) 240 if (preroll_buffer_.get())
241 preroll_buffer_->set_timestamp(timestamp); 241 preroll_buffer_->set_timestamp(timestamp);
242 } 242 }
243 243
244 } // namespace media 244 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698