Message ID | 20210206014748.5b281d65@runbox.com |
---|---|
State | Accepted |
Headers | show |
Series | [bug#46337] A patch to enable building proprietary codecs in qtwebengine | expand |
Context | Check | Description |
---|---|---|
cbaines/applying patch | fail | View Laminar job |
cbaines/issue | success | View issue |
Pkill, pkill9 写道: > A patch to enable building proprietary codecs in qtwebengine LGTM, but please send a proper (‘git format-patch’-format) patch that can be applied with ‘git am’ with a standardised commit message. See ‘info (guix)Submitting Patches’ and the git log. > + "--webengine-pepper-plugins=no" > + "-webengine-proprietary-codecs"))))) The indentation's off here. Guix Scheme code uses spaces everywhere. Thanks! T G-R
Tobias Geerinckx-Rice via Guix-patches via 写道:
> + "-webengine-proprietary-codecs")))))
Addendum: add a comment explicitly noting that these are all free
software, or we might face ‘misunderstandings’ later.
Kind regards,
T G-R
On Sat, Feb 06, 2021 at 01:47:48AM +0000, pkill9 wrote: > diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm > index 4fbb157600..057644a576 100644 > --- a/gnu/packages/qt.scm > +++ b/gnu/packages/qt.scm > @@ -1939,7 +1939,8 @@ using the Enchant spell-checking library.") > "--webengine-printing-and-pdf=no" > "--webengine-ffmpeg=system" > "--webengine-icu=system" > - "--webengine-pepper-plugins=no"))))) > + "--webengine-pepper-plugins=no" > + "-webengine-proprietary-codecs"))))) Thanks! I tried building with this flag on a powerful computer, but the build failed because it couldn't find the dependency openh264. That is packaged, so we just need an updated patch.
Hey there. Just to clarify why and how this patch works: When `-webengine-proprietary-codecs` flag is added `rtc_use_h264` gn arg would be enabled. [1] This flag under the hood adds dependency on openh264 (to encode webrtc streams). [2] Now to make the build accept system library we have to jump through some hoops: - List of config flags [3] which qtwebengine supports misses webengine-system-openh264 - Chromium on the other hand supports linking with system library. [4] - To pass the required GN arg I blatantly slap it in linux.pri to gn_args [1] https://github.com/qt/qtwebengine/blob/v5.15.2/src/core/config/common.pri#L31 [2] https://github.com/qt/qtwebengine-chromium/blob/88-based/chromium/third_party/webrtc/modules/video_coding/BUILD.gn#L402 [3] https://github.com/qt/qtwebengine/blob/v5.15.2/src/buildtools/configure.json#L763 [4] https://github.com/qt/qtwebengine-chromium/blob/88-based/chromium/third_party/openh264/openh264_args.gni
Just a quick update. I built qtwebengine with this patch on my machine and checked that qutebrowser now plays h.264 videos.
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 4fbb157600..057644a576 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1939,7 +1939,8 @@ using the Enchant spell-checking library.") "--webengine-printing-and-pdf=no" "--webengine-ffmpeg=system" "--webengine-icu=system" - "--webengine-pepper-plugins=no"))))) + "--webengine-pepper-plugins=no" + "-webengine-proprietary-codecs"))))) ;; Tests are disabled due to "Could not find QtWebEngineProcess error" ;; It's possible this can be fixed by setting QTWEBENGINEPROCESS_PATH ;; before running tests.