From b6433b7a1e0771aea3701279f6745543070b0589 Mon Sep 17 00:00:00 2001 From: "braveyao@webrtc.org" Date: Fri, 26 Jul 2013 09:02:46 +0000 Subject: [PATCH] Access receiving_ under receive_cs critical section Note: InsertRTPPacket/InsertRTCPPacket could be merged into ReceivedRTPPacket, as there are no other callers. R=mflodman@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1869005 git-svn-id: http://webrtc.googlecode.com/svn/trunk@4410 4adac7df-926f-26a2-2b94-8c16560cd09d --- webrtc/video_engine/vie_receiver.cc | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/webrtc/video_engine/vie_receiver.cc b/webrtc/video_engine/vie_receiver.cc index a39dbee43c..0344920111 100644 --- a/webrtc/video_engine/vie_receiver.cc +++ b/webrtc/video_engine/vie_receiver.cc @@ -111,18 +111,12 @@ bool ViEReceiver::SetReceiveAbsoluteSendTimeStatus(bool enable, int id) { int ViEReceiver::ReceivedRTPPacket(const void* rtp_packet, int rtp_packet_length) { - if (!receiving_) { - return -1; - } return InsertRTPPacket(static_cast(rtp_packet), rtp_packet_length); } int ViEReceiver::ReceivedRTCPPacket(const void* rtcp_packet, int rtcp_packet_length) { - if (!receiving_) { - return -1; - } return InsertRTCPPacket(static_cast(rtcp_packet), rtcp_packet_length); } @@ -149,6 +143,9 @@ int ViEReceiver::InsertRTPPacket(const int8_t* rtp_packet, { CriticalSectionScoped cs(receive_cs_.get()); + if (!receiving_) { + return -1; + } if (external_decryption_) { int decrypted_length = kViEMaxMtu; @@ -198,6 +195,9 @@ int ViEReceiver::InsertRTCPPacket(const int8_t* rtcp_packet, int received_packet_length = rtcp_packet_length; { CriticalSectionScoped cs(receive_cs_.get()); + if (!receiving_) { + return -1; + } if (external_decryption_) { int decrypted_length = kViEMaxMtu; @@ -239,10 +239,12 @@ int ViEReceiver::InsertRTCPPacket(const int8_t* rtcp_packet, } void ViEReceiver::StartReceive() { + CriticalSectionScoped cs(receive_cs_.get()); receiving_ = true; } void ViEReceiver::StopReceive() { + CriticalSectionScoped cs(receive_cs_.get()); receiving_ = false; }