Commit Graph

17 Commits

Author SHA1 Message Date
Nils Petter Skålerud c4315452cb iOS, FFmpeg: Improve variable naming in FFmpeg provisioning
Currently this script overwrites a local variables and reuses it for
a (slightly) different purpose. This makes the code a bit hard to
follow.

This patch introduces a separate local variable to improve readability.

No functional changes.

Pick-to: 6.9 6.8
Change-Id: Ifa1904482f498d9b380d1ed19ab6b0104afda19b
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-04-01 05:36:01 +01:00
Nils Petter Skålerud aa613ed85d iOS, FFmpeg: Replace arm64-simulator build with x86_64
Currently this provisioning script builds for arm64 architecture
when on iOS simulator. Qt ships x86_64 binaries for iOS simulator, and
we should build FFmpeg similarly.

This patch introduces support for x86_64-simulator in the iOS FFmpeg
provisioning script and uses it in place of arm64-simulator.

Pick-to: 6.9 6.8
Task-number: QTQAINFRA-7034
Change-Id: Ie93cffba51924cd1d78651d20dec211817cb0cef
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-04-01 05:35:53 +01:00
Timur Pocheptsov d7d7c522b6 install-ffmpeg-ios.sh: remove redundant configure options
While writing a documentation for FFmpeg build on iOS it was found that
many options are redundant. Remove them to simplify the provisioning
script and to reduce the amount of cargo cult code.

Pick-to: 6.8 6.9
Fixes: QTBUG-133502
Change-Id: I26aab49365eaca83bcdbfeb86de0638ac701bb80
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-04-01 04:35:47 +00:00
Timur Pocheptsov a4110ed94f FFmpeg: reduce the number of frameworks we create
to the same libraries we build e.g. on macOS. Also, clean up the
script a bit removing a duplicate configure option.

Pick-to: 6.9 6.8
Task-number: QTBUG-133502
Change-Id: If06aad102783bc3025155d3427aa68d87ad4d179
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-02-27 12:34:41 +00:00
Timur Pocheptsov 1968adc126 Update provisioning script to build FFmpeg for iOS
as xcframeworks, so that we can provide both arm64 and arm64-simulator
versions (the former can be used in App Store, the latter when
working with a simulator).

Pick-to: 6.8 6.9
Task-number: QTBUG-132313
Change-Id: Ic683f58dffcef8a06adb4a915c4e3abc4ab219e5
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-01-27 22:31:52 +01:00
Artem Dyomin 51dad84914 Add ffmpeg-installation-utils.sh file
There're code duplications in install-ffmpeg scripts.
Let's have a file with FFmpeg installation utils and reuse
the functionality on unix platforms.
The utility functions make the code more robust and get
around code duplications.

Pick-to: 6.9 6.8 6.5
Change-Id: I28639d18c7110109e52ff09ce602da52f8857281
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
2025-01-10 08:35:00 +01:00
Timur Pocheptsov ae8395afa7 Build ffmpeg for iOS as frameworks
While dylibs embedded in app bundle work locally on a device,
Apple Connect rejects such an app complaining about missing
Swift Runtime Support. Instead we must create frameworks.

Pick-to: 6.9 6.8
Task-number: QTBUG-130813
Change-Id: Ifd6eed227478bc29702b3b59968fcbfe2839ca82
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2024-12-18 15:42:14 +02:00
Pavel Dubsky 154b41a260 Update FFmpeg version to n7.1
Task-number: QTBUG-129510
Pick-to: 6.8 6.5
Change-Id: I15a801c0c0568b26486e5bb2065a1d0d1d151951
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2024-12-10 14:30:53 +00:00
Tero Heikkinen 6569f201c1 Fix macOS ffmpeg ios parallel compiling to cause resource starvation
Add -j4 to limit how many cores is used to build ffmpeg-ios binaries.
Error in logs: "posix_spawn failed: Resource temporarily unavailable"

Task-number: QTQAINFRA-6803
Pick-to: 6.8
Change-Id: I3fb56cdbe4cbda8f779852b0a16121916aa5a1d4
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-12-10 16:30:31 +02:00
Pavel Dubsky f2535cdcef Update FFmpeg version to n7.0.2
Task-number: QTBUG-127868
Pick-to: 6.8 6.7 6.5
Change-Id: I95f8f021cd23fdb35eb171d4609bf204878e105d
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
2024-08-17 10:50:01 +02:00
Pavel Dubsky a68d7302cd Update FFmpeg version to n7.0.1
Fixes: QTBUG-126687
Pick-to: 6.8 6.7 6.5
Change-Id: I327a33a65aaa0285a93fa228f47d6914623f8d3d
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
2024-07-26 00:11:22 +00:00
Pavel Dubsky 49c03849e3 Use single installation archive for FFmpeg provisioning on all platforms
Fixes: QTBUG-125955
Pick-to: 6.8
Change-Id: Ibfa97e3d765eb3c4ff5613004bc881e49ddf10e9
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
2024-07-09 18:43:13 +00:00
Timur Pocheptsov c099afdd45 Update provisioning script to build FFmpeg as dynamic libs
Previously, iOS (where we mostly using static linking) was also using
FFmpeg built as static libs, now switch to dynamic libraries, as
it was already done for macOS. Requires changes in cmake file in
qtmultimedia in order to configure with -DQT_DEPLOY_FFMPEG=TRUE.

Pick-to: 6.8
Fixes: QTBUG-120991
Change-Id: I0b014f24db3127697b76c6d1774437faae64a7c8
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2024-06-21 19:56:22 +02:00
Pavel Dubsky eb8bbfe971 Update FFmpeg version to n7.0
Fixes: QTBUG-124482
Pick-to: 6.8 6.7 6.5
Change-Id: I69727981344d935151f19148960c711b65cb2307
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
2024-06-20 04:56:19 +00:00
Tony Sarajärvi f074859391 Fix shellcheck problems
Change-Id: I277fd923f62aa5888d7e18c89471909732da30e5
Reviewed-by: Liang Qi <liang.qi@qt.io>
2024-04-28 06:06:50 +00:00
Artem Dyomin 45220efb3a Update ffmpeg: explicitly refer to the latest release 6.1.1
Pick-to: 6.7 6.6 6.5
Change-Id: I231c5cdc6155de0d1ea98220a90ecc0f910b34d6
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2024-02-21 13:27:56 +00:00
Timur Pocheptsov 65695bc38b QtMultimedia - build ffmpeg plugin for iOS
Minimal preliminary script for building ffmpeg for iOS.

Change-Id: Ie210db8cd50b5a757fcc6d6258c3ebdf4fc53c51
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2024-02-03 08:40:15 +00:00