raven-rhel8/base/qt6/qt6-qtwebengine/qtwebengine-webrtc-system-openh264.patch

72 lines
2.3 KiB
Diff
Raw Normal View History

2024-05-27 12:07:54 +06:00
diff --git a/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/BUILD.gn b/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/BUILD.gn
index 738d3d4ed..8344a19b0 100644
--- a/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/BUILD.gn
+++ b/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/BUILD.gn
@@ -6,6 +6,7 @@
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
+import("//build/config/linux/pkg_config.gni")
import("//third_party/libaom/options.gni")
import("../../webrtc.gni")
@@ -453,6 +454,14 @@ rtc_library("video_coding_utility") {
]
}
+if (rtc_use_h264 && rtc_use_system_openh264) {
+ pkg_config("openh264") {
+ packages = [
+ "openh264",
+ ]
+ }
+}
+
rtc_library("webrtc_h264") {
visibility = [ "*" ]
sources = [
@@ -501,8 +510,14 @@ rtc_library("webrtc_h264") {
if (rtc_use_h264) {
deps += [
"//third_party/ffmpeg",
- "//third_party/openh264:encoder",
]
+
+ if (rtc_use_system_openh264) {
+ configs += [":openh264"]
+ } else {
+ deps += [ "//third_party/openh264:encoder" ]
+ }
+
if (!build_with_mozilla) {
deps += [ "../../media:rtc_media_base" ]
}
diff --git a/src/3rdparty/chromium/third_party/webrtc/webrtc.gni b/src/3rdparty/chromium/third_party/webrtc/webrtc.gni
index 82870d2db..12231becc 100644
--- a/src/3rdparty/chromium/third_party/webrtc/webrtc.gni
+++ b/src/3rdparty/chromium/third_party/webrtc/webrtc.gni
@@ -192,6 +192,9 @@ declare_args() {
# Enable to use H265
rtc_use_h265 = proprietary_codecs
+ # Allow to use system OpenH264
+ rtc_use_system_openh264 = false
+
# Enable this flag to make webrtc::Mutex be implemented by absl::Mutex.
rtc_use_absl_mutex = false
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index e7432d0c7..394f05011 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -436,6 +436,9 @@ foreach(arch ${archs})
use_udev=true
is_cfi=false
use_ozone=true
+ media_use_openh264=true
+ rtc_use_h264=true
+ rtc_use_system_openh264=true
ozone_auto_platforms=false
ozone_platform_headless=false
ozone_platform_external=true