minitube
minitube copied to clipboard
Building fails with newer versions of mpv: api change in mpv >= 0.34
Hello Flavio, I am the maintainer of your great and useful application minitube in openSUSE. openSUSE Factory and Tumbleweed switched to libmpv2-0.34.1+git.20220117T134844.22b and now building fails.
https://build.opensuse.org/package/live_build_log/openSUSE:Factory/minitube/standard/x86_64
[ 97s] lib/media/src/mpv/mpvwidget.cpp: In member function 'virtual void MpvWidget::initializeGL()':
[ 97s] lib/media/src/mpv/mpvwidget.cpp:33:74: error: too many initializers for 'mpv_opengl_init_params'
[ 97s] 33 | mpv_opengl_init_params gl_init_params{get_proc_address, this, nullptr};
[ 97s] | ^
[ 97s] make: *** [Makefile:2550: build/obj/lib/media/src/mpv/mpvwidget.o] Error 1
There seems to be an api change in mpv >= 0.34, because I also found this issue in another project based on mpv: https://github.com/mpc-qt/mpc-qt/issues/17
I could fix building minitube with this patch (based on https://github.com/mpc-qt/mpc-qt/commit/a880cb84511d18af26dcd136fac62932e775f475)
diff -Nur minitube-3.9.2/lib/media/src/mpv/mpvwidget.cpp new/lib/media/src/mpv/mpvwidget.cpp
--- minitube-3.9.2/lib/media/src/mpv/mpvwidget.cpp 2021-11-11 13:11:41.000000000 +0100
+++ new/lib/media/src/mpv/mpvwidget.cpp 2022-01-21 18:07:34.170765429 +0100
@@ -30,7 +30,11 @@
qDebug() << "initializeGL" << nativeParent;
if (nativeParent == nullptr) qFatal("No native parent");
- mpv_opengl_init_params gl_init_params{get_proc_address, this, nullptr};
+ #if MPV_CLIENT_API_VERSION < MPV_MAKE_VERSION(2,0)
+ mpv_opengl_init_params gl_init_params{get_proc_address, this, nullptr};
+ #else
+ mpv_opengl_init_params gl_init_params{get_proc_address, this};
+ #endif
mpv_render_param params[]{{MPV_RENDER_PARAM_API_TYPE, (void *)MPV_RENDER_API_TYPE_OPENGL},
{MPV_RENDER_PARAM_OPENGL_INIT_PARAMS, &gl_init_params},
{MPV_RENDER_PARAM_INVALID, nullptr},
As I am not an experienced git user, I attached the patch.
Best wishes. minitube-fix-mpv-api-change.zip
Hi, thank you this is very helpful. I'll test and integrate the patch the next time I update Minitube.
Flavio
On Fri, Jan 21, 2022 at 6:39 PM Kieltux @.***> wrote:
Hello Flavio, I am the maintainer of your great and useful application minitube in openSUSE. openSUSE Factory and Tumbleweed switched to libmpv2-0.34.1+git.20220117T134844.22b and now building fails.
https://build.opensuse.org/package/live_build_log/openSUSE:Factory/minitube/standard/x86_64
[ 97s] lib/media/src/mpv/mpvwidget.cpp: In member function 'virtual void MpvWidget::initializeGL()': [ 97s] lib/media/src/mpv/mpvwidget.cpp:33:74: error: too many initializers for 'mpv_opengl_init_params' [ 97s] 33 | mpv_opengl_init_params gl_init_params{get_proc_address, this, nullptr}; [ 97s] | ^ [ 97s] make: *** [Makefile:2550: build/obj/lib/media/src/mpv/mpvwidget.o] Error 1
There seems to be an api change in mpv >= 0.34, because I also found this issue in another project based on mpv: mpc-qt/mpc-qt#17 https://github.com/mpc-qt/mpc-qt/issues/17
I could fix building minitube with this patch (based on mpc-qt/mpc-qt@ a880cb8 https://github.com/mpc-qt/mpc-qt/commit/a880cb84511d18af26dcd136fac62932e775f475 )
diff -Nur minitube-3.9.2/lib/media/src/mpv/mpvwidget.cpp new/lib/media/src/mpv/mpvwidget.cpp --- minitube-3.9.2/lib/media/src/mpv/mpvwidget.cpp 2021-11-11 13:11:41.000000000 +0100 +++ new/lib/media/src/mpv/mpvwidget.cpp 2022-01-21 18:07:34.170765429 +0100 @@ -30,7 +30,11 @@ qDebug() << "initializeGL" << nativeParent; if (nativeParent == nullptr) qFatal("No native parent");
- mpv_opengl_init_params gl_init_params{get_proc_address, this, nullptr};
- #if MPV_CLIENT_API_VERSION < MPV_MAKE_VERSION(2,0)
- mpv_opengl_init_params gl_init_params{get_proc_address, this, nullptr};
- #else
- mpv_opengl_init_params gl_init_params{get_proc_address, this};
- #endif mpv_render_param params[]{{MPV_RENDER_PARAM_API_TYPE, (void *)MPV_RENDER_API_TYPE_OPENGL}, {MPV_RENDER_PARAM_OPENGL_INIT_PARAMS, &gl_init_params}, {MPV_RENDER_PARAM_INVALID, nullptr},
As I am not an experienced git user, I attached the patch.
Best wishes. minitube-fix-mpv-api-change.zip https://github.com/flaviotordini/minitube/files/7915605/minitube-fix-mpv-api-change.zip
— Reply to this email directly, view it on GitHub https://github.com/flaviotordini/minitube/issues/217, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA2AV35GAEKXK5QNBOS5W4DUXGK53ANCNFSM5MQDGD2A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message ID: @.***>
@flaviotordini mpv 0.35 has now been released and the build fails. Can you please integrate this and create a new release? That would be very helpful for downstream packagers! :)
https://github.com/freebsd/freebsd-ports/commit/ac9b20c88deb90ca6604c7a07f4e36f826bffd6c
Already fixed.