Просмотр исходного кода

libobs: Fix audio not playing back with audio lines

The fix for the race condition that was made in 432017b2c also broke
audio lines.  This fixes audio lines and moves the fix to just the case
where it actually applied.
jp9000 6 лет назад
Родитель
Сommit
cf0a5e5c97
1 измененных файлов с 5 добавлено и 1 удалено
  1. 5 1
      libobs/obs-source.c

+ 5 - 1
libobs/obs-source.c

@@ -4589,12 +4589,16 @@ static inline void process_audio_source_tick(obs_source_t *source,
 void obs_source_audio_render(obs_source_t *source, uint32_t mixers,
 void obs_source_audio_render(obs_source_t *source, uint32_t mixers,
 			     size_t channels, size_t sample_rate, size_t size)
 			     size_t channels, size_t sample_rate, size_t size)
 {
 {
-	if (!source->audio_output_buf[0][0] || !source->context.data) {
+	if (!source->audio_output_buf[0][0]) {
 		source->audio_pending = true;
 		source->audio_pending = true;
 		return;
 		return;
 	}
 	}
 
 
 	if (source->info.audio_render) {
 	if (source->info.audio_render) {
+		if (!source->context.data) {
+			source->audio_pending = true;
+			return;
+		}
 		custom_audio_render(source, mixers, channels, sample_rate);
 		custom_audio_render(source, mixers, channels, sample_rate);
 		return;
 		return;
 	}
 	}