Chromium Code Reviews| Index: media/filters/video_frame_stream.cc |
| diff --git a/media/filters/video_frame_stream.cc b/media/filters/video_frame_stream.cc |
| index 8a788daa50a7dc45fe707bcba8f41c1a173123a9..6913a545f8be29abd9237bfa9cb5515ddbe42887 100644 |
| --- a/media/filters/video_frame_stream.cc |
| +++ b/media/filters/video_frame_stream.cc |
| @@ -32,7 +32,7 @@ VideoFrameStream::~VideoFrameStream() { |
| DCHECK(state_ == UNINITIALIZED || state_ == STOPPED) << state_; |
| } |
| -void VideoFrameStream::Initialize(const scoped_refptr<DemuxerStream>& stream, |
| +void VideoFrameStream::Initialize(DemuxerStream* stream, |
| const StatisticsCB& statistics_cb, |
| const InitCB& init_cb) { |
| DCHECK(message_loop_->BelongsToCurrentThread()); |
| @@ -112,12 +112,8 @@ void VideoFrameStream::Stop(const base::Closure& closure) { |
| } |
| state_ = STOPPED; |
| - // Break the ref-count loop so we don't leak objects. |
| - // TODO(scherkus): Make DemuxerStream and/or VideoDecoder not ref-counted so |
| - // we don't need this here. See: http://crbug.com/173313 |
| - stream_ = NULL; |
| - decrypting_demuxer_stream_ = NULL; |
| decoder_.reset(); |
| + decrypting_demuxer_stream_.reset(); |
| message_loop_->PostTask(FROM_HERE, base::ResetAndReturn(&stop_cb_)); |
| } |
| @@ -154,7 +150,7 @@ void VideoFrameStream::EnableBitstreamConverter() { |
| void VideoFrameStream::OnDecoderSelected( |
| scoped_ptr<VideoDecoder> selected_decoder, |
| - const scoped_refptr<DecryptingDemuxerStream>& decrypting_demuxer_stream) { |
| + scoped_ptr<DecryptingDemuxerStream> decrypting_demuxer_stream) { |
| DCHECK(message_loop_->BelongsToCurrentThread()); |
| DCHECK_EQ(state_, UNINITIALIZED); |
| DCHECK(!init_cb_.is_null()); |
| @@ -164,7 +160,7 @@ void VideoFrameStream::OnDecoderSelected( |
| base::ResetAndReturn(&init_cb_).Run(false, false); |
| } else { |
| decoder_ = selected_decoder.Pass(); |
| - decrypting_demuxer_stream_ = decrypting_demuxer_stream; |
| + decrypting_demuxer_stream_ = decrypting_demuxer_stream.Pass(); |
| state_ = NORMAL; |
| base::ResetAndReturn(&init_cb_).Run(true, decoder_->HasAlpha()); |
| } |
| @@ -222,12 +218,8 @@ void VideoFrameStream::OnDecoderStopped() { |
| DCHECK(!stop_cb_.is_null()); |
| state_ = STOPPED; |
| - // Break the ref-count loop so we don't leak objects. |
| - // TODO(scherkus): Make DemuxerStream and/or VideoDecoder not ref-counted so |
| - // we don't need this here. See: http://crbug.com/173313 |
| - stream_ = NULL; |
|
acolwell GONE FROM CHROMIUM
2013/04/17 20:24:53
We don't still want to make stream_ == NULL?
scherkus (not reviewing)
2013/04/19 01:07:22
reverted
|
| - decrypting_demuxer_stream_ = NULL; |
| decoder_.reset(); |
| + decrypting_demuxer_stream_.reset(); |
| base::ResetAndReturn(&stop_cb_).Run(); |
| } |