qt6.qtmultimedia: Compile ffmpeg multimedia plugin

This is now the default recommendation upstream for linux platforms

> https://doc.qt.io/qt-6.6/qtmultimedia-index.html#ffmpeg-as-the-default-backend
> In this release the FFmpeg framework is set as the default backend on
> Windows, macOS, Android, and Linux except Yocto distribution.

> The version shipped with Qt binary packages is FFmpeg 6.0
> and is tested by the maintainers.

libXrandr is required to compile support QT_WINDOW_CAPTURE_BACKEND=x11
This commit is contained in:
Kevin Puetz 2023-11-08 00:05:37 -06:00
parent 0ebea89551
commit 91b8e472a5
2 changed files with 6 additions and 2 deletions

View File

@ -53,3 +53,5 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- The `hardware.pulseaudio` module now sets permission of pulse user home directory to 755 when running in "systemWide" mode. It fixes [issue 114399](https://github.com/NixOS/nixpkgs/issues/114399).
- QtMultimedia has changed its default backend to `QT_MEDIA_BACKEND=ffmpeg` (previously `gstreamer` on Linux or `darwin` on MacOS).
The previous native backends remain available but are now minimally maintained. Refer to [upstream documentation](https://doc.qt.io/qt-6/qtmultimedia-index.html#ffmpeg-as-the-default-backend) for further details about each platform.

View File

@ -13,8 +13,10 @@
, gst-plugins-good
, gst-libav
, gst-vaapi
, ffmpeg_6
, libpulseaudio
, wayland
, libXrandr
, elfutils
, libunwind
, orc
@ -24,8 +26,8 @@
qtModule {
pname = "qtmultimedia";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libunwind orc ]
++ lib.optionals stdenv.isLinux [ libpulseaudio elfutils alsa-lib wayland ];
buildInputs = [ libunwind orc ffmpeg_6 ]
++ lib.optionals stdenv.isLinux [ libpulseaudio elfutils alsa-lib wayland libXrandr ];
propagatedBuildInputs = [ qtbase qtdeclarative qtsvg qtshadertools qtquick3d ]
++ lib.optionals stdenv.isLinux [ gstreamer gst-plugins-base gst-plugins-good gst-libav gst-vaapi ]
++ lib.optionals stdenv.isDarwin [ VideoToolbox ];