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