| Index: media/base/stream_parser_buffer.cc
|
| diff --git a/media/base/stream_parser_buffer.cc b/media/base/stream_parser_buffer.cc
|
| index e9d64272c4d84670c4b2e7e1fe739433e856412b..ae826594d5e09504f11b69ffb14f6f4ac2403a92 100644
|
| --- a/media/base/stream_parser_buffer.cc
|
| +++ b/media/base/stream_parser_buffer.cc
|
| @@ -106,6 +106,11 @@ void StreamParserBuffer::SetConfigId(int config_id) {
|
| void StreamParserBuffer::ConvertToSpliceBuffer(
|
| const BufferQueue& pre_splice_buffers) {
|
| DCHECK(splice_buffers_.empty());
|
| + DCHECK(duration() > base::TimeDelta())
|
| + << "Only buffers with a valid duration can convert to a splice buffer."
|
| + << " pts " << timestamp().InSecondsF()
|
| + << " dts " << GetDecodeTimestamp().InSecondsF()
|
| + << " dur " << duration().InSecondsF();
|
| DCHECK(!end_of_stream());
|
|
|
| // Make a copy of this first, before making any changes.
|
| @@ -139,6 +144,8 @@ void StreamParserBuffer::ConvertToSpliceBuffer(
|
|
|
| // The splice duration is the duration of all buffers before the splice plus
|
| // the highest ending timestamp after the splice point.
|
| + DCHECK(overlapping_buffer->duration() > base::TimeDelta());
|
| + DCHECK(pre_splice_buffers.back()->duration() > base::TimeDelta());
|
| set_duration(
|
| std::max(overlapping_buffer->timestamp() + overlapping_buffer->duration(),
|
| pre_splice_buffers.back()->timestamp() +
|
|
|