Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  0066.patch   Sprache: unbekannt

 
From: Andreas Pehrson <apehrson@mozilla.com>
Date: Thu, 6 Jan 2022 00:16:00 +0000
Subject: Bug 1748478 - Propagate calculated discarded packets to stats. r=bwc

Differential Revision: https://phabricator.services.mozilla.com/D135061
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/56fbf0469e25fa0d589c51ca112ce534a7c0ab91
---
 video/receive_statistics_proxy.cc   | 9 +++++++--
 video/rtp_video_stream_receiver2.cc | 4 +++-
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/video/receive_statistics_proxy.cc b/video/receive_statistics_proxy.cc
index 3b3bc5bbd2..84f4bfcae1 100644
--- a/video/receive_statistics_proxy.cc
+++ b/video/receive_statistics_proxy.cc
@@ -800,8 +800,13 @@ void ReceiveStatisticsProxy::OnDroppedFrames(uint32_t frames_dropped) {
 }
 
 void ReceiveStatisticsProxy::OnDiscardedPackets(uint32_t packets_discarded) {
-  RTC_DCHECK_RUN_ON(&main_thread_);
-  stats_.packets_discarded += packets_discarded;
+  // Can be called on either the decode queue or the worker thread
+  // See FrameBuffer2 for more details.
+  worker_thread_->PostTask(
+      SafeTask(task_safety_.flag(), [packets_discarded, this]() {
+        RTC_DCHECK_RUN_ON(&main_thread_);
+        stats_.packets_discarded += packets_discarded;
+      }));
 }
 
 void ReceiveStatisticsProxy::OnPreDecode(VideoCodecType codec_type, int qp) {
diff --git a/video/rtp_video_stream_receiver2.cc b/video/rtp_video_stream_receiver2.cc
index 0e251ccb47..d599fa2f23 100644
--- a/video/rtp_video_stream_receiver2.cc
+++ b/video/rtp_video_stream_receiver2.cc
@@ -1270,7 +1270,9 @@ void RtpVideoStreamReceiver2::FrameDecoded(int64_t picture_id) {
     packet_infos_.erase(packet_infos_.begin(),
                         packet_infos_.upper_bound(unwrapped_rtp_seq_num));
     uint32_t num_packets_cleared = packet_buffer_.ClearTo(seq_num);
-    vcm_receive_statistics_->OnDiscardedPackets(num_packets_cleared);
+    if (num_packets_cleared > 0) {
+      vcm_receive_statistics_->OnDiscardedPackets(num_packets_cleared);
+    }
     reference_finder_->ClearTo(seq_num);
   }
 }

[ Dauer der Verarbeitung: 0.16 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge