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}
This commit is contained in:
Jan Grulich 2023-11-15 10:50:10 +01:00 committed by WebRTC LUCI CQ
parent 117d847901
commit eb6106e9d0

View File

@ -38,6 +38,8 @@ int32_t DeviceInfoPipeWire::Init() {
DeviceInfoPipeWire::~DeviceInfoPipeWire() = default;
uint32_t DeviceInfoPipeWire::NumberOfDevices() {
RTC_CHECK(pipewire_session_);
return pipewire_session_->nodes().size();
}
@ -48,6 +50,8 @@ int32_t DeviceInfoPipeWire::GetDeviceName(uint32_t deviceNumber,
uint32_t deviceUniqueIdUTF8Length,
char* productUniqueIdUTF8,
uint32_t productUniqueIdUTF8Length) {
RTC_CHECK(pipewire_session_);
if (deviceNumber >= NumberOfDevices())
return -1;
@ -83,6 +87,8 @@ int32_t DeviceInfoPipeWire::GetDeviceName(uint32_t deviceNumber,
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;