diff --git a/modules/audio_coding/BUILD.gn b/modules/audio_coding/BUILD.gn index bcbf9f37bb..e440b43da7 100644 --- a/modules/audio_coding/BUILD.gn +++ b/modules/audio_coding/BUILD.gn @@ -1390,7 +1390,6 @@ if (rtc_include_tests) { "../../rtc_base:checks", "../../rtc_base:rtc_base_approved", "../../rtc_base/synchronization:mutex", - "../../rtc_base/synchronization:rw_lock_wrapper", "../../test:fileutils", "../../test:test_support", ] diff --git a/modules/audio_coding/test/RTPFile.cc b/modules/audio_coding/test/RTPFile.cc index 9681a453d9..0c44e4298c 100644 --- a/modules/audio_coding/test/RTPFile.cc +++ b/modules/audio_coding/test/RTPFile.cc @@ -80,14 +80,6 @@ RTPPacket::~RTPPacket() { delete[] payloadData; } -RTPBuffer::RTPBuffer() { - _queueRWLock = RWLockWrapper::CreateRWLock(); -} - -RTPBuffer::~RTPBuffer() { - delete _queueRWLock; -} - void RTPBuffer::Write(const uint8_t payloadType, const uint32_t timeStamp, const int16_t seqNo, @@ -96,19 +88,20 @@ void RTPBuffer::Write(const uint8_t payloadType, uint32_t frequency) { RTPPacket* packet = new RTPPacket(payloadType, timeStamp, seqNo, payloadData, payloadSize, frequency); - _queueRWLock->AcquireLockExclusive(); + MutexLock lock(&mutex_); _rtpQueue.push(packet); - _queueRWLock->ReleaseLockExclusive(); } size_t RTPBuffer::Read(RTPHeader* rtp_header, uint8_t* payloadData, size_t payloadSize, uint32_t* offset) { - _queueRWLock->AcquireLockShared(); - RTPPacket* packet = _rtpQueue.front(); - _rtpQueue.pop(); - _queueRWLock->ReleaseLockShared(); + RTPPacket* packet; + { + MutexLock lock(&mutex_); + packet = _rtpQueue.front(); + _rtpQueue.pop(); + } rtp_header->markerBit = 1; rtp_header->payloadType = packet->payloadType; rtp_header->sequenceNumber = packet->seqNo; @@ -125,10 +118,8 @@ size_t RTPBuffer::Read(RTPHeader* rtp_header, } bool RTPBuffer::EndOfFile() const { - _queueRWLock->AcquireLockShared(); - bool eof = _rtpQueue.empty(); - _queueRWLock->ReleaseLockShared(); - return eof; + MutexLock lock(&mutex_); + return _rtpQueue.empty(); } void RTPFile::Open(const char* filename, const char* mode) { diff --git a/modules/audio_coding/test/RTPFile.h b/modules/audio_coding/test/RTPFile.h index 74fe9e8013..a3d1520922 100644 --- a/modules/audio_coding/test/RTPFile.h +++ b/modules/audio_coding/test/RTPFile.h @@ -16,7 +16,8 @@ #include #include "api/rtp_headers.h" -#include "rtc_base/synchronization/rw_lock_wrapper.h" +#include "rtc_base/synchronization/mutex.h" +#include "rtc_base/thread_annotations.h" namespace webrtc { @@ -70,9 +71,9 @@ class RTPPacket { class RTPBuffer : public RTPStream { public: - RTPBuffer(); + RTPBuffer() = default; - ~RTPBuffer(); + ~RTPBuffer() = default; void Write(const uint8_t payloadType, const uint32_t timeStamp, @@ -89,8 +90,8 @@ class RTPBuffer : public RTPStream { bool EndOfFile() const override; private: - RWLockWrapper* _queueRWLock; - std::queue _rtpQueue; + mutable Mutex mutex_; + std::queue _rtpQueue RTC_GUARDED_BY(&mutex_); }; class RTPFile : public RTPStream {