From a30eb317292ffc5bcd354bab419c2a28937cf569 Mon Sep 17 00:00:00 2001 From: "stefan@webrtc.org" Date: Fri, 28 Sep 2012 11:13:08 +0000 Subject: [PATCH] Make sure FEC packets aren't passed to the VCM with non-zero length. BUG=902 Review URL: https://webrtc-codereview.appspot.com/843007 git-svn-id: http://webrtc.googlecode.com/svn/trunk@2840 4adac7df-926f-26a2-2b94-8c16560cd09d --- src/modules/video_coding/main/source/video_coding_impl.cc | 6 ++++++ src/video_engine/vie_receiver.cc | 1 - 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/modules/video_coding/main/source/video_coding_impl.cc b/src/modules/video_coding/main/source/video_coding_impl.cc index c73fb30007..a0c853f75d 100644 --- a/src/modules/video_coding/main/source/video_coding_impl.cc +++ b/src/modules/video_coding/main/source/video_coding_impl.cc @@ -1178,6 +1178,12 @@ VideoCodingModuleImpl::IncomingPacket(const WebRtc_UWord8* incomingPayload, WebRtc_UWord32 payloadLength, const WebRtcRTPHeader& rtpInfo) { + if (incomingPayload == NULL) { + // The jitter buffer doesn't handle non-zero payload lengths for packets + // without payload. + // TODO(holmer): We should fix this in the jitter buffer. + payloadLength = 0; + } const VCMPacket packet(incomingPayload, payloadLength, rtpInfo); WebRtc_Word32 ret; if (_dualReceiver.State() != kPassive) diff --git a/src/video_engine/vie_receiver.cc b/src/video_engine/vie_receiver.cc index 12d1847077..f3c6a6a02c 100644 --- a/src/video_engine/vie_receiver.cc +++ b/src/video_engine/vie_receiver.cc @@ -137,7 +137,6 @@ WebRtc_Word32 ViEReceiver::OnReceivedPayloadData( packet_size, TickTime::MillisecondTimestamp(), compensated_timestamp); - if (vcm_->IncomingPacket(payload_data, payload_size, *rtp_header) != 0) { // Check this... return -1;