From 013109796d6fd8972c18488d6987b8a661f7901b Mon Sep 17 00:00:00 2001 From: ziyue <1213642868@qq.com> Date: Tue, 29 Jun 2021 17:53:26 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A1=AE=E4=BF=9D=E7=BA=BF=E7=A8=8B=E5=AE=89?= =?UTF-8?q?=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- player/AudioSRC.cpp | 4 +++- player/AudioSRC.h | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/player/AudioSRC.cpp b/player/AudioSRC.cpp index cb091c46..2af4433f 100644 --- a/player/AudioSRC.cpp +++ b/player/AudioSRC.cpp @@ -113,6 +113,7 @@ int AudioPlayer::getPCMChannel() { } int AudioPlayer::getPCMData(char *buf, int size) { + lock_guard lck(_mtx); if (_buffer.size() < size) { return 0; } @@ -121,6 +122,7 @@ int AudioPlayer::getPCMData(char *buf, int size) { return size; } -void AudioPlayer::inputFrame(const char *data, size_t size){ +void AudioPlayer::inputFrame(const char *data, size_t size) { + lock_guard lck(_mtx); _buffer.append(data, size); } diff --git a/player/AudioSRC.h b/player/AudioSRC.h index 54324847..1b552d09 100644 --- a/player/AudioSRC.h +++ b/player/AudioSRC.h @@ -79,6 +79,7 @@ private: private: int _sample_rate, _channel; SDL_AudioFormat _format; + mutex _mtx; BufferLikeString _buffer; SDLAudioDevice::Ptr _device; };