Build video capture implementation for chromium

It will be used to support cameras via xdg desktop portal / pipewire in
chromium. This includes exporting additional classes that will be used
by chromium.


Bug: webrtc:13177
Change-Id: I7524ffb47ed2eb7af1de4d7fd741fbb15277a0a1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264553
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39350}
This commit is contained in:
Michael Olbrich 2023-02-08 14:49:32 +01:00 committed by WebRTC LUCI CQ
parent fbd0ddb32e
commit cd5c62362f
3 changed files with 6 additions and 3 deletions

View file

@ -40,13 +40,14 @@ rtc_library("video_capture_module") {
"../../rtc_base:stringutils",
"../../rtc_base:timeutils",
"../../rtc_base/synchronization:mutex",
"../../rtc_base/system:rtc_export",
"../../system_wrappers",
"//third_party/libyuv",
]
absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
}
if (!build_with_chromium) {
if (!build_with_chromium || is_linux || is_chromeos) {
rtc_source_set("video_capture_internal_impl") {
visibility = [ "*" ]
deps = [

View file

@ -17,12 +17,13 @@
#include "api/scoped_refptr.h"
#include "modules/video_capture/video_capture.h"
#include "modules/video_capture/video_capture_defines.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
class VideoCaptureOptions;
class VideoCaptureFactory {
class RTC_EXPORT VideoCaptureFactory {
public:
// Create a video capture module object
// id - unique identifier of this video capture module object.

View file

@ -26,6 +26,7 @@
#include "modules/video_capture/video_capture_config.h"
#include "modules/video_capture/video_capture_defines.h"
#include "rtc_base/synchronization/mutex.h"
#include "rtc_base/system/rtc_export.h"
namespace webrtc {
@ -33,7 +34,7 @@ class VideoCaptureOptions;
namespace videocapturemodule {
// Class definitions
class VideoCaptureImpl : public VideoCaptureModule {
class RTC_EXPORT VideoCaptureImpl : public VideoCaptureModule {
public:
/*
* Create a video capture module object