Index: media/filters/fake_video_decoder.cc |
diff --git a/media/filters/fake_video_decoder.cc b/media/filters/fake_video_decoder.cc |
index d5bb03bf6884f2044cbad0464e3ebde5c32aa149..56d1484db876895de7d6a6a1898f1b9485888e5b 100644 |
--- a/media/filters/fake_video_decoder.cc |
+++ b/media/filters/fake_video_decoder.cc |
@@ -16,11 +16,11 @@ namespace media { |
FakeVideoDecoder::FakeVideoDecoder(int decoding_delay, |
bool supports_get_decode_output) |
: task_runner_(base::MessageLoopProxy::current()), |
- weak_factory_(this), |
decoding_delay_(decoding_delay), |
supports_get_decode_output_(supports_get_decode_output), |
state_(UNINITIALIZED), |
- total_bytes_decoded_(0) { |
+ total_bytes_decoded_(0), |
+ weak_factory_(this) { |
DCHECK_GE(decoding_delay, 0); |
} |
@@ -35,8 +35,6 @@ void FakeVideoDecoder::Initialize(const VideoDecoderConfig& config, |
DCHECK(decode_cb_.IsNull()) << "No reinitialization during pending decode."; |
DCHECK(reset_cb_.IsNull()) << "No reinitialization during pending reset."; |
- weak_this_ = weak_factory_.GetWeakPtr(); |
- |
current_config_ = config; |
init_cb_.SetCallback(BindToCurrentLoop(status_cb)); |
@@ -57,8 +55,11 @@ void FakeVideoDecoder::Decode(const scoped_refptr<DecoderBuffer>& buffer, |
DCHECK_LE(decoded_frames_.size(), static_cast<size_t>(decoding_delay_)); |
int buffer_size = buffer->end_of_stream() ? 0 : buffer->data_size(); |
- decode_cb_.SetCallback(BindToCurrentLoop(base::Bind( |
- &FakeVideoDecoder::OnFrameDecoded, weak_this_, buffer_size, decode_cb))); |
+ decode_cb_.SetCallback( |
+ BindToCurrentLoop(base::Bind(&FakeVideoDecoder::OnFrameDecoded, |
+ weak_factory_.GetWeakPtr(), |
+ buffer_size, |
+ decode_cb))); |
if (buffer->end_of_stream() && decoded_frames_.empty()) { |
decode_cb_.RunOrHold(kOk, VideoFrame::CreateEOSFrame()); |