mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-03-21 17:34:57 -05:00
Removed transition wait (buggy)
This commit is contained in:
parent
73e1849c65
commit
7befd75bb5
|
|
@ -2456,9 +2456,9 @@ void SwitcherData::Thread()
|
||||||
if (transitionWs){
|
if (transitionWs){
|
||||||
transition = obs_weak_source_get_source(transitionWs);
|
transition = obs_weak_source_get_source(transitionWs);
|
||||||
|
|
||||||
lock.unlock();
|
//lock.unlock();
|
||||||
transitionCv.wait(transitionLock, transitionActiveCheck);
|
//transitionCv.wait(transitionLock, transitionActiveCheck);
|
||||||
lock.lock();
|
//lock.lock();
|
||||||
|
|
||||||
obs_frontend_set_current_transition(transition);
|
obs_frontend_set_current_transition(transition);
|
||||||
}
|
}
|
||||||
|
|
@ -2591,9 +2591,9 @@ void SwitcherData::Thread()
|
||||||
else
|
else
|
||||||
transition = obs_weak_source_get_source(s.transition);
|
transition = obs_weak_source_get_source(s.transition);
|
||||||
|
|
||||||
lock.unlock();
|
//lock.unlock();
|
||||||
transitionCv.wait(transitionLock, transitionActiveCheck);
|
//transitionCv.wait(transitionLock, transitionActiveCheck);
|
||||||
lock.lock();
|
//lock.lock();
|
||||||
|
|
||||||
obs_frontend_set_current_transition(transition);
|
obs_frontend_set_current_transition(transition);
|
||||||
obs_frontend_set_current_scene(source);
|
obs_frontend_set_current_scene(source);
|
||||||
|
|
@ -2809,18 +2809,18 @@ void SwitcherData::Thread()
|
||||||
if (nextTransitionWs)
|
if (nextTransitionWs)
|
||||||
{
|
{
|
||||||
obs_source_t* nextTransition = obs_weak_source_get_source(nextTransitionWs);
|
obs_source_t* nextTransition = obs_weak_source_get_source(nextTransitionWs);
|
||||||
lock.unlock();
|
//lock.unlock();
|
||||||
transitionCv.wait(transitionLock, transitionActiveCheck);
|
//transitionCv.wait(transitionLock, transitionActiveCheck);
|
||||||
lock.lock();
|
//lock.lock();
|
||||||
obs_frontend_set_current_transition(nextTransition);
|
obs_frontend_set_current_transition(nextTransition);
|
||||||
obs_source_release(nextTransition);
|
obs_source_release(nextTransition);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
obs_source_t* nextTransition = obs_weak_source_get_source(transition);
|
obs_source_t* nextTransition = obs_weak_source_get_source(transition);
|
||||||
lock.unlock();
|
//lock.unlock();
|
||||||
transitionCv.wait(transitionLock, transitionActiveCheck);
|
//transitionCv.wait(transitionLock, transitionActiveCheck);
|
||||||
lock.lock();
|
//lock.lock();
|
||||||
obs_frontend_set_current_transition(nextTransition);
|
obs_frontend_set_current_transition(nextTransition);
|
||||||
obs_source_release(nextTransition);
|
obs_source_release(nextTransition);
|
||||||
}
|
}
|
||||||
|
|
@ -2956,12 +2956,14 @@ static void OBSEvent(enum obs_frontend_event event, void* switcher)
|
||||||
if (event == OBS_FRONTEND_EVENT_SCENE_CHANGED)
|
if (event == OBS_FRONTEND_EVENT_SCENE_CHANGED)
|
||||||
{
|
{
|
||||||
SwitcherData* s = (SwitcherData*)switcher;
|
SwitcherData* s = (SwitcherData*)switcher;
|
||||||
|
//lock_guard<mutex> lock(s->transitionMutex);
|
||||||
s->stop ? s->transitionActive = false : s->transitionActive = true;
|
s->stop ? s->transitionActive = false : s->transitionActive = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event == OBS_FRONTEND_EVENT_TRANSITION_STOPPED)
|
if (event == OBS_FRONTEND_EVENT_TRANSITION_STOPPED)
|
||||||
{
|
{
|
||||||
SwitcherData* s = (SwitcherData*)switcher;
|
SwitcherData* s = (SwitcherData*)switcher;
|
||||||
|
//lock_guard<mutex> lock(s->transitionMutex);
|
||||||
if (s->transitionActive)
|
if (s->transitionActive)
|
||||||
{
|
{
|
||||||
/*this sleep seems to be necessary
|
/*this sleep seems to be necessary
|
||||||
|
|
@ -2976,6 +2978,7 @@ static void OBSEvent(enum obs_frontend_event event, void* switcher)
|
||||||
if (event == OBS_FRONTEND_EVENT_TRANSITION_CHANGED)
|
if (event == OBS_FRONTEND_EVENT_TRANSITION_CHANGED)
|
||||||
{
|
{
|
||||||
SwitcherData* s = (SwitcherData*)switcher;
|
SwitcherData* s = (SwitcherData*)switcher;
|
||||||
|
//lock_guard<mutex> lock(s->transitionMutex);
|
||||||
if (s->transitionActive)
|
if (s->transitionActive)
|
||||||
{
|
{
|
||||||
s->transitionActive = false;
|
s->transitionActive = false;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user