diff --git a/libobs/obs-source-transition.c b/libobs/obs-source-transition.c index 614cbf8af..d3b718d61 100644 --- a/libobs/obs-source-transition.c +++ b/libobs/obs-source-transition.c @@ -889,7 +889,7 @@ static void process_audio(obs_source_t *transition, obs_source_t *child, uint32_t mixers, size_t channels, size_t sample_rate, obs_transition_audio_mix_callback_t mix) { - bool valid = child && !child->audio_pending; + bool valid = child && !child->audio_pending && child->audio_ts; struct obs_source_audio_mix child_audio; uint64_t ts; size_t pos; @@ -927,7 +927,8 @@ static inline uint64_t calc_min_ts(obs_source_t *sources[2]) uint64_t min_ts = 0; for (size_t i = 0; i < 2; i++) { - if (sources[i] && !sources[i]->audio_pending) { + if (sources[i] && !sources[i]->audio_pending && + sources[i]->audio_ts) { if (!min_ts || sources[i]->audio_ts < min_ts) min_ts = sources[i]->audio_ts; }