| Index: media/filters/decoder_stream_traits.cc
|
| diff --git a/media/filters/decoder_stream_traits.cc b/media/filters/decoder_stream_traits.cc
|
| index 131fc2d8eabcd4ba692877b5de34bf564d62e196..e59d99f9d66392a12afa4ac54443828ad3dd2be3 100644
|
| --- a/media/filters/decoder_stream_traits.cc
|
| +++ b/media/filters/decoder_stream_traits.cc
|
| @@ -9,7 +9,6 @@
|
| #include "media/base/audio_decoder.h"
|
| #include "media/base/audio_decoder_config.h"
|
| #include "media/base/video_decoder.h"
|
| -#include "media/base/video_decoder_config.h"
|
| #include "media/base/video_frame.h"
|
|
|
| namespace media {
|
| @@ -81,4 +80,30 @@ scoped_refptr<DecoderStreamTraits<DemuxerStream::VIDEO>::OutputType>
|
| return OutputType::CreateEOSFrame();
|
| }
|
|
|
| +DecoderStreamTraits<DemuxerStream::AUDIO>::DecoderStreamTraits(
|
| + const scoped_refptr<MediaLog>& media_log)
|
| + : media_log_(media_log) {}
|
| +
|
| +void DecoderStreamTraits<DemuxerStream::AUDIO>::OnStreamReset(
|
| + DemuxerStream* stream) {
|
| + DCHECK(stream);
|
| + // Stream is likely being seeked to a new timestamp, so make new validator to
|
| + // build new timestamp expectations.
|
| + audio_ts_validator_.reset(
|
| + new AudioTimestampValidator(stream->audio_decoder_config(), media_log_));
|
| +}
|
| +
|
| +void DecoderStreamTraits<DemuxerStream::AUDIO>::OnDecode(
|
| + const scoped_refptr<DecoderBuffer>& buffer) {
|
| + audio_ts_validator_->CheckForTimestampGap(buffer);
|
| +}
|
| +
|
| +void DecoderStreamTraits<DemuxerStream::AUDIO>::OnDecodeDone(
|
| + const scoped_refptr<OutputType>& buffer) {
|
| + audio_ts_validator_->RecordOutputDuration(buffer);
|
| +}
|
| +
|
| +template class DecoderStreamTraits<DemuxerStream::VIDEO>;
|
| +template class DecoderStreamTraits<DemuxerStream::AUDIO>;
|
| +
|
| } // namespace media
|
|
|