UI: Reset VCam when clearing scene data
This commit is contained in:
parent
96f1eec735
commit
14a6673e2f
3 changed files with 18 additions and 3 deletions
|
|
@ -348,6 +348,7 @@ void BasicOutputHandler::UpdateVirtualCamOutputSource()
|
|||
|
||||
switch (main->vcamConfig.type) {
|
||||
case VCamOutputType::InternalOutput:
|
||||
DestroyVirtualCameraScene();
|
||||
switch (main->vcamConfig.internal) {
|
||||
case VCamInternalType::Default:
|
||||
source = obs_get_output_source(0);
|
||||
|
|
@ -360,10 +361,11 @@ void BasicOutputHandler::UpdateVirtualCamOutputSource()
|
|||
}
|
||||
break;
|
||||
case VCamOutputType::SceneOutput:
|
||||
DestroyVirtualCameraScene();
|
||||
source = obs_get_source_by_name(main->vcamConfig.scene.c_str());
|
||||
break;
|
||||
case VCamOutputType::SourceOutput:
|
||||
OBSSource s =
|
||||
OBSSourceAutoRelease s =
|
||||
obs_get_source_by_name(main->vcamConfig.source.c_str());
|
||||
|
||||
if (!vCamSourceScene)
|
||||
|
|
@ -380,7 +382,6 @@ void BasicOutputHandler::UpdateVirtualCamOutputSource()
|
|||
|
||||
if (!vCamSourceSceneItem) {
|
||||
vCamSourceSceneItem = obs_scene_add(vCamSourceScene, s);
|
||||
obs_source_release(s);
|
||||
|
||||
obs_sceneitem_set_bounds_type(vCamSourceSceneItem,
|
||||
OBS_BOUNDS_SCALE_INNER);
|
||||
|
|
@ -410,6 +411,11 @@ void BasicOutputHandler::DestroyVirtualCamView()
|
|||
obs_view_destroy(virtualCamView);
|
||||
virtualCamView = nullptr;
|
||||
|
||||
DestroyVirtualCameraScene();
|
||||
}
|
||||
|
||||
void BasicOutputHandler::DestroyVirtualCameraScene()
|
||||
{
|
||||
if (!vCamSourceScene)
|
||||
return;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue