aboutsummaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2020-09-12 00:37:31 +0000
committerJan Beich <jbeich@FreeBSD.org>2020-09-12 00:37:31 +0000
commit18db69ada7557cecd23e20998f9818db517f3782 (patch)
tree86500e55495bb5f48063b7f9ff1a8052432ba32a /www
parent31b88f7e5a7d6dd29885bdadef65367aa8bd3a89 (diff)
downloadports-18db69ada7557cecd23e20998f9818db517f3782.tar.gz
ports-18db69ada7557cecd23e20998f9818db517f3782.zip
Notes
Diffstat (limited to 'www')
-rw-r--r--www/firefox/Makefile2
-rw-r--r--www/firefox/files/patch-bug166411582
2 files changed, 83 insertions, 1 deletions
diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index 8c0658ae499d..aa27c9210646 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -3,7 +3,7 @@
PORTNAME= firefox
DISTVERSION= 80.0.1
-PORTEPOCH= 1
+PORTEPOCH= 2
CATEGORIES= www
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source
diff --git a/www/firefox/files/patch-bug1664115 b/www/firefox/files/patch-bug1664115
new file mode 100644
index 000000000000..4b089b52e203
--- /dev/null
+++ b/www/firefox/files/patch-bug1664115
@@ -0,0 +1,82 @@
+Revert bug 1647717 to workaround the issue of occational tab crashing when
+using any cubeb backends other than pulse-rust to play media. The loss of
+such change will be that users will not be able to do profiling on threads
+created by libcubeb.
+
+diff --git dom/media/AudioStream.cpp dom/media/AudioStream.cpp
+index 1b62a26ab32b2..35c61f612bf72 100644
+--- dom/media/AudioStream.cpp
++++ dom/media/AudioStream.cpp
+@@ -25,7 +25,6 @@
+ #endif
+ #include "Tracing.h"
+ #include "webaudio/blink/DenormalDisabler.h"
+-#include "AudioThreadRegistry.h"
+
+ // Use abort() instead of exception in SoundTouch.
+ #define ST_NO_EXCEPTION_HANDLING 1
+@@ -138,9 +137,7 @@
+ mTimeStretcher(nullptr),
+ mState(INITIALIZED),
+ mDataSource(aSource),
+- mPrefillQuirk(false),
+- mAudioThreadId(0),
+- mSandboxed(CubebUtils::SandboxEnabled()) {
++ mPrefillQuirk(false) {
+ #if defined(XP_WIN)
+ if (XRE_IsContentProcess()) {
+ audio::AudioNotificationReceiver::Register(this);
+@@ -587,21 +584,7 @@
+ aWriter.Available());
+ }
+
+-bool AudioStream::CheckThreadIdChanged() {
+-#ifdef MOZ_GECKO_PROFILER
+- auto id = profiler_current_thread_id();
+- if (id != mAudioThreadId) {
+- mAudioThreadId = id;
+- return true;
+- }
+-#endif
+- return false;
+-}
+-
+ long AudioStream::DataCallback(void* aBuffer, long aFrames) {
+- if (!mSandboxed && CheckThreadIdChanged()) {
+- CubebUtils::GetAudioThreadRegistry()->Register(mAudioThreadId);
+- }
+ WebCore::DenormalDisabler disabler;
+
+ TRACE_AUDIO_CALLBACK_BUDGET(aFrames, mAudioClock.GetInputRate());
+@@ -657,9 +640,6 @@
+ mDumpFile.Write(static_cast<const AudioDataValue*>(aBuffer),
+ aFrames * mOutChannels);
+
+- if (!mSandboxed && writer.Available() != 0) {
+- CubebUtils::GetAudioThreadRegistry()->Unregister(mAudioThreadId);
+- }
+ return aFrames - writer.Available();
+ }
+
+diff --git dom/media/AudioStream.h dom/media/AudioStream.h
+index 933e4cb3bfdb5..5d2181e632af9 100644
+--- dom/media/AudioStream.h
++++ dom/media/AudioStream.h
+@@ -304,7 +304,6 @@
+
+ template <typename Function, typename... Args>
+ int InvokeCubeb(Function aFunction, Args&&... aArgs);
+- bool CheckThreadIdChanged();
+
+ // The monitor is held to protect all access to member variables.
+ Monitor mMonitor;
+@@ -338,9 +337,6 @@
+ // the default device is used. It is set
+ // during the Init() in decoder thread.
+ RefPtr<AudioDeviceInfo> mSinkInfo;
+- /* Contains the id of the audio thread, from profiler_get_thread_id. */
+- std::atomic<int> mAudioThreadId;
+- const bool mSandboxed = false;
+ };
+
+ } // namespace mozilla