Fix locking in RTPFile class

This code used to have a reader-writer lock, and call
std::queue::pop() with only a reader lock, which appears unsafe. Code
changed to use a plain webrtc::Mutex.

Bug: webrtc:12102
Change-Id: Icbea17a824c91975dfebd4d05bbd0c21e1abeadc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/190700
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32511}
diff --git a/modules/audio_coding/test/RTPFile.cc b/modules/audio_coding/test/RTPFile.cc
index 9681a45..0c44e42 100644
--- a/modules/audio_coding/test/RTPFile.cc
+++ b/modules/audio_coding/test/RTPFile.cc
@@ -80,14 +80,6 @@
   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 @@
                       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 @@
 }
 
 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) {