Bug 1341533 - intiailize framerate and bitrate stats; r?jib draft
authorNico Grunbaum
Wed, 22 Feb 2017 09:50:31 -0800
changeset 494255 96ae4b51f0a93250618fd334ddba671e16ce116c
parent 494254 2e025eb770e85de558fb72825539903b3e049172
child 548064 62e1e43499dc2da28c5ac6820c95177c54bb1233
push id47993
push userna-g@nostrum.com
push dateMon, 06 Mar 2017 22:31:55 +0000
reviewersjib
bugs1341533
milestone54.0a1
Bug 1341533 - intiailize framerate and bitrate stats; r?jib MozReview-Commit-ID: 7qbyXeDOtFO
dom/media/tests/mochitest/test_peerConnection_stats.html
media/webrtc/signaling/src/media-conduit/VideoConduit.cpp
media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp
--- 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);