// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "content/renderer/media/mock_media_stream_video_sink.h" #include "media/base/bind_to_current_loop.h" namespace content { MockMediaStreamVideoSink::MockMediaStreamVideoSink() : number_of_frames_(0), enabled_(true), format_(media::VideoFrame::UNKNOWN), state_(blink::WebMediaStreamSource::ReadyStateLive), weak_factory_(this) { } MockMediaStreamVideoSink::~MockMediaStreamVideoSink() { } VideoCaptureDeliverFrameCB MockMediaStreamVideoSink::GetDeliverFrameCB() { return media::BindToCurrentLoop( base::Bind( &MockMediaStreamVideoSink::DeliverVideoFrame, weak_factory_.GetWeakPtr())); } void MockMediaStreamVideoSink::DeliverVideoFrame( const scoped_refptr& frame, const media::VideoCaptureFormat& format, const base::TimeTicks& estimated_capture_time) { last_frame_ = frame; ++number_of_frames_; format_ = frame->format(); frame_size_ = frame->natural_size(); OnVideoFrame(); } void MockMediaStreamVideoSink::OnReadyStateChanged( blink::WebMediaStreamSource::ReadyState state) { state_ = state; } void MockMediaStreamVideoSink::OnEnabledChanged(bool enabled) { enabled_ = enabled; } } // namespace content