[vlc-devel] [PATCH 1/2] libvlc: added a formatted log callback
Rémi Denis-Courmont
remi at remlab.net
Mon May 20 14:01:22 CEST 2019
That was not decided alone. That was decided with the people who were there then. It just so happens that you weren't.
You don't get to unilaterally override a decision just because you weren't involved. Much less falsely accuse me.
Le 20 mai 2019 09:31:50 GMT+03:00, Thomas Guillem <thomas at gllm.fr> a écrit :
>
>
>On Sat, May 18, 2019, at 09:29, Rémi Denis-Courmont wrote:
>> Le perjantaina 17. toukokuuta 2019, 11.05.00 EEST Jérémy VIGNELLES a
>écrit :
>> > ---
>> > include/vlc/libvlc.h | 64
>++++++++++++++++++++++++++++++++++++++++++++
>> > lib/libvlc.sym | 3 +++
>> > lib/log.c | 55 +++++++++++++++++++++++++++++++++++++
>> > 3 files changed, 122 insertions(+)
>> >
>> > diff --git a/include/vlc/libvlc.h b/include/vlc/libvlc.h
>> > index 1c2550fe3b..1b21c2da66 100644
>> > --- a/include/vlc/libvlc.h
>> > +++ b/include/vlc/libvlc.h
>> > @@ -433,6 +433,26 @@ LIBVLC_API void libvlc_log_get_object(const
>> > libvlc_log_t *ctx, typedef void (*libvlc_log_cb)(void *data, int
>level,
>> > const libvlc_log_t *ctx, const char *fmt, va_list args);
>> >
>> > +/**
>> > + * Callback prototype for LibVLC preformatted log message handler.
>> > + *
>> > + * \param data data pointer as given to libvlc_log_set()
>> > + * \param level message level (@ref libvlc_log_level)
>> > + * \param ctx message context (meta-information about the message)
>> > + * \param message the message, already formatted
>> > + * \note Log message handlers <b>must</b> be thread-safe.
>> > + * \warning The message context pointer, and the message string
>parameters
>> > + * are only valid until the callback returns.
>> > + */
>> > +typedef void (*libvlc_log_preformatted_cb)(void *data, int level,
>const
>> > libvlc_log_t *ctx, + const char
>*message);
>>
>> There is no logic there. Many languages will either not support
>callbacks at
>> all, or have no ways to make them thread safe, or will be unable to
>marshall
>> pointers from callbacks, etc.
>>
>> And the libvlc_log_t is definitely not supported in higher level
>languages,
>> neither are many other compound types. In fact, even 'int' is iffy,
>since
>> typically only fixed-size types are handeld.
>>
>> We *used* to have a log API that was "easy" to call from other
>languages. We
>> removed it because it was so incredibly broken and intrinsically
>unfixable.
>>
>> LibVLC is not, or rather no longer for a decade or so, meant to be
>called
>> directly from foreign interfaces.
>
>I completely disagree. You should not decide that alone.
>
>>
>> --
>> Rémi Denis-Courmont
>> http://www.remlab.net/
>>
>>
>>
>> _______________________________________________
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>> https://mailman.videolan.org/listinfo/vlc-devel
>_______________________________________________
>vlc-devel mailing list
>To unsubscribe or modify your subscription options:
>https://mailman.videolan.org/listinfo/vlc-devel
--
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20190520/f70ae38b/attachment.html>
More information about the vlc-devel
mailing list