Index: webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc |
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc b/webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc |
index 2aa4961cdc77d98490c607ed23945617228bf760..7f03c5344ead779312b81468b4701a3bf0594d3e 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc |
+++ b/webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc |
@@ -12,6 +12,7 @@ |
#include <string.h> |
+#include "webrtc/base/logging.h" |
#include "webrtc/base/trace_event.h" |
#include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" |
#include "webrtc/modules/rtp_rtcp/source/byte_io.h" |
@@ -45,7 +46,8 @@ RTPSenderAudio::RTPSenderAudio(Clock* clock, |
_cngSWBPayloadType(-1), |
_cngFBPayloadType(-1), |
_lastPayloadType(-1), |
- _audioLevel_dBov(0) {} |
+ _audioLevel_dBov(0), |
+ _firstPacketSent(false) {} |
RTPSenderAudio::~RTPSenderAudio() {} |
@@ -342,9 +344,15 @@ int32_t RTPSenderAudio::SendAudio(FrameType frameType, |
memcpy(dataBuffer + rtpHeaderLength, payloadData, payloadSize); |
} |
} |
+ |
+ bool firstPacket = false; |
{ |
CriticalSectionScoped cs(_sendAudioCritsect.get()); |
_lastPayloadType = payloadType; |
+ if (_firstPacketSent) { |
+ firstPacket = true; |
+ _firstPacketSent = true; |
+ } |
} |
// Update audio level extension, if included. |
size_t packetSize = payloadSize + rtpHeaderLength; |
@@ -357,10 +365,15 @@ int32_t RTPSenderAudio::SendAudio(FrameType frameType, |
TRACE_EVENT_ASYNC_END2("webrtc", "Audio", captureTimeStamp, "timestamp", |
_rtpSender->Timestamp(), "seqnum", |
_rtpSender->SequenceNumber()); |
- return _rtpSender->SendToNetwork(dataBuffer, payloadSize, rtpHeaderLength, |
+ int32_t sendResult = _rtpSender->SendToNetwork(dataBuffer, payloadSize, |
+ rtpHeaderLength, |
TickTime::MillisecondTimestamp(), |
kAllowRetransmission, |
RtpPacketSender::kHighPriority); |
+ if (firstPacket) { |
+ LOG(LS_INFO) << "First audio RTP packet sent"; |
+ } |
+ return sendResult; |
} |
// Audio level magnitude and voice activity flag are set for each RTP packet |