Libvlc macOS 64bit

Hello,

i want to create my own player and use the example from https://github.com/charonn0/RB-libvlc.
Is there any chance to get it running on 64bit on Catalina?

what I did was:
I copied the plugin folder and the libs from the vlc next to my executable but I got an “PlatformNotSupportedException”

am I missing something or is is just not working anymore on 64bit?

Thanks for any suggestions!

I think there’s an error in the library name. Try changing the libvlc.VLCLib constant’s macOS value from libvlccore.5.dylib to libvlc.5.dylib.

thanks, Andrew renamed it but still got that exception.
I tried the libs from vlc 2.2.8 and 3.0.11.

But the plugins folder and the libs has to be on the same folder like the app?

RB-libvlc will raise a PlatformNotSupportedException when used if all required DLLs/SOs/DyLibs are not available at runtime.

That’s how it is on Windows. I’m not 100% sure how OS X loads dylibs. Maybe the VLCLib constant needs to point to the symlink (libvlc.dylib) instead of the actual file? Seems like a longshot. I also note that the VLC .dmg installer has them in a sub-folder called lib, so maybe that’s where they go?

@Marco_Weinrich If you didn’t build the dylib, you may need to change the link paths. https://stackoverflow.com/questions/33296421/fix-paths-in-dylib-files-using-install-name-tool

I’ve written a tool and have a pretty easy procedure for going about borrowing dylibs from Homebrew. I was going to write a blog post about it, but got extremely caught up in Lifeboat.

Edit: Updated because I see you borrowed the dylib from vlc.app

thanks Andrew and Tim, but if I change the link path doesn’t that mean it will only work on my computer?

If you use relative paths they can be packed within the app. I am able to get past the IsFunctionAvailable check for libvlc_new, but it doesn’t seem to work. Xojo stops and gives me this exception:

mInstance = libvlc_new(argc, argv)
If mInstance = Nil Then Raise New libvlc.VLCException("Unable to construct a VLC instance.")

Kind of lost momentum after that, sorry I didn’t figure the rest out.

I got it working with constant “VLCLib” change to “@executable_path/…/…/…/lib/libvlc.5.dylib” (if your lib folder is on thle application bundle level) and with a slightly changed vlc folder tree, because the vlc dylib does not allow use outside vlc.

1 Like

Hello Tim, little question, I’ve tried to recreate exactly what the guys in thread were talking about but failed miserably Maybe you know another thread where I could find the solution