diff options
Diffstat (limited to 'modules/rtp_rtcp/source/rtp_sender_video.cc')
-rw-r--r-- | modules/rtp_rtcp/source/rtp_sender_video.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/modules/rtp_rtcp/source/rtp_sender_video.cc b/modules/rtp_rtcp/source/rtp_sender_video.cc index ea5f7a7e..c53dd21d 100644 --- a/modules/rtp_rtcp/source/rtp_sender_video.cc +++ b/modules/rtp_rtcp/source/rtp_sender_video.cc @@ -434,17 +434,18 @@ RTPSenderVideo::SendVP8(const FrameType frameType, if (rtpTypeHdr->VP8.temporalIdx == 0 && !(_retransmissionSettings & kRetransmitBaseLayer)) { storage = kDontRetransmit; - } - if (rtpTypeHdr->VP8.temporalIdx > 0 && + } else if (rtpTypeHdr->VP8.temporalIdx != kNoTemporalIdx && !(_retransmissionSettings & kRetransmitHigherLayers)) { storage = kDontRetransmit; } bool last = false; _numberFirstPartition = 0; - // |rtpTypeHdr->VP8.temporalIdx| is zero for base layers, or -1 if the field - // isn't used. We currently only protect base layers. - bool protect = (rtpTypeHdr->VP8.temporalIdx < 1); + // |rtpTypeHdr->VP8.temporalIdx| is zero for base layers, or kNoTemporalIdx + // if the field isn't used (so all layers are the base layer). We currently + // only protect base layers, so look for these two cases. + bool protect = rtpTypeHdr->VP8.temporalIdx == 0 || + rtpTypeHdr->VP8.temporalIdx == kNoTemporalIdx; while (!last) { // Write VP8 Payload Descriptor and VP8 payload. |