From 9865211de84ee47b0e4cef43defc57d9e9bcfbdc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Nov 2023 14:35:04 +0000 Subject: [PATCH 1/7] Bump jurplel/install-qt-action from 3 to 4 Bumps [jurplel/install-qt-action](https://github.com/jurplel/install-qt-action) from 3 to 4. - [Release notes](https://github.com/jurplel/install-qt-action/releases) - [Commits](https://github.com/jurplel/install-qt-action/compare/v3...v4) --- updated-dependencies: - dependency-name: jurplel/install-qt-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8c8ebb82..ecd7c926 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,7 +12,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Install Qt 5.15.2 - uses: jurplel/install-qt-action@v3 + uses: jurplel/install-qt-action@v4 with: version: "5.15.2" modules: "qtwebengine" @@ -43,7 +43,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Install Qt 5.15.2 - uses: jurplel/install-qt-action@v3 + uses: jurplel/install-qt-action@v4 with: version: "5.15.2" arch: "win64_msvc2019_64" @@ -89,7 +89,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Install Qt 5.15.2 - uses: jurplel/install-qt-action@v3 + uses: jurplel/install-qt-action@v4 with: version: "5.15.2" arch: "win32_msvc2019" From f1b11da14758d8f3c9501588ac75d0800e1c48a1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Jan 2024 14:53:09 +0000 Subject: [PATCH 2/7] Bump actions/upload-artifact from 3 to 4 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/main.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 400eccac..987eb540 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -33,7 +33,7 @@ jobs: brew install create-dmg create-dmg --volname "Jellyfin Media Player" --no-internet-enable "JellyfinMediaPlayer.dmg" "./build/output/Jellyfin Media Player.app" - name: Archive production artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: macos path: ${{ github.workspace }}/JellyfinMediaPlayer.dmg @@ -79,7 +79,7 @@ jobs: ninja windows_package shell: cmd - name: Archive production artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: windows path: ${{ github.workspace }}/build/JellyfinMediaPlayer-*.exe @@ -125,7 +125,7 @@ jobs: ninja windows_package shell: cmd - name: Archive production artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: windows-legacy32 path: ${{ github.workspace }}/build/JellyfinMediaPlayer-*.exe @@ -142,7 +142,7 @@ jobs: docker build -f deployment/Dockerfile.debian -t builddeb --build-arg TAG=${{ matrix.tag }} --build-arg IMG=ubuntu deployment docker run -v $(pwd)/deployment/dist:/dist -v $(pwd):/jellyfin -e TAG=${{ matrix.tag }} builddeb - name: Archive production artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ubuntu-${{ matrix.tag }} path: ${{ github.workspace }}/deployment/dist/* @@ -159,7 +159,7 @@ jobs: docker build -f deployment/Dockerfile.debian -t builddeb --build-arg TAG=${{ matrix.tag }} deployment docker run -v $(pwd)/deployment/dist:/dist -v $(pwd):/jellyfin -e TAG=${{ matrix.tag }} builddeb - name: Archive production artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: debian-${{ matrix.tag }} path: ${{ github.workspace }}/deployment/dist/* From ee7abb3bf0b2c62ec319428a4b14b0e0f8065552 Mon Sep 17 00:00:00 2001 From: Uruk Date: Sun, 14 Jan 2024 02:48:53 +0100 Subject: [PATCH 3/7] Changed Debian version and better syntax --- deployment/Dockerfile.debian | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/deployment/Dockerfile.debian b/deployment/Dockerfile.debian index 1a16d10a..e00bb764 100644 --- a/deployment/Dockerfile.debian +++ b/deployment/Dockerfile.debian @@ -1,6 +1,4 @@ -ARG IMG=debian -ARG TAG=buster -FROM $IMG:$TAG +FROM debian:bookworm-slim # Docker build arguments ARG SOURCE_DIR=/jellyfin @@ -15,8 +13,8 @@ ENV IS_DOCKER=YES # Prepare Debian build environment RUN apt-get update \ && DEBIAN_FRONTEND="noninteractive" TZ="America/New_York" \ - apt-get install -y debhelper mmv git curl devscripts equivs - + apt-get install --no-install-recommends -y \ + debhelper mmv git curl devscripts equivs # Link to build script RUN ln -sf ${SOURCE_DIR}/deployment/build.debian /build.sh From 7f1c08ef7d088ba869b08fc28c578bd1bbb57ce3 Mon Sep 17 00:00:00 2001 From: Uruk Date: Sun, 14 Jan 2024 21:21:08 +0100 Subject: [PATCH 4/7] Re-align --- deployment/Dockerfile.debian | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/deployment/Dockerfile.debian b/deployment/Dockerfile.debian index e00bb764..49751e7c 100644 --- a/deployment/Dockerfile.debian +++ b/deployment/Dockerfile.debian @@ -12,9 +12,9 @@ ENV IS_DOCKER=YES # Prepare Debian build environment RUN apt-get update \ - && DEBIAN_FRONTEND="noninteractive" TZ="America/New_York" \ - apt-get install --no-install-recommends -y \ - debhelper mmv git curl devscripts equivs + && DEBIAN_FRONTEND="noninteractive" TZ="America/New_York" \ + apt-get install --no-install-recommends -y \ + debhelper mmv git curl devscripts equivs # Link to build script RUN ln -sf ${SOURCE_DIR}/deployment/build.debian /build.sh From 6d6f03520f3db7e14c0476c091d6a61b5eaedb3e Mon Sep 17 00:00:00 2001 From: Kyle Scheuing Date: Thu, 18 Jan 2024 02:04:18 -0500 Subject: [PATCH 5/7] Fix mpv deprecations - af-defaults was deprecated in 0.29.0 and removed in 0.37.0 - video-aspect was deprecated in 0.30.0 and removed in 0.37.0 - af-del was deprecated in 0.31.0 and removed in 0.37.0 - writing to display-fps was deprecated in 0.31.0 and replaced with override-display-fps, which was then renamed to display-fps-override in 0.37.0 --- src/player/PlayerComponent.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/player/PlayerComponent.cpp b/src/player/PlayerComponent.cpp index 5d6189d6..bf55aabc 100644 --- a/src/player/PlayerComponent.cpp +++ b/src/player/PlayerComponent.cpp @@ -1062,14 +1062,11 @@ void PlayerComponent::setAudioConfiguration() updateAudioDevice(); - QString resampleOpts = ""; bool normalize = SettingsComponent::Get().value(SETTINGS_SECTION_AUDIO, "normalize").toBool(); - resampleOpts += QString(":normalize=") + (normalize ? "yes" : "no"); + mpv::qt::set_property(m_mpv, "audio-normalize-downmix", normalize ? "yes" : "no"); // Make downmix more similar to PHT. - resampleOpts += ":o=[surround_mix_level=1]"; - - mpv::qt::set_property(m_mpv, "af-defaults", "lavrresample" + resampleOpts); + mpv::qt::set_property(m_mpv, "audio-swresample-o", "surround_mix_level=1"); m_passthroughCodecs.clear(); @@ -1123,7 +1120,7 @@ void PlayerComponent::setAudioConfiguration() } else { - mpv::qt::command(m_mpv, QStringList() << "af" << "del" << "@ac3"); + mpv::qt::command(m_mpv, QStringList() << "af" << "remove" << "@ac3"); } QVariant device = SettingsComponent::Get().value(SETTINGS_SECTION_AUDIO, "device"); @@ -1223,7 +1220,7 @@ void PlayerComponent::updateVideoAspectSettings() } mpv::qt::set_property(m_mpv, "video-unscaled", disableScaling); - mpv::qt::set_property(m_mpv, "video-aspect", forceAspect); + mpv::qt::set_property(m_mpv, "video-aspect-override", forceAspect); mpv::qt::set_property(m_mpv, "keepaspect", keepAspect); mpv::qt::set_property(m_mpv, "panscan", panScan); } @@ -1259,7 +1256,7 @@ void PlayerComponent::updateVideoSettings() #ifndef TARGET_RPI double displayFps = DisplayComponent::Get().currentRefreshRate(); - mpv::qt::set_property(m_mpv, "display-fps", displayFps); + mpv::qt::set_property(m_mpv, "display-fps-override", displayFps); #endif setAudioDelay(m_playbackAudioDelay); @@ -1546,7 +1543,7 @@ QString PlayerComponent::videoInformation() const << MPV_PROPERTY("video-params/dh") << "\n"; info << "FPS (container): " << MPV_PROPERTY("container-fps") << "\n"; info << "FPS (filters): " << MPV_PROPERTY("estimated-vf-fps") << "\n"; - info << "Aspect: " << MPV_PROPERTY("video-aspect") << "\n"; + info << "Aspect: " << MPV_PROPERTY("video-params/aspect") << "\n"; info << "Bitrate: " << MPV_PROPERTY("video-bitrate") << "\n"; double displayFps = DisplayComponent::Get().currentRefreshRate(); info << "Display FPS: " << MPV_PROPERTY("display-fps") From 9efd3718d5eb7aa4773d3813d2eb13244194fb0f Mon Sep 17 00:00:00 2001 From: Baptiste Daroussin Date: Wed, 17 Jan 2024 13:55:58 +0100 Subject: [PATCH 6/7] Add support for FreeBSD --- src/main.cpp | 4 ++-- src/player/OpenGLDetect.cpp | 2 +- src/settings/SettingsComponent.cpp | 2 ++ src/ui/KonvergoWindow.h | 2 +- src/utils/Utils.cpp | 2 ++ src/utils/Utils.h | 3 ++- 6 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 40dea87a..11725687 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -30,7 +30,7 @@ #include "PFMoveApplication.h" #endif -#if defined(Q_OS_MAC) || defined(Q_OS_LINUX) +#if defined(Q_OS_MAC) || defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) #include "SignalManager.h" #endif @@ -175,7 +175,7 @@ int main(int argc, char *argv[]) app.setWindowIcon(QIcon(":/images/icon.png")); #endif -#if defined(Q_OS_LINUX) +#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) // Set window icon on Linux using system icon theme app.setWindowIcon(QIcon::fromTheme("com.github.iwalton3.jellyfin-media-player", QIcon(":/images/icon.png"))); // Set app id for Wayland compositor window icon diff --git a/src/player/OpenGLDetect.cpp b/src/player/OpenGLDetect.cpp index 56b79d44..a46feb3a 100644 --- a/src/player/OpenGLDetect.cpp +++ b/src/player/OpenGLDetect.cpp @@ -30,7 +30,7 @@ void detectOpenGLLate() { } -#elif defined(Q_OS_LINUX) +#elif defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) /////////////////////////////////////////////////////////////////////////////////////////////////// // Attempt to reuse mpv's code for detecting whether we want GLX or EGL (which diff --git a/src/settings/SettingsComponent.cpp b/src/settings/SettingsComponent.cpp index 81fa6358..29e2d491 100644 --- a/src/settings/SettingsComponent.cpp +++ b/src/settings/SettingsComponent.cpp @@ -655,6 +655,8 @@ Platform SettingsComponent::platformFromString(const QString& platformString) return PLATFORM_WINDOWS; else if (platformString == "linux") return PLATFORM_LINUX; + else if (platformString == "freebsd") + return PLATFORM_FREEBSD; else if (platformString == "oe") return PLATFORM_OE; else if (platformString == "oe_rpi") diff --git a/src/ui/KonvergoWindow.h b/src/ui/KonvergoWindow.h index 8c77cfc7..2a95c58d 100644 --- a/src/ui/KonvergoWindow.h +++ b/src/ui/KonvergoWindow.h @@ -50,7 +50,7 @@ class KonvergoWindow : public QQuickWindow bool isAlwaysOnTop() { Qt::WindowFlags forceOnTopFlags = Qt::WindowStaysOnTopHint; -#ifdef Q_OS_LINUX +#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) forceOnTopFlags = forceOnTopFlags | Qt::X11BypassWindowManagerHint; #endif return (flags() & forceOnTopFlags); diff --git a/src/utils/Utils.cpp b/src/utils/Utils.cpp index 042d79bd..a2c88799 100644 --- a/src/utils/Utils.cpp +++ b/src/utils/Utils.cpp @@ -96,6 +96,8 @@ Platform Utils::CurrentPlatform() return PLATFORM_LINUX; #elif defined(Q_OS_WIN32) return PLATFORM_WINDOWS; +#elif defined(Q_OS_FREEBSD) + return PLATFORM_FREEBSD; #else return PLATFORM_UNKNOWN; #endif diff --git a/src/utils/Utils.h b/src/utils/Utils.h index 06caae66..abc96f39 100644 --- a/src/utils/Utils.h +++ b/src/utils/Utils.h @@ -43,8 +43,9 @@ class FatalException : public QException PLATFORM_OE_X86 = (1 << 2), PLATFORM_OE_RPI = (1 << 3), PLATFORM_WINDOWS = (1 << 4), + PLATFORM_FREEBSD = (1 << 5), PLATFORM_OE = (PLATFORM_OE_RPI | PLATFORM_OE_X86), - PLATFORM_ANY = (PLATFORM_OSX | PLATFORM_WINDOWS | PLATFORM_LINUX | PLATFORM_OE) + PLATFORM_ANY = (PLATFORM_OSX | PLATFORM_WINDOWS | PLATFORM_LINUX | PLATFORM_OE | PLATFORM_FREEBSD) }; #define PLATFORM_ANY_EXCEPT(x) (PLATFORM_ANY & (~(x))) From de69abbcf0f97b2dcf061b4d11dcc1e37d4240ba Mon Sep 17 00:00:00 2001 From: Uruk Date: Tue, 6 Feb 2024 14:38:29 +0100 Subject: [PATCH 7/7] Fix suggestions --- deployment/Dockerfile.debian | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/deployment/Dockerfile.debian b/deployment/Dockerfile.debian index 49751e7c..f3ec1e31 100644 --- a/deployment/Dockerfile.debian +++ b/deployment/Dockerfile.debian @@ -1,4 +1,6 @@ -FROM debian:bookworm-slim +ARG IMG=debian +ARG TAG=bookworm +FROM $IMG:$TAG # Docker build arguments ARG SOURCE_DIR=/jellyfin