libobs: Fix variable being access outside of a mutex

audio_input_buf should never be accessed outside of audio_buf_mutex.
This commit is contained in:
jp9000
2016-01-30 08:50:31 -08:00
parent d43d59ca8a
commit 971728a1a7

View File

@@ -3578,6 +3578,12 @@ static inline void process_audio_source_tick(obs_source_t *source,
{
pthread_mutex_lock(&source->audio_buf_mutex);
if (source->audio_input_buf[0].size < size) {
source->audio_pending = true;
pthread_mutex_unlock(&source->audio_buf_mutex);
return;
}
for (size_t ch = 0; ch < channels; ch++)
circlebuf_peek_front(&source->audio_input_buf[ch],
source->audio_output_buf[0][ch],
@@ -3621,7 +3627,7 @@ void obs_source_audio_render(obs_source_t *source, uint32_t mixers,
return;
}
if (!source->audio_ts || source->audio_input_buf[0].size < size) {
if (!source->audio_ts) {
source->audio_pending = true;
return;
}