summaryrefslogtreecommitdiff
path: root/media/filters/fake_video_decoder.cc
diff options
context:
space:
mode:
Diffstat (limited to 'media/filters/fake_video_decoder.cc')
-rw-r--r--media/filters/fake_video_decoder.cc13
1 files changed, 7 insertions, 6 deletions
diff --git a/media/filters/fake_video_decoder.cc b/media/filters/fake_video_decoder.cc
index d5bb03bf68..56d1484db8 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());