Remove use of CriticalSectionScoped(CriticalSectionWrapper& critsect) in VCM.

BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/318005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1159 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
stefan@webrtc.org
2011-12-12 08:18:24 +00:00
parent 981d74ddf4
commit 7889a9b49a
15 changed files with 71 additions and 70 deletions

View File

@@ -62,7 +62,7 @@ VCMJitterBuffer::VCMJitterBuffer(WebRtc_Word32 vcmId, WebRtc_Word32 receiverId,
_vcmId(vcmId),
_receiverId(receiverId),
_running(false),
_critSect(*CriticalSectionWrapper::CreateCriticalSection()),
_critSect(CriticalSectionWrapper::CreateCriticalSection()),
_master(master),
_frameEvent(),
_packetEvent(),
@@ -113,7 +113,7 @@ VCMJitterBuffer::~VCMJitterBuffer()
delete _frameBuffers[i];
}
}
delete &_critSect;
delete _critSect;
}
void
@@ -121,8 +121,8 @@ VCMJitterBuffer::CopyFrom(const VCMJitterBuffer& rhs)
{
if (this != &rhs)
{
_critSect.Enter();
rhs._critSect.Enter();
_critSect->Enter();
rhs._critSect->Enter();
_vcmId = rhs._vcmId;
_receiverId = rhs._receiverId;
_running = rhs._running;
@@ -170,8 +170,8 @@ VCMJitterBuffer::CopyFrom(const VCMJitterBuffer& rhs)
_frameBuffersTSOrder.Insert(_frameBuffers[i]);
}
}
rhs._critSect.Leave();
_critSect.Leave();
rhs._critSect->Leave();
_critSect->Leave();
}
}
@@ -211,7 +211,7 @@ VCMJitterBuffer::Start()
void
VCMJitterBuffer::Stop()
{
_critSect.Enter();
_critSect->Enter();
_running = false;
_lastDecodedTimeStamp = -1;
_lastDecodedSeqNum = -1;
@@ -225,7 +225,7 @@ VCMJitterBuffer::Stop()
}
}
_critSect.Leave();
_critSect->Leave();
_frameEvent.Set(); // Make sure we exit from trying to get a frame to decoder
_packetEvent.Set(); // Make sure we exit from trying to get a sequence number
WEBRTC_TRACE(webrtc::kTraceDebug, webrtc::kTraceVideoCoding, VCMId(_vcmId,
@@ -441,7 +441,7 @@ VCMJitterBuffer::GetFrame(const VCMPacket& packet, VCMEncodedFrame*& frame)
return VCM_UNINITIALIZED;
}
_critSect.Enter();
_critSect->Enter();
// Make sure that old empty packets are inserted.
if (LatestTimestamp(static_cast<WebRtc_UWord32>(_lastDecodedTimeStamp),
packet.timestamp, NULL) == _lastDecodedTimeStamp
@@ -453,10 +453,10 @@ VCMJitterBuffer::GetFrame(const VCMPacket& packet, VCMEncodedFrame*& frame)
if (_numConsecutiveOldPackets > kMaxConsecutiveOldPackets)
{
FlushInternal();
_critSect.Leave();
_critSect->Leave();
return VCM_FLUSH_INDICATOR;
}
_critSect.Leave();
_critSect->Leave();
return VCM_OLD_PACKET_ERROR;
}
_numConsecutiveOldPackets = 0;
@@ -464,7 +464,7 @@ VCMJitterBuffer::GetFrame(const VCMPacket& packet, VCMEncodedFrame*& frame)
frame = _frameBuffersTSOrder.FindFrame(FrameEqualTimestamp,
&packet.timestamp);
_critSect.Leave();
_critSect->Leave();
if (frame != NULL)
{
@@ -478,9 +478,9 @@ VCMJitterBuffer::GetFrame(const VCMPacket& packet, VCMEncodedFrame*& frame)
return VCM_OK;
}
// No free frame! Try to reclaim some...
_critSect.Enter();
_critSect->Enter();
RecycleFramesUntilKeyFrame();
_critSect.Leave();
_critSect->Leave();
frame = GetEmptyFrame();
if (frame != NULL)
@@ -511,7 +511,7 @@ VCMJitterBuffer::GetEmptyFrame()
return NULL;
}
_critSect.Enter();
_critSect->Enter();
for (int i = 0; i <_maxNumberOfFrames; ++i)
{
@@ -519,7 +519,7 @@ VCMJitterBuffer::GetEmptyFrame()
{
// found a free buffer
_frameBuffers[i]->SetState(kStateEmpty);
_critSect.Leave();
_critSect->Leave();
return _frameBuffers[i];
}
}
@@ -532,13 +532,13 @@ VCMJitterBuffer::GetEmptyFrame()
_frameBuffers[_maxNumberOfFrames] = ptrNewBuffer;
_maxNumberOfFrames++;
_critSect.Leave();
_critSect->Leave();
WEBRTC_TRACE(webrtc::kTraceDebug, webrtc::kTraceVideoCoding,
VCMId(_vcmId, _receiverId), "JB(0x%x) FB(0x%x): Jitter buffer "
"increased to:%d frames", this, ptrNewBuffer, _maxNumberOfFrames);
return ptrNewBuffer;
}
_critSect.Leave();
_critSect->Leave();
// We have reached max size, cannot increase JB size
return NULL;
@@ -743,7 +743,7 @@ VCMJitterBuffer::GetCompleteFrameForDecoding(WebRtc_UWord32 maxWaitTimeMS)
return NULL;
}
_critSect.Enter();
_critSect->Enter();
CleanUpOldFrames();
CleanUpSizeZeroFrames();
@@ -763,7 +763,7 @@ VCMJitterBuffer::GetCompleteFrameForDecoding(WebRtc_UWord32 maxWaitTimeMS)
{
if (maxWaitTimeMS == 0)
{
_critSect.Leave();
_critSect->Leave();
return NULL;
}
const WebRtc_Word64 endWaitTimeMs = VCMTickTime::MillisecondTimestamp()
@@ -771,16 +771,16 @@ VCMJitterBuffer::GetCompleteFrameForDecoding(WebRtc_UWord32 maxWaitTimeMS)
WebRtc_Word64 waitTimeMs = maxWaitTimeMS;
while (waitTimeMs > 0)
{
_critSect.Leave();
_critSect->Leave();
const EventTypeWrapper ret =
_frameEvent.Wait(static_cast<WebRtc_UWord32>(waitTimeMs));
_critSect.Enter();
_critSect->Enter();
if (ret == kEventSignaled)
{
// are we closing down the Jitter buffer
if (!_running)
{
_critSect.Leave();
_critSect->Leave();
return NULL;
}
@@ -805,7 +805,7 @@ VCMJitterBuffer::GetCompleteFrameForDecoding(WebRtc_UWord32 maxWaitTimeMS)
}
else
{
_critSect.Leave();
_critSect->Leave();
return NULL;
}
}
@@ -820,7 +820,7 @@ VCMJitterBuffer::GetCompleteFrameForDecoding(WebRtc_UWord32 maxWaitTimeMS)
if (oldestFrame == NULL)
{
// Even after signaling we're still missing a complete continuous frame
_critSect.Leave();
_critSect->Leave();
return NULL;
}
@@ -848,7 +848,7 @@ VCMJitterBuffer::GetCompleteFrameForDecoding(WebRtc_UWord32 maxWaitTimeMS)
_waitingForKeyFrame = false;
}
_critSect.Leave();
_critSect->Leave();
// We have a frame - store seqnum & timestamp
_lastDecodedSeqNum = oldestFrame->GetHighSeqNum();
@@ -903,7 +903,7 @@ VCMJitterBuffer::GetNextTimeStamp(WebRtc_UWord32 maxWaitTimeMS,
return -1;
}
_critSect.Enter();
_critSect->Enter();
// Finding oldest frame ready for decoder, check sequence number and size
CleanUpOldFrames();
@@ -914,7 +914,7 @@ VCMJitterBuffer::GetNextTimeStamp(WebRtc_UWord32 maxWaitTimeMS,
if (oldestFrame == NULL)
{
_packetEvent.Reset();
_critSect.Leave();
_critSect->Leave();
if (_packetEvent.Wait(maxWaitTimeMS) == kEventSignaled)
{
@@ -923,7 +923,7 @@ VCMJitterBuffer::GetNextTimeStamp(WebRtc_UWord32 maxWaitTimeMS,
{
return -1;
}
_critSect.Enter();
_critSect->Enter();
CleanUpOldFrames();
CleanUpSizeZeroFrames();
@@ -931,13 +931,13 @@ VCMJitterBuffer::GetNextTimeStamp(WebRtc_UWord32 maxWaitTimeMS,
}
else
{
_critSect.Enter();
_critSect->Enter();
}
}
if (oldestFrame == NULL)
{
_critSect.Leave();
_critSect->Leave();
return -1;
}
// we have a frame
@@ -950,7 +950,7 @@ VCMJitterBuffer::GetNextTimeStamp(WebRtc_UWord32 maxWaitTimeMS,
const WebRtc_UWord32 timestamp = oldestFrame->TimeStamp();
_critSect.Leave();
_critSect->Leave();
// return current time
return timestamp;