diff options
author | Colin Snover | 2017-11-19 20:44:18 -0600 |
---|---|---|
committer | Colin Snover | 2017-11-19 20:53:00 -0600 |
commit | 9fc24e19f234ba53fb450223137a8041932ecd51 (patch) | |
tree | ab5244289cefc3f4c38bdefd1ccfa66a3c1d9c0d | |
parent | dbba22e5710bbd63d83569cae6d873c7b0704745 (diff) | |
download | scummvm-rg350-9fc24e19f234ba53fb450223137a8041932ecd51.tar.gz scummvm-rg350-9fc24e19f234ba53fb450223137a8041932ecd51.tar.bz2 scummvm-rg350-9fc24e19f234ba53fb450223137a8041932ecd51.zip |
AUDIO: Fix data race in PacketizedMP3Stream
-rw-r--r-- | audio/decoders/mp3.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
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; |