UI: Use main video on the virtual camera if program

This change allows the virtual camera to really output what is in the
program view, some plugin interract with this view but their changes
does not appear on the virtual camera.
This commit is contained in:
tytan652
2022-11-15 10:00:41 +01:00
committed by Lain
parent 2be0550e9a
commit 7cd7ca80f8
9 changed files with 159 additions and 78 deletions

View File

@@ -283,10 +283,6 @@ void OBSBasic::OverrideTransition(OBSSource transition)
obs_transition_swap_begin(transition, oldTransition);
obs_set_output_source(0, transition);
obs_transition_swap_end(transition, oldTransition);
// Transition overrides don't raise an event so we need to call update directly
if (vcamEnabled)
outputHandler->UpdateVirtualCamOutputSource();
}
}
@@ -426,10 +422,6 @@ void OBSBasic::SetTransition(OBSSource transition)
ui->transitionRemove->setEnabled(configurable);
ui->transitionProps->setEnabled(configurable);
if (vcamEnabled && vcamConfig.type == VCamOutputType::InternalOutput &&
vcamConfig.internal == VCamInternalType::Default)
outputHandler->UpdateVirtualCamOutputSource();
if (api)
api->on_event(OBS_FRONTEND_EVENT_TRANSITION_CHANGED);
}
@@ -697,8 +689,8 @@ void OBSBasic::SetCurrentScene(OBSSource scene, bool force)
ui->scenes->blockSignals(false);
if (vcamEnabled &&
vcamConfig.internal ==
VCamInternalType::Preview)
vcamConfig.type ==
VCamOutputType::PreviewOutput)
outputHandler
->UpdateVirtualCamOutputSource();