libobs: Don't prematurely stop transition audio

Transition audio was programmed to stop if there is no queued audio from
both sources.  Because of that, when a source's audio started after the
transition started, it would cause audio from the source to be excluded
from the transition until the transition had completed because the audio
had already been marked as stopped.

Instead, if there's no audio from the transition sources, the audio
should only be marked as stopped when video has stopped.  This allows
the to/from sources to have an opportunity to start/restart audio during
the transition safely.
This commit is contained in:
jp9000 2016-05-01 15:13:16 -07:00
parent f507d70033
commit 7af9c2d882

View File

@ -824,7 +824,8 @@ bool obs_transition_audio_render(obs_source_t *transition,
if (min_ts)
copy_transition_state(transition, &state);
} else if (transition->transitioning_audio) {
} else if (!transition->transitioning_video &&
transition->transitioning_audio) {
stopped = stop_audio(transition);
}