X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=mixer.cpp;h=04a35530cc7af36d7681d1aca2ebef695be960e0;hb=b22d8d6b38d060ccc5dfa591712211caf9ca3968;hp=57cd5bdaf2d30daeabc370bffdffaa7703239ef7;hpb=2464152a8c084f39b52e063da888a6a0b7ea9306;p=nageru diff --git a/mixer.cpp b/mixer.cpp index 57cd5bd..04a3553 100644 --- a/mixer.cpp +++ b/mixer.cpp @@ -493,6 +493,7 @@ void Mixer::thread_func() } if (audio_level_callback != nullptr) { + unique_lock lock(r128_mutex); double loudness_s = r128.loudness_S(); double loudness_i = r128.integrated(); double loudness_range_low = r128.range_min(); @@ -743,7 +744,10 @@ void Mixer::process_audio_one_frame(int64_t frame_pts_int, int num_samples) vector left, right; deinterleave_samples(samples_out, &left, &right); float *ptrs[] = { left.data(), right.data() }; - r128.process(left.size(), ptrs); + { + unique_lock lock(r128_mutex); + r128.process(left.size(), ptrs); + } // Send the samples to the sound card. if (alsa) {