浏览代码

obs-filters: Fix segfault in Compressor Filter

obs_audio_data* sent to compressor_filter_audio had audio->frames == 0.
The analyze_envelope was trying to access an array at index -1 in result
of that. Just return if no samples are provided.

This fixes Mantis issue: 1261
Shaolin 7 年之前
父节点
当前提交
d5fb5edd93
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      plugins/obs-filters/compressor-filter.c

+ 3 - 0
plugins/obs-filters/compressor-filter.c

@@ -442,6 +442,9 @@ static struct obs_audio_data *compressor_filter_audio(void *data,
 	struct compressor_data *cd = data;
 
 	const uint32_t num_samples = audio->frames;
+	if (num_samples == 0)
+		return audio;
+
 	float **samples = (float**)audio->data;
 
 	pthread_mutex_lock(&cd->sidechain_update_mutex);