diff options
author | Jan Beich <jbeich@FreeBSD.org> | 2020-09-12 00:37:31 +0000 |
---|---|---|
committer | Jan Beich <jbeich@FreeBSD.org> | 2020-09-12 00:37:31 +0000 |
commit | 18db69ada7557cecd23e20998f9818db517f3782 (patch) | |
tree | 86500e55495bb5f48063b7f9ff1a8052432ba32a /www | |
parent | 31b88f7e5a7d6dd29885bdadef65367aa8bd3a89 (diff) | |
download | ports-18db69ada7557cecd23e20998f9818db517f3782.tar.gz ports-18db69ada7557cecd23e20998f9818db517f3782.zip |
Notes
Diffstat (limited to 'www')
-rw-r--r-- | www/firefox/Makefile | 2 | ||||
-rw-r--r-- | www/firefox/files/patch-bug1664115 | 82 |
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 |