plex-media-player: remove package

d9685b2749

No longer builds due to relying on deprecated features.
This commit is contained in:
Andrew Benson 2022-11-12 16:04:15 -06:00 committed by classabbyamp
parent 3805fbc775
commit d0c7d97cbe
5 changed files with 3 additions and 235 deletions

View File

@ -1,164 +0,0 @@
The opengl-cb interface has been retired; patch in libmpv usage.
https://github.com/plexinc/plex-media-player/issues/997
https://github.com/plexinc/plex-media-player/pull/999
--- a/src/player/PlayerComponent.cpp
+++ b/src/player/PlayerComponent.cpp
@@ -259,7 +259,7 @@ void PlayerComponent::setQtQuickWindow(QQuickWindow* window)
///////////////////////////////////////////////////////////////////////////////////////////////////
void PlayerComponent::setWindow(QQuickWindow* window)
{
- QString vo = "opengl-cb";
+ QString vo = "libmpv";
#ifdef TARGET_RPI
window->setFlags(Qt::FramelessWindowHint);
@@ -276,7 +276,7 @@ void PlayerComponent::setWindow(QQuickWindow* window)
mpv::qt::set_property(m_mpv, "vo", vo);
- if (vo == "opengl-cb")
+ if (vo == "libmpv")
setQtQuickWindow(window);
}
--- a/src/player/PlayerQuickItem.cpp
+++ b/src/player/PlayerQuickItem.cpp
@@ -11,6 +11,8 @@
#include <QtQuick/QQuickWindow>
#include <QOpenGLFunctions>
+#include <mpv/render_gl.h>
+
#include "QsLog.h"
#include "utils/Utils.h"
@@ -93,7 +95,6 @@ class RequestRepaintJob : public QRunnable
PlayerRenderer::PlayerRenderer(mpv::qt::Handle mpv, QQuickWindow* window)
: m_mpv(mpv), m_mpvGL(nullptr), m_window(window), m_size(), m_hAvrtHandle(nullptr), m_videoRectangle(-1, -1, -1, -1), m_fbo(0)
{
- m_mpvGL = (mpv_opengl_cb_context *)mpv_get_sub_api(m_mpv, MPV_SUB_API_OPENGL_CB);
}
///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -104,11 +105,27 @@ bool PlayerRenderer::init()
DwmEnableMMCSS(TRUE);
#endif
- mpv_opengl_cb_set_update_callback(m_mpvGL, on_update, (void *)this);
// Signals presence of MPGetNativeDisplay().
const char *extensions = "GL_MP_MPGetNativeDisplay";
- return mpv_opengl_cb_init_gl(m_mpvGL, extensions, get_proc_address, nullptr) >= 0;
+
+ mpv_opengl_init_params opengl_params = {
+ .get_proc_address = get_proc_address,
+ .get_proc_address_ctx = NULL,
+ .extra_exts = extensions,
+ };
+ mpv_render_param params[] = {
+ {MPV_RENDER_PARAM_API_TYPE, (void*)MPV_RENDER_API_TYPE_OPENGL},
+ {MPV_RENDER_PARAM_OPENGL_INIT_PARAMS, &opengl_params},
+ {MPV_RENDER_PARAM_INVALID},
+ };
+ int err = mpv_render_context_create(&m_mpvGL, m_mpv, params);
+
+ if (err >= 0) {
+ mpv_render_context_set_update_callback(m_mpvGL, on_update, (void *)this);
+ return true;
+ }
+ return false;
}
///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -116,7 +133,8 @@ PlayerRenderer::~PlayerRenderer()
{
// Keep in mind that the m_mpv handle must be held until this is done.
if (m_mpvGL)
- mpv_opengl_cb_uninit_gl(m_mpvGL);
+ mpv_render_context_free(m_mpvGL);
+ m_mpvGL = nullptr;
delete m_fbo;
}
@@ -158,9 +176,18 @@ void PlayerRenderer::render()
}
}
- // The negative height signals to mpv that the video should be flipped
- // (according to the flipped OpenGL coordinate system).
- mpv_opengl_cb_draw(m_mpvGL, fbo, fboSize.width(), (flip ? -1 : 1) * fboSize.height());
+ mpv_opengl_fbo mpv_fbo = {
+ .fbo = fbo,
+ .w = fboSize.width(),
+ .h = fboSize.height(),
+ };
+ int mpv_flip = flip ? -1 : 0;
+ mpv_render_param params[] = {
+ {MPV_RENDER_PARAM_OPENGL_FBO, &mpv_fbo},
+ {MPV_RENDER_PARAM_FLIP_Y, &mpv_flip},
+ {MPV_RENDER_PARAM_INVALID}
+ };
+ mpv_render_context_render(m_mpvGL, params);
m_window->resetOpenGLState();
@@ -177,7 +204,8 @@ void PlayerRenderer::render()
///////////////////////////////////////////////////////////////////////////////////////////////////
void PlayerRenderer::swap()
{
- mpv_opengl_cb_report_flip(m_mpvGL, 0);
+ if (m_mpvGL)
+ mpv_render_context_report_swap(m_mpvGL);
}
///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -224,7 +252,7 @@ PlayerQuickItem::PlayerQuickItem(QQuickItem* parent)
PlayerQuickItem::~PlayerQuickItem()
{
if (m_mpvGL)
- mpv_opengl_cb_set_update_callback(m_mpvGL, nullptr, nullptr);
+ mpv_render_context_set_update_callback(m_mpvGL, nullptr, nullptr);
}
///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -298,10 +326,6 @@ void PlayerQuickItem::initMpv(PlayerComponent* player)
{
m_mpv = player->getMpvHandle();
- m_mpvGL = (mpv_opengl_cb_context *)mpv_get_sub_api(m_mpv, MPV_SUB_API_OPENGL_CB);
- if (!m_mpvGL)
- throw FatalException(tr("OpenGL not enabled in libmpv."));
-
connect(player, &PlayerComponent::windowVisible, this, &QQuickItem::setVisible);
window()->update();
}
--- a/src/player/PlayerQuickItem.h
+++ b/src/player/PlayerQuickItem.h
@@ -6,7 +6,7 @@
#include <QOpenGLFramebufferObject>
#include <mpv/client.h>
-#include <mpv/opengl_cb.h>
+#include <mpv/render.h>
#ifdef Q_OS_WIN32
#include <windows.h>
@@ -34,7 +34,7 @@ public slots:
private:
static void on_update(void *ctx);
mpv::qt::Handle m_mpv;
- mpv_opengl_cb_context* m_mpvGL;
+ mpv_render_context* m_mpvGL;
QQuickWindow* m_window;
QSize m_size;
HANDLE m_hAvrtHandle;
@@ -64,7 +64,7 @@ private slots:
private:
mpv::qt::Handle m_mpv;
- mpv_opengl_cb_context* m_mpvGL;
+ mpv_render_context* m_mpvGL;
PlayerRenderer* m_renderer;
QString m_debugInfo;
};

View File

@ -1,16 +0,0 @@
--- a/src/player/CodecsComponent.cpp 2020-05-19 19:32:23.000000000 +0200
+++ b/src/player/CodecsComponent.cpp 2020-07-28 08:00:34.966060781 +0200
@@ -684,9 +684,11 @@
{
Downloader::HeaderList headers;
QString auth = SystemComponent::Get().authenticationToken();
+ QString prod = WITH_CODECS ? "Plex Media Player" : "openpmp";
+ QString plat = "Konvergo";
if (auth.size())
headers.append({"X-Plex-Token", auth});
- headers.append({"X-Plex-Product", WITH_CODECS ? "Plex Media Player" : "openpmp"});
- headers.append({"X-Plex-Platform", "Konvergo"});
+ headers.append({"X-Plex-Product", prod});
+ headers.append({"X-Plex-Platform", plat});
return headers;
}

View File

@ -1,52 +0,0 @@
# Template file for 'plex-media-player'
pkgname=plex-media-player
version=2.58.0
revision=3
_verbuild=1076
_commit_rev=38e019da
# See CMakeModules/WebClient.cmake
_buildid_version=183-045db5be50e175
# See https://artifacts.plex.tv/web-client-pmp/${_buildid_version}/buildid.cmake
_clientdesktop_version=4.29.2-e50e175
_clienttv_version=4.29.6-045db5b
build_style=cmake
configure_args="-DQTROOT="${XBPS_CROSS_BASE}/usr" -DFULL_GIT_REVISION=${_commit_rev}"
hostmakedepends="pkg-config python3"
makedepends="libcec-devel libX11-devel libXext-devel libXrandr-devel
MesaLib-devel mpv-devel qt5-devel qt5-declarative-devel qt5-location-devel
qt5-webchannel-devel qt5-webengine-devel qt5-x11extras-devel SDL2-devel zlib-devel"
depends="qt5-quickcontrols"
short_desc="Next generation Plex Desktop/Embedded Client"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="LGPL-2.1-or-later"
homepage="https://github.com/plexinc/plex-media-player"
distfiles="https://github.com/plexinc/plex-media-player/archive/v${version}.${_verbuild}-${_commit_rev}.tar.gz
https://artifacts.plex.tv/web-client-pmp/${_buildid_version}/buildid.cmake>buildid-${_buildid_version}.cmake
https://artifacts.plex.tv/web-client-pmp/${_buildid_version}/web-client-desktop-${_clientdesktop_version}.tar.xz
https://artifacts.plex.tv/web-client-pmp/${_buildid_version}/web-client-desktop-${_clientdesktop_version}.tar.xz.sha1
https://artifacts.plex.tv/web-client-pmp/${_buildid_version}/web-client-tv-${_clienttv_version}.tar.xz
https://artifacts.plex.tv/web-client-pmp/${_buildid_version}/web-client-tv-${_clienttv_version}.tar.xz.sha1"
checksum="f73ddae52d40eb5019283a16c83f4d5909dc1059ced85d6298e5525347705341
0331e53bb67c4b14284fafbe3a98700c3438ece99b9e969bcb49a1d583674af7
c56c1784dd8de0fbda971b66e4fc19a6b91c154e9122213a7c0ef577613a94fe
eef51c4ee379ca914522b072832bad119bb831897958f985bab79097a1ef571f
e04b7d77804efb850f6abbec48982526f6fe727a74a143f73b83033672de3fb8
53cbb948ec4fa73f073892ab6179481f1d17d3c165b2997aee1973739ee0eeff"
skip_extraction="buildid-${_buildid_version}.cmake
web-client-desktop-${_clientdesktop_version}.tar.xz
web-client-desktop-${_clientdesktop_version}.tar.xz.sha1
web-client-tv-${_clienttv_version}.tar.xz
web-client-tv-${_clienttv_version}.tar.xz.sha1"
if [ "$CROSS_BUILD" ]; then
hostmakedepends+=" qt5-devel qt5-host-tools"
fi
post_extract() {
mkdir -p "${wrksrc}/build/dependencies"
cp "${XBPS_SRCDISTDIR}/plex-media-player-${version}/buildid-${_buildid_version}.cmake" "${wrksrc}/build/dependencies"
cp "${XBPS_SRCDISTDIR}/plex-media-player-${version}/web-client-desktop-${_clientdesktop_version}.tar.xz" "${wrksrc}/build/dependencies"
cp "${XBPS_SRCDISTDIR}/plex-media-player-${version}/web-client-desktop-${_clientdesktop_version}.tar.xz.sha1" "${wrksrc}/build/dependencies"
cp "${XBPS_SRCDISTDIR}/plex-media-player-${version}/web-client-tv-${_clienttv_version}.tar.xz" "${wrksrc}/build/dependencies"
cp "${XBPS_SRCDISTDIR}/plex-media-player-${version}/web-client-tv-${_clienttv_version}.tar.xz.sha1" "${wrksrc}/build/dependencies"
}

View File

@ -1 +0,0 @@
pattern='/archive/refs/tags/v?\K[\d+\.]+'

View File

@ -1,7 +1,7 @@
# Template file for 'removed-packages'
pkgname=removed-packages
version=0.1.20221025
revision=2
version=0.1.20221113
revision=1
build_style=meta
short_desc="Uninstalls packages removed from repository"
maintainer="Piotr Wójcik <chocimier@tlen.pl>"
@ -333,6 +333,7 @@ replaces="
pgadmin3<=1.22.2_14
phonon-backend-gstreamer<=4.9.0_2
phonon-backend-vlc<=0.9.1_3
plex-media-player<=2.58.0_3
plex-media-server<=1.15.3.876_4
polkit-qt<=0.112.0_5
printrun<=1.6.0_4