We already cherry-picked this when we vendored f30c044cf9. Upstream commit: https://webrtc.googlesource.com/src/+/995688c8e85b520d50961486abbe0cc03eae9558 Revert "more p2p cleanups" This reverts commit f30c044cf9bd06f91017c171d98690094ce6d88b. Reason for revert: breaks roll to chromium: https://ci.chromium.org/ui/p/chromium/builders/try/mac_chromium_compile_dbg_ng/2290104/overview Original change's description: > more p2p cleanups > > Move test code from p2p/base and rtc_base/ into p2p/test/ > This p2p/base much less crowded and > clarifies that the rtc_base/nat* is in fact only test code. > > BUG=webrtc:0 > > Change-Id: I4d14fae24cb0eff6783962f4b4483b560367ca5d > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/378900 > Commit-Queue: Jonas Oreland <jonaso@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Auto-Submit: Jonas Oreland <jonaso@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#43995} Bug: webrtc:0 Change-Id: I6c79fa85f53fdb9a1dacbe38911771f9a4289c76 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/379040 Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Owners-Override: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org> Cr-Commit-Position: refs/heads/main@{#43999} Differential Revision: https://phabricator.services.mozilla.com/D244009
122 lines
6.5 KiB
Diff
122 lines
6.5 KiB
Diff
From: Jan Grulich <jgrulich@redhat.com>
|
|
Date: Thu, 30 Nov 2023 11:49:00 +0000
|
|
Subject: Bug 1844020 - Add option to DeviceInfo::GetDeviceName() identifying a
|
|
placeholder device r=pehrsons,webrtc-reviewers
|
|
|
|
Adds a new parameter "deviceIsPlaceholder" that will be set to true in
|
|
case the returned device is not a real device but a placeholder that is
|
|
just used to inform about camera device existence.
|
|
|
|
Differential Revision: https://phabricator.services.mozilla.com/D189929
|
|
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/ed31b2acb5fbca3e2d0691a64bc52e65952070c0
|
|
---
|
|
modules/video_capture/linux/device_info_pipewire.cc | 4 +++-
|
|
modules/video_capture/linux/device_info_pipewire.h | 3 ++-
|
|
modules/video_capture/linux/device_info_v4l2.cc | 3 ++-
|
|
modules/video_capture/linux/device_info_v4l2.h | 3 ++-
|
|
modules/video_capture/video_capture.h | 3 ++-
|
|
modules/video_capture/windows/device_info_ds.cc | 3 ++-
|
|
modules/video_capture/windows/device_info_ds.h | 3 ++-
|
|
7 files changed, 15 insertions(+), 7 deletions(-)
|
|
|
|
diff --git a/modules/video_capture/linux/device_info_pipewire.cc b/modules/video_capture/linux/device_info_pipewire.cc
|
|
index b802fe580c..db2a3c7099 100644
|
|
--- a/modules/video_capture/linux/device_info_pipewire.cc
|
|
+++ b/modules/video_capture/linux/device_info_pipewire.cc
|
|
@@ -50,8 +50,10 @@ int32_t DeviceInfoPipeWire::GetDeviceName(uint32_t deviceNumber,
|
|
uint32_t deviceUniqueIdUTF8Length,
|
|
char* productUniqueIdUTF8,
|
|
uint32_t productUniqueIdUTF8Length,
|
|
- pid_t* pid) {
|
|
+ pid_t* pid,
|
|
+ bool* deviceIsPlaceholder) {
|
|
RTC_CHECK(pipewire_session_);
|
|
+
|
|
if (deviceNumber >= NumberOfDevices())
|
|
return -1;
|
|
|
|
diff --git a/modules/video_capture/linux/device_info_pipewire.h b/modules/video_capture/linux/device_info_pipewire.h
|
|
index 8a33d75892..00715c94bc 100644
|
|
--- a/modules/video_capture/linux/device_info_pipewire.h
|
|
+++ b/modules/video_capture/linux/device_info_pipewire.h
|
|
@@ -30,7 +30,8 @@ class DeviceInfoPipeWire : public DeviceInfoImpl {
|
|
uint32_t deviceUniqueIdUTF8Length,
|
|
char* productUniqueIdUTF8 = nullptr,
|
|
uint32_t productUniqueIdUTF8Length = 0,
|
|
- pid_t* pid = 0) override;
|
|
+ pid_t* pid = 0,
|
|
+ bool* deviceIsPlaceholder = 0) override;
|
|
/*
|
|
* Fills the membervariable _captureCapabilities with capabilites for the
|
|
* given device name.
|
|
diff --git a/modules/video_capture/linux/device_info_v4l2.cc b/modules/video_capture/linux/device_info_v4l2.cc
|
|
index 04caaea592..401c38f9c5 100644
|
|
--- a/modules/video_capture/linux/device_info_v4l2.cc
|
|
+++ b/modules/video_capture/linux/device_info_v4l2.cc
|
|
@@ -232,7 +232,8 @@ int32_t DeviceInfoV4l2::GetDeviceName(uint32_t deviceNumber,
|
|
uint32_t deviceUniqueIdUTF8Length,
|
|
char* /*productUniqueIdUTF8*/,
|
|
uint32_t /*productUniqueIdUTF8Length*/,
|
|
- pid_t* /*pid*/) {
|
|
+ pid_t* /*pid*/,
|
|
+ bool* /*deviceIsPlaceholder*/) {
|
|
// Travel through /dev/video [0-63]
|
|
uint32_t count = 0;
|
|
char device[20];
|
|
diff --git a/modules/video_capture/linux/device_info_v4l2.h b/modules/video_capture/linux/device_info_v4l2.h
|
|
index 0bec3eb765..55415845ad 100644
|
|
--- a/modules/video_capture/linux/device_info_v4l2.h
|
|
+++ b/modules/video_capture/linux/device_info_v4l2.h
|
|
@@ -36,7 +36,8 @@ class DeviceInfoV4l2 : public DeviceInfoImpl {
|
|
uint32_t deviceUniqueIdUTF8Length,
|
|
char* productUniqueIdUTF8 = 0,
|
|
uint32_t productUniqueIdUTF8Length = 0,
|
|
- pid_t* pid=0) override;
|
|
+ pid_t* pid = 0,
|
|
+ bool* deviceIsPlaceholder = 0) override;
|
|
/*
|
|
* Fills the membervariable _captureCapabilities with capabilites for the
|
|
* given device name.
|
|
diff --git a/modules/video_capture/video_capture.h b/modules/video_capture/video_capture.h
|
|
index 43a6a7f832..f59c34f8b2 100644
|
|
--- a/modules/video_capture/video_capture.h
|
|
+++ b/modules/video_capture/video_capture.h
|
|
@@ -74,7 +74,8 @@ class VideoCaptureModule : public RefCountInterface {
|
|
uint32_t deviceUniqueIdUTF8Length,
|
|
char* productUniqueIdUTF8 = 0,
|
|
uint32_t productUniqueIdUTF8Length = 0,
|
|
- pid_t* pid = 0) = 0;
|
|
+ pid_t* pid = 0,
|
|
+ bool* deviceIsPlaceholder = 0) = 0;
|
|
|
|
// Returns the number of capabilities this device.
|
|
virtual int32_t NumberOfCapabilities(const char* deviceUniqueIdUTF8) = 0;
|
|
diff --git a/modules/video_capture/windows/device_info_ds.cc b/modules/video_capture/windows/device_info_ds.cc
|
|
index f6927281f3..8ca741239c 100644
|
|
--- a/modules/video_capture/windows/device_info_ds.cc
|
|
+++ b/modules/video_capture/windows/device_info_ds.cc
|
|
@@ -173,7 +173,8 @@ int32_t DeviceInfoDS::GetDeviceName(uint32_t deviceNumber,
|
|
uint32_t deviceUniqueIdUTF8Length,
|
|
char* productUniqueIdUTF8,
|
|
uint32_t productUniqueIdUTF8Length,
|
|
- pid_t* pid) {
|
|
+ pid_t* pid,
|
|
+ bool* deviceIsPlaceholder) {
|
|
MutexLock lock(&_apiLock);
|
|
const int32_t result = GetDeviceInfo(
|
|
deviceNumber, deviceNameUTF8, deviceNameLength, deviceUniqueIdUTF8,
|
|
diff --git a/modules/video_capture/windows/device_info_ds.h b/modules/video_capture/windows/device_info_ds.h
|
|
index e6dfaed366..a9a1449b99 100644
|
|
--- a/modules/video_capture/windows/device_info_ds.h
|
|
+++ b/modules/video_capture/windows/device_info_ds.h
|
|
@@ -51,7 +51,8 @@ class DeviceInfoDS : public DeviceInfoImpl {
|
|
uint32_t deviceUniqueIdUTF8Length,
|
|
char* productUniqueIdUTF8,
|
|
uint32_t productUniqueIdUTF8Length,
|
|
- pid_t* pid) override;
|
|
+ pid_t* pid,
|
|
+ bool* deviceIsPlaceholder) override;
|
|
|
|
/*
|
|
* Display OS /capture device specific settings dialog
|