| // Copyright 2019 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CONTENT_PUBLIC_BROWSER_VIDEO_CAPTURE_SERVICE_H_ |
| #define CONTENT_PUBLIC_BROWSER_VIDEO_CAPTURE_SERVICE_H_ |
| |
| #include "content/common/content_export.h" |
| #include "services/video_capture/public/mojom/video_capture_service.mojom-forward.h" |
| |
| namespace content { |
| |
| // Acquires a VideoCaptureService interface connected either to an in-process |
| // instance or an out-of-process instance. If out-of-process, the service |
| // process is launched lazily as needed and shut down when idle. |
| // |
| // This is callable from any thread, though when called from off of the UI |
| // thread, messages sent on the interface will incur an extra thread hop before |
| // going to the service. |
| CONTENT_EXPORT video_capture::mojom::VideoCaptureService& |
| GetVideoCaptureService(); |
| |
| // Provides an override for the reference returned by |
| // |GetVideoCaptureService()|. Call again with null to cancel the override |
| // before |service| is destroyed. |
| CONTENT_EXPORT void OverrideVideoCaptureServiceForTesting( |
| video_capture::mojom::VideoCaptureService* service); |
| |
| } // namespace content |
| |
| #endif // CONTENT_PUBLIC_BROWSER_VIDEO_CAPTURE_SERVICE_H_ |