Merge pull request #22339 from asenyaev:asen/obsensor_fix_for_win

pull/22298/head
Alexander Smorkalov 3 years ago
commit 88555948d0
  1. 2
      modules/videoio/src/cap_obsensor/obsensor_stream_channel_msmf.cpp
  2. 2
      modules/videoio/src/cap_obsensor/obsensor_stream_channel_v4l2.cpp
  3. 12
      modules/videoio/src/cap_obsensor/obsensor_uvc_stream_channel.hpp

@ -195,7 +195,7 @@ std::vector<UvcDeviceInfo> MFContext::queryUvcDeviceInfoList()
std::string uid, guid; std::string uid, guid;
if (!parseUvcDeviceSymbolicLink(symbolicLink, vid, pid, mi, uid, guid)) if (!parseUvcDeviceSymbolicLink(symbolicLink, vid, pid, mi, uid, guid))
continue; continue;
uvcDevList.emplace_back(UvcDeviceInfo({ symbolicLink, name, uid, vid, pid, mi })); uvcDevList.emplace_back(UvcDeviceInfo{ symbolicLink, name, uid, vid, pid, mi });
CV_LOG_INFO(NULL, "UVC device found: name=" << name << ", vid=" << vid << ", pid=" << pid << ", mi=" << mi << ", uid=" << uid << ", guid=" << guid); CV_LOG_INFO(NULL, "UVC device found: name=" << name << ", vid=" << vid << ", pid=" << pid << ", mi=" << mi << ", uid=" << uid << ", guid=" << guid);
} }
return uvcDevList; return uvcDevList;

@ -101,7 +101,7 @@ std::vector<UvcDeviceInfo> V4L2Context::queryUvcDeviceInfoList()
cv::utils::fs::glob(videosDir, "*", videos, false, true); cv::utils::fs::glob(videosDir, "*", videos, false, true);
for (const auto& video : videos) for (const auto& video : videos)
{ {
UvcDeviceInfo uvcDev; UvcDeviceInfo uvcDev{};
cv::String videoName = video.substr(video.find_last_of("/") + 1); cv::String videoName = video.substr(video.find_last_of("/") + 1);
char buf[PATH_MAX]; char buf[PATH_MAX];
if (realpath(video.c_str(), buf) == nullptr || cv::String(buf).find("virtual") != std::string::npos) if (realpath(video.c_str(), buf) == nullptr || cv::String(buf).find("virtual") != std::string::npos)

@ -33,12 +33,12 @@ namespace obsensor {
struct UvcDeviceInfo struct UvcDeviceInfo
{ {
std::string id = ""; // uvc sub-device id std::string id; // uvc sub-device id
std::string name = ""; std::string name;
std::string uid = ""; // parent usb device id std::string uid; // parent usb device id
uint16_t vid = 0; uint16_t vid;
uint16_t pid = 0; uint16_t pid;
uint16_t mi = 0; // uvc interface index uint16_t mi; // uvc interface index
}; };
enum StreamState enum StreamState

Loading…
Cancel
Save