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@4015 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_receiver.cc b/webrtc/modules/rtp_rtcp/source/rtcp_receiver.cc
index 3b9659a..bfb5f50 100644
--- a/webrtc/modules/rtp_rtcp/source/rtcp_receiver.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtcp_receiver.cc
@@ -918,6 +918,8 @@
                              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/webrtc/modules/rtp_rtcp/source/rtp_sender.cc b/webrtc/modules/rtp_rtcp/source/rtp_sender.cc
index b4cdf69..cfc7c66 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_sender.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtp_sender.cc
@@ -330,9 +330,6 @@
     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 @@
     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/webrtc/modules/video_coding/main/source/jitter_buffer.cc b/webrtc/modules/video_coding/main/source/jitter_buffer.cc
index da91b68..ea26032 100644
--- a/webrtc/modules/video_coding/main/source/jitter_buffer.cc
+++ b/webrtc/modules/video_coding/main/source/jitter_buffer.cc
@@ -981,6 +981,8 @@
 
 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/webrtc/modules/video_coding/main/source/video_coding_impl.cc b/webrtc/modules/video_coding/main/source/video_coding_impl.cc
index 4ed2e80..f2ad987 100644
--- a/webrtc/modules/video_coding/main/source/video_coding_impl.cc
+++ b/webrtc/modules/video_coding/main/source/video_coding_impl.cc
@@ -1248,9 +1248,14 @@
                                     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/webrtc/video_engine/vie_encoder.cc b/webrtc/video_engine/vie_encoder.cc
index e0be252..32a6f2a 100644
--- a/webrtc/video_engine/vie_encoder.cc
+++ b/webrtc/video_engine/vie_encoder.cc
@@ -926,6 +926,7 @@
   // 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;
   {