Added log messages for some important call setup events:

- First audio RTP packet sent / received
 - First RTP packet of the first video frame sent / received
 - Last RTP packet of the first video frame sent / received
These timestamps should make it easier to measure how fast the call
becomes established from the user's perspective.

Review URL: https://codereview.webrtc.org/1765443002

Cr-Commit-Position: refs/heads/master@{#12287}
This commit is contained in:
skvlad
2016-04-07 15:36:45 -07:00
committed by Commit bot
parent 6447cbf034
commit 98bb6640d2
16 changed files with 155 additions and 4 deletions

View File

@ -1282,9 +1282,13 @@ void VCMJitterBuffer::CountFrame(const VCMFrameBuffer& frame) {
if (frame.IsSessionComplete()) {
if (frame.FrameType() == kVideoFrameKey) {
++receive_statistics_.key_frames;
if (receive_statistics_.key_frames == 1) {
LOG(LS_INFO) << "Received first complete key frame";
}
} else {
++receive_statistics_.delta_frames;
}
if (stats_callback_ != NULL)
stats_callback_->OnFrameCountsUpdated(receive_statistics_);
}

View File

@ -16,6 +16,7 @@
#include <memory>
#include <vector>
#include "webrtc/base/onetimeevent.h"
#include "webrtc/base/thread_annotations.h"
#include "webrtc/base/thread_checker.h"
#include "webrtc/modules/video_coding/codec_database.h"
@ -219,6 +220,7 @@ class VideoReceiver {
VCMProcessTimer _retransmissionTimer;
VCMProcessTimer _keyRequestTimer;
QpParser qp_parser_;
ThreadUnsafeOneTimeEvent first_frame_received_;
};
} // namespace vcm

View File

@ -323,6 +323,13 @@ int32_t VideoReceiver::Decode(uint16_t maxWaitTimeMs) {
}
}
#endif
if (first_frame_received_()) {
LOG(LS_INFO) << "Received first "
<< (frame->Complete() ? "complete" : "incomplete")
<< " decodable video frame";
}
const int32_t ret = Decode(*frame);
_receiver.ReleaseFrame(frame);
return ret;