diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 280874bb95..2b7e221227 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -356,13 +356,13 @@ jobs: run: | cat ./build/meson-logs/meson-log.txt - linux-ffmpeg-4-4: + linux-ffmpeg-6-1: runs-on: ubuntu-latest container: - # We want to test ffmpeg 4.4 which alpine 3.15 has exactly. + # We want to test ffmpeg 6.1.1 which alpine 3.19 has exactly. # Furthermore, this is a very minimal build of mpv without commonly # used features to test build compatibility. Musl is a nice bonus as well - image: alpine:3.15 + image: alpine:3.19 steps: - uses: actions/checkout@v4 - name: Install dependencies @@ -383,10 +383,9 @@ jobs: libxrandr-dev \ libxpresent-dev \ libxscrnsaver-dev \ + meson \ musl-dev \ - py3-pip \ samurai - pip install meson - name: Build with meson id: build diff --git a/ci/build-openbsd.sh b/ci/build-openbsd.sh index 8e9125cf38..20df568cd1 100755 --- a/ci/build-openbsd.sh +++ b/ci/build-openbsd.sh @@ -8,7 +8,24 @@ git clone https://code.videolan.org/videolan/libplacebo.git \ --recurse-submodules --shallow-submodules \ --depth=1 --recurse-submodules subprojects/libplacebo +# FFmpeg on openBSD (4.4.4) is too old; use a subproject +cat < subprojects/ffmpeg.wrap +[wrap-git] +url = https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg.git +revision = meson-6.1 +depth = 1 +[provide] +libavcodec = libavcodec_dep +libavdevice = libavdevice_dep +libavfilter = libavfilter_dep +libavformat = libavformat_dep +libavutil = libavutil_dep +libswresample = libswresample_dep +libswscale = libswscale_dep +EOF + meson setup build \ + -Dffmpeg:vulkan=auto \ -Dlibmpv=true \ -Dlua=enabled \ -Dopenal=enabled \ diff --git a/meson.build b/meson.build index 6b2bcec546..1d146423b3 100644 --- a/meson.build +++ b/meson.build @@ -19,12 +19,12 @@ source_root = meson.project_source_root() python = find_program('python3') # ffmpeg -libavcodec = dependency('libavcodec', version: '>= 58.134.100') -libavfilter = dependency('libavfilter', version: '>= 7.110.100') -libavformat = dependency('libavformat', version: '>= 58.76.100') -libavutil = dependency('libavutil', version: '>= 56.70.100') -libswresample = dependency('libswresample', version: '>= 3.9.100') -libswscale = dependency('libswscale', version: '>= 5.9.100') +libavcodec = dependency('libavcodec', version: '>= 60.31.102') +libavfilter = dependency('libavfilter', version: '>= 9.12.100') +libavformat = dependency('libavformat', version: '>= 60.16.100') +libavutil = dependency('libavutil', version: '>= 58.29.100') +libswresample = dependency('libswresample', version: '>= 4.12.100') +libswscale = dependency('libswscale', version: '>= 7.5.100') libplacebo = dependency('libplacebo', version: '>=6.338.2', default_options: ['default_library=static', 'demos=false']) @@ -669,7 +669,7 @@ if features['libarchive'] 'stream/stream_libarchive.c') endif -libavdevice = dependency('libavdevice', version: '>= 58.13.100', required: get_option('libavdevice')) +libavdevice = dependency('libavdevice', version: '>= 60.3.100', required: get_option('libavdevice')) features += {'libavdevice': libavdevice.found()} if features['libavdevice'] dependencies += libavdevice