We have to replace static linkage with dynamic one due to
licensing issues.
The related patch in QtMM
codereview.qt-project.org/c/qt/qtmultimedia/+/523405
introduces cmake var QT_DEPLOY_FFMPEG that enables deployment
of ffmpeg shared libs to the installation lib dir or
the build lib dir (for dev builds).
These are build/tests results for the current CR
together with the patch in QtMM
testresults.qt.io/coin/integration/qt/qtmultimedia/tasks/web_rescheduled_qt_qtmultimedia_1703082976669
The related patch
codereview.qt-project.org/c/qt/qtbase/+/525100
fixes the deployment tool on Windows.
The plan is to have the set of changes for Windows in
6.5.4, 6.6.2, 6.7.0.
It was agreed that we want to backport shared ffmpeg to 6.6 and 6.5.
Pick-to: 6.6 6.5
Change-Id: Ie4d8621a98fb93715c32e49c830bfd715ed0e8a5
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 0fe99775c0)
The update will go tohether with dynamic ffmpeg build on Windows.
Pick-to: 6.6 6.5
Change-Id: I7a72d4009c8a8e4030899b526bad9cfedd6f45a7
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit 483694d725)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The FFmpeg library should use dynamically linked OpenSSL. To make it
possible --enable-openssl flag need to be set. Additionally correct path
for OpenSSL need to be passed to FFmpeg configuration script.
Task-number: QTBUG-110805
Task-number: QTBUG-114954
Task-number: QTBUG-113980
Pick-to: 6.6 6.5
Change-Id: Id887c2c4083663a674123a0f0003b44661149116
Reviewed-by: Samuel Mira <samuel.mira@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
The missing files were downloaded from their external source and placed in their directories of the cache URLs. Files: FFmpeg-n6.0.tar.gz, Postgres-2.5-14.dmg, protobuf-all-21.9.zip, MimerSQLInstaller_x64_1107b.exe, FFmpeg-n6.0.zip, msys2-base-x86_64-20220319.tar.xz, python-3.10.0-amd64.exe, python-2.7.13.msi, mimersqlsrv_11.0_amd64-openssl3.deb, mimersqlsrv-11.0.x86_64-openssl3.rpm, MinGW-w64-x86_64-11.2.0-release-posix-seh-rt_v9-rev3.7z
Task-number: QTQAINFRA-5766
Change-Id: Ieacdc9138b71969397d900096956f54faff45918
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Vulkan:
FFmpeg has a very draft support of vulkan in n5.x and n6.0,
it's promised to be introduced with some working functionality in n6.1.
We'll wait for 6.1, then test it. For now, let's get rid of the extra
dependency.
v4l2m2m:
It's a prospective hw acceleration on linux, especially on embeddded
platforms, but currently, in my experiments, it's not working with
both QtMM and ffmpeg cmd line.
Let's get rid of the not working codec. Hopefully, it'll be fixed
in the future.
Pick-to: 6.6 6.5
Change-Id: I2468f84ae2ec54043d2db83f1a9c08be8e4f509d
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
To simplify testing modifications to the FFMPEG library, it is nice to
be able to rebuild FFMPEG without having to manually delete lib files
first. This change makes this possible because it uses powershell
Move-Item instead of Rename-Item to rename .o files to .lib files.
Move-Item's -Force argument allows renaming files to destination that
already exists.
Pick-to: 6.5 6.6
Change-Id: I0a56776d38c37d38d1cd74b5186881fc955d51f0
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.
Pick-to: 6.5 6.6
Task-number: QTBUG-67283
Task-number: QTBUG-108364
Change-Id: If26e4d35c780db4a7982bb84872b251dad24716e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
It's hasn't been .intra.qt.io for quite some time, it
has worked through an alias we have on the DNS server.
Change-Id: I0bc17668dacfea64c276bb553e75e4be16e97659
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
We pick the oldest build tools we can find because there is lower
chance that the produced binaries will be incomaptible with the newer
version of MSVC.
With the current provisioning design we also cannot change the MSVC
version for the each package on demand. Once Enter-VsDevShell is called
it litters the powershell environment and blocks the use of
Enter-VsDevShell second time. It could be better to run each .ps1 file
in own instance of powershell to avoid mixing build environment.
Amends f58afd5476
Pick-to: 6.5
Change-Id: Ie752cfc8b69ed985e61ec16209007dd586611866
Reviewed-by: Samuel Mira <samuel.mira@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Checked the basic functionality on macOS, linux, and windows.
To be tested in detail.
Pick-to: 6.5
Change-Id: I109f52ab33d58088332a3885c83d622815edd22e
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
vswhere tool is included since Visual Studio 2017 and is always located
at the same path thus making it a more convenient way to find Visual
Studio install directory.
Pick-to: 6.5
Change-Id: I680af8f88779841108b436223b4667f8a7c91aba
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Some issues have been fixed in ffmpeg 5.1, e.g, with videotoolbox.
So the update at least fixes our playback
of some video formats on macos, e.g. provided in the related bug.
After the update I tested the basic functionality on windows,
linux, macOS, and run CI tests, which are OK.
Task-number: QTBUG-98102
Pick-to: 6.5 6.4
Change-Id: I72f45780e1c3983d6a1941db2b833b78784b90de
Reviewed-by: Samuel Mira <samuel.mira@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
One of the QtMultimedia backends is implemented using FFmpeg.
This provisioning enables building and testing of this backend.
Change-Id: Ia196c2ae4b457aa6b8e3ee8e0f367197aadfe0d9
Reviewed-by: Simo Fält <simo.falt@qt.io>