| Index: webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc
|
| diff --git a/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc b/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc
|
| index 0bf95b7fe4b14f10d60d4cea44504d5a2083ee0e..df20601554d42c46552dad27dec8215459fb5ec2 100644
|
| --- a/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc
|
| +++ b/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc
|
| @@ -248,7 +248,6 @@ int32_t RTPSenderVideo::SendVideo(const RtpVideoCodecTypes videoType,
|
| cvo_mode = _rtpSender.ActivateCVORtpHeaderExtension();
|
| }
|
|
|
| - uint16_t rtp_header_length = _rtpSender.RTPHeaderLength();
|
| size_t payload_bytes_to_send = payloadSize;
|
| const uint8_t* data = payloadData;
|
|
|
| @@ -265,15 +264,22 @@ int32_t RTPSenderVideo::SendVideo(const RtpVideoCodecTypes videoType,
|
| while (!last) {
|
| uint8_t dataBuffer[IP_PACKET_SIZE] = {0};
|
| size_t payload_bytes_in_packet = 0;
|
| +
|
| + // Write RTP header.
|
| + // Note that RTP header size is dynamically computed since there may be
|
| + // an optional RTP header extension.
|
| + uint16_t rtp_header_length = _rtpSender.BuildRTPheader(
|
| + dataBuffer, payloadType, false, captureTimeStamp, capture_time_ms);
|
| +
|
| if (!packetizer->NextPacket(&dataBuffer[rtp_header_length],
|
| &payload_bytes_in_packet, &last)) {
|
| return -1;
|
| }
|
|
|
| - // Write RTP header.
|
| // Set marker bit true if this is the last packet in frame.
|
| - _rtpSender.BuildRTPheader(
|
| - dataBuffer, payloadType, last, captureTimeStamp, capture_time_ms);
|
| + if (last)
|
| + dataBuffer[1] |= kRtpMarkerBitMask;
|
| +
|
| // According to
|
| // http://www.etsi.org/deliver/etsi_ts/126100_126199/126114/12.07.00_60/
|
| // ts_126114v120700p.pdf Section 7.4.5:
|
|
|