[vlc-devel] [PATCH 0/2] Libvlc formatted log callback

Rémi Denis-Courmont remi at remlab.net
Sat May 18 09:18:30 CEST 2019

Le perjantaina 17. toukokuuta 2019, 11.04.59 EEST Jérémy VIGNELLES a écrit :
> Hi,
> In libvlc, there is currently a `libvlc_log_set` function, that can register
> log callback in a vprintf style, that is, with a `va_list` argument.
> This is nice when you are trying to call from C, but when using other
> languages like C# or Java, va_list is impossible to get right, and even if
> it did, those languages do not provide ways to format that kind of stuff.

We already tried to adapt to foreign function interfaces and failed, and 
realized that the FFI just could not handle it across the broad set of 
platforms that VLC supports.

Then we took the logical decision going forward: to reject that sort of 

To call LibVLC from .Net or Java, you need OS-specific, architecture-specific, 
and windowing system-specific code anyway. There is the library path, name, 
version, calling convention, name mangling and mapping of scalar types, and 
mapping of compound types, mapping of unions, window handles, heap 
allocations, etc. va_list is the least of problems - and you don't even need 
to look into va_list here, only pass it forth.

The best way to handle all those problems is in a native library. But if you 
prefer to do it the hard way directly in high level language, then that's your 

The train has left the station. This does not belong in LibVLC.

Rémi Denis-Courmont

More information about the vlc-devel mailing list