diff options
Diffstat (limited to 'devel/electron37/files/patch-media_base_media__switches.cc')
-rw-r--r-- | devel/electron37/files/patch-media_base_media__switches.cc | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/devel/electron37/files/patch-media_base_media__switches.cc b/devel/electron37/files/patch-media_base_media__switches.cc new file mode 100644 index 000000000000..6f20e02c6e8e --- /dev/null +++ b/devel/electron37/files/patch-media_base_media__switches.cc @@ -0,0 +1,114 @@ +--- media/base/media_switches.cc.orig 2025-06-30 07:04:30 UTC ++++ media/base/media_switches.cc +@@ -19,7 +19,7 @@ + #include "ui/gl/gl_features.h" + #include "ui/gl/gl_utils.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/cpu.h" + #endif + +@@ -366,8 +366,8 @@ BASE_FEATURE(kUseSCContentSharingPicker, + "UseSCContentSharingPicker", + base::FEATURE_DISABLED_BY_DEFAULT); + #endif // BUILDFLAG(IS_MAC) +- +-#if BUILDFLAG(IS_LINUX) ++ ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Enables system audio mirroring using pulseaudio. + BASE_FEATURE(kPulseaudioLoopbackForCast, + "PulseaudioLoopbackForCast", +@@ -377,6 +377,28 @@ BASE_FEATURE(kPulseaudioLoopbackForScreenShare, + BASE_FEATURE(kPulseaudioLoopbackForScreenShare, + "PulseaudioLoopbackForScreenShare", + base::FEATURE_DISABLED_BY_DEFAULT); ++ ++BASE_FEATURE(kAudioBackend, ++ "AudioBackend", ++ base::FEATURE_ENABLED_BY_DEFAULT); ++ ++constexpr base::FeatureParam<AudioBackend>::Option ++ kAudioBackendOptions[] = { ++ {AudioBackend::kAuto, ++ "auto"}, ++ {AudioBackend::kPulseAudio, "pulseaudio"}, ++ {AudioBackend::kSndio, "sndio"}, ++ {AudioBackend::kAlsa, "alsa"}}; ++ ++const base::FeatureParam<AudioBackend> ++ kAudioBackendParam{ ++ &kAudioBackend, "audio-backend", ++#if BUILDFLAG(IS_OPENBSD) ++ AudioBackend::kSndio, ++#elif BUILDFLAG(IS_FREEBSD) ++ AudioBackend::kAuto, ++#endif ++ &kAudioBackendOptions}; + #endif // BUILDFLAG(IS_LINUX) + + // When enabled, MediaCapabilities will check with GPU Video Accelerator +@@ -658,7 +680,7 @@ BASE_FEATURE(kGlobalMediaControls, + // Show toolbar button that opens dialog for controlling media sessions. + BASE_FEATURE(kGlobalMediaControls, + "GlobalMediaControls", +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT +@@ -681,7 +703,7 @@ BASE_FEATURE(kMediaRemotingWithoutFullscreen, + // If enabled, users can request Media Remoting without fullscreen-in-tab. + BASE_FEATURE(kMediaRemotingWithoutFullscreen, + "MediaRemotingWithoutFullscreen", +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT +@@ -693,7 +715,7 @@ BASE_FEATURE(kGlobalMediaControlsPictureInPicture, + BASE_FEATURE(kGlobalMediaControlsPictureInPicture, + "GlobalMediaControlsPictureInPicture", + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT +@@ -722,7 +744,7 @@ BASE_FEATURE(kUnifiedAutoplay, + "UnifiedAutoplay", + base::FEATURE_ENABLED_BY_DEFAULT); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Enable vaapi/v4l2 video decoding on linux. This is already enabled by default + // on chromeos, but needs an experiment on linux. + BASE_FEATURE(kAcceleratedVideoDecodeLinux, +@@ -795,7 +817,7 @@ BASE_FEATURE(kVSyncMjpegDecoding, + "VSyncMjpegDecoding", + base::FEATURE_DISABLED_BY_DEFAULT); + #endif // defined(ARCH_CPU_X86_FAMILY) && BUILDFLAG(IS_CHROMEOS) +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Enable H264 temporal layer encoding with V4L2 HW encoder on ChromeOS. + BASE_FEATURE(kV4L2H264TemporalLayerHWEncoding, + "V4L2H264TemporalLayerHWEncoding", +@@ -1355,7 +1377,7 @@ BASE_FEATURE(kUseOutOfProcessVideoDecoding, + ); + #endif // BUILDFLAG(ALLOW_OOP_VIDEO_DECODER) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Spawn utility processes to perform hardware encode acceleration instead of + // using the GPU process. + BASE_FEATURE(kUseOutOfProcessVideoEncoding, +@@ -1437,7 +1459,7 @@ BASE_FEATURE(kRecordWebAudioEngagement, + "RecordWebAudioEngagement", + base::FEATURE_ENABLED_BY_DEFAULT); + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Reduces the number of buffers needed in the output video frame pool to + // populate the Renderer pipeline for hardware accelerated VideoDecoder in + // non-low latency scenarios. |