From fdb6359fbb9897fe12fa8454208f35e82887828e Mon Sep 17 00:00:00 2001 From: faiface Date: Thu, 6 Jul 2017 22:26:20 +0200 Subject: [PATCH] speaker: fix race condition --- audio/speaker/speaker.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/audio/speaker/speaker.go b/audio/speaker/speaker.go index d034f76..d08a7a5 100644 --- a/audio/speaker/speaker.go +++ b/audio/speaker/speaker.go @@ -77,6 +77,7 @@ func Update() error { } streamerMu.Unlock() + playerMu.Lock() // convert samples to bytes for i := range samples[:n] { for c := range samples[i] { @@ -94,13 +95,11 @@ func Update() error { buf[i*4+c*2+1] = high } } - // fill the rest with silence for i := n * 4; i < len(buf); i++ { buf[i] = 0 } - - playerMu.Lock() + // send data to speaker player.Write(buf) playerMu.Unlock()