DeviceInfoPipeWire: Add RTC_CHECKS for non-initialized PipeWire session
Adds sanity checks for non-initialized PipeWire session in case caller
forgets to initialize VideoCaptureOptions.
Bug: webrtc:15654
Change-Id: Ic7afd2a9f7cd6ffdede612798544ad8826c96f74
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/327380
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Jan Grulich <grulja@gmail.com>
Cr-Commit-Position: refs/heads/main@{#41162}
diff --git a/modules/video_capture/linux/device_info_pipewire.cc b/modules/video_capture/linux/device_info_pipewire.cc
index 1dee78f..4782cee 100644
--- a/modules/video_capture/linux/device_info_pipewire.cc
+++ b/modules/video_capture/linux/device_info_pipewire.cc
@@ -38,6 +38,8 @@
DeviceInfoPipeWire::~DeviceInfoPipeWire() = default;
uint32_t DeviceInfoPipeWire::NumberOfDevices() {
+ RTC_CHECK(pipewire_session_);
+
return pipewire_session_->nodes().size();
}
@@ -48,6 +50,8 @@
uint32_t deviceUniqueIdUTF8Length,
char* productUniqueIdUTF8,
uint32_t productUniqueIdUTF8Length) {
+ RTC_CHECK(pipewire_session_);
+
if (deviceNumber >= NumberOfDevices())
return -1;
@@ -83,6 +87,8 @@
int32_t DeviceInfoPipeWire::CreateCapabilityMap(
const char* deviceUniqueIdUTF8) {
+ RTC_CHECK(pipewire_session_);
+
for (auto& node : pipewire_session_->nodes()) {
if (node.unique_id().compare(deviceUniqueIdUTF8) != 0)
continue;