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

Unified Diff: media/filters/video_decoder_selector.cc

Issue 13813016: Remove reference counting from media::Demuxer and friends. (Closed) Base URL: http://git.chromium.org/chromium/src.git@vd_scoped
Patch Set: Created 7 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: media/filters/video_decoder_selector.cc
diff --git a/media/filters/video_decoder_selector.cc b/media/filters/video_decoder_selector.cc
index f1aebb26426a476fd85f7316fd50ab1a55811654..8e247fe4bb222d5b0662ff32cfbbd2a29f80e206 100644
--- a/media/filters/video_decoder_selector.cc
+++ b/media/filters/video_decoder_selector.cc
@@ -30,7 +30,7 @@ VideoDecoderSelector::VideoDecoderSelector(
VideoDecoderSelector::~VideoDecoderSelector() {}
void VideoDecoderSelector::SelectVideoDecoder(
- const scoped_refptr<DemuxerStream>& stream,
+ DemuxerStream* stream,
const StatisticsCB& statistics_cb,
const SelectDecoderCB& select_decoder_cb) {
DVLOG(2) << "SelectVideoDecoder()";
@@ -44,7 +44,7 @@ void VideoDecoderSelector::SelectVideoDecoder(
if (!config.IsValidConfig()) {
DLOG(ERROR) << "Invalid video stream config.";
base::ResetAndReturn(&select_decoder_cb_).Run(
- scoped_ptr<VideoDecoder>(), NULL);
+ scoped_ptr<VideoDecoder>(), scoped_ptr<DecryptingDemuxerStream>());
return;
}
@@ -59,7 +59,7 @@ void VideoDecoderSelector::SelectVideoDecoder(
// This could happen if Encrypted Media Extension (EME) is not enabled.
if (set_decryptor_ready_cb_.is_null()) {
base::ResetAndReturn(&select_decoder_cb_).Run(
- scoped_ptr<VideoDecoder>(), NULL);
+ scoped_ptr<VideoDecoder>(), scoped_ptr<DecryptingDemuxerStream>());
return;
}
@@ -79,12 +79,13 @@ void VideoDecoderSelector::DecryptingVideoDecoderInitDone(
DCHECK(message_loop_->BelongsToCurrentThread());
if (status == PIPELINE_OK) {
- base::ResetAndReturn(&select_decoder_cb_).Run(video_decoder_.Pass(), NULL);
+ base::ResetAndReturn(&select_decoder_cb_).Run(
+ video_decoder_.Pass(), scoped_ptr<DecryptingDemuxerStream>());
return;
}
- decrypted_stream_ = new DecryptingDemuxerStream(
- message_loop_, set_decryptor_ready_cb_);
+ decrypted_stream_.reset(new DecryptingDemuxerStream(
+ message_loop_, set_decryptor_ready_cb_));
decrypted_stream_->Initialize(
input_stream_,
@@ -98,14 +99,14 @@ void VideoDecoderSelector::DecryptingDemuxerStreamInitDone(
DCHECK(message_loop_->BelongsToCurrentThread());
if (status != PIPELINE_OK) {
- decrypted_stream_ = NULL;
+ decrypted_stream_.reset();
base::ResetAndReturn(&select_decoder_cb_).Run(
- scoped_ptr<VideoDecoder>(), NULL);
+ scoped_ptr<VideoDecoder>(), scoped_ptr<DecryptingDemuxerStream>());
return;
}
DCHECK(!decrypted_stream_->video_decoder_config().is_encrypted());
- input_stream_ = decrypted_stream_;
+ input_stream_ = decrypted_stream_.get();
InitializeDecoder(decoders_.begin());
}
@@ -115,7 +116,7 @@ void VideoDecoderSelector::InitializeDecoder(
if (iter == decoders_.end()) {
base::ResetAndReturn(&select_decoder_cb_).Run(
- scoped_ptr<VideoDecoder>(), NULL);
+ scoped_ptr<VideoDecoder>(), scoped_ptr<DecryptingDemuxerStream>());
return;
}
@@ -141,7 +142,7 @@ void VideoDecoderSelector::DecoderInitDone(
decoders_.weak_erase(iter);
base::ResetAndReturn(&select_decoder_cb_).Run(video_decoder.Pass(),
- decrypted_stream_);
+ decrypted_stream_.Pass());
}
} // namespace media

Powered by Google App Engine
This is Rietveld 408576698