diff --git a/Cargo.lock b/Cargo.lock
index 7bc5171d3c..5d319728bb 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -82,24 +82,11 @@ dependencies = [
  "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
-[[package]]
-name = "audio_thread_priority"
-version = "0.20.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "dbus 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "mach 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
-]
 
 [[package]]
 name = "audioipc"
 version = "0.2.4"
 dependencies = [
- "audio_thread_priority 0.20.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)",
  "cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -127,7 +114,6 @@ dependencies = [
 name = "audioipc-client"
 version = "0.4.0"
 dependencies = [
- "audio_thread_priority 0.20.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "audioipc 0.2.4",
  "cubeb-backend 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -140,7 +126,6 @@ dependencies = [
 name = "audioipc-server"
 version = "0.2.3"
 dependencies = [
- "audio_thread_priority 0.20.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "audioipc 0.2.4",
  "cubeb-core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -905,14 +890,6 @@ dependencies = [
  "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
-[[package]]
-name = "dbus"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)",
- "libdbus-sys 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-]
 
 [[package]]
 name = "deflate"
@@ -1433,7 +1410,6 @@ dependencies = [
 name = "gkrust-shared"
 version = "0.1.0"
 dependencies = [
- "audio_thread_priority 0.20.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "audioipc-client 0.4.0",
  "audioipc-server 0.2.3",
  "authenticator 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1797,13 +1773,6 @@ name = "libc"
 version = "0.2.59"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
-[[package]]
-name = "libdbus-sys"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-]
 
 [[package]]
 name = "libloading"
@@ -4561,7 +4530,6 @@ dependencies = [
 "checksum atomic 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c210c1f4db048cda477b652d170572d84c9640695835f17663595d3bd543fc28"
 "checksum atomic_refcell 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fb2dcb6e6d35f20276943cc04bb98e538b348d525a04ac79c10021561d202f21"
 "checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
-"checksum audio_thread_priority 0.20.2 (registry+https://github.com/rust-lang/crates.io-index)" = "197b2d259505d11c92d266e1784f01cc935eb764d2f54e16aedf4e5085197871"
 "checksum authenticator 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ec149e5d5d4caa2c9ead53a8ce1ea9c4204c388c65bf3b96c2d1dc0fcf4aeb66"
 "checksum autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b671c8fb71b457dd4ae18c4ba1e59aa81793daacc361d82fcd410cef0d491875"
 "checksum backtrace 0.3.38 (registry+https://github.com/rust-lang/crates.io-index)" = "690a62be8920ccf773ee00ef0968649b0e724cda8bd5b12286302b4ae955fdf5"
@@ -4631,7 +4599,6 @@ dependencies = [
 "checksum darling 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3fe629a532efad5526454efb0700f86d5ad7ff001acb37e431c8bf017a432a8e"
 "checksum darling_core 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ee54512bec54b41cf2337a22ddfadb53c7d4c738494dc2a186d7b037ad683b85"
 "checksum darling_macro 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0cd3e432e52c0810b72898296a69d66b1d78d1517dff6cde7a130557a55a62c1"
-"checksum dbus 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b9e1b39f3f6aa3d4a1522c4f0f9f1e9e9167bd93740a8690874caa7cf8ce47d7"
 "checksum deflate 0.7.19 (registry+https://github.com/rust-lang/crates.io-index)" = "8a6abb26e16e8d419b5c78662aa9f82857c2386a073da266840e474d5055ec86"
 "checksum derive_more 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3f57d78cf3bd45270dad4e70c21ec77a960b36c7a841ff9db76aaa775a8fb871"
 "checksum devd-rs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0d009f166c0d9e9f9909dc751630b3a6411ab7f85a153d32d01deb364ffe52a7"
@@ -4701,7 +4668,6 @@ dependencies = [
 "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 "checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f"
 "checksum libc 0.2.59 (registry+https://github.com/rust-lang/crates.io-index)" = "3262021842bf00fe07dbd6cf34ff25c99d7a7ebef8deea84db72be3ea3bb0aff"
-"checksum libdbus-sys 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "18cb88963258d00f4962205dbb5933d82780d9962c8c8a064b651d2ad7189210"
 "checksum libloading 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fd38073de8f7965d0c17d30546d4bb6da311ab428d1c7a3fc71dff7f9d4979b9"
 "checksum libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9c3ad660d7cb8c5822cd83d10897b0f1f1526792737a179e73896152f85b88c2"
 "checksum libudev 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea626d3bdf40a1c5aee3bcd4f40826970cae8d80a8fec934c82a63840094dcfe"
diff --git a/dom/ipc/ContentChild.cpp b/dom/ipc/ContentChild.cpp
index bb539324ec..516fd0dd1c 100644
--- a/dom/ipc/ContentChild.cpp
+++ b/dom/ipc/ContentChild.cpp
@@ -111,9 +111,7 @@
 #include "nsIStringBundle.h"
 #include "nsIWorkerDebuggerManager.h"
 #include "Geolocation.h"
-#include "audio_thread_priority.h"
 #include "nsIConsoleService.h"
-#include "audio_thread_priority.h"
 
 #if !defined(XP_WIN)
 #  include "mozilla/Omnijar.h"
@@ -1795,9 +1793,6 @@ mozilla::ipc::IPCResult ContentChild::RecvSetProcessSandbox(
   } else {
     // Pre-start audio before sandboxing; see bug 1443612.
     if (StaticPrefs::media_cubeb_sandbox()) {
-      if (atp_set_real_time_limit(0, 48000)) {
-        NS_WARNING("could not set real-time limit at process startup");
-      }
       InstallSoftRealTimeLimitHandler();
     } else {
       Unused << CubebUtils::GetCubebContext();
diff --git a/dom/media/GraphRunner.cpp b/dom/media/GraphRunner.cpp
index 76ff3680ca..150c010be9 100644
--- a/dom/media/GraphRunner.cpp
+++ b/dom/media/GraphRunner.cpp
@@ -13,7 +13,6 @@
 #include "nsISupportsImpl.h"
 #include "prthread.h"
 #include "Tracing.h"
-#include "audio_thread_priority.h"
 
 namespace mozilla {
 
@@ -92,8 +91,6 @@ bool GraphRunner::OneIteration(GraphTime aStateEnd) {
 }
 
 NS_IMETHODIMP GraphRunner::Run() {
-  atp_handle* handle =
-      atp_promote_current_thread_to_real_time(0, mGraph->GraphRate());
 
   MonitorAutoLock lock(mMonitor);
   while (true) {
@@ -110,9 +107,6 @@ NS_IMETHODIMP GraphRunner::Run() {
     mMonitor.Notify();
   }
 
-  if (handle) {
-    atp_demote_current_thread_from_real_time(handle);
-  }
 
   dom::WorkletThread::DeleteCycleCollectedJSContext();
 
diff --git a/dom/media/UnderrunHandlerLinux.cpp b/dom/media/UnderrunHandlerLinux.cpp
index af5c84538e..23bf97a31f 100644
--- a/dom/media/UnderrunHandlerLinux.cpp
+++ b/dom/media/UnderrunHandlerLinux.cpp
@@ -9,7 +9,6 @@
 
 #include <mozilla/Sprintf.h>
 #include <mozilla/Atomics.h>
-#include "audio_thread_priority.h"
 
 namespace mozilla {
 
@@ -57,20 +56,6 @@ void InstallSoftRealTimeLimitHandler() {
 }
 
 void DemoteThreadFromRealTime() {
-  atp_thread_info* info = atp_get_current_thread_info();
-  if (!info) {
-    NS_WARNING("Could not get current thread info when demoting thread.");
-    return;
-  }
-  int rv = atp_demote_thread_from_real_time(info);
-  if (rv) {
-    NS_WARNING("Could not demote thread from real-time.");
-    return;
-  }
-  rv = atp_free_thread_info(info);
-  if (rv) {
-    NS_WARNING("Could not free atp_thread_info struct");
-  }
   gRealtimeLimitReached = false;
 }
 
diff --git a/dom/media/moz.build b/dom/media/moz.build
index 972a961a81..eca9083298 100644
--- a/dom/media/moz.build
+++ b/dom/media/moz.build
@@ -101,7 +101,6 @@ XPIDL_SOURCES += [
 XPIDL_MODULE = 'dom_media'
 
 EXPORTS += [
-    '../../third_party/rust/audio_thread_priority/audio_thread_priority.h',
     'ADTSDecoder.h',
     'ADTSDemuxer.h',
     'AsyncLogger.h',
diff --git a/media/audioipc/audioipc/Cargo.toml b/media/audioipc/audioipc/Cargo.toml
index 286e16789b..c34775cea1 100644
--- a/media/audioipc/audioipc/Cargo.toml
+++ b/media/audioipc/audioipc/Cargo.toml
@@ -19,7 +19,6 @@ serde = "1.*.*"
 serde_derive = "1.*.*"
 tokio = "0.1"
 tokio-io = "0.1"
-audio_thread_priority = "0.20.2"
 
 [target.'cfg(unix)'.dependencies]
 iovec = "0.1"
diff --git a/media/audioipc/audioipc/src/messages.rs b/media/audioipc/audioipc/src/messages.rs
index 793e5f7a00..1f72f968ce 100644
--- a/media/audioipc/audioipc/src/messages.rs
+++ b/media/audioipc/audioipc/src/messages.rs
@@ -5,8 +5,6 @@
 
 use crate::PlatformHandle;
 use crate::PlatformHandleType;
-#[cfg(target_os = "linux")]
-use audio_thread_priority::RtPriorityThreadInfo;
 use cubeb::{self, ffi};
 use std::ffi::{CStr, CString};
 use std::os::raw::{c_char, c_int, c_uint};
@@ -210,8 +208,6 @@ pub enum ServerMessage {
     StreamGetCurrentDevice(usize),
     StreamRegisterDeviceChangeCallback(usize, bool),
 
-    #[cfg(target_os = "linux")]
-    PromoteThreadToRealTime([u8; std::mem::size_of::<RtPriorityThreadInfo>()]),
 }
 
 // Server -> Client messages.
@@ -241,8 +237,6 @@ pub enum ClientMessage {
     StreamCurrentDevice(Device),
     StreamRegisterDeviceChangeCallback,
 
-    #[cfg(target_os = "linux")]
-    ThreadPromoted,
 
     Error(c_int),
 }
diff --git a/media/audioipc/client/Cargo.toml b/media/audioipc/client/Cargo.toml
index 866cde7e98..eaf9a62cc7 100644
--- a/media/audioipc/client/Cargo.toml
+++ b/media/audioipc/client/Cargo.toml
@@ -9,7 +9,6 @@ description = "Cubeb Backend for talking to remote cubeb server."
 edition = "2018"
 
 [dependencies]
-audio_thread_priority = "0.20.2"
 audioipc = { path="../audioipc" }
 cubeb-backend = "0.6.0"
 futures = { version="0.1.18", default-features=false, features=["use_std"] }
diff --git a/media/audioipc/client/src/context.rs b/media/audioipc/client/src/context.rs
index 7e912ea65d..b6dddc76aa 100644
--- a/media/audioipc/client/src/context.rs
+++ b/media/audioipc/client/src/context.rs
@@ -6,10 +6,6 @@
 use crate::stream;
 use crate::{assert_not_in_callback, run_in_callback};
 use crate::{ClientStream, AUDIOIPC_INIT_PARAMS};
-#[cfg(target_os = "linux")]
-use audio_thread_priority::get_current_thread_info;
-#[cfg(not(target_os = "linux"))]
-use audio_thread_priority::promote_current_thread_to_real_time;
 use audioipc::codec::LengthDelimitedCodec;
 use audioipc::frame::{framed, Framed};
 use audioipc::platformhandle_passing::{framed_with_platformhandles, FramedWithPlatformHandles};
@@ -77,31 +73,6 @@ impl ClientContext {
     }
 }
 
-#[cfg(target_os = "linux")]
-fn promote_thread(rpc: &rpc::ClientProxy<ServerMessage, ClientMessage>) {
-    match get_current_thread_info() {
-        Ok(info) => {
-            let bytes = info.serialize();
-            // Don't wait for the response, this is on the callback thread, which must not block.
-            rpc.call(ServerMessage::PromoteThreadToRealTime(bytes));
-        }
-        Err(_) => {
-            warn!("Could not remotely promote thread to RT.");
-        }
-    }
-}
-
-#[cfg(not(target_os = "linux"))]
-fn promote_thread(_rpc: &rpc::ClientProxy<ServerMessage, ClientMessage>) {
-    match promote_current_thread_to_real_time(0, 48000) {
-        Ok(_) => {
-            info!("Audio thread promoted to real-time.");
-        }
-        Err(_) => {
-            warn!("Could not promote thread to real-time.");
-        }
-    }
-}
 
 fn register_thread(callback: Option<extern "C" fn(*const ::std::os::raw::c_char)>) {
     if let Some(func) = callback {
@@ -111,13 +82,6 @@ fn register_thread(callback: Option<extern "C" fn(*const ::std::os::raw::c_char)
     }
 }
 
-fn promote_and_register_thread(
-    rpc: &rpc::ClientProxy<ServerMessage, ClientMessage>,
-    callback: Option<extern "C" fn(*const ::std::os::raw::c_char)>,
-) {
-    promote_thread(rpc);
-    register_thread(callback);
-}
 
 #[derive(Default)]
 struct DeviceCollectionCallback {
@@ -226,7 +190,6 @@ impl ContextOps for ClientContext {
         let thread_create_callback = params.thread_create_callback;
         let cpu_pool = futures_cpupool::Builder::new()
             .name_prefix("AudioIPC")
-            .after_start(move || promote_and_register_thread(&rpc2, thread_create_callback))
             .pool_size(params.pool_size)
             .stack_size(params.stack_size)
             .create();
diff --git a/media/audioipc/server/Cargo.toml b/media/audioipc/server/Cargo.toml
index 341b041e65..3363f143c7 100644
--- a/media/audioipc/server/Cargo.toml
+++ b/media/audioipc/server/Cargo.toml
@@ -9,7 +9,6 @@ description = "Remote cubeb server"
 edition = "2018"
 
 [dependencies]
-audio_thread_priority = "0.20.2"
 audioipc = { path = "../audioipc" }
 cubeb-core = "0.6.0"
 futures = "0.1.18"
diff --git a/media/audioipc/server/src/lib.rs b/media/audioipc/server/src/lib.rs
index 9463c102ac..18b09e5433 100644
--- a/media/audioipc/server/src/lib.rs
+++ b/media/audioipc/server/src/lib.rs
@@ -9,7 +9,6 @@ extern crate error_chain;
 #[macro_use]
 extern crate log;
 
-use audio_thread_priority::promote_current_thread_to_real_time;
 use audioipc::core;
 use audioipc::platformhandle_passing::framed_with_platformhandles;
 use audioipc::rpc;
@@ -63,12 +62,6 @@ fn run() -> Result<ServerWrapper> {
     trace!("Starting up cubeb audio server event loop thread...");
 
     let callback_thread = core::spawn_thread("AudioIPC Callback RPC", || {
-        match promote_current_thread_to_real_time(0, 48000) {
-            Ok(_) => {}
-            Err(_) => {
-                debug!("Failed to promote audio callback thread to real-time.");
-            }
-        }
         trace!("Starting up cubeb audio callback event loop thread...");
         Ok(())
     })
diff --git a/media/audioipc/server/src/server.rs b/media/audioipc/server/src/server.rs
index a458fb1953..d7fc4b6036 100644
--- a/media/audioipc/server/src/server.rs
+++ b/media/audioipc/server/src/server.rs
@@ -3,8 +3,6 @@
 // This program is made available under an ISC-style license.  See the
 // accompanying file LICENSE for details
 
-#[cfg(target_os = "linux")]
-use audio_thread_priority::{promote_thread_to_real_time, RtPriorityThreadInfo};
 use audioipc;
 use audioipc::codec::LengthDelimitedCodec;
 use audioipc::frame::{framed, Framed};
@@ -523,19 +521,6 @@ impl CubebServer {
                 )
                 .unwrap_or_else(error),
 
-            #[cfg(target_os = "linux")]
-            ServerMessage::PromoteThreadToRealTime(thread_info) => {
-                let info = RtPriorityThreadInfo::deserialize(thread_info);
-                match promote_thread_to_real_time(info, 0, 48000) {
-                    Ok(_) => {
-                        info!("Promotion of content process thread to real-time OK");
-                    }
-                    Err(_) => {
-                        warn!("Promotion of content process thread to real-time error");
-                    }
-                }
-                ClientMessage::ThreadPromoted
-            }
         };
 
         trace!("process_msg: req={:?}, resp={:?}", msg, resp);
diff --git a/toolkit/library/rust/shared/Cargo.toml b/toolkit/library/rust/shared/Cargo.toml
index 2f44f58e38..88504eb4b6 100644
--- a/toolkit/library/rust/shared/Cargo.toml
+++ b/toolkit/library/rust/shared/Cargo.toml
@@ -39,7 +39,6 @@ bitsdownload = { path = "../../../components/bitsdownload", optional = true }
 storage = { path = "../../../../storage/rust" }
 bookmark_sync = { path = "../../../components/places/bookmark_sync", optional = true }
 shift_or_euc_c = "0.1.0"
-audio_thread_priority = "0.20.2"
 mdns_service = { path="../../../../media/mtransport/mdns_service", optional = true }
 neqo_glue = { path = "../../../../netwerk/socket/neqo_glue" }
 rlbox_lucet_sandbox = { version = "0.1.0", optional = true }
diff --git a/toolkit/library/rust/shared/lib.rs b/toolkit/library/rust/shared/lib.rs
index 31af24e6f5..2ea3e00edb 100644
--- a/toolkit/library/rust/shared/lib.rs
+++ b/toolkit/library/rust/shared/lib.rs
@@ -49,7 +49,6 @@ extern crate shift_or_euc_c;
 #[cfg(feature = "fogotype")]
 extern crate fog;
 
-extern crate audio_thread_priority;
 
 #[cfg(feature = "webrtc")]
 extern crate mdns_service;