61 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
		
		
			
		
	
	
			61 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
|   | --- chromium-133.0.6943.98/media/base/media_switches.h	2025/02/18 15:56:48	1.1
 | ||
|  | +++ chromium-133.0.6943.98/media/base/media_switches.h	2025/02/18 15:57:20
 | ||
|  | @@ -516,6 +516,8 @@
 | ||
|  |   | ||
|  |  MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseWindowBoundsForPip); | ||
|  |   | ||
|  | +MEDIA_EXPORT BASE_DECLARE_FEATURE(kFFmpegAllowLists);
 | ||
|  | +
 | ||
|  |  MEDIA_EXPORT BASE_DECLARE_FEATURE(kMediaLogToConsole); | ||
|  |   | ||
|  |  MEDIA_EXPORT BASE_DECLARE_FEATURE(kLibvpxUseChromeThreads); | ||
|  | --- chromium-133.0.6943.98/media/base/media_switches.cc	2025/02/18 15:56:07	1.1
 | ||
|  | +++ chromium-133.0.6943.98/media/base/media_switches.cc	2025/02/18 15:56:48
 | ||
|  | @@ -1657,6 +1657,11 @@
 | ||
|  |               "UseWindowBoundsForPip", | ||
|  |               base::FEATURE_ENABLED_BY_DEFAULT); | ||
|  |   | ||
|  | +// Enables FFmpeg allow lists for supported codecs / containers.
 | ||
|  | +BASE_FEATURE(kFFmpegAllowLists,
 | ||
|  | +             "FFmpegAllowLists",
 | ||
|  | +             base::FEATURE_DISABLED_BY_DEFAULT);
 | ||
|  | +
 | ||
|  |  #if BUILDFLAG(IS_WIN) | ||
|  |  // Enables audio offload when supported by endpoints. | ||
|  |  BASE_FEATURE(kAudioOffload, "AudioOffload", base::FEATURE_DISABLED_BY_DEFAULT); | ||
|  | --- chromium-133.0.6943.98/media/ffmpeg/ffmpeg_common.cc	2025/02/18 16:03:18	1.1
 | ||
|  | +++ chromium-133.0.6943.98/media/ffmpeg/ffmpeg_common.cc	2025/02/18 16:04:02
 | ||
|  | @@ -19,6 +19,7 @@
 | ||
|  |  #include "media/base/audio_decoder_config.h" | ||
|  |  #include "media/base/decoder_buffer.h" | ||
|  |  #include "media/base/encryption_scheme.h" | ||
|  | +#include "media/base/media_switches.h"
 | ||
|  |  #include "media/base/media_util.h" | ||
|  |  #include "media/base/supported_types.h" | ||
|  |  #include "media/base/video_aspect_ratio.h" | ||
|  | @@ -76,7 +76,8 @@
 | ||
|  |  void ApplyCodecContextSecuritySettings(AVCodecContext* codec_context) { | ||
|  |    // Future versions of ffmpeg may copy the allow list from the format | ||
|  |    // context. | ||
|  | -  if (!codec_context->codec_whitelist) {
 | ||
|  | +  if (base::FeatureList::IsEnabled(kFFmpegAllowLists) &&
 | ||
|  | +      !codec_context->codec_whitelist) {
 | ||
|  |      // Note: FFmpeg will try to free this string, so we must duplicate it. | ||
|  |      codec_context->codec_whitelist = | ||
|  |          av_strdup(codec_context->codec_type == AVMEDIA_TYPE_AUDIO | ||
|  | --- chromium-133.0.6943.98/media/filters/ffmpeg_glue.cc	2025/02/18 16:06:06	1.1
 | ||
|  | +++ chromium-133.0.6943.98/media/filters/ffmpeg_glue.cc	2025/02/18 16:07:06
 | ||
|  | @@ -131,8 +131,10 @@
 | ||
|  |    // memory usage. | ||
|  |    // | ||
|  |    // Note: FFmpeg will try to free these strings, so we must duplicate them. | ||
|  | -  format_context_->codec_whitelist = av_strdup(GetAllowedAudioDecoders());
 | ||
|  | -  format_context_->format_whitelist = av_strdup(GetAllowedDemuxers());
 | ||
|  | +  if (base::FeatureList::IsEnabled(kFFmpegAllowLists)) {
 | ||
|  | +    format_context_->codec_whitelist = av_strdup(GetAllowedAudioDecoders());
 | ||
|  | +    format_context_->format_whitelist = av_strdup(GetAllowedDemuxers());
 | ||
|  | +  }
 | ||
|  |  } | ||
|  |   | ||
|  |  bool FFmpegGlue::OpenContext(bool is_local_file) { |