Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F149192275
D26303.id76937.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
D26303.id76937.diff
View Options
Index: head/www/firefox/Makefile
===================================================================
--- head/www/firefox/Makefile
+++ head/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
Index: head/www/firefox/files/patch-bug1664115
===================================================================
--- head/www/firefox/files/patch-bug1664115
+++ head/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
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Mar 23, 9:45 PM (18 m, 1 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30202121
Default Alt Text
D26303.id76937.diff (3 KB)
Attached To
Mode
D26303: www/firefox: Fix tab crashing when not using pulse-rust backend
Attached
Detach File
Event Timeline
Log In to Comment