fix media states being retriggered multiple times (#54)

This commit is contained in:
WarmUpTill 2020-11-01 18:53:48 +01:00 committed by GitHub
parent 1a3ed0d09c
commit 8e26148255
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 2 deletions

View File

@ -18,6 +18,9 @@ struct MediaSwitch : SceneSwitcherEntry {
bool anyState = false;
time_restriction restriction = TIME_RESTRICTION_NONE;
int64_t time = 0;
bool matched = false;
std::atomic<bool> stopped = false;
std::atomic<bool> ended = false;

View File

@ -151,7 +151,7 @@ void SwitcherData::checkMediaSwitch(bool &match, OBSWeakSource &scene,
bool matched = matchedState && matchedTime;
if (matched) {
if (matched && !mediaSwitch.matched) {
match = true;
scene = (mediaSwitch.usePreviousScene)
? previousScene
@ -160,8 +160,12 @@ void SwitcherData::checkMediaSwitch(bool &match, OBSWeakSource &scene,
if (verbose)
mediaSwitch.logMatch();
break;
}
mediaSwitch.matched = matched;
if (match)
break;
}
}