nixpkgs/pkgs/development/libraries/qt-6/patches/qtwebengine-darwin-no-low-latency-flag.patch

62 lines
2.9 KiB
Diff

diff --git a/src/3rdparty/chromium/media/gpu/mac/vt_video_encode_accelerator_mac.cc b/src/3rdparty/chromium/media/gpu/mac/vt_video_encode_accelerator_mac.cc
index d4b0161b2e..e5a0eb1967 100644
--- a/src/3rdparty/chromium/media/gpu/mac/vt_video_encode_accelerator_mac.cc
+++ b/src/3rdparty/chromium/media/gpu/mac/vt_video_encode_accelerator_mac.cc
@@ -29,12 +29,6 @@
#include "media/base/video_types.h"
#include "media/video/video_encode_accelerator.h"
-// This is a min version of macOS where we want to support SVC encoding via
-// EnableLowLatencyRateControl flag. The flag is actually supported since 11.3,
-// but there we see frame drops even with ample bitrate budget. Excessive frame
-// drops were fixed in 12.0.1.
-#define LOW_LATENCY_FLAG_AVAILABLE_VER 12.0.1
-
namespace media {
namespace {
@@ -277,8 +271,6 @@ VTVideoEncodeAccelerator::GetSupportedH264Profiles() {
profile.rate_control_modes = VideoEncodeAccelerator::kConstantMode |
VideoEncodeAccelerator::kVariableMode;
profile.scalability_modes.push_back(SVCScalabilityMode::kL1T1);
- if (__builtin_available(macOS LOW_LATENCY_FLAG_AVAILABLE_VER, *))
- profile.scalability_modes.push_back(SVCScalabilityMode::kL1T2);
for (const auto& supported_profile : kSupportedProfiles) {
if (VideoCodecProfileToVideoCodec(supported_profile) == VideoCodec::kH264) {
@@ -814,14 +806,6 @@ bool VTVideoEncodeAccelerator::CreateCompressionSession(
encoder_values.push_back(kCFBooleanFalse);
}
- if (__builtin_available(macOS LOW_LATENCY_FLAG_AVAILABLE_VER, *)) {
- // Remove the validation once HEVC SVC mode is supported on macOS.
- if (require_low_delay_ && codec == VideoCodec::kH264) {
- encoder_keys.push_back(
- kVTVideoEncoderSpecification_EnableLowLatencyRateControl);
- encoder_values.push_back(kCFBooleanTrue);
- }
- }
base::ScopedCFTypeRef<CFDictionaryRef> encoder_spec =
video_toolbox::DictionaryWithKeysAndValues(
encoder_keys.data(), encoder_values.data(), encoder_keys.size());
@@ -891,19 +875,8 @@ bool VTVideoEncodeAccelerator::ConfigureCompressionSession(VideoCodec codec) {
// Remove the validation once HEVC SVC mode is supported on macOS.
if (num_temporal_layers_ == 2 && codec_ == VideoCodec::kH264) {
- if (__builtin_available(macOS LOW_LATENCY_FLAG_AVAILABLE_VER, *)) {
- if (!session_property_setter.IsSupported(
- kVTCompressionPropertyKey_BaseLayerFrameRateFraction)) {
- DLOG(ERROR) << "BaseLayerFrameRateFraction is not supported";
- return false;
- }
- rv &= session_property_setter.Set(
- kVTCompressionPropertyKey_BaseLayerFrameRateFraction, 0.5);
- DLOG_IF(ERROR, !rv) << " Setting BaseLayerFrameRate property failed.";
- } else {
DLOG(ERROR) << "SVC encoding is not supported on this OS version.";
rv = false;
- }
}
return rv;