From f553dee6cb52c9102b3d2b696e6c52f28a9a3adb Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Tue, 22 Oct 2024 08:33:23 -0600 Subject: [PATCH] [cscore] HttpCamera: Send width/height/fps stream settings (#7247) --- cscore/src/main/native/cpp/HttpCameraImpl.cpp | 9 +++++++++ cscore/src/main/native/cpp/HttpCameraImpl.h | 5 ++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/cscore/src/main/native/cpp/HttpCameraImpl.cpp b/cscore/src/main/native/cpp/HttpCameraImpl.cpp index 16ee2cc9f8..e6543fc411 100644 --- a/cscore/src/main/native/cpp/HttpCameraImpl.cpp +++ b/cscore/src/main/native/cpp/HttpCameraImpl.cpp @@ -9,6 +9,7 @@ #include #include +#include #include #include #include @@ -518,6 +519,14 @@ bool HttpCameraImpl::SetVideoMode(const VideoMode& mode, CS_Status* status) { } std::scoped_lock lock(m_mutex); m_mode = mode; + m_streamSettings.clear(); + if (mode.width != 0 && mode.height != 0) { + m_streamSettings["resolution"] = + fmt::format("{}x{}", mode.width, mode.height); + } + if (mode.fps != 0) { + m_streamSettings["fps"] = fmt::format("{}", mode.fps); + } m_streamSettingsUpdated = true; return true; } diff --git a/cscore/src/main/native/cpp/HttpCameraImpl.h b/cscore/src/main/native/cpp/HttpCameraImpl.h index f224ad410e..3211fd1083 100644 --- a/cscore/src/main/native/cpp/HttpCameraImpl.h +++ b/cscore/src/main/native/cpp/HttpCameraImpl.h @@ -15,7 +15,6 @@ #include #include -#include #include #include #include @@ -136,10 +135,10 @@ class HttpCameraImpl : public SourceImpl { wpi::condition_variable m_sinkEnabledCond; - wpi::StringMap> m_settings; + wpi::StringMap m_settings; wpi::condition_variable m_settingsCond; - wpi::StringMap> m_streamSettings; + wpi::StringMap m_streamSettings; std::atomic_bool m_streamSettingsUpdated{false}; wpi::condition_variable m_monitorCond;