Files
sousa-gecko/third_party/libwebrtc/moz-patch-stack/s0079.patch
T
Nico Grunbaum 3b3a29acfa Bug 2047265 - Vendor libwebrtc from 7e3a9ce99d
Upstream commit: https://webrtc.googlesource.com/src/+/7e3a9ce99d832687d1eef3eaa270754970a761b0
    Rely on TaskQueueBase interface in modules/rtp_rtcp

    Instead of requiring Thread to be passed to the
    RtpVideoStreamReceiverFrameTransformerDelegate. This class already uses
    it only though the TaskQueueBase interface.

    In tests rely on RunLoop helper when test makes calls that are required
    to be done on the same task queue, and rely on TaskQueueForTests where
    test does not make such calls.

    Bug: webrtc:42225410
    Change-Id: I7aba5c696436d8ce43c85ccba5b9448e852ea81d
    Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/470880
    Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
    Commit-Queue: Erik Språng <sprang@webrtc.org>
    Reviewed-by: Erik Språng <sprang@webrtc.org>
    Cr-Commit-Position: refs/heads/main@{#47662}
2026-06-19 13:47:44 +00:00

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 7748fcf08f..009e1408b9 100644
--- a/modules/video_capture/linux/device_info_pipewire.cc
+++ b/modules/video_capture/linux/device_info_pipewire.cc
@@ -44,8 +44,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 b3e6de6fee..354e309ff9 100644
--- a/modules/video_capture/linux/device_info_pipewire.h
+++ b/modules/video_capture/linux/device_info_pipewire.h
@@ -32,7 +32,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 45de4c8a03..db53708781 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 db98a62bcc..0717ea05bd 100644
--- a/modules/video_capture/linux/device_info_v4l2.h
+++ b/modules/video_capture/linux/device_info_v4l2.h
@@ -37,7 +37,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 d9a6d09e60..a7c1764c51 100644
--- a/modules/video_capture/video_capture.h
+++ b/modules/video_capture/video_capture.h
@@ -77,7 +77,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 fcb9869f32..1a7098e3bf 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