summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjustinlin@chromium.org <justinlin@chromium.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2013-05-13 22:59:00 +0000
committerjustinlin@chromium.org <justinlin@chromium.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2013-05-13 22:59:00 +0000
commitd474c1380229d8b301f6cb4c3b84ad0d4ac18632 (patch)
tree9ef5e615784da1d29882ccc6fa479101307984f2
parentdcfeff72b4fdd33b544f9ba88144e4240cc8a255 (diff)
downloadwebrtc-d474c1380229d8b301f6cb4c3b84ad0d4ac18632.tar.gz
Add more tracing for key frames.
R=mallinath@webrtc.org, stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1428004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4015 4adac7df-926f-26a2-2b94-8c16560cd09d
-rw-r--r--modules/rtp_rtcp/source/rtcp_receiver.cc2
-rw-r--r--modules/rtp_rtcp/source/rtp_sender.cc12
-rw-r--r--modules/video_coding/main/source/jitter_buffer.cc2
-rw-r--r--modules/video_coding/main/source/video_coding_impl.cc11
-rw-r--r--video_engine/vie_encoder.cc1
5 files changed, 22 insertions, 6 deletions
diff --git a/modules/rtp_rtcp/source/rtcp_receiver.cc b/modules/rtp_rtcp/source/rtcp_receiver.cc
index 3b9659a5..bfb5f509 100644
--- a/modules/rtp_rtcp/source/rtcp_receiver.cc
+++ b/modules/rtp_rtcp/source/rtcp_receiver.cc
@@ -918,6 +918,8 @@ void RTCPReceiver::HandlePLI(RTCPUtility::RTCPParserV2& rtcpParser,
RTCPPacketInformation& rtcpPacketInformation) {
const RTCPUtility::RTCPPacket& rtcpPacket = rtcpParser.Packet();
if (_SSRC == rtcpPacket.PLI.MediaSSRC) {
+ TRACE_EVENT_INSTANT0("webrtc_rtp", "PLI");
+
// Received a signal that we need to send a new key frame.
rtcpPacketInformation.rtcpPacketTypeFlags |= kRtcpPli;
}
diff --git a/modules/rtp_rtcp/source/rtp_sender.cc b/modules/rtp_rtcp/source/rtp_sender.cc
index b4cdf696..cfc7c662 100644
--- a/modules/rtp_rtcp/source/rtp_sender.cc
+++ b/modules/rtp_rtcp/source/rtp_sender.cc
@@ -330,9 +330,6 @@ int32_t RTPSender::SendOutgoingData(
const uint8_t *payload_data, const uint32_t payload_size,
const RTPFragmentationHeader *fragmentation,
VideoCodecInformation *codec_info, const RTPVideoTypeHeader *rtp_type_hdr) {
- TRACE_EVENT2("webrtc_rtp", "RTPSender::SendOutgoingData",
- "timestsamp", capture_timestamp,
- "frame_type", FrameTypeToString(frame_type));
{
// Drop this packet if we're not sending media packets.
CriticalSectionScoped cs(send_critsect_);
@@ -348,6 +345,15 @@ int32_t RTPSender::SendOutgoingData(
return -1;
}
+ if (frame_type == kVideoFrameKey) {
+ TRACE_EVENT_INSTANT1("webrtc_rtp", "SendKeyFrame",
+ "timestamp", capture_timestamp);
+ } else {
+ TRACE_EVENT_INSTANT2("webrtc_rtp", "SendFrame",
+ "timestsamp", capture_timestamp,
+ "frame_type", FrameTypeToString(frame_type));
+ }
+
if (audio_configured_) {
assert(frame_type == kAudioFrameSpeech || frame_type == kAudioFrameCN ||
frame_type == kFrameEmpty);
diff --git a/modules/video_coding/main/source/jitter_buffer.cc b/modules/video_coding/main/source/jitter_buffer.cc
index da91b681..ea26032b 100644
--- a/modules/video_coding/main/source/jitter_buffer.cc
+++ b/modules/video_coding/main/source/jitter_buffer.cc
@@ -981,6 +981,8 @@ bool VCMJitterBuffer::HandleTooOldPackets(uint16_t latest_sequence_number) {
void VCMJitterBuffer::DropPacketsFromNackList(
uint16_t last_decoded_sequence_number) {
+ TRACE_EVENT_INSTANT1("webrtc", "JB::DropPacketsFromNackList",
+ "seqnum", last_decoded_sequence_number);
// Erase all sequence numbers from the NACK list which we won't need any
// longer.
missing_sequence_numbers_.erase(missing_sequence_numbers_.begin(),
diff --git a/modules/video_coding/main/source/video_coding_impl.cc b/modules/video_coding/main/source/video_coding_impl.cc
index 4ed2e805..f2ad9875 100644
--- a/modules/video_coding/main/source/video_coding_impl.cc
+++ b/modules/video_coding/main/source/video_coding_impl.cc
@@ -1248,9 +1248,14 @@ VideoCodingModuleImpl::IncomingPacket(const uint8_t* incomingPayload,
uint32_t payloadLength,
const WebRtcRTPHeader& rtpInfo)
{
- TRACE_EVENT2("webrtc", "VCM::Packet",
- "seqnum", rtpInfo.header.sequenceNumber,
- "type", rtpInfo.frameType);
+ if (rtpInfo.frameType == kVideoFrameKey) {
+ TRACE_EVENT1("webrtc", "VCM::PacketKeyFrame",
+ "seqnum", rtpInfo.header.sequenceNumber);
+ } else {
+ TRACE_EVENT2("webrtc", "VCM::Packet",
+ "seqnum", rtpInfo.header.sequenceNumber,
+ "type", rtpInfo.frameType);
+ }
if (incomingPayload == NULL) {
// The jitter buffer doesn't handle non-zero payload lengths for packets
// without payload.
diff --git a/video_engine/vie_encoder.cc b/video_engine/vie_encoder.cc
index e0be2523..32a6f2a7 100644
--- a/video_engine/vie_encoder.cc
+++ b/video_engine/vie_encoder.cc
@@ -926,6 +926,7 @@ void ViEEncoder::OnReceivedIntraFrameRequest(uint32_t ssrc) {
// Key frame request from remote side, signal to VCM.
WEBRTC_TRACE(webrtc::kTraceStateInfo, webrtc::kTraceVideo,
ViEId(engine_id_, channel_id_), "%s", __FUNCTION__);
+ TRACE_EVENT0("webrtc", "OnKeyFrameRequest");
int idx = 0;
{