#include "services/video_capture/video_source_impl.h"
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/metrics/histogram_functions.h"
#include "media/capture/video/video_capture_device_client.h"
#include "services/video_capture/push_video_stream_subscription_impl.h"
namespace video_capture {
VideoSourceImpl::VideoSourceImpl(
DeviceFactory* device_factory,
const std::string& device_id,
base::RepeatingClosure on_last_binding_closed_cb)
: … { … }
VideoSourceImpl::~VideoSourceImpl() { … }
void VideoSourceImpl::AddToReceiverSet(
mojo::PendingReceiver<VideoSource> receiver) { … }
void VideoSourceImpl::CreatePushSubscription(
mojo::PendingRemote<mojom::VideoFrameHandler> subscriber,
const media::VideoCaptureParams& requested_settings,
bool force_reopen_with_new_settings,
mojo::PendingReceiver<mojom::PushVideoStreamSubscription>
subscription_receiver,
CreatePushSubscriptionCallback callback) { … }
void VideoSourceImpl::RegisterVideoEffectsProcessor(
mojo::PendingRemote<video_effects::mojom::VideoEffectsProcessor> remote) { … }
void VideoSourceImpl::OnClientDisconnected() { … }
void VideoSourceImpl::StartDeviceWithSettings(
const media::VideoCaptureParams& requested_settings) { … }
void VideoSourceImpl::OnCreateDeviceResponse(
std::unique_ptr<ScopedCaptureTrace> scoped_trace,
DeviceInfo info) { … }
void VideoSourceImpl::OnPushSubscriptionClosedOrDisconnectedOrDiscarded(
PushVideoStreamSubscriptionImpl* subscription,
base::OnceClosure done_cb) { … }
void VideoSourceImpl::StopDeviceAsynchronously() { … }
void VideoSourceImpl::OnStopDeviceComplete() { … }
}