diff --git a/multimedia/jellyfin-desktop/Makefile b/multimedia/jellyfin-desktop/Makefile index a19b9842353c..fadf9c820433 100644 --- a/multimedia/jellyfin-desktop/Makefile +++ b/multimedia/jellyfin-desktop/Makefile @@ -1,27 +1,28 @@ PORTNAME= jellyfin-desktop DISTVERSIONPREFIX= v DISTVERSION= 2.0.0 +PORTREVISION= 1 CATEGORIES= multimedia MAINTAINER= bapt@FreeBSD.org COMMENT= Jellyfin Desktop Client WWW= https://github.com/jellyfin/jellyfin-desktop-qt LICENSE= GPLv2 LIB_DEPENDS= libmpv.so:multimedia/mpv \ libMpvQt.so:multimedia/mpvqt \ libcec.so:multimedia/libcec \ libminizip.so:archivers/minizip USES= cmake gl iconv pkgconfig python:build qt:6 sdl xorg USE_GITHUB= yes GH_ACCOUNT= jellyfin GH_PROJECT= jellyfin-desktop-qt USE_GL= opengl USE_SDL= sdl2 USE_QT= base declarative positioning webchannel webengine USE_XORG= ice sm x11 xext xrandr .include diff --git a/multimedia/jellyfin-desktop/files/patch-src_player_PlayerComponent.cpp b/multimedia/jellyfin-desktop/files/patch-src_player_PlayerComponent.cpp new file mode 100644 index 000000000000..8c79f1043de7 --- /dev/null +++ b/multimedia/jellyfin-desktop/files/patch-src_player_PlayerComponent.cpp @@ -0,0 +1,62 @@ +--- src/player/PlayerComponent.cpp.orig 2025-12-14 11:13:03 UTC ++++ src/player/PlayerComponent.cpp +@@ -313,39 +313,39 @@ void PlayerComponent::queueMedia(const QString& url, c + QUrl qurl = url; + QString host = qurl.host(); + +- QVariantList command; ++ QStringList command; + command << "loadfile" << qurl.toString(QUrl::FullyEncoded); + command << "append-play"; // if nothing is playing, play it now, otherwise just enqueue it + + #if MPV_CLIENT_API_VERSION >= MPV_MAKE_VERSION(2, 3) +- command << -1; // insert_at_idx ++ command << "-1"; // insert_at_idx + #endif + +- QVariantMap extraArgs; ++ QStringList extraArgs; + + quint64 startMilliseconds = options["startMilliseconds"].toLongLong(); + if (startMilliseconds != 0) +- extraArgs.insert("start", "+" + QString::number(startMilliseconds / 1000.0)); ++ extraArgs.append("start=+" + QString::number(startMilliseconds / 1000.0)); + + // we're going to select these streams later, in the preloaded hook +- extraArgs.insert("aid", "no"); +- extraArgs.insert("sid", "no"); ++ extraArgs.append("aid=no"); ++ extraArgs.append("sid=no"); + + m_currentSubtitleStream = subtitleStream; + m_currentAudioStream = audioStream; + + if (metadata["type"] == "music") +- extraArgs.insert("vid", "no"); ++ extraArgs.append("vid=no"); + +- extraArgs.insert("pause", options["autoplay"].toBool() ? "no" : "yes"); ++ extraArgs.append("pause=" + options["autoplay"].toBool() ? "no" : "yes"); + + QString userAgent = metadata["headers"].toMap()["User-Agent"].toString(); + if (userAgent.size()) +- extraArgs.insert("user-agent", userAgent); ++ extraArgs.append("user-agent=" + userAgent); + + // Make sure the list of requested codecs is reset. +- extraArgs.insert("ad", ""); +- extraArgs.insert("vd", ""); ++ extraArgs.append("ad="); ++ extraArgs.append("vd="); + + command << extraArgs; + +@@ -851,7 +851,7 @@ void PlayerComponent::seekTo(qint64 ms) + return; + } + double timeSecs = ms / 1000.0; +- QVariantList args = (QVariantList() << "seek" << timeSecs << "absolute+exact"); ++ QStringList args = (QStringList() << "seek" << QString::number(timeSecs) << "absolute+exact"); + m_mpv->command( args); + } +