FreeBSD Bugzilla – Attachment 250489 Details for
Bug 246449
www/chromium: enable PulseAudio by default.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
[PATCH] www/chromium: implement selectable audio backend support
0001-www-chromium-implement-selectable-audio-backend-supp.patch (text/plain), 20.02 KB, created by
Robert Nagy
on 2024-05-06 11:05:13 UTC
(
hide
)
Description:
[PATCH] www/chromium: implement selectable audio backend support
Filename:
MIME Type:
Creator:
Robert Nagy
Created:
2024-05-06 11:05:13 UTC
Size:
20.02 KB
patch
obsolete
>From eb5e0d94c92e74426bd609f6d07216084e03d2f5 Mon Sep 17 00:00:00 2001 >From: Robert Nagy <rnagy@FreeBSD.org> >Date: Mon, 6 May 2024 13:01:31 +0200 >Subject: [PATCH] www/chromium: implement selectable audio backend support > >with these changes, chromium now automatically selects which >audio backend to use in the following order: > >pulse (if running) -> sndio (if running) -> alsa -> fake > >an additional command line option has been also implemented so >that the user can force which backend to use: > >--audio-backend={auto,sndio,pulse,alsa} > >PR: 246449 >--- > www/chromium/Makefile | 30 ++----- > ...-content_browser_utility__process__host.cc | 16 +++- > .../patch-media_audio_pulse_pulse__util.cc | 14 +++ > ...media_audio_sndio_audio__manager__sndio.cc | 87 ++++++++++++++++--- > .../files/patch-media_base_media__switches.cc | 40 +++++---- > .../files/patch-media_base_media__switches.h | 21 +++-- > .../files/patch-media_media__options.gni | 13 +-- > 7 files changed, 147 insertions(+), 74 deletions(-) > create mode 100644 www/chromium/files/patch-media_audio_pulse_pulse__util.cc > >diff --git a/www/chromium/Makefile b/www/chromium/Makefile >index 9a2a287d8e19..179ac43c00b2 100644 >--- a/www/chromium/Makefile >+++ b/www/chromium/Makefile >@@ -1,5 +1,6 @@ > PORTNAME= chromium > PORTVERSION= 124.0.6367.118 >+PORTREVISION= 2 > CATEGORIES= www wayland > MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/ \ > https://nerd.hu/distfiles/:external >@@ -34,8 +35,10 @@ BUILD_DEPENDS= bash:shells/bash \ > LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-core \ > libatspi.so:accessibility/at-spi2-core \ > libspeechd.so:accessibility/speech-dispatcher \ >+ libasound.so:audio/alsa-lib \ > libFLAC.so:audio/flac \ > libopus.so:audio/opus \ >+ libsndio.so:audio/sndio \ > libspeex.so:audio/speex \ > libdbus-1.so:devel/dbus \ > libdbus-glib-1.so:devel/dbus-glib \ >@@ -126,6 +129,11 @@ GN_ARGS+= clang_use_chrome_plugins=false \ > extra_ldflags="${LDFLAGS}" \ > ffmpeg_branding="${FFMPEG_BRAND}" > >+# Audio backends >+GN_ARGS+= use_alsa=true \ >+ use_pulseaudio=true \ >+ use_sndio=true >+ > # TODO: investigate building with these options: > # use_system_minigbm > GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild --skip-generate-buildfiles >@@ -140,10 +148,8 @@ SUB_FILES= chromium-browser.desktop chrome > SUB_LIST+= COMMENT="${COMMENT}" > > OPTIONS_DEFINE= CODECS CUPS DEBUG DRIVER KERBEROS LTO PIPEWIRE TEST WIDEVINE >-OPTIONS_DEFAULT= CODECS CUPS DRIVER KERBEROS PIPEWIRE SNDIO >+OPTIONS_DEFAULT= CODECS CUPS DRIVER KERBEROS PIPEWIRE > OPTIONS_EXCLUDE_aarch64=LTO >-OPTIONS_GROUP= AUDIO >-OPTIONS_GROUP_AUDIO= ALSA PULSEAUDIO SNDIO > OPTIONS_RADIO= KERBEROS > OPTIONS_RADIO_KERBEROS= HEIMDAL HEIMDAL_BASE MIT > OPTIONS_SUB= yes >@@ -153,12 +159,6 @@ HEIMDAL_BASE_DESC= Heimdal Kerberos (base) > HEIMDAL_DESC= Heimdal Kerberos (security/heimdal) > MIT_DESC= MIT Kerberos (security/krb5) > >-ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib >-ALSA_RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins \ >- alsa-lib>=1.1.1_1:audio/alsa-lib >-ALSA_VARS= GN_ARGS+=use_alsa=true >-ALSA_VARS_OFF= GN_ARGS+=use_alsa=false >- > CODECS_VARS= GN_ARGS+=proprietary_codecs=true \ > FFMPEG_BRAND="Chrome" > CODECS_VARS_OFF= GN_ARGS+=proprietary_codecs=false \ >@@ -202,18 +202,6 @@ PIPEWIRE_VARS= GN_ARGS+=rtc_use_pipewire=true \ > PIPEWIRE_VARS_OFF= GN_ARGS+=rtc_use_pipewire=false \ > GN_ARGS+=rtc_link_pipewire=false > >-PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio >-PULSEAUDIO_VARS= GN_ARGS+=use_pulseaudio=true >-PULSEAUDIO_VARS_OFF= GN_ARGS+=use_pulseaudio=false >- >-# With SNDIO=on we exclude audio_manager_linux from the build (see >-# media/audio/BUILD.gn) and use audio_manager_openbsd which does not >-# support falling back to ALSA or PulseAudio. >-SNDIO_PREVENTS= ALSA PULSEAUDIO >-SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio >-SNDIO_VARS= GN_ARGS+=use_sndio=true >-SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false >- > WIDEVINE_DESC= Depend on foreign-cdm to enable playback of DRM content > WIDEVINE_RUN_DEPENDS= foreign-cdm>0:www/foreign-cdm > >diff --git a/www/chromium/files/patch-content_browser_utility__process__host.cc b/www/chromium/files/patch-content_browser_utility__process__host.cc >index 61d6657762f5..3ceaff260d0b 100644 >--- a/www/chromium/files/patch-content_browser_utility__process__host.cc >+++ b/www/chromium/files/patch-content_browser_utility__process__host.cc >@@ -1,4 +1,4 @@ >---- content/browser/utility_process_host.cc.orig 2024-04-19 13:02:56 UTC >+--- content/browser/utility_process_host.cc.orig 2024-05-06 11:00:55 UTC > +++ content/browser/utility_process_host.cc > @@ -61,7 +61,7 @@ > #include "content/browser/v8_snapshot_files.h" >@@ -45,7 +45,17 @@ > allowed_gpu_ = true; > #endif > } >-@@ -434,7 +434,7 @@ bool UtilityProcessHost::StartProcess() { >+@@ -374,6 +374,9 @@ bool UtilityProcessHost::StartProcess() { >+ switches::kFailAudioStreamCreation, >+ switches::kMuteAudio, >+ switches::kUseFileForFakeAudioCapture, >++#if BUILDFLAG(IS_BSD) >++ switches::kAudioBackend, >++#endif >+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FREEBSD) || \ >+ BUILDFLAG(IS_SOLARIS) >+ switches::kAlsaInputDevice, >+@@ -434,7 +437,7 @@ bool UtilityProcessHost::StartProcess() { > file_data_->files_to_preload.merge(GetV8SnapshotFilesToPreload()); > #endif // BUILDFLAG(IS_POSIX) > >@@ -54,7 +64,7 @@ > // The network service should have access to the parent directories > // necessary for its usage. > if (sandbox_type_ == sandbox::mojom::Sandbox::kNetwork) { >-@@ -445,13 +445,13 @@ bool UtilityProcessHost::StartProcess() { >+@@ -445,13 +448,13 @@ bool UtilityProcessHost::StartProcess() { > } > #endif // BUILDFLAG(IS_LINUX) > >diff --git a/www/chromium/files/patch-media_audio_pulse_pulse__util.cc b/www/chromium/files/patch-media_audio_pulse_pulse__util.cc >new file mode 100644 >index 000000000000..ac1e6ac8ae1e >--- /dev/null >+++ b/www/chromium/files/patch-media_audio_pulse_pulse__util.cc >@@ -0,0 +1,14 @@ >+--- media/audio/pulse/pulse_util.cc.orig 2024-05-06 11:00:55 UTC >++++ media/audio/pulse/pulse_util.cc >+@@ -45,7 +45,11 @@ constexpr char kBrowserDisplayName[] = "chromium-brows >+ >+ #if defined(DLOPEN_PULSEAUDIO) >+ static const base::FilePath::CharType kPulseLib[] = >++#if BUILDFLAG(IS_BSD) >++ FILE_PATH_LITERAL("libpulse.so"); >++#else >+ FILE_PATH_LITERAL("libpulse.so.0"); >++#endif >+ #endif >+ >+ void DestroyMainloop(pa_threaded_mainloop* mainloop) { >diff --git a/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc b/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc >index e4880eb7f7e9..5def263b7f71 100644 >--- a/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc >+++ b/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc >@@ -1,6 +1,6 @@ >---- media/audio/sndio/audio_manager_sndio.cc.orig 2022-10-24 13:33:33 UTC >+--- media/audio/sndio/audio_manager_sndio.cc.orig 2024-05-06 11:00:55 UTC > +++ media/audio/sndio/audio_manager_sndio.cc >-@@ -0,0 +1,181 @@ >+@@ -0,0 +1,240 @@ > +// Copyright (c) 2012 The Chromium Authors. All rights reserved. > +// Use of this source code is governed by a BSD-style license that can be > +// found in the LICENSE file. >@@ -17,18 +17,19 @@ > +#include "media/audio/sndio/sndio_input.h" > +#include "media/audio/sndio/sndio_output.h" > +#endif >++#if defined(USE_PULSEAUDIO) >++#include "media/audio/pulse/audio_manager_pulse.h" >++#include "media/audio/pulse/pulse_util.h" >++#endif >++#if defined(USE_ALSA) >++#include "media/audio/alsa/audio_manager_alsa.h" >++#endif > +#include "media/audio/fake_audio_manager.h" > +#include "media/base/limits.h" > +#include "media/base/media_switches.h" > + > +namespace media { > + >-+enum SndioAudioIO { >-+ kPulse, >-+ kSndio, >-+ kAudioIOMax = kSndio >-+}; >-+ > +#if defined(USE_SNDIO) > +// Maximum number of output streams that can be open simultaneously. > +static const int kMaxOutputStreams = 50; >@@ -36,6 +37,12 @@ > +// Default sample rate for input and output streams. > +static const int kDefaultSampleRate = 48000; > + >++#if BUILDFLAG(IS_OPENBSD) >++static const std::string kDefaultAudioBackend = "sndio"; >++#else >++static const std::string kDefaultAudioBackend = "auto"; >++#endif >++ > +void AddDefaultDevice(AudioDeviceNames* device_names) { > + DCHECK(device_names->empty()); > + device_names->push_front(AudioDeviceName::CreateDefault()); >@@ -164,21 +171,73 @@ > + std::unique_ptr<AudioThread> audio_thread, > + AudioLogFactory* audio_log_factory) { > + DLOG(WARNING) << "CreateAudioManager"; >++ std::string audio_backend = kDefaultAudioBackend; >++ >++ std::vector<std::string> kSupportedAudioBackends = {"auto"}; >++ >++#if defined(USE_SNDIO) >++ kSupportedAudioBackends.push_back(std::string("sndio")); >++#endif >++#if defined(USE_PULSEAUDIO) >++ kSupportedAudioBackends.push_back(std::string("pulse")); >++#endif >++#if defined(USE_ALSA) >++ kSupportedAudioBackends.push_back(std::string("alsa")); >++#endif >++ >++ if (base::CommandLine::ForCurrentProcess()->HasSwitch( >++ switches::kAudioBackend)) { >++ audio_backend = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII( >++ switches::kAudioBackend); >++ } >++ > + // For testing allow audio output to be disabled. > + if (base::CommandLine::ForCurrentProcess()->HasSwitch( > + switches::kDisableAudioOutput)) { > + return std::make_unique<FakeAudioManager>(std::move(audio_thread), > + audio_log_factory); > + } >++ >++ if (std::find(std::begin(kSupportedAudioBackends), std::end(kSupportedAudioBackends), >++ audio_backend) == std::end(kSupportedAudioBackends)) { >++ LOG(ERROR) << "Unsupported audio backend specified. Falling back to " << kDefaultAudioBackend; >++ audio_backend = kDefaultAudioBackend; >++ } >++ >++#if defined(USE_PULSEAUDIO) >++ pa_threaded_mainloop* pa_mainloop = nullptr; >++ pa_context* pa_context = nullptr; >++ if (audio_backend != "sndio" && pulse::InitPulse(&pa_mainloop, &pa_context)) { >++ return std::make_unique<AudioManagerPulse>( >++ std::move(audio_thread), audio_log_factory, pa_mainloop, pa_context); >++ } else if (audio_backend == "auto") { >++ LOG(WARNING) << "Falling back to SNDIO for audio output. PulseAudio is not " >++ "available or could not be initialized."; >++ } >++#endif >++ > +#if defined(USE_SNDIO) >-+ UMA_HISTOGRAM_ENUMERATION("Media.SndioAudioIO", kSndio, kAudioIOMax + 1); >-+ return std::make_unique<AudioManagerSndio>(std::move(audio_thread), >-+ audio_log_factory); >-+#else >-+ return std::make_unique<FakeAudioManager>(std::move(audio_thread), >-+ audio_log_factory); >++ if (audio_backend != "pulse") { >++ return std::make_unique<AudioManagerSndio>(std::move(audio_thread), >++ audio_log_factory); >++ } else if (audio_backend == "auto") { >++ LOG(WARNING) << "Falling back to ALSA audio output. SNDIO is not " >++ "available or could not be initialized."; >++ } >++#endif >++ >++#if defined(USE_ALSA) >++ if (audio_backend != "pulse" && audio_backend != "sndio") { >++ return std::make_unique<AudioManagerAlsa>(std::move(audio_thread), >++ audio_log_factory); >++ } else if (audio_backend == "auto") { >++ LOG(WARNING) << "Falling back to fake audio output. ALSA is not " >++ "available or could not be initialized."; >++ } > +#endif > + >++ return std::make_unique<FakeAudioManager>(std::move(audio_thread), >++ audio_log_factory); > +} > + > +} // namespace media >diff --git a/www/chromium/files/patch-media_base_media__switches.cc b/www/chromium/files/patch-media_base_media__switches.cc >index 2bd334016a61..1ba3f2b8485c 100644 >--- a/www/chromium/files/patch-media_base_media__switches.cc >+++ b/www/chromium/files/patch-media_base_media__switches.cc >@@ -1,4 +1,4 @@ >---- media/base/media_switches.cc.orig 2024-04-19 13:02:56 UTC >+--- media/base/media_switches.cc.orig 2024-05-06 11:00:55 UTC > +++ media/base/media_switches.cc > @@ -21,7 +21,7 @@ > #include "ui/gl/gl_features.h" >@@ -9,7 +9,18 @@ > #include "base/cpu.h" > #endif > >-@@ -363,8 +363,8 @@ BASE_FEATURE(kMacLoopbackAudioForScreenShare, >+@@ -60,6 +60,10 @@ const char kDisableBackgroundMediaSuspend[] = >+ const char kReportVp9AsAnUnsupportedMimeType[] = >+ "report-vp9-as-an-unsupported-mime-type"; >+ >++#if BUILDFLAG(IS_BSD) >++const char kAudioBackend[] = "audio-backend"; >++#endif >++ >+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FREEBSD) || \ >+ BUILDFLAG(IS_SOLARIS) >+ // The Alsa device to use when opening an audio input stream. >+@@ -363,8 +367,8 @@ BASE_FEATURE(kMacLoopbackAudioForScreenShare, > "MacLoopbackAudioForScreenShare", > base::FEATURE_DISABLED_BY_DEFAULT); > #endif // BUILDFLAG(IS_MAC) >@@ -20,16 +31,7 @@ > // Enables system audio mirroring using pulseaudio. > BASE_FEATURE(kPulseaudioLoopbackForCast, > "PulseaudioLoopbackForCast", >-@@ -597,7 +597,7 @@ BASE_FEATURE(kUseWritePixelsYUV, >- BASE_FEATURE(kUseMultiPlaneFormatForHardwareVideo, >- "UseMultiPlaneFormatForHardwareVideo", >- #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA) || \ >-- BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) >-+ BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) >- base::FEATURE_ENABLED_BY_DEFAULT >- #else >- base::FEATURE_DISABLED_BY_DEFAULT >-@@ -713,7 +713,7 @@ BASE_FEATURE(kFallbackAfterDecodeError, >+@@ -713,7 +717,7 @@ BASE_FEATURE(kFallbackAfterDecodeError, > // Show toolbar button that opens dialog for controlling media sessions. > BASE_FEATURE(kGlobalMediaControls, > "GlobalMediaControls", >@@ -38,7 +40,7 @@ > base::FEATURE_ENABLED_BY_DEFAULT > #else > base::FEATURE_DISABLED_BY_DEFAULT >-@@ -741,7 +741,7 @@ BASE_FEATURE(kGlobalMediaControlsUpdatedUI, >+@@ -741,7 +745,7 @@ BASE_FEATURE(kGlobalMediaControlsUpdatedUI, > // If enabled, users can request Media Remoting without fullscreen-in-tab. > BASE_FEATURE(kMediaRemotingWithoutFullscreen, > "MediaRemotingWithoutFullscreen", >@@ -47,7 +49,7 @@ > base::FEATURE_ENABLED_BY_DEFAULT > #else > base::FEATURE_DISABLED_BY_DEFAULT >-@@ -753,7 +753,7 @@ BASE_FEATURE(kMediaRemotingWithoutFullscreen, >+@@ -753,7 +757,7 @@ BASE_FEATURE(kMediaRemotingWithoutFullscreen, > BASE_FEATURE(kGlobalMediaControlsPictureInPicture, > "GlobalMediaControlsPictureInPicture", > #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ >@@ -56,7 +58,7 @@ > base::FEATURE_ENABLED_BY_DEFAULT > #else > base::FEATURE_DISABLED_BY_DEFAULT >-@@ -782,7 +782,7 @@ BASE_FEATURE(kUnifiedAutoplay, >+@@ -782,7 +786,7 @@ BASE_FEATURE(kUnifiedAutoplay, > "UnifiedAutoplay", > base::FEATURE_ENABLED_BY_DEFAULT); > >@@ -65,7 +67,7 @@ > // Enable vaapi video decoding on linux. This is already enabled by default on > // chromeos, but needs an experiment on linux. > BASE_FEATURE(kVaapiVideoDecodeLinux, >-@@ -873,7 +873,7 @@ BASE_FEATURE(kVaapiVp9SModeHWEncoding, >+@@ -873,7 +877,7 @@ BASE_FEATURE(kVaapiVp9SModeHWEncoding, > "VaapiVp9SModeHWEncoding", > base::FEATURE_DISABLED_BY_DEFAULT); > #endif // defined(ARCH_CPU_X86_FAMILY) && BUILDFLAG(IS_CHROMEOS) >@@ -74,7 +76,7 @@ > // Enables the new V4L2 flat video decoder clients instead of V4L2VideoDecoder. > // Owners: frkoenig@chromium.org, mcasas@chromium.org > // Expiry: When flat decoders are supported on all platforms and the legacy >-@@ -998,7 +998,7 @@ BASE_FEATURE(kLiveCaptionUseWaitK, >+@@ -998,7 +1002,7 @@ BASE_FEATURE(kLiveCaptionUseWaitK, > // Live Caption can be used in multiple languages, as opposed to just English. > BASE_FEATURE(kLiveCaptionMultiLanguage, > "LiveCaptionMultiLanguage", >@@ -83,7 +85,7 @@ > base::FEATURE_ENABLED_BY_DEFAULT > #else > base::FEATURE_DISABLED_BY_DEFAULT >-@@ -1033,7 +1033,7 @@ BASE_FEATURE(kLiveCaptionSystemWideOnChromeOS, >+@@ -1033,7 +1037,7 @@ BASE_FEATURE(kLiveCaptionSystemWideOnChromeOS, > // Live Translate translates captions generated by Live Caption. > BASE_FEATURE(kLiveTranslate, > "LiveTranslate", >@@ -92,7 +94,7 @@ > base::FEATURE_ENABLED_BY_DEFAULT > #else > base::FEATURE_DISABLED_BY_DEFAULT >-@@ -1500,7 +1500,7 @@ BASE_FEATURE(kUseGTFOOutOfProcessVideoDecoding, >+@@ -1500,7 +1504,7 @@ BASE_FEATURE(kUseGTFOOutOfProcessVideoDecoding, > base::FEATURE_DISABLED_BY_DEFAULT); > #endif // BUILDFLAG(ALLOW_OOP_VIDEO_DECODER) > >diff --git a/www/chromium/files/patch-media_base_media__switches.h b/www/chromium/files/patch-media_base_media__switches.h >index e0d750889720..885c1d32521c 100644 >--- a/www/chromium/files/patch-media_base_media__switches.h >+++ b/www/chromium/files/patch-media_base_media__switches.h >@@ -1,6 +1,17 @@ >---- media/base/media_switches.h.orig 2024-04-19 13:02:56 UTC >+--- media/base/media_switches.h.orig 2024-05-06 11:00:55 UTC > +++ media/base/media_switches.h >-@@ -315,7 +315,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kPlatformHEVCEncoder >+@@ -42,6 +42,10 @@ MEDIA_EXPORT extern const char kDisableBackgroundMedia >+ >+ MEDIA_EXPORT extern const char kReportVp9AsAnUnsupportedMimeType[]; >+ >++#if BUILDFLAG(IS_BSD) >++MEDIA_EXPORT extern const char kAudioBackend[]; >++#endif >++ >+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FREEBSD) || \ >+ BUILDFLAG(IS_SOLARIS) >+ MEDIA_EXPORT extern const char kAlsaInputDevice[]; >+@@ -315,7 +319,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kPlatformHEVCEncoder > MEDIA_EXPORT BASE_DECLARE_FEATURE(kPlaybackSpeedButton); > MEDIA_EXPORT BASE_DECLARE_FEATURE(kPreloadMediaEngagementData); > MEDIA_EXPORT BASE_DECLARE_FEATURE(kPreloadMetadataSuspend); >@@ -9,7 +20,7 @@ > MEDIA_EXPORT BASE_DECLARE_FEATURE(kPulseaudioLoopbackForCast); > MEDIA_EXPORT BASE_DECLARE_FEATURE(kPulseaudioLoopbackForScreenShare); > #endif // BUILDFLAG(IS_LINUX) >-@@ -333,7 +333,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUnifiedAutoplay); >+@@ -333,7 +337,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUnifiedAutoplay); > MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseAndroidOverlayForSecureOnly); > MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseDecoderStreamForWebRTC); > MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseFakeDeviceForMediaStream); >@@ -18,7 +29,7 @@ > MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVideoDecodeLinux); > MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVideoDecodeLinuxGL); > MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVideoEncodeLinux); >-@@ -352,7 +352,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiH264TemporalLa >+@@ -352,7 +356,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiH264TemporalLa > MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVp8TemporalLayerHWEncoding); > MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVp9SModeHWEncoding); > #endif // defined(ARCH_CPU_X86_FAMILY) && BUILDFLAG(IS_CHROMEOS) >@@ -27,7 +38,7 @@ > MEDIA_EXPORT BASE_DECLARE_FEATURE(kV4L2FlatVideoDecoder); > MEDIA_EXPORT BASE_DECLARE_FEATURE(kV4L2FlatStatefulVideoDecoder); > #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) >-@@ -491,7 +491,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseOutOfProcessVide >+@@ -491,7 +495,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseOutOfProcessVide > MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseGTFOOutOfProcessVideoDecoding); > #endif // BUILDFLAG(ALLOW_OOP_VIDEO_DECODER) > >diff --git a/www/chromium/files/patch-media_media__options.gni b/www/chromium/files/patch-media_media__options.gni >index b80cdd2c9011..fc98d7e86728 100644 >--- a/www/chromium/files/patch-media_media__options.gni >+++ b/www/chromium/files/patch-media_media__options.gni >@@ -1,4 +1,4 @@ >---- media/media_options.gni.orig 2024-02-23 21:04:38 UTC >+--- media/media_options.gni.orig 2024-05-06 11:00:55 UTC > +++ media/media_options.gni > @@ -190,12 +190,15 @@ declare_args() { > # Enables runtime selection of ALSA library for audio. >@@ -17,14 +17,3 @@ > (!is_castos || (target_cpu == "x86" || target_cpu == "x64") || > is_cast_audio_only)) { > use_alsa = true >-@@ -211,6 +214,10 @@ declare_args() { >- if (!use_cras && !is_castos && !is_asan && !is_tsan) { >- use_pulseaudio = true >- } >-+ } >-+ if (is_openbsd) { >-+ use_sndio = true >-+ use_pulseaudio = false >- } >- } >- >-- >2.44.0 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 246449
:
250463
|
250470
| 250489