Bug 1341533 - intiailize framerate and bitrate stats; r?jib
MozReview-Commit-ID: 7qbyXeDOtFO
--- a/dom/media/tests/mochitest/test_peerConnection_stats.html
+++ b/dom/media/tests/mochitest/test_peerConnection_stats.html
@@ -209,50 +209,34 @@ var pedanticChecks = report => {
+ " when mediaType is video");
});
// discardedPackets
ok(stat.discardedPackets < 100, stat.type
+ ".discardedPackets is a sane number for a short test. value="
+ stat.discardedPackets);
// bitrateMean
- // special exception, TODO: Bug 1341533
- if (stat.bitrateMean !== undefined) {
- // TODO: uncomment when Bug 1341533 lands
- // ok(stat.bitrateMean >= 0 && stat.bitrateMean < 2 ** 25,
- // stat.type + ".bitrateMean is sane. value="
- // + stat.bitrateMean);
- }
+ ok(stat.bitrateMean >= 0 && stat.bitrateMean < 2 ** 25,
+ stat.type + ".bitrateMean is sane. value="
+ + stat.bitrateMean);
// bitrateStdDev
- // special exception, TODO Bug 1341533
- if (stat.bitrateStdDev !== undefined) {
- // TODO: uncomment when Bug 1341533 lands
- // ok(stat.bitrateStdDev >= 0 && stat.bitrateStdDev < 2 ** 25,
- // stat.type + ".bitrateStdDev is sane. value="
- // + stat.bitrateStdDev);
- }
+ ok(stat.bitrateStdDev >= 0 && stat.bitrateStdDev < 2 ** 25,
+ stat.type + ".bitrateStdDev is sane. value="
+ + stat.bitrateStdDev);
// framerateMean
- // special exception, TODO: Bug 1341533
- if (stat.framerateMean !== undefined) {
- // TODO: uncomment when Bug 1341533 lands
- // ok(stat.framerateMean >= 0 && stat.framerateMean < 120,
- // stat.type + ".framerateMean is sane. value="
- // + stat.framerateMean);
- }
+ ok(stat.framerateMean >= 0 && stat.framerateMean < 120,
+ stat.type + ".framerateMean is sane. value="
+ + stat.framerateMean);
// framerateStdDev
- // special exception, TODO: Bug 1341533
- if (stat.framerateStdDev !== undefined) {
- // TODO: uncomment when Bug 1341533 lands
- // ok(stat.framerateStdDev >= 0 && stat.framerateStdDev < 120,
- // stat.type + ".framerateStdDev is sane. value="
- // + stat.framerateStdDev);
- }
+ ok(stat.framerateStdDev >= 0 && stat.framerateStdDev < 120,
+ stat.type + ".framerateStdDev is sane. value="
+ + stat.framerateStdDev);
}
} else if (stat.type == "outbound-rtp") {
//
// Required fields
//
// packetsSent
ok(stat.packetsSent > 0 && stat.packetsSent < 10000,
@@ -283,46 +267,34 @@ var pedanticChecks = report => {
});
} else {
expectations.videoOnly.forEach(field => {
ok(stat[field] !== undefined, stat.type + " has field " + field
+ " when mediaType is video");
});
// bitrateMean
- if (stat.bitrateMean !== undefined) {
- // TODO: uncomment when Bug 1341533 lands
- // ok(stat.bitrateMean >= 0 && stat.bitrateMean < 2 ** 25,
- // stat.type + ".bitrateMean is sane. value="
- // + stat.bitrateMean);
- }
+ ok(stat.bitrateMean >= 0 && stat.bitrateMean < 2 ** 25,
+ stat.type + ".bitrateMean is sane. value="
+ + stat.bitrateMean);
// bitrateStdDev
- if (stat.bitrateStdDev !== undefined) {
- // TODO: uncomment when Bug 1341533 lands
- // ok(stat.bitrateStdDev >= 0 && stat.bitrateStdDev < 2 ** 25,
- // stat.type + ".bitrateStdDev is sane. value="
- // + stat.bitrateStdDev);
- }
+ ok(stat.bitrateStdDev >= 0 && stat.bitrateStdDev < 2 ** 25,
+ stat.type + ".bitrateStdDev is sane. value="
+ + stat.bitrateStdDev);
// framerateMean
- if (stat.framerateMean !== undefined) {
- // TODO: uncomment when Bug 1341533 lands
- // ok(stat.framerateMean >= 0 && stat.framerateMean < 120,
- // stat.type + ".framerateMean is sane. value="
- // + stat.framerateMean);
- }
+ ok(stat.framerateMean >= 0 && stat.framerateMean < 120,
+ stat.type + ".framerateMean is sane. value="
+ + stat.framerateMean);
// framerateStdDev
- if (stat.framerateStdDev !== undefined) {
- // TODO: uncomment when Bug 1341533 lands
- // ok(stat.framerateStdDev >= 0 && stat.framerateStdDev < 120,
- // stat.type + ".framerateStdDev is sane. value="
- // + stat.framerateStdDev);
- }
+ ok(stat.framerateStdDev >= 0 && stat.framerateStdDev < 120,
+ stat.type + ".framerateStdDev is sane. value="
+ + stat.framerateStdDev);
// droppedFrames
ok(stat.droppedFrames >= 0,
stat.type + ".droppedFrames is not negative. value="
+ stat.droppedFrames);
}
}
--- a/media/webrtc/signaling/src/media-conduit/VideoConduit.cpp
+++ b/media/webrtc/signaling/src/media-conduit/VideoConduit.cpp
@@ -746,39 +746,37 @@ WebrtcVideoConduit::GetVideoEncoderStats
double* bitrateStdDev,
uint32_t* droppedFrames)
{
{
MutexAutoLock lock(mCodecMutex);
if (!mEngineTransmitting || !mSendStream) {
return false;
}
- mSendStreamStats.GetVideoStreamStats(*framerateMean, *framerateStdDev,
+ mSendStreamStats.DroppedFrames(*droppedFrames);
+ return mSendStreamStats.GetVideoStreamStats(*framerateMean, *framerateStdDev,
*bitrateMean, *bitrateStdDev);
- mSendStreamStats.DroppedFrames(*droppedFrames);
- return true;
}
}
bool
WebrtcVideoConduit::GetVideoDecoderStats(double* framerateMean,
double* framerateStdDev,
double* bitrateMean,
double* bitrateStdDev,
uint32_t* discardedPackets)
{
{
MutexAutoLock lock(mCodecMutex);
if (!mEngineReceiving || !mRecvStream) {
return false;
}
- mRecvStreamStats.GetVideoStreamStats(*framerateMean, *framerateStdDev,
+ mRecvStreamStats.DiscardedPackets(*discardedPackets);
+ return mRecvStreamStats.GetVideoStreamStats(*framerateMean, *framerateStdDev,
*bitrateMean, *bitrateStdDev);
- mRecvStreamStats.DiscardedPackets(*discardedPackets);
- return true;
}
}
bool
WebrtcVideoConduit::GetAVStats(int32_t* jitterBufferDelayMs,
int32_t* playoutBufferDelayMs,
int32_t* avSyncOffsetMs)
{
--- a/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp
+++ b/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp
@@ -3756,21 +3756,21 @@ PeerConnectionImpl::ExecuteStatsQuery_s(
&playoutBufferDelay,
&avSyncDelta)) {
s.mMozJitterBufferDelay.Construct(jitterBufferDelay);
s.mMozAvSyncDelay.Construct(avSyncDelta);
}
}
// Lastly, fill in video decoder stats if this is video
if (!isAudio) {
- double framerateMean;
- double framerateStdDev;
- double bitrateMean;
- double bitrateStdDev;
- uint32_t discardedPackets;
+ double framerateMean = 0;
+ double framerateStdDev = 0;
+ double bitrateMean = 0;
+ double bitrateStdDev = 0;
+ uint32_t discardedPackets = 0;
if (mp.Conduit()->GetVideoDecoderStats(&framerateMean,
&framerateStdDev,
&bitrateMean,
&bitrateStdDev,
&discardedPackets)) {
s.mFramerateMean.Construct(framerateMean);
s.mFramerateStdDev.Construct(framerateStdDev);
s.mBitrateMean.Construct(bitrateMean);