void StreamParserBuffer::SetDecodeTimestamp(DecodeTimestamp timestamp) {
decode_timestamp_ = timestamp;
- if (preroll_buffer_)
+ if (preroll_buffer_.get())
preroll_buffer_->SetDecodeTimestamp(timestamp);
}
void StreamParserBuffer::SetConfigId(int config_id) {
config_id_ = config_id;
- if (preroll_buffer_)
+ if (preroll_buffer_.get())
preroll_buffer_->SetConfigId(config_id);
}
+int StreamParserBuffer::GetSpliceBufferConfigId(size_t index) const {
+ return index < splice_buffers().size()
+ ? splice_buffers_[index]->GetConfigId()
+ : GetConfigId();
+}
+
void StreamParserBuffer::ConvertToSpliceBuffer(
const BufferQueue& pre_splice_buffers) {
DCHECK(splice_buffers_.empty());
// on that behavior.
// Move over any preroll from this buffer.
- if (preroll_buffer_) {
- DCHECK(!overlapping_buffer->preroll_buffer_);
+ if (preroll_buffer_.get()) {
+ DCHECK(!overlapping_buffer->preroll_buffer_.get());
overlapping_buffer->preroll_buffer_.swap(preroll_buffer_);
}
++it) {
const scoped_refptr<StreamParserBuffer>& buffer = *it;
DCHECK(!buffer->end_of_stream());
- DCHECK(!buffer->preroll_buffer());
+ DCHECK(!buffer->preroll_buffer().get());
DCHECK(buffer->splice_buffers().empty());
- splice_buffers_.push_back(CopyBuffer(*buffer));
+ splice_buffers_.push_back(CopyBuffer(*buffer.get()));
splice_buffers_.back()->set_splice_timestamp(splice_timestamp());
}
void StreamParserBuffer::SetPrerollBuffer(
const scoped_refptr<StreamParserBuffer>& preroll_buffer) {
- DCHECK(!preroll_buffer_);
+ DCHECK(!preroll_buffer_.get());
DCHECK(!end_of_stream());
DCHECK(!preroll_buffer->end_of_stream());
- DCHECK(!preroll_buffer->preroll_buffer_);
+ DCHECK(!preroll_buffer->preroll_buffer_.get());
DCHECK(preroll_buffer->splice_timestamp() == kNoTimestamp());
DCHECK(preroll_buffer->splice_buffers().empty());
DCHECK(preroll_buffer->timestamp() <= timestamp());
void StreamParserBuffer::set_timestamp(base::TimeDelta timestamp) {
DecoderBuffer::set_timestamp(timestamp);
- if (preroll_buffer_)
+ if (preroll_buffer_.get())
preroll_buffer_->set_timestamp(timestamp);
}