summaryrefslogtreecommitdiff
path: root/chromium/media/filters/decoder_stream_traits.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/media/filters/decoder_stream_traits.cc')
-rw-r--r--chromium/media/filters/decoder_stream_traits.cc28
1 files changed, 14 insertions, 14 deletions
diff --git a/chromium/media/filters/decoder_stream_traits.cc b/chromium/media/filters/decoder_stream_traits.cc
index eca17402179..69886c7ed24 100644
--- a/chromium/media/filters/decoder_stream_traits.cc
+++ b/chromium/media/filters/decoder_stream_traits.cc
@@ -61,7 +61,7 @@ void DecoderStreamTraits<DemuxerStream::AUDIO>::InitializeDecoder(
const DecoderConfigType& config,
bool /* low_delay */,
CdmContext* cdm_context,
- const InitCB& init_cb,
+ InitCB init_cb,
const OutputCB& output_cb,
const WaitingCB& waiting_cb) {
DCHECK(config.IsValidConfig());
@@ -71,7 +71,8 @@ void DecoderStreamTraits<DemuxerStream::AUDIO>::InitializeDecoder(
config_ = config;
stats_.audio_decoder_name = decoder->GetDisplayName();
- decoder->Initialize(config, cdm_context, init_cb, output_cb, waiting_cb);
+ decoder->Initialize(config, cdm_context, std::move(init_cb), output_cb,
+ waiting_cb);
}
void DecoderStreamTraits<DemuxerStream::AUDIO>::OnStreamReset(
@@ -89,8 +90,8 @@ void DecoderStreamTraits<DemuxerStream::AUDIO>::OnDecode(
}
PostDecodeAction DecoderStreamTraits<DemuxerStream::AUDIO>::OnDecodeDone(
- const scoped_refptr<OutputType>& buffer) {
- audio_ts_validator_->RecordOutputDuration(buffer);
+ OutputType* buffer) {
+ audio_ts_validator_->RecordOutputDuration(*buffer);
return PostDecodeAction::DELIVER;
}
@@ -153,14 +154,14 @@ void DecoderStreamTraits<DemuxerStream::VIDEO>::InitializeDecoder(
const DecoderConfigType& config,
bool low_delay,
CdmContext* cdm_context,
- const InitCB& init_cb,
+ InitCB init_cb,
const OutputCB& output_cb,
const WaitingCB& waiting_cb) {
DCHECK(config.IsValidConfig());
stats_.video_decoder_name = decoder->GetDisplayName();
DVLOG(2) << stats_.video_decoder_name;
- decoder->Initialize(config, low_delay, cdm_context, init_cb, output_cb,
- waiting_cb);
+ decoder->Initialize(config, low_delay, cdm_context, std::move(init_cb),
+ output_cb, waiting_cb);
}
void DecoderStreamTraits<DemuxerStream::VIDEO>::OnStreamReset(
@@ -198,7 +199,12 @@ void DecoderStreamTraits<DemuxerStream::VIDEO>::OnDecode(
}
PostDecodeAction DecoderStreamTraits<DemuxerStream::VIDEO>::OnDecodeDone(
- const scoped_refptr<OutputType>& buffer) {
+ OutputType* buffer) {
+ // Add a timestamp here (after decoding completed) to enable buffering delay
+ // measurements down the line.
+ buffer->metadata()->SetTimeTicks(media::VideoFrameMetadata::DECODE_TIME,
+ base::TimeTicks::Now());
+
auto it = frame_metadata_.find(buffer->timestamp());
// If the frame isn't in |frame_metadata_| it probably was erased below on a
@@ -218,12 +224,6 @@ PostDecodeAction DecoderStreamTraits<DemuxerStream::VIDEO>::OnDecodeDone(
it->second.duration);
}
- // Add a timestamp here (after decoding completed) to enable buffering delay
- // measurements down the line.
- buffer->metadata()->SetTimeTicks(
- media::VideoFrameMetadata::DECODE_COMPLETE_TIMESTAMP,
- base::TimeTicks::Now());
-
// We erase from the beginning onward to our target frame since frames should
// be returned in presentation order. It's possible to accumulate entries in
// this queue if playback begins at a non-keyframe; those frames may never be