From: Rémi Bernon rbernon@codeweavers.com
--- tools/gitlab/image.docker | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/tools/gitlab/image.docker b/tools/gitlab/image.docker index 5259d1a1ed4..135b8bc0e2a 100644 --- a/tools/gitlab/image.docker +++ b/tools/gitlab/image.docker @@ -16,6 +16,9 @@ RUN export DEBIAN_FRONTEND=noninteractive; \ llvm clang lld \ git autoconf flex bison perl gettext \ libasound2-dev:amd64 libasound2-dev:i386 \ + libavutil-dev:amd64 libavutil-dev:i386 \ + libavformat-dev:amd64 libavformat-dev:i386 \ + libavcodec-dev:amd64 libavcodec-dev:i386 \ libcapi20-dev:amd64 libcapi20-dev:i386 \ libcups2-dev:amd64 libcups2-dev:i386 \ libdbus-1-dev:amd64 libdbus-1-dev:i386 \ @@ -32,6 +35,8 @@ RUN export DEBIAN_FRONTEND=noninteractive; \ libpulse-dev:amd64 libpulse-dev:i386 \ libsane-dev:amd64 libsane-dev:i386 \ libsdl2-dev:amd64 libsdl2-dev:i386 \ + libswresample-dev:amd64 libswresample-dev:i386 \ + libswscale-dev:amd64 libswscale-dev:i386 \ libudev-dev:amd64 libudev-dev:i386 \ libusb-1.0-0-dev:amd64 libusb-1.0-0-dev:i386 \ libv4l-dev:amd64 libv4l-dev:i386 \
Motivation for this change:
[12:28:04] <rbernon> i intend to use ffmpeg libraries directly for MF media source, because it's a much better fit<br> [12:28:32] <rbernon> and generally speaking i have wip changes to use it for everything and it makes things much simpler
I only intend to use libavutil and libavformat at first, but the rest would be useful later if we want to commit to FFmpeg, and I figured it'd be better not to have to rebuild the image again. A wip branch with all the potential changes is at https://gitlab.winehq.org/rbernon/wine/-/commits/wip/winedmo-full.
How are you going to deal with the constant ABI breakage?
For ABI changes, they version their libraries so that shouldn't be more of an issue than any other.
For API changes they provide version checking macros, and functions are deprecated at least one major release in advance before it gets removed. Overall I don't think we need any advanced usage, even less advanced than what gst-libav does for instance, and I was able to build my branch from FFmpeg 4 to 7 with only a couple of #ifdef to handle the new audio channel layout.
The project is active and developed, so yes it changes, but other projects which use FFmpeg deal with that already, we can deal with it too, I don't think it's so much of a deal.
On Tue Sep 3 16:55:45 2024 +0000, Rémi Bernon wrote:
For ABI changes, they version their libraries so that shouldn't be more of an issue than any other. For API changes they provide version checking macros, and functions are deprecated at least one major release in advance before it gets removed. Overall I don't think we need any advanced usage, even less advanced than what gst-libav does for instance, and I was able to build my branch from FFmpeg 4 to 7 with only a couple of #ifdef to handle the new audio channel layout. The project is active and developed, so yes it changes, but other projects which use FFmpeg deal with that already, we can deal with it too, I don't think it's so much of a deal.
I'm concerned that multimedia stuff is going to suddenly break when downgrading the Wine binaries (which is important for my bisecting workflow)