mirror of
https://github.com/gnif/LookingGlass.git
synced 2026-11-12 14:57:20 +00:00
[idd] network: support software video capture
This commit is contained in:
@@ -1352,18 +1352,20 @@ CfgResult CTransportManager::Cfg(const GraphCfg& cfg,
|
||||
bool frameService = false;
|
||||
bool required = false;
|
||||
bool primary = false;
|
||||
bool texture = false;
|
||||
{
|
||||
CSRWSharedLock entryLock(entry.lock);
|
||||
frameService =
|
||||
(entry.config.services & TRANSPORT_SERVICE_FRAME) != 0;
|
||||
required = entry.required;
|
||||
primary = entry.primary;
|
||||
required = entry.required;
|
||||
primary = entry.primary;
|
||||
texture = entry.texSink != nullptr;
|
||||
}
|
||||
// Software capture writes directly into the primary frame target.
|
||||
// Secondary routes add fan-out work and can require staging copies.
|
||||
// Software capture writes legacy frames directly into the primary target.
|
||||
// Texture routes fan out independently through the frame graph executor.
|
||||
if (!frameService)
|
||||
continue;
|
||||
if (cfg.mode == GpuMode::SOFTWARE && !primary)
|
||||
if (cfg.mode == GpuMode::SOFTWARE && !primary && !texture)
|
||||
{
|
||||
if (required)
|
||||
{
|
||||
|
||||
@@ -2421,7 +2421,7 @@ CfgResult CNetworkVideo::Probe(const FrameCfg& cfg) const
|
||||
CSRWSharedLock lock(m_impl->m_lock);
|
||||
if (m_impl->m_stopped || m_impl->m_failed)
|
||||
return CfgResult::FAILED;
|
||||
if (cfg.mode != GpuMode::HARDWARE || !cfg.width || !cfg.height ||
|
||||
if (!Frame::Valid(cfg.mode) || !cfg.width || !cfg.height ||
|
||||
cfg.width > MAX_WIDTH || cfg.height > MAX_HEIGHT ||
|
||||
!SupportedProfile(cfg.profile))
|
||||
return CfgResult::NEXT;
|
||||
|
||||
Reference in New Issue
Block a user