From 2bdd4bbfd036efc690676f345b167e427f09941e Mon Sep 17 00:00:00 2001 From: Nicholas Nethercote Date: Fri, 2 Aug 2019 12:33:17 +0000 Subject: [PATCH] Bug 1570212 - Convert media.webrtc.net.force_disable_rtcp_reception to a static pref. r=jya Differential Revision: https://phabricator.services.mozilla.com/D40154 --HG-- extra : moz-landing-system : lando --- .../src/mediapipeline/MediaPipeline.cpp | 18 ++---------------- .../src/mediapipeline/MediaPipeline.h | 5 ----- modules/libpref/init/StaticPrefList.yaml | 6 ++++++ 3 files changed, 8 insertions(+), 21 deletions(-) diff --git a/media/webrtc/signaling/src/mediapipeline/MediaPipeline.cpp b/media/webrtc/signaling/src/mediapipeline/MediaPipeline.cpp index e9d58c364e02..295f2eba43ec 100644 --- a/media/webrtc/signaling/src/mediapipeline/MediaPipeline.cpp +++ b/media/webrtc/signaling/src/mediapipeline/MediaPipeline.cpp @@ -34,6 +34,7 @@ #include "mozilla/Preferences.h" #include "mozilla/SharedThreadPool.h" #include "mozilla/Sprintf.h" +#include "mozilla/StaticPrefs_media.h" #include "mozilla/TaskQueue.h" #include "mozilla/UniquePtr.h" #include "mozilla/UniquePtrExtensions.h" @@ -64,14 +65,6 @@ mozilla::LazyLogModule gMediaPipelineLog("MediaPipeline"); namespace mozilla { -// When enabled, this pref disables the reception of RTCP. This is used -// for testing. -static const auto kQuashRtcpRxPref = - NS_LITERAL_CSTRING("media.webrtc.net.force_disable_rtcp_reception"); -Atomic MediaPipeline::sPrefsRegistered(false); -Atomic MediaPipeline::sForceDisableRtcpReceptionPref( - false); - // An async inserter for audio data, to avoid running audio codec encoders // on the MSG/input audio thread. Basically just bounces all the audio // data to a single audio processing/input queue. We could if we wanted to @@ -271,13 +264,6 @@ MediaPipeline::MediaPipeline(const std::string& aPc, } else { mConduit->SetTransmitterTransport(mTransport); } - if (!sPrefsRegistered.exchange(true)) { - MOZ_ASSERT(Preferences::IsServiceAvailable()); - Preferences::AddAtomicBoolVarCache(&sForceDisableRtcpReceptionPref, - kQuashRtcpRxPref, false); - MOZ_LOG(gMediaPipelineLog, LogLevel::Info, - ("Creating pref cache: %s succeeded", kQuashRtcpRxPref.get())); - } } MediaPipeline::~MediaPipeline() { @@ -619,7 +605,7 @@ void MediaPipeline::RtcpPacketReceived(MediaPacket& packet) { mPacketDumper->Dump(mLevel, dom::mozPacketDumpType::Rtcp, false, packet.data(), packet.len()); - if (sForceDisableRtcpReceptionPref) { + if (StaticPrefs::media_webrtc_net_force_disable_rtcp_reception()) { MOZ_LOG(gMediaPipelineLog, LogLevel::Debug, ("%s RTCP packet forced to be dropped", mDescription.c_str())); return; diff --git a/media/webrtc/signaling/src/mediapipeline/MediaPipeline.h b/media/webrtc/signaling/src/mediapipeline/MediaPipeline.h index dbff66466ffb..7cb5b37dc97f 100644 --- a/media/webrtc/signaling/src/mediapipeline/MediaPipeline.h +++ b/media/webrtc/signaling/src/mediapipeline/MediaPipeline.h @@ -260,11 +260,6 @@ class MediaPipeline : public sigslot::has_slots<> { bool IsRtp(const unsigned char* aData, size_t aLen) const; // Must be called on the STS thread. Must be called after DetachMedia(). void DetachTransport_s(); - - // Cached preferences are not tolerant of being registered more than once - static Atomic sPrefsRegistered; - // Cached pref media.webrtc.net.force_disable_rtcp_reception - static Atomic sForceDisableRtcpReceptionPref; }; // A specialization of pipeline for reading from an input device diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml index be0fdb0a0feb..307b9e388b92 100644 --- a/modules/libpref/init/StaticPrefList.yaml +++ b/modules/libpref/init/StaticPrefList.yaml @@ -4918,6 +4918,12 @@ value: false mirror: always +# This pref disables the reception of RTCP. It is used for testing. +- name: media.webrtc.net.force_disable_rtcp_reception + type: ReleaseAcquireAtomicBool + value: false + mirror: always + # TextTrack WebVTT Region extension support. - name: media.webvtt.regions.enabled type: bool