#include "content/browser/renderer_host/media/video_capture_provider_switcher.h"
#include <utility>
#include "base/functional/bind.h"
#include "content/public/browser/video_capture_device_launcher.h"
#include "services/video_effects/public/mojom/video_effects_processor.mojom-forward.h"
namespace content {
namespace {
class VideoCaptureDeviceLauncherSwitcher : public VideoCaptureDeviceLauncher { … };
}
VideoCaptureProviderSwitcher::VideoCaptureProviderSwitcher(
std::unique_ptr<VideoCaptureProvider> media_device_capture_provider,
std::unique_ptr<VideoCaptureProvider> other_types_capture_provider)
: … { … }
VideoCaptureProviderSwitcher::~VideoCaptureProviderSwitcher() = default;
void VideoCaptureProviderSwitcher::GetDeviceInfosAsync(
GetDeviceInfosCallback result_callback) { … }
std::unique_ptr<VideoCaptureDeviceLauncher>
VideoCaptureProviderSwitcher::CreateDeviceLauncher() { … }
void VideoCaptureProviderSwitcher::OpenNativeScreenCapturePicker(
DesktopMediaID::Type type,
base::OnceCallback<void(webrtc::DesktopCapturer::Source)> picker_callback,
base::OnceCallback<void()> cancel_callback,
base::OnceCallback<void()> error_callback) { … }
void VideoCaptureProviderSwitcher::CloseNativeScreenCapturePicker(
DesktopMediaID device_id) { … }
}