Comments (3)
Thx for the fast answer.
Even though /usr/include/vlc/libvlc_version.h
shows
# define LIBVLC_VERSION_MAJOR (4)
I tried to manually set the following in src/pause_click.c
:
-#include <vlc/libvlc_version.h>
+/** LibVLC major version number */
+# define LIBVLC_VERSION_MAJOR (4)
and now it builds (only a few warnings, like you said) and also works in VLC.
So something seems to be wrong on my system...sry for the fuss, it looked like a typical incompatibility between versions.
from vlc-pause-click-plugin.
Works just fine for me using the master branch of the plugin, i.e. c119e7b.
I'm unable to test a Linux build at the moment, I typically rely on Debian-packaged VLC for testing the plugin on Linux and VLC 4 is not yet packaged in Debian. Building VLC 4 from source is a bit involved, so I did a quick test by building the plugin for Windows instead, building it against the 586bf64e commit of VLC 4 from March 27th 2024. It produces two warnings, but otherwise the plugin dll builds successfully.
My build log
+ wget https://artifacts.videolan.org/vlc/nightly-win64/20240328-0429/vlc-4.0.0-dev-win64-586bf64e.7z -O vlc-4.0.0-win64.7z
--2024-03-29 11:31:43-- https://artifacts.videolan.org/vlc/nightly-win64/20240328-0429/vlc-4.0.0-dev-win64-586bf64e.7z
Resolving artifacts.videolan.org (artifacts.videolan.org)... 213.36.253.119, 2a01:e0d:1:3:58bf:fa77:f00d:face
Connecting to artifacts.videolan.org (artifacts.videolan.org)|213.36.253.119|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 45657458 (44M) [application/x-7z-compressed]
Saving to: 'vlc-4.0.0-win64.7z'
vlc-4.0.0-win64.7z 100%[====================================================================================================>] 43.54M 18.1MB/s in 2.4s
2024-03-29 11:31:46 (18.1 MB/s) - 'vlc-4.0.0-win64.7z' saved [45657458/45657458]
+ 7zr x vlc-4.0.0-win64.7z '-o*' '*/sdk'
7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=C,Utf16=off,HugeFiles=on,64 bits,8 CPUs Intel(R) Core(TM) i7-2720QM CPU @ 2.20GHz (206A7),ASM,AES-NI)
Scanning the drive for archives:
1 file, 45657458 bytes (44 MiB)
Extracting archive: vlc-4.0.0-win64.7z
--
Path = vlc-4.0.0-win64.7z
Type = 7z
Physical Size = 45657458
Headers Size = 10081
Method = LZMA:25 BCJ2
Solid = +
Blocks = 2
Everything is Ok
Folders: 7
Files: 336
Size: 41326842
Compressed: 45657458
+ [[ 64 == \3\2 ]]
+ [[ 64 == \6\4 ]]
+ TOOLCHAIN=x86_64-w64-mingw32
+ DESTDIR=/build/4.0/64
+ cd /vlc-4.0.0-win64/vlc-4.0.0-dev/sdk
+ sed -i 's|^prefix=.*|prefix=/vlc-4.0.0-win64/vlc-4.0.0-dev/sdk|g' lib/pkgconfig/libvlc.pc lib/pkgconfig/vlc-plugin.pc
+ export PKG_CONFIG_PATH=/vlc-4.0.0-win64/vlc-4.0.0-dev/sdk/lib/pkgconfig
+ PKG_CONFIG_PATH=/vlc-4.0.0-win64/vlc-4.0.0-dev/sdk/lib/pkgconfig
+ '[' '!' -f lib/vlccore.lib ']'
+ echo 'INPUT(libvlccore.lib)'
+ cd /repo
+ make clean OS=Windows
rm -f -- libpause_click_plugin.dll src/*.o packaging/windows/*.o
+ make CC=x86_64-w64-mingw32-gcc LD=x86_64-w64-mingw32-ld RC=x86_64-w64-mingw32-windres OS=Windows
x86_64-w64-mingw32-gcc -std=gnu11 -g0 -O3 -Wall -Wextra -fPIC -fdiagnostics-color -I/vlc-4.0.0-win64/vlc-4.0.0-dev/sdk/include -I/vlc-4.0.0-win64/vlc-4.0.0-dev/sdk/include/vlc/plugins -DVLC_DYNAMIC_PLUGIN -D_FILE_OFFSET_BITS=64 -DPIC -I. -Isrc -DMODULE_STRING=\"pause_click\" -c -o src/pause_click.o src/pause_click.c
In file included from src/pause_click.c:46:
src/pause_click.c: In function 'vlc_entry':
src/pause_click.c:157:31: warning: initialization of 'vlc_video_filter_open' {aka 'int (*)(filter_t *)'} from incompatible pointer type 'int (*)(vlc_object_t *)' [-Wincompatible-pointer-types]
157 | set_callback_video_filter(OpenFilter)
| ^~~~~~~~~~
/vlc-4.0.0-win64/vlc-4.0.0-dev/sdk/include/vlc/plugins/vlc_filter.h:166:40: note: in definition of macro 'set_callback_video_filter'
166 | vlc_video_filter_open open__ = activate; \
| ^~~~~~~~
src/pause_click.c: At top level:
src/pause_click.c:587:14: warning: initialization of 'void (*)(filter_t *)' from incompatible pointer type 'void (*)(vlc_object_t *)' [-Wincompatible-pointer-types]
587 | .close = CloseFilter,
| ^~~~~~~~~~~
src/pause_click.c:587:14: note: (near initialization for 'filter_ops.close')
x86_64-w64-mingw32-windres -o packaging/windows/version.rc.o packaging/windows/version.rc -I/vlc-4.0.0-win64/vlc-4.0.0-dev/sdk/include -I/vlc-4.0.0-win64/vlc-4.0.0-dev/sdk/include/vlc/plugins -DVLC_DYNAMIC_PLUGIN -D_FILE_OFFSET_BITS=64 -I.
x86_64-w64-mingw32-gcc -std=gnu11 -shared -o libpause_click_plugin.dll src/pause_click.o packaging/windows/version.rc.o -L/vlc-4.0.0-win64/vlc-4.0.0-dev/sdk/lib -lvlccore
+ x86_64-w64-mingw32-strip libpause_click_plugin.dll
+ mkdir -p /build/4.0/64
+ cp libpause_click_plugin.dll /build/4.0/64
VLC API is rather cross-platform, so if the plugin compiles on Windows, I would expect it to also compile on Linux without issues.
Could you provide your build logs? You can make the output get printed in English if you do export LC_ALL=C
in the shell environment in which the plugin is being built. You can later unset it with unset LC_ALL
. Not sure how package building works on Arch Linux, if it builds in a clean environment without inheriting anything from the parent shell, then that would have no effect.
from vlc-pause-click-plugin.
E.g.: »set_category«; did you mean »set_subcategory«?
This sounds like you are not using the master branch of the plugin. The plugin does not use set_category
when building against VLC 4, it uses set_category
only for VLC <= 3. You can do CTRL+F for set_category
in https://github.com/nurupo/vlc-pause-click-plugin/blob/c119e7b724c0fd68948bbff8e2a1ce3f81d2a95e/src/pause_click.c.
from vlc-pause-click-plugin.
Related Issues (20)
- Is there any way we can remove the delay between mouse wheel clicks? HOT 20
- Plugin not working in VLC build 3.0.19 HOT 3
- VLC 3.0.20 doesn't work HOT 8
- Nightly builds link to a non-existent VLC 4.0 build HOT 1
- Update the main README.md to include macOS universal build links HOT 1
- Mac ARM/Universal binary support request HOT 7
- vlc-pause-click-plugin for freebsd... HOT 3
- Audio not pausing on click? HOT 3
- Where to place plugin for a flatpak-installed VLC? HOT 5
- [SOLUTION] vlc 3.0.16 doesnt show plugin or left click not working HOT 1
- Fedora tips
- .deb build HOT 1
- Update to pluging directory placement HOT 3
- pause on mouse release HOT 1
- Thank you HOT 2
- Does not show up in Ubuntu 22.04 / VLC 3.0.18 HOT 7
- Image Freeze after a random number of play/pause cycles HOT 3
- Release 2.2.0 seems to have only partial support for `LIBVLC_MAJOR_VERSION >= 4` HOT 1
- Move window when holding video HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vlc-pause-click-plugin.