From 9fc24e19f234ba53fb450223137a8041932ecd51 Mon Sep 17 00:00:00 2001 From: Colin Snover Date: Sun, 19 Nov 2017 20:44:18 -0600 Subject: AUDIO: Fix data race in PacketizedMP3Stream --- audio/decoders/mp3.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'audio') diff --git a/audio/decoders/mp3.cpp b/audio/decoders/mp3.cpp index 93c21b9072..54da6c584d 100644 --- a/audio/decoders/mp3.cpp +++ b/audio/decoders/mp3.cpp @@ -119,6 +119,7 @@ public: // AudioStream API int readBuffer(int16 *buffer, const int numSamples); + bool endOfData() const; bool endOfStream() const; // PacketizedAudioStream API @@ -484,12 +485,17 @@ int PacketizedMP3Stream::readBuffer(int16 *buffer, const int numSamples) { return samples; } +bool PacketizedMP3Stream::endOfData() const { + Common::StackLock lock(_mutex); + return BaseMP3Stream::endOfData(); +} + bool PacketizedMP3Stream::endOfStream() const { + Common::StackLock lock(_mutex); + if (!endOfData()) return false; - // Lock the mutex - Common::StackLock lock(_mutex); if (!_queue.empty()) return false; -- cgit v1.2.3