浏览代码

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 5 年之前
父节点
当前提交
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,
 			     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;
 		return;
 	}
 
 	if (source->info.audio_render) {
+		if (!source->context.data) {
+			source->audio_pending = true;
+			return;
+		}
 		custom_audio_render(source, mixers, channels, sample_rate);
 		return;
 	}