(Auto)update libjingle 68891947-> 68893961
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6383 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
86f613d6b8
commit
3eb2c2f4c3
@ -792,14 +792,45 @@ class VideoMediaChannelTest : public testing::Test,
|
||||
EXPECT_FRAME_WAIT(3, codec.width, codec.height, kTimeout);
|
||||
EXPECT_EQ(2, renderer_.num_set_sizes());
|
||||
}
|
||||
void SendReceiveManyAndGetStats(const cricket::VideoCodec& codec,
|
||||
int duration_sec, int fps) {
|
||||
EXPECT_TRUE(SetOneCodec(codec));
|
||||
EXPECT_TRUE(SetSend(true));
|
||||
EXPECT_TRUE(channel_->SetRender(true));
|
||||
EXPECT_EQ(0, renderer_.num_rendered_frames());
|
||||
for (int i = 0; i < duration_sec; ++i) {
|
||||
for (int frame = 1; frame <= fps; ++frame) {
|
||||
EXPECT_TRUE(WaitAndSendFrame(1000 / fps));
|
||||
EXPECT_FRAME_WAIT(frame + i * fps, codec.width, codec.height, kTimeout);
|
||||
}
|
||||
cricket::VideoMediaInfo info;
|
||||
EXPECT_TRUE(channel_->GetStats(cricket::StatsOptions(), &info));
|
||||
// For webrtc, |framerate_sent| and |framerate_rcvd| depend on periodic
|
||||
// callbacks (1 sec).
|
||||
// Received |fraction_lost| and |packets_lost| are from sent RTCP packet.
|
||||
// One sent packet needed (sent about once per second).
|
||||
// |framerate_input|, |framerate_decoded| and |framerate_output| are using
|
||||
// RateTracker. RateTracker needs to be called twice (with >1 second in
|
||||
// b/w calls) before a framerate is calculated.
|
||||
// Therefore insert frames (and call GetStats each sec) for a few seconds
|
||||
// before testing stats.
|
||||
}
|
||||
talk_base::scoped_ptr<const talk_base::Buffer> p(GetRtpPacket(0));
|
||||
EXPECT_EQ(codec.id, GetPayloadType(p.get()));
|
||||
}
|
||||
|
||||
// Test that stats work properly for a 1-1 call.
|
||||
void GetStats() {
|
||||
SendAndReceive(DefaultCodec());
|
||||
const int kDurationSec = 3;
|
||||
const int kFps = 10;
|
||||
SendReceiveManyAndGetStats(DefaultCodec(), kDurationSec, kFps);
|
||||
|
||||
cricket::VideoMediaInfo info;
|
||||
EXPECT_TRUE(channel_->GetStats(cricket::StatsOptions(), &info));
|
||||
|
||||
ASSERT_EQ(1U, info.senders.size());
|
||||
// TODO(whyuan): bytes_sent and bytes_rcvd are different. Are both payload?
|
||||
// For webrtc, bytes_sent does not include the RTP header length.
|
||||
EXPECT_GT(info.senders[0].bytes_sent, 0);
|
||||
EXPECT_EQ(NumRtpPackets(), info.senders[0].packets_sent);
|
||||
EXPECT_EQ(0.0, info.senders[0].fraction_lost);
|
||||
@ -819,7 +850,8 @@ class VideoMediaChannelTest : public testing::Test,
|
||||
EXPECT_EQ(NumRtpPackets(), info.receivers[0].packets_rcvd);
|
||||
EXPECT_EQ(0.0, info.receivers[0].fraction_lost);
|
||||
EXPECT_EQ(0, info.receivers[0].packets_lost);
|
||||
EXPECT_EQ(0, info.receivers[0].packets_concealed);
|
||||
// TODO(asapersson): Not set for webrtc. Handle missing stats.
|
||||
// EXPECT_EQ(0, info.receivers[0].packets_concealed);
|
||||
EXPECT_EQ(0, info.receivers[0].firs_sent);
|
||||
EXPECT_EQ(0, info.receivers[0].plis_sent);
|
||||
EXPECT_EQ(0, info.receivers[0].nacks_sent);
|
||||
@ -860,16 +892,11 @@ class VideoMediaChannelTest : public testing::Test,
|
||||
|
||||
ASSERT_EQ(1U, info.senders.size());
|
||||
// TODO(whyuan): bytes_sent and bytes_rcvd are different. Are both payload?
|
||||
// For webrtc, bytes_sent does not include the RTP header length.
|
||||
EXPECT_GT(info.senders[0].bytes_sent, 0);
|
||||
EXPECT_EQ(NumRtpPackets(), info.senders[0].packets_sent);
|
||||
EXPECT_EQ(0.0, info.senders[0].fraction_lost);
|
||||
EXPECT_EQ(0, info.senders[0].firs_rcvd);
|
||||
EXPECT_EQ(0, info.senders[0].plis_rcvd);
|
||||
EXPECT_EQ(0, info.senders[0].nacks_rcvd);
|
||||
EXPECT_EQ(DefaultCodec().width, info.senders[0].send_frame_width);
|
||||
EXPECT_EQ(DefaultCodec().height, info.senders[0].send_frame_height);
|
||||
EXPECT_GT(info.senders[0].framerate_input, 0);
|
||||
EXPECT_GT(info.senders[0].framerate_sent, 0);
|
||||
|
||||
ASSERT_EQ(2U, info.receivers.size());
|
||||
for (size_t i = 0; i < info.receivers.size(); ++i) {
|
||||
@ -877,17 +904,8 @@ class VideoMediaChannelTest : public testing::Test,
|
||||
EXPECT_EQ(i + 1, info.receivers[i].ssrcs()[0]);
|
||||
EXPECT_EQ(NumRtpBytes(), info.receivers[i].bytes_rcvd);
|
||||
EXPECT_EQ(NumRtpPackets(), info.receivers[i].packets_rcvd);
|
||||
EXPECT_EQ(0.0, info.receivers[i].fraction_lost);
|
||||
EXPECT_EQ(0, info.receivers[i].packets_lost);
|
||||
EXPECT_EQ(0, info.receivers[i].packets_concealed);
|
||||
EXPECT_EQ(0, info.receivers[i].firs_sent);
|
||||
EXPECT_EQ(0, info.receivers[i].plis_sent);
|
||||
EXPECT_EQ(0, info.receivers[i].nacks_sent);
|
||||
EXPECT_EQ(DefaultCodec().width, info.receivers[i].frame_width);
|
||||
EXPECT_EQ(DefaultCodec().height, info.receivers[i].frame_height);
|
||||
EXPECT_GT(info.receivers[i].framerate_rcvd, 0);
|
||||
EXPECT_GT(info.receivers[i].framerate_decoded, 0);
|
||||
EXPECT_GT(info.receivers[i].framerate_output, 0);
|
||||
}
|
||||
}
|
||||
// Test that stats work properly for a conf call with multiple send streams.
|
||||
|
@ -2323,13 +2323,19 @@ TEST_F(WebRtcVideoMediaChannelTest, DISABLED_SendVp8HdAndReceiveAdaptedVp8Vga) {
|
||||
EXPECT_FRAME_WAIT(1, codec.width, codec.height, kTimeout);
|
||||
}
|
||||
|
||||
// TODO(juberti): Fix this test to tolerate missing stats.
|
||||
#ifdef USE_WEBRTC_DEV_BRANCH
|
||||
TEST_F(WebRtcVideoMediaChannelTest, GetStats) {
|
||||
#else
|
||||
TEST_F(WebRtcVideoMediaChannelTest, DISABLED_GetStats) {
|
||||
#endif
|
||||
Base::GetStats();
|
||||
}
|
||||
|
||||
// TODO(juberti): Fix this test to tolerate missing stats.
|
||||
#ifdef USE_WEBRTC_DEV_BRANCH
|
||||
TEST_F(WebRtcVideoMediaChannelTest, GetStatsMultipleRecvStreams) {
|
||||
#else
|
||||
TEST_F(WebRtcVideoMediaChannelTest, DISABLED_GetStatsMultipleRecvStreams) {
|
||||
#endif
|
||||
Base::GetStatsMultipleRecvStreams();
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user